Merge branch 'master' into gnome-team
This commit is contained in:
		
						commit
						1682264fda
					
				
					 129 changed files with 5970 additions and 1980 deletions
				
			
		|  | @ -100,6 +100,8 @@ | |||
|   (;; primary: "D6B0 C593 DA8C 5EDC A44C  7A58 C336 91F7 1188 B004" | ||||
|    "A02C 2D82 0EF4 B25B A6B5  1D90 2AC6 A5EC 1C35 7C59" | ||||
|    (name "samplet")) | ||||
|   ("9847 81DE 689C 21C2 6418  0867 76D7 27BF F62C D2B5" | ||||
|    (name "sharlatan")) | ||||
|   ("F494 72F4 7A59 00D5 C235  F212 89F9 6D48 08F3 59C7" | ||||
|    (name "snape")) | ||||
|   ("6580 7361 3BFC C5C7 E2E4  5D45 DC51 8FC8 7F97 16AA" | ||||
|  |  | |||
							
								
								
									
										1
									
								
								.mailmap
									
										
									
									
									
								
							
							
						
						
									
										1
									
								
								.mailmap
									
										
									
									
									
								
							|  | @ -90,6 +90,7 @@ Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> | |||
| Theodoros Foradis <theodoros.for@openmailbox.org> <theodoros@foradis.org> | ||||
| Thomas Danckaert <thomas.danckaert@gmail.com> <post@thomasdanckaert.be> | ||||
| Tobias Geerinckx-Rice <me@tobias.gr> <tobias.geerinckx.rice@gmail.com> | ||||
| Tomas Volf <~@wolfsden.cz> <wolf@wolfsden.cz> | ||||
| Tomáš Čech <sleep_walker@gnu.org> <sleep_walker@suse.cz> | ||||
| Vincent Legoll <vincent.legoll@gmail.com> <vincent.legoll@idgrilles.fr> | ||||
| Zheng Junjie <873216071@qq.com> Z572 <873216071@qq.com> | ||||
|  |  | |||
							
								
								
									
										151
									
								
								doc/guix.texi
									
										
									
									
									
								
							
							
						
						
									
										151
									
								
								doc/guix.texi
									
										
									
									
									
								
							|  | @ -56,7 +56,7 @@ Copyright @copyright{} 2017 Andy Wingo@* | |||
| Copyright @copyright{} 2017, 2018, 2019, 2020, 2023 Arun Isaac@* | ||||
| Copyright @copyright{} 2017 nee@* | ||||
| Copyright @copyright{} 2018 Rutger Helling@* | ||||
| Copyright @copyright{} 2018, 2021 Oleg Pykhalov@* | ||||
| Copyright @copyright{} 2018, 2021, 2023 Oleg Pykhalov@* | ||||
| Copyright @copyright{} 2018 Mike Gerwitz@* | ||||
| Copyright @copyright{} 2018 Pierre-Antoine Rouby@* | ||||
| Copyright @copyright{} 2018, 2019 Gábor Boskovits@* | ||||
|  | @ -122,6 +122,7 @@ Copyright @copyright{} 2023 Felix Lechner@* | |||
| Copyright @copyright{} 2023 Foundation Devices, Inc.@* | ||||
| Copyright @copyright{} 2023 Thomas Ieong@* | ||||
| Copyright @copyright{} 2023 Saku Laesvuori@* | ||||
| Copyright @copyright{} 2023 Graham James Addis@* | ||||
| 
 | ||||
| Permission is granted to copy, distribute and/or modify this document | ||||
| under the terms of the GNU Free Documentation License, Version 1.3 or | ||||
|  | @ -2935,7 +2936,7 @@ Boot the USB installation image in an VM: | |||
| qemu-system-x86_64 -m 1024 -smp 1 -enable-kvm \ | ||||
|   -nic user,model=virtio-net-pci -boot menu=on,order=d \ | ||||
|   -drive file=guix-system.img \ | ||||
|   -drive media=cdrom,file=guix-system-install-@value{VERSION}.@var{system}.iso | ||||
|   -drive media=cdrom,readonly=on,file=guix-system-install-@value{VERSION}.@var{system}.iso | ||||
| @end example | ||||
| 
 | ||||
| @code{-enable-kvm} is optional, but significantly improves performance, | ||||
|  | @ -7406,7 +7407,7 @@ execution engines listed above by setting the | |||
| @env{GUIX_EXECUTION_ENGINE} environment variable accordingly. | ||||
| @end quotation | ||||
| 
 | ||||
| @cindex entry point, for Docker images | ||||
| @cindex entry point, for Docker and Singularity images | ||||
| @item --entry-point=@var{command} | ||||
| Use @var{command} as the @dfn{entry point} of the resulting pack, if the pack | ||||
| format supports it---currently @code{docker} and @code{squashfs} (Singularity) | ||||
|  | @ -7429,6 +7430,41 @@ docker load -i pack.tar.gz | |||
| docker run @var{image-id} | ||||
| @end example | ||||
| 
 | ||||
| @cindex entry point arguments, for docker images | ||||
| @item --entry-point-argument=@var{command} | ||||
| @itemx -A @var{command} | ||||
| Use @var{command} as an argument to @dfn{entry point} of the resulting pack. | ||||
| This option is only valid in conjunction with @code{--entry-point} and can | ||||
| appear multiple times on the command line. | ||||
| 
 | ||||
| @example | ||||
| guix pack -f docker --entry-point=bin/guile --entry-point-argument="--help" guile | ||||
| @end example | ||||
| 
 | ||||
| @cindex maximum layers argument, for docker images | ||||
| @item --max-layers=@code{n} | ||||
| Specifies the maximum number of Docker image layers allowed when | ||||
| building an image. | ||||
| 
 | ||||
| @example | ||||
| guix pack -f docker --max-layers=100 guile | ||||
| @end example | ||||
| 
 | ||||
| This option allows you to limit the number of layers in a Docker image. | ||||
| Docker images are comprised of multiple layers, and each layer adds to | ||||
| the overall size and complexity of the image.  By setting a maximum | ||||
| number of layers, you can control the following effects: | ||||
| 
 | ||||
| @itemize | ||||
| @item Disk Usage: | ||||
| Increasing the number of layers can help optimize the disk space | ||||
| required to store multiple images built with a similar package graph. | ||||
| 
 | ||||
| @item Pulling: | ||||
| When transferring images between different nodes or systems, having more | ||||
| layers can reduce the time required to pull the image. | ||||
| @end itemize | ||||
| 
 | ||||
| @item --expression=@var{expr} | ||||
| @itemx -e @var{expr} | ||||
| Consider the package @var{expr} evaluates to. | ||||
|  | @ -14549,6 +14585,13 @@ Additional options include: | |||
| Traverse the dependency graph of the given upstream package recursively | ||||
| and generate package expressions for all those packages that are not yet | ||||
| in Guix. | ||||
| @item --recursive-dev-dependencies | ||||
| If @option{--recursive-dev-dependencies} is specified, also the recursively | ||||
| imported packages contain their development dependencies, which are recursively | ||||
| imported as well. | ||||
| @item --allow-yanked | ||||
| If no non-yanked version of a crate is available, use the latest yanked | ||||
| version instead instead of aborting. | ||||
| @end table | ||||
| 
 | ||||
| @item elm | ||||
|  | @ -17567,7 +17610,7 @@ mounted.}. | |||
| 
 | ||||
| @findex file-system-label | ||||
| File system labels are created using the @code{file-system-label} | ||||
| procedure, UUIDs are created using @code{uuid}, and @file{/dev} node are | ||||
| procedure, UUIDs are created using @code{uuid}, and @file{/dev} nodes are | ||||
| plain strings.  Here's an example of a file system referred to by its | ||||
| label, as shown by the @command{e2label} command: | ||||
| 
 | ||||
|  | @ -43503,7 +43546,7 @@ utilizing the configuration mechanism described in the previous chapter | |||
| (@pxref{Defining Services}), but for user's dotfiles and packages.  It | ||||
| works both on Guix System and foreign distros and allows users to | ||||
| declare all the packages and services that should be installed and | ||||
| configured for the user.  Once a user has written a file containing | ||||
| configured for the user.  Once a user has written a file containing a | ||||
| @code{home-environment} record, such a configuration can be | ||||
| @dfn{instantiated} by an unprivileged user with the @command{guix home} | ||||
| command (@pxref{Invoking guix home}). | ||||
|  | @ -43826,8 +43869,8 @@ be used here, too.  Make sure that modules containing the specified | |||
| packages are imported with @code{use-modules}.  To find a package or | ||||
| information about its module use @command{guix search} (@pxref{Invoking | ||||
| guix package}).  Alternatively, @code{specification->package} can be | ||||
| used to get the package record from string without importing related | ||||
| module. | ||||
| used to get the package record from a string without importing its | ||||
| related module. | ||||
| @end defvar | ||||
| 
 | ||||
| There are few more essential services, but users are not expected to | ||||
|  | @ -45278,25 +45321,25 @@ PulseAudio clients to use PipeWire transparently. | |||
| 
 | ||||
| @node Mail Home Services | ||||
| @subsection Mail Home Services | ||||
|   | ||||
| 
 | ||||
| The @code{(gnu home services mail)} module provides services that help | ||||
| you set up the tools to work with emails in your home environment. | ||||
|   | ||||
| 
 | ||||
| @cindex msmtp | ||||
| @uref{https://marlam.de/msmtp, MSMTP} is a @acronym{SMTP, Simple Mail | ||||
| Transfer Protocol} client.  It sends mail to a predefined SMTP server | ||||
| that takes care of proper delivery. | ||||
|   | ||||
| 
 | ||||
| The service reference is given below. | ||||
|   | ||||
| 
 | ||||
| @defvar home-msmtp-service-type | ||||
| This is the service type for @command{msmtp}.  Its value must be a | ||||
| @code{home-msmtp-configuration}, as shown below.  It provides the | ||||
| @file{~/.config/msmtp/config} file. | ||||
|   | ||||
| 
 | ||||
| As an example, here is how you would configure @code{msmtp} for a single | ||||
| account: | ||||
|   | ||||
| 
 | ||||
| @lisp | ||||
| (service home-msmtp-service-type | ||||
|          (home-msmtp-configuration | ||||
|  | @ -45314,101 +45357,101 @@ account: | |||
| @end defvar | ||||
| 
 | ||||
| @c %start of fragment | ||||
|   | ||||
| 
 | ||||
| @deftp {Data Type} home-msmtp-configuration | ||||
| Available @code{home-msmtp-configuration} fields are: | ||||
|   | ||||
| 
 | ||||
| @table @asis | ||||
| @item @code{defaults} (type: msmtp-configuration) | ||||
| The configuration that will be set as default for all accounts. | ||||
|   | ||||
| 
 | ||||
| @item @code{accounts} (default: @code{'()}) (type: list-of-msmtp-accounts) | ||||
| A list of @code{msmtp-account} records which contain information about | ||||
| all your accounts. | ||||
|   | ||||
| 
 | ||||
| @item @code{default-account} (type: maybe-string) | ||||
| Set the default account. | ||||
|   | ||||
| 
 | ||||
| @item @code{extra-content} (default: @code{""}) (type: string) | ||||
| Extra content appended as-is to the configuration file.  Run | ||||
| @command{man msmtp} for more information about the configuration file | ||||
| format. | ||||
|   | ||||
| 
 | ||||
| @end table | ||||
|   | ||||
| 
 | ||||
| @end deftp | ||||
|   | ||||
| @c %end of fragment | ||||
|   | ||||
| @c %start of fragment | ||||
|   | ||||
| @deftp {Data Type} msmtp-account | ||||
| Available @code{msmtp-account} fields are: | ||||
|   | ||||
| @table @asis | ||||
| @item @code{name} (type: string) | ||||
| The unique name of the account. | ||||
|   | ||||
| @item @code{configuration} (type: msmtp-configuration) | ||||
| The configuration for this given account. | ||||
|   | ||||
| @end table | ||||
|   | ||||
| @end deftp | ||||
|   | ||||
| 
 | ||||
| @c %end of fragment | ||||
| 
 | ||||
| @c %start of fragment | ||||
|   | ||||
| 
 | ||||
| @deftp {Data Type} msmtp-account | ||||
| Available @code{msmtp-account} fields are: | ||||
| 
 | ||||
| @table @asis | ||||
| @item @code{name} (type: string) | ||||
| The unique name of the account. | ||||
| 
 | ||||
| @item @code{configuration} (type: msmtp-configuration) | ||||
| The configuration for this given account. | ||||
| 
 | ||||
| @end table | ||||
| 
 | ||||
| @end deftp | ||||
| 
 | ||||
| @c %end of fragment | ||||
| 
 | ||||
| @c %start of fragment | ||||
| 
 | ||||
| @deftp {Data Type} msmtp-configuration | ||||
| Available @code{msmtp-configuration} fields are: | ||||
|   | ||||
| 
 | ||||
| @table @asis | ||||
| @item @code{auth?} (type: maybe-boolean) | ||||
| Enable or disable authentication. | ||||
|   | ||||
| 
 | ||||
| @item @code{tls?} (type: maybe-boolean) | ||||
| Enable or disable TLS (also known as SSL) for secured connections. | ||||
|   | ||||
| 
 | ||||
| @item @code{tls-starttls?} (type: maybe-boolean) | ||||
| Choose the TLS variant: start TLS from within the session (‘on’, | ||||
| default), or tunnel the session through TLS (‘off’). | ||||
|   | ||||
| 
 | ||||
| @item @code{tls-trust-file} (type: maybe-string) | ||||
| Activate server certificate verification using a list of trusted | ||||
| Certification Authorities (CAs). | ||||
|   | ||||
| 
 | ||||
| @item @code{log-file} (type: maybe-string) | ||||
| Enable logging to the specified file.  An empty argument disables | ||||
| logging.  The file name ‘-’ directs the log information to standard | ||||
| output. | ||||
|   | ||||
| 
 | ||||
| @item @code{host} (type: maybe-string) | ||||
| The SMTP server to send the mail to. | ||||
|   | ||||
| 
 | ||||
| @item @code{port} (type: maybe-integer) | ||||
| The port that the SMTP server listens on.  The default is 25 ("smtp"), | ||||
| unless TLS without STARTTLS is used, in which case it is 465 ("smtps"). | ||||
|   | ||||
| 
 | ||||
| @item @code{user} (type: maybe-string) | ||||
| Set the user name for authentication. | ||||
|   | ||||
| 
 | ||||
| @item @code{from} (type: maybe-string) | ||||
| Set the envelope-from address. | ||||
|   | ||||
| 
 | ||||
| @item @code{password-eval} (type: maybe-string) | ||||
| Set the password for authentication to the output (stdout) of the | ||||
| command cmd. | ||||
|   | ||||
| 
 | ||||
| @item @code{extra-content} (default: @code{""}) (type: string) | ||||
| Extra content appended as-is to the configuration block.  Run | ||||
| @command{man msmtp} for more information about the configuration file | ||||
| format. | ||||
|   | ||||
| 
 | ||||
| @end table | ||||
|   | ||||
| 
 | ||||
| @end deftp | ||||
|   | ||||
| 
 | ||||
| @c %end of fragment | ||||
| 
 | ||||
| @node Messaging Home Services | ||||
|  |  | |||
							
								
								
									
										57
									
								
								etc/news.scm
									
										
									
									
									
								
							
							
						
						
									
										57
									
								
								etc/news.scm
									
										
									
									
									
								
							|  | @ -18,6 +18,7 @@ | |||
| ;; Copyright © 2021 Andrew Tropin <andrew@trop.in> | ||||
| ;; Copyright © 2021, 2023 Jonathan Brielmaier <jonathan.brielmaier@web.de> | ||||
| ;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.com> | ||||
| ;; Copyright © 2024 Oleg Pykhalov <go.wigust@gmail.com> | ||||
| ;; | ||||
| ;; Copying and distribution of this file, with or without modification, are | ||||
| ;; permitted in any medium without royalty provided the copyright notice and | ||||
|  | @ -26,6 +27,62 @@ | |||
| (channel-news | ||||
|  (version 0) | ||||
| 
 | ||||
|  (entry (commit "519e1e3eb88ec532fc83ebb742d9919269b57c87") | ||||
|         (title | ||||
|          (de "Neue Option @samp{--max-layers=N} für den Befehl @command{guix pack}") | ||||
|          (en "New @samp{--max-layers=N} option for the @command{guix pack} command") | ||||
|          (ru "Новая опция @samp{--max-layers=N} для @command{guix pack} команды")) | ||||
|         (body | ||||
|          (de "Sie können jetzt auch mehrschichtige Docker-Abbilder mit dem Befehl | ||||
| @command{guix pack --format=docker --max-layers=N} erzeugen. Damit bekommen Sie ein | ||||
| Docker-Abbild, bei dem Store-Pfade auf getrennten Schichten („Layer“) | ||||
| untergebracht sind, die sich mehrere Abbilder teilen können.  Das Abbild wird | ||||
| im Store als gzip-komprimierter Tarball erzeugt.  Hier ist ein einfaches | ||||
| Beispiel, wo ein mehrschichtiges Docker-Abbild für das Paket @code{hello} | ||||
| angelegt wird: | ||||
| 
 | ||||
| @example | ||||
| guix pack --format=docker --max-layers=N --symlink=/usr/bin/hello=bin/hello hello | ||||
| @end example | ||||
| 
 | ||||
| @command{guix system image} kann jetzt geschichtete Docker-Abbilder erzeugen, | ||||
| indem Sie @code{--max-layers=N} übergeben. | ||||
| 
 | ||||
| Siehe @command{info \"(guix.de) Aufruf von guix pack\"} und | ||||
| @command{info \"(guix.de) Systemabbilder\"} für weitere Informationen.") | ||||
|          (en "Docker layered images can now be produced via the @command{guix | ||||
| pack --format=docker --max-layers=N} command, providing a Docker image with | ||||
| many of the store paths being on their own layer to improve sharing between | ||||
| images.  The image is realized into the GNU store as a gzipped tarball.  Here | ||||
| is a simple example that generates a layered Docker image for the @code{hello} | ||||
| package: | ||||
| 
 | ||||
| @example | ||||
| guix pack --format=docker --max-layers=N --symlink=/usr/bin/hello=bin/hello hello | ||||
| @end example | ||||
| 
 | ||||
| The @command{guix system image} can now produce layered Docker image by passing | ||||
| @code{--max-layers=N}. | ||||
| 
 | ||||
| See @command{info \"(guix) Invoking guix pack\"} and | ||||
| @command{info \"(guix) System Images\"} for more information.") | ||||
|          (ru "Появилась команда создания многослойных Docker образов с помощью | ||||
| @command{guix pack --format=docker --max-layers=N}, которая соберет Docker образ с | ||||
| путями в store расположенными на отдельных слоях, ускоряя таким образом | ||||
| передачу образов.  Образ будет создан в GNU store в качестве gzipped tarball. | ||||
| 
 | ||||
| Пример создания Docker layered образ с @code{hello} пакетом: | ||||
| @example | ||||
| guix pack --format=docker --max-layers=N --symlink=/usr/bin/hello=bin/hello hello | ||||
| @end example | ||||
| 
 | ||||
| @command{guix system image} теперь может создавать layered Docker образ путем | ||||
| указания опции @option{--max-layers=N}. | ||||
| 
 | ||||
| Смотрите @command{info \"(guix) Invoking guix pack\"} и | ||||
| @command{info \"(guix) System Images\"} для получения более детальных | ||||
| сведений."))) | ||||
| 
 | ||||
|  (entry (commit "953c65ffdd43c02c934518fb7a1c68542584b223") | ||||
|         (title | ||||
|          (en "Declarative offloading on Guix System and childhurds") | ||||
|  |  | |||
|  | @ -698,6 +698,14 @@ GLib/GIO, GTK, GStreamer and Webkit." | |||
|                        "clement@lassieur.org") | ||||
|   mozilla) | ||||
| 
 | ||||
| (define-member (person "Sharlatan Hellseher" | ||||
|                        "sharlatanus@gmail.com") | ||||
|   go lisp python science) | ||||
| 
 | ||||
| (define-member (person "Vivien Kraus" | ||||
|                        "vivien@planete-kraus.eu") | ||||
|   gnome) | ||||
| 
 | ||||
|  | ||||
| (define (find-team name) | ||||
|   (or (hash-ref %teams (string->symbol name)) | ||||
|  |  | |||
|  | @ -1,6 +1,7 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2021, 2023 Andrew Tropin <andrew@trop.in> | ||||
| ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> | ||||
| ;;; Copyright © 2024 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -75,11 +76,8 @@ as shepherd package." | |||
|       #~(begin | ||||
|           (use-modules (srfi srfi-34) | ||||
|                        (system repl error-handling)) | ||||
|           (apply | ||||
|            register-services | ||||
|            (map | ||||
|             (lambda (file) (load file)) | ||||
|             '#$files)) | ||||
| 
 | ||||
|           (register-services (map load '#$files)) | ||||
| 
 | ||||
|           #$@(if daemonize? | ||||
|                  `((action 'root 'daemonize)) | ||||
|  | @ -90,9 +88,7 @@ as shepherd package." | |||
|                  '#$(append-map shepherd-service-provision | ||||
|                                 (filter shepherd-service-auto-start? | ||||
|                                         services)))) | ||||
|             (if (defined? 'start-in-the-background) | ||||
|                 (start-in-the-background services-to-start) | ||||
|                 (for-each start services-to-start)) | ||||
|             (start-in-the-background services-to-start) | ||||
| 
 | ||||
|             (redirect-port (open-input-file "/dev/null") | ||||
|                            (current-input-port))))) | ||||
|  |  | |||
|  | @ -1,5 +1,6 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2020, 2022 Mathieu Othacehe <othacehe@gnu.org> | ||||
| ;;; Copyright © 2023 Oleg Pykhalov <go.wigust@gmail.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -42,6 +43,7 @@ | |||
|             image-format | ||||
|             image-platform | ||||
|             image-size | ||||
|             image-max-layers | ||||
|             image-operating-system | ||||
|             image-partition-table-type | ||||
|             image-partitions | ||||
|  | @ -170,6 +172,8 @@ that is not in SET, mentioning FIELD in the error message." | |||
|   (size               image-size  ;size in bytes as integer | ||||
|                       (default 'guess) | ||||
|                       (sanitize validate-size)) | ||||
|   (max-layers         image-max-layers  ;number of layers as integer | ||||
|                       (default #false)) | ||||
|   (operating-system   image-operating-system)  ;<operating-system> | ||||
|   (partition-table-type image-partition-table-type ; 'mbr or 'gpt | ||||
|                       (default 'mbr) | ||||
|  |  | |||
							
								
								
									
										31
									
								
								gnu/local.mk
									
										
									
									
									
								
							
							
						
						
									
										31
									
								
								gnu/local.mk
									
										
									
									
									
								
							|  | @ -1,5 +1,5 @@ | |||
| # GNU Guix --- Functional package management for GNU
 | ||||
| # Copyright © 2012-2023 Ludovic Courtès <ludo@gnu.org>
 | ||||
| # Copyright © 2012-2024 Ludovic Courtès <ludo@gnu.org>
 | ||||
| # Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2022, 2023 Andreas Enge <andreas@enge.fr>
 | ||||
| # Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
 | ||||
| # Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Mark H Weaver <mhw@netris.org>
 | ||||
|  | @ -7,7 +7,7 @@ | |||
| # Copyright © 2016, 2017, 2018 Kei Kebreau <kkebreau@posteo.net>
 | ||||
| # Copyright © 2016, 2017 Rene Saavedra <rennes@openmailbox.org>
 | ||||
| # Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
 | ||||
| # Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
 | ||||
| # Copyright © 2016-2024 Ricardo Wurmus <rekado@elephly.net>
 | ||||
| # Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
 | ||||
| # Copyright © 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com>
 | ||||
| # Copyright © 2016-2023 Efraim Flashner <efraim@flashner.co.il>
 | ||||
|  | @ -20,7 +20,7 @@ | |||
| # Copyright © 2018, 2019, 2020, 2021, 2022 Oleg Pykhalov <go.wigust@gmail.com>
 | ||||
| # Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
 | ||||
| # Copyright © 2018, 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | ||||
| # Copyright © 2019, 2020, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
 | ||||
| # Copyright © 2019, 2020, 2021, 2022, 2044 Guillaume Le Vaillant <glv@posteo.net>
 | ||||
| # Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
 | ||||
| # Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
 | ||||
| # Copyright © 2019 Evan Straw <evan.straw99@gmail.com>
 | ||||
|  | @ -63,6 +63,7 @@ | |||
| # Copyright © 2023 Bruno Victal <mirai@makinata.eu>
 | ||||
| # Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
 | ||||
| # Copyright © 2023 Herman Rimm <herman@rimm.ee>
 | ||||
| # Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
 | ||||
| #
 | ||||
| # This file is part of GNU Guix.
 | ||||
| #
 | ||||
|  | @ -1097,6 +1098,7 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/doxygen-hurd.patch			\
 | ||||
|   %D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch	\
 | ||||
|   %D%/packages/patches/dstat-skip-devices-without-io.patch	\
 | ||||
|   %D%/packages/patches/dtc-meson-cell-overflow.patch		\
 | ||||
|   %D%/packages/patches/dune-common-skip-failing-tests.patch	\
 | ||||
|   %D%/packages/patches/dune-grid-add-missing-include-cassert.patch	\
 | ||||
|   %D%/packages/patches/dune-istl-fix-solver-playground.patch	\
 | ||||
|  | @ -1171,7 +1173,15 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/fenics-dolfin-demo-init.patch		\
 | ||||
|   %D%/packages/patches/fenics-dolfin-boost.patch		\
 | ||||
|   %D%/packages/patches/fenics-dolfin-config-slepc.patch		\
 | ||||
|   %D%/packages/patches/ffmpeg-jami-change-RTCP-ratio.patch	\
 | ||||
|   %D%/packages/patches/ffmpeg-jami-rtp_ext_abs_send_time.patch	\
 | ||||
|   %D%/packages/patches/ffmpeg-jami-libopusdec-enable-FEC.patch	\
 | ||||
|   %D%/packages/patches/ffmpeg-jami-libopusenc-enable-FEC.patch	\
 | ||||
|   %D%/packages/patches/ffmpeg-jami-libopusenc-reload-packet-loss-at-encode.patch \
 | ||||
|   %D%/packages/patches/ffmpeg-jami-remove-mjpeg-log.patch	\
 | ||||
|   %D%/packages/patches/ffmpeg-jami-screen-sharing-x11-fix.patch	\
 | ||||
|   %D%/packages/patches/fifengine-boost-compat.patch		\
 | ||||
|   %D%/packages/patches/fifengine-python-3.9-compat.patch	\
 | ||||
|   %D%/packages/patches/fifengine-swig-compat.patch		\
 | ||||
|   %D%/packages/patches/fifo-map-fix-flags-for-gcc.patch		\
 | ||||
|   %D%/packages/patches/fifo-map-remove-catch.hpp.patch		\
 | ||||
|  | @ -1390,6 +1400,7 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/guile-fibers-fd-finalizer-leak.patch	\
 | ||||
|   %D%/packages/patches/guile-fibers-wait-for-io-readiness.patch \
 | ||||
|   %D%/packages/patches/guile-fibers-libevent-32-bit.patch	\
 | ||||
|   %D%/packages/patches/guile-fibers-libevent-timeout.patch	\
 | ||||
|   %D%/packages/patches/guile-fix-invalid-unicode-handling.patch \
 | ||||
|   %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch	\
 | ||||
|   %D%/packages/patches/guile-git-adjust-for-libgit2-1.2.0.patch \
 | ||||
|  | @ -1465,6 +1476,9 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/itk-snap-alt-glibc-compat.patch		\
 | ||||
|   %D%/packages/patches/jami-disable-integration-tests.patch	\
 | ||||
|   %D%/packages/patches/jami-libjami-headers-search.patch	\
 | ||||
|   %D%/packages/patches/jami-qml-tests-discovery.patch		\
 | ||||
|   %D%/packages/patches/jami-skip-tests-requiring-internet.patch	\
 | ||||
|   %D%/packages/patches/jami-unbundle-dependencies.patch		\
 | ||||
|   %D%/packages/patches/jamvm-1.5.1-aarch64-support.patch	\
 | ||||
|   %D%/packages/patches/jamvm-1.5.1-armv7-support.patch	\
 | ||||
|   %D%/packages/patches/jamvm-2.0.0-aarch64-support.patch	\
 | ||||
|  | @ -1484,6 +1498,8 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/java-xerces-build_dont_unzip.patch	\
 | ||||
|   %D%/packages/patches/java-xerces-xjavac_taskdef.patch	\
 | ||||
|   %D%/packages/patches/jbr-17-xcursor-no-dynamic.patch	\
 | ||||
|   %D%/packages/patches/jdk-currency-time-bomb.patch		\
 | ||||
|   %D%/packages/patches/jdk-currency-time-bomb2.patch		\
 | ||||
|   %D%/packages/patches/jfsutils-add-sysmacros.patch		\
 | ||||
|   %D%/packages/patches/jfsutils-gcc-compat.patch		\
 | ||||
|   %D%/packages/patches/jfsutils-include-systypes.patch		\
 | ||||
|  | @ -1556,6 +1572,7 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/libgnome-encoding.patch			\
 | ||||
|   %D%/packages/patches/libgnomeui-utf8.patch			\
 | ||||
|   %D%/packages/patches/libgrss-CVE-2016-2001.patch		\
 | ||||
|   %D%/packages/patches/libjami-ac-config-files.patch		\
 | ||||
|   %D%/packages/patches/libjxr-fix-function-signature.patch	\
 | ||||
|   %D%/packages/patches/libjxr-fix-typos.patch			\
 | ||||
|   %D%/packages/patches/libofa-ftbfs-1.diff		\
 | ||||
|  | @ -1734,6 +1751,8 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/openboardview-use-system-mpc.patch	\
 | ||||
|   %D%/packages/patches/openbox-python3.patch			\
 | ||||
|   %D%/packages/patches/opencolorio-fix-build-with-gcc11.patch	\
 | ||||
|   %D%/packages/patches/openjdk-currency-time-bomb.patch		\
 | ||||
|   %D%/packages/patches/openjdk-currency-time-bomb2.patch	\
 | ||||
|   %D%/packages/patches/openjdk-9-pointer-comparison.patch       \
 | ||||
|   %D%/packages/patches/openjdk-9-setsignalhandler.patch         \
 | ||||
|   %D%/packages/patches/openjdk-10-idlj-reproducibility.patch	\
 | ||||
|  | @ -1782,6 +1801,7 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/python-louvain-fix-test.patch		\
 | ||||
|   %D%/packages/patches/python-random2-getrandbits-test.patch		\
 | ||||
|   %D%/packages/patches/python-poppler-qt5-fix-build.patch	\
 | ||||
|   %D%/packages/patches/python-pyreadstat-link-libiconv.patch	\
 | ||||
|   %D%/packages/patches/python-pypdf-annotate-tests-appropriately.patch	\
 | ||||
|   %D%/packages/patches/python-pytorch2-system-libraries.patch	\
 | ||||
|   %D%/packages/patches/python-sip-include-dirs.patch	\
 | ||||
|  | @ -1789,6 +1809,7 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/python-sphinx-prompt-docutils-0.19.patch	\
 | ||||
|   %D%/packages/patches/python-telingo-fix-comparison.patch	\
 | ||||
|   %D%/packages/patches/python-typeguard-python3.10.patch	\
 | ||||
|   %D%/packages/patches/python-uqbar-python3.10.patch	        \
 | ||||
|   %D%/packages/patches/python-wxwidgets-type-errors.patch	\
 | ||||
|   %D%/packages/patches/qtdeclarative-5-disable-qmlcache.patch	\
 | ||||
|   %D%/packages/patches/qtdeclarative-disable-qmlcache.patch	\
 | ||||
|  | @ -1994,6 +2015,8 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/sbcl-burgled-batteries3-fix-signals.patch	\
 | ||||
|   %D%/packages/patches/sbcl-clml-fix-types.patch		\
 | ||||
|   %D%/packages/patches/sbcl-eazy-gnuplot-skip-path-check.patch	\
 | ||||
|   %D%/packages/patches/sbcl-fix-ppc64-build.patch		\
 | ||||
|   %D%/packages/patches/sbcl-fix-riscv-build.patch		\
 | ||||
|   %D%/packages/patches/sbcl-png-fix-sbcl-compatibility.patch	\
 | ||||
|   %D%/packages/patches/scalapack-gcc-10-compilation.patch	\
 | ||||
|   %D%/packages/patches/scheme48-tests.patch			\
 | ||||
|  | @ -2089,6 +2112,8 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/ungoogled-chromium-system-ffmpeg.patch	\
 | ||||
|   %D%/packages/patches/ungoogled-chromium-system-nspr.patch	\
 | ||||
|   %D%/packages/patches/unknown-horizons-python-3.8-distro.patch	\
 | ||||
|   %D%/packages/patches/unknown-horizons-python-3.9.patch	\
 | ||||
|   %D%/packages/patches/unknown-horizons-python-3.10.patch	\
 | ||||
|   %D%/packages/patches/unzip-CVE-2014-8139.patch		\
 | ||||
|   %D%/packages/patches/unzip-CVE-2014-8140.patch		\
 | ||||
|   %D%/packages/patches/unzip-CVE-2014-8141.patch		\
 | ||||
|  |  | |||
|  | @ -373,14 +373,14 @@ interface and is based on GNU Guile.") | |||
| (define-public shepherd-0.10 | ||||
|   (package | ||||
|     (inherit shepherd-0.9) | ||||
|     (version "0.10.2") | ||||
|     (version "0.10.3") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "mirror://gnu/shepherd/shepherd-" | ||||
|                                   version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0v9ld9gbqdp5ya380fbkdsxa0iqr90gi6yk004ccz3n792nq6wlj")))) | ||||
|                 "1vxghlxnxajx2iciqmjia49c5hkir8li0gv29kl55frhn2zgxilf")))) | ||||
|     (native-inputs (modify-inputs (package-native-inputs shepherd-0.9) | ||||
|                      (replace "guile-fibers" | ||||
|                        ;; Work around | ||||
|  | @ -746,7 +746,7 @@ console.") | |||
| (define-public btop | ||||
|   (package | ||||
|     (name "btop") | ||||
|     (version "1.2.13") | ||||
|     (version "1.3.0") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|  | @ -755,7 +755,7 @@ console.") | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0aggzlxyfp213rknpbhkn8wbgzcnz181dyh9m2awz72w705axy8p")))) | ||||
|                 "0fbrkzg03n2vamg1pfzdb8wxm3xffy6gp4izhqppl45zngy3c0s1")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      (list #:tests? #f ;no test suite | ||||
|  |  | |||
|  | @ -157,8 +157,8 @@ randomly altered. | |||
|     (license license:gpl3))) | ||||
| 
 | ||||
| (define-public aocommon | ||||
|   (let ((commit "7329a075271edab8f6264db649e81e62b2b6ae5e") | ||||
|         (revision "1")) | ||||
|   (let ((commit "9272ea36693a7ce7aa3524a9e212a60a509c3b8a") | ||||
|         (revision "2")) | ||||
|     (package | ||||
|       (name "aocommon") | ||||
|       (version (git-version "0.0.0" revision commit)) | ||||
|  | @ -169,7 +169,7 @@ randomly altered. | |||
|                (url "https://gitlab.com/aroffringa/aocommon") | ||||
|                (commit commit))) | ||||
|          (sha256 | ||||
|           (base32 "0qcfax6pbzs0yigy0x8xibrkk539wm2pbvjsb4lh50fybir02nix")) | ||||
|           (base32 "0klcrrlkc4sjpr83m2gnwb65lg798rydyvrlpangf7np1qg4zbk5")) | ||||
|          (file-name (git-file-name name version)))) | ||||
|       (build-system copy-build-system) | ||||
|       (arguments | ||||
|  | @ -186,7 +186,7 @@ reused in several astronomical applications, such as @code{wsclean}, | |||
| (define-public calceph | ||||
|   (package | ||||
|     (name "calceph") | ||||
|     (version  "3.5.3") | ||||
|     (version  "3.5.4") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -194,7 +194,7 @@ reused in several astronomical applications, such as @code{wsclean}, | |||
|              "https://www.imcce.fr/content/medias/recherche/equipes/asd/calceph/calceph-" | ||||
|              version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "12apl806h8qx1kq74malq3828jqapwfi27cn05pvvxfiq7gfpllx")))) | ||||
|         (base32 "1d95k62926p6h43qh9pxbpa5wm8rby5la9pqq3k6sdyg4gl39a69")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      (list gfortran)) | ||||
|  | @ -278,7 +278,7 @@ rendering of the atmosphere model and examine its properties. | |||
| (define-public aoflagger | ||||
|   (package | ||||
|     (name "aoflagger") | ||||
|     (version "3.2.0") | ||||
|     (version "3.4.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -286,16 +286,15 @@ rendering of the atmosphere model and examine its properties. | |||
|              (url "https://gitlab.com/aroffringa/aoflagger") | ||||
|              (commit (string-append "v" version)))) | ||||
|        (sha256 | ||||
|         (base32 "1dcbfrbiybhpbypna2xhddx1wk7yifh38ha2r6p5rzsikzwlsin1")) | ||||
|         (base32 "0dxmcy04cayhs4s2z41wls1dnmg9hkffvlqcmc660idqziffvv1g")) | ||||
|        (patches | ||||
|         (search-patches "aoflagger-use-system-provided-pybind11.patch")) | ||||
|        (file-name (git-file-name name version)))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|       ;; XXX: Tests require external files download from | ||||
|       ;; Tests require external files download from | ||||
|       ;; https://www.astron.nl/citt/ci_data/aoflagger/ | ||||
|       ;; FIXME: runtest is not found | ||||
|       #:tests? #f | ||||
|       #:configure-flags | ||||
|       #~(list (string-append "-DCASACORE_ROOT_DIR=" | ||||
|  | @ -452,7 +451,7 @@ with namespaces, exception handling, and member template functions.") | |||
| (define-public cfitsio | ||||
|   (package | ||||
|     (name "cfitsio") | ||||
|     (version "4.2.0") | ||||
|     (version "4.3.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -460,7 +459,7 @@ with namespaces, exception handling, and member template functions.") | |||
|              "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/" | ||||
|              "cfitsio-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "128qsv2q0f0g714ahlsixiikvvbwxi9bg9q9pcr5cd3f7wdkv9gb")))) | ||||
|         (base32 "1gk2a07ypmc8rcngakcarprznq7hi3xr9szfv3hy2yv80ppci9s7")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|  | @ -758,14 +757,14 @@ corrections.") | |||
| (define-public wcslib | ||||
|   (package | ||||
|     (name "wcslib") | ||||
|     (version "8.1") | ||||
|     (version "8.2.2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://www.atnf.csiro.au/people/mcalabre/WCS/" | ||||
|                            "wcslib-" version ".tar.bz2")) | ||||
|        (sha256 | ||||
|         (base32 "17hjnkwn2rd5d9krw2n637q4y8ma4nzk2i55zzn8l2yimdpkxwib")) | ||||
|         (base32 "0cvqppjf7gk0f3rs9cc46h5fffv2l8ylrb234r9fbx0px0525632")) | ||||
|        (snippet | ||||
|         #~(begin (use-modules (guix build utils)) | ||||
|                  (delete-file-recursively "C/flexed"))))) | ||||
|  | @ -970,7 +969,7 @@ programs for the manipulation and analysis of astronomical data.") | |||
| (define-public phd2 | ||||
|   (package | ||||
|     (name "phd2") | ||||
|     (version "2.6.11") | ||||
|     (version "2.6.12") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -979,7 +978,7 @@ programs for the manipulation and analysis of astronomical data.") | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "0n87xsv9gzrwk1ygws4vw397ffq40xybp5b3c3bd5kcmff0avaw9")) | ||||
|         (base32 "16695vyczl861fz5qinp23wqn6hzv5h1aspz9x21x67w0a3smbmy")) | ||||
|        (modules '((guix build utils) | ||||
|                   (ice-9 ftw) | ||||
|                   (srfi srfi-26))) | ||||
|  | @ -1121,7 +1120,7 @@ image formats.") | |||
| (define-public splash | ||||
|   (package | ||||
|     (name "splash") | ||||
|     (version "3.9.0") | ||||
|     (version "3.10.1") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|  | @ -1129,7 +1128,7 @@ image formats.") | |||
|                     (commit (string-append "v" version)))) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "19r5j4jrxhp3gf865ns59vvfnn5a303dqgmb8y2kgcsx26fci1hs")) | ||||
|                 "1cyg7my2lbpai81nfnlj0r7pvral3kjn31dcq2p4982d2xg0dj87")) | ||||
|               (file-name (git-file-name name version)))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|  | @ -1572,13 +1571,13 @@ astronomy and astrophysics.") | |||
| (define-public python-astropy-healpix | ||||
|   (package | ||||
|     (name "python-astropy-healpix") | ||||
|     (version "1.0.0") | ||||
|     (version "1.0.2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "astropy_healpix" version)) | ||||
|        (sha256 | ||||
|         (base32 "18zfmdv0vs0yawirq8c2mpjxx7bvy66z0rlcyc1n6s0fl5ifz0pl")))) | ||||
|         (base32 "0fij80ws16xzbph8z9v27w54dnc3vry8fk9p3mvxrglnjgnscvq5")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|  | @ -1847,13 +1846,13 @@ attempting to maintain ISTP compliance | |||
| (define-public python-crds | ||||
|   (package | ||||
|     (name "python-crds") | ||||
|     (version "11.17.9") | ||||
|     (version "11.17.13") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (pypi-uri "crds" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0ha7ibs5lmqs9pcr546jyxzgrmx1xyqps7fsp220rvlsbsisdgm0")))) | ||||
|                 "0jcvyiq3z2kbd8g33gk5r99rvhn9i50lz7ngqibdafh390dz5zhc")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|  | @ -1929,13 +1928,13 @@ Cesium.") | |||
| (define-public python-drms | ||||
|   (package | ||||
|     (name "python-drms") | ||||
|     (version "0.6.4") | ||||
|     (version "0.7.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "drms" version)) | ||||
|        (sha256 | ||||
|         (base32 "0mkrmr55fgca441z7hvsyri6x9cjsh0sfas3hrj0k1k10k8vszbw")))) | ||||
|         (base32 "0smc39nndxqbznjcpnylsag1sc2ksfjhxh4dwiqbki8q6v5ahx84")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (native-inputs | ||||
|      (list python-astropy | ||||
|  | @ -1955,7 +1954,7 @@ used with local NetDRMS sites.") | |||
| (define-public python-drizzle | ||||
|   (package | ||||
|     (name "python-drizzle") | ||||
|     (version "1.14.3") | ||||
|     (version "1.14.4") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) ;PyPi doesn't have the test data sets | ||||
|  | @ -1964,7 +1963,7 @@ used with local NetDRMS sites.") | |||
|              (commit version))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "04gncwg76yivcaq7rwgsw5k8w4h3c4wcrjcamb53h0d5s820z7dl")))) | ||||
|         (base32 "01zsq1r3p9lig0aik01szncd7nbmyi561mhi1n44yjhh7d86fp8y")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|  | @ -2041,13 +2040,13 @@ of dates.") | |||
| (define-public python-mpl-animators | ||||
|   (package | ||||
|     (name "python-mpl-animators") | ||||
|     (version "1.1.0") | ||||
|     (version "1.1.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "mpl_animators" version)) | ||||
|        (sha256 | ||||
|         (base32 "12kjmj7rn3pk9ly82h5s5hn0kl3kxkr7bgkz9zr9k59pir8z1r8b")))) | ||||
|         (base32 "078dshs383ny182dac0spg7z0iilcwa0fnwv1vizsr6p1d3ar98b")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (native-inputs | ||||
|      (list python-pytest | ||||
|  | @ -2067,13 +2066,13 @@ the easy construction of interactive matplotlib widget based animations.") | |||
| (define-public python-photutils | ||||
|   (package | ||||
|     (name "python-photutils") | ||||
|     (version "1.9.0") | ||||
|     (version "1.10.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "photutils" version)) | ||||
|        (sha256 | ||||
|         (base32 "0gjvrmcb10lyqx3h9521zqskqngd5xcp3l9h2b02mk1p7q54mzdy")))) | ||||
|         (base32 "148zhdxhlcgj6dxyzaz78bzxw1q44qa9q9sfdqbfbla0s0w2jaay")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|  | @ -2092,11 +2091,22 @@ the easy construction of interactive matplotlib widget based animations.") | |||
|               (make-file-writable "photutils/_compiler.c") | ||||
|               (invoke "python" "setup.py" "build_ext" "--inplace")))))) | ||||
|     (propagated-inputs | ||||
|      (list python-astropy python-numpy)) | ||||
|      (list python-astropy | ||||
|            python-bottleneck | ||||
|            python-gwcs | ||||
|            python-matplotlib | ||||
|            python-numpy | ||||
|            python-rasterio | ||||
|            python-scikit-image | ||||
|            python-scikit-learn | ||||
|            python-scipy | ||||
|            python-shapely | ||||
|            python-tqdm)) | ||||
|     (native-inputs | ||||
|      (list python-cython | ||||
|            python-extension-helpers | ||||
|            python-pytest-astropy | ||||
|            python-semantic-version | ||||
|            python-setuptools-scm)) | ||||
|     (home-page "https://github.com/astropy/photutils") | ||||
|     (synopsis "Source detection and photometry") | ||||
|  | @ -2266,30 +2276,34 @@ Virtual observatory (VO) using Python.") | |||
| (define-public python-regions | ||||
|   (package | ||||
|     (name "python-regions") | ||||
|     (version "0.7") | ||||
|     (version "0.8") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "regions" version)) | ||||
|        (sha256 | ||||
|         (base32 "08wsg9kxnki5pz8gdp81bq06jdmsip382fl02rvnr96cvzr7wf3m")))) | ||||
|     (build-system python-build-system) | ||||
|         (base32 "09401pz7926zlci7cznd78hmv9947f6jxyy2afqdqc1xaccpzcq2")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (arguments | ||||
|      `(#:test-target "pytest" | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          ;; This doctest requires online data. | ||||
|          (add-after 'unpack 'delete-doctest | ||||
|            (lambda _ (delete-file "docs/masks.rst"))) | ||||
|          ;; This file is opened in both install and check phases. | ||||
|          (add-before 'install 'writable-compiler | ||||
|            (lambda _ (make-file-writable "regions/_compiler.c"))) | ||||
|          (add-before 'check 'writable-compiler | ||||
|            (lambda _ (make-file-writable "regions/_compiler.c"))) | ||||
|          (add-before 'check 'writable-home | ||||
|            (lambda _  (setenv "HOME" (getcwd))))))) | ||||
|      (list | ||||
|       #:phases | ||||
|       #~(modify-phases %standard-phases | ||||
|           ;; This file is opened in both install and check phases. | ||||
|           ;; XXX: Check if it is still required. | ||||
|           (add-before 'install 'writable-compiler | ||||
|             (lambda _ (make-file-writable "regions/_compiler.c"))) | ||||
|           (add-before 'check 'prepare-test-environment | ||||
|             (lambda _ | ||||
|               (setenv "HOME" "/tmp") | ||||
|               (make-file-writable "regions/_compiler.c") | ||||
|               (invoke "python" "setup.py" "build_ext" "--inplace")))))) | ||||
|     (propagated-inputs | ||||
|      (list python-astropy python-numpy)) | ||||
|      (list python-astropy | ||||
|            python-h5py | ||||
|            python-matplotlib | ||||
|            python-numpy | ||||
|            python-scipy | ||||
|            python-shapely)) | ||||
|     (native-inputs | ||||
|      (list python-cython | ||||
|            python-extension-helpers | ||||
|  | @ -2305,13 +2319,13 @@ Virtual observatory (VO) using Python.") | |||
| (define-public python-reproject | ||||
|   (package | ||||
|     (name "python-reproject") | ||||
|     (version "0.12.0") | ||||
|     (version "0.13.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "reproject" version)) | ||||
|        (sha256 | ||||
|         (base32 "1cjdfv7wd4c0ia63vqakxf9w8hd5dfz6jzi520scd37rliy1xgld")))) | ||||
|         (base32 "1qkjbx8xsawhi1gjzqimais3crvkwgbzy1pr51x6anjjln88rgll")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|  | @ -2533,13 +2547,13 @@ elevation, solar azimuth, rahukaalam, and the phases of the moon.") | |||
| (define-public python-spectral-cube | ||||
|   (package | ||||
|     (name "python-spectral-cube") | ||||
|     (version "0.6.3") | ||||
|     (version "0.6.5") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "spectral-cube" version)) | ||||
|        (sha256 | ||||
|         (base32 "10q76rsgf9w4j7y68mfa870bpxf06m6kqvivj4340jmgnsrfy1zg")))) | ||||
|         (base32 "0cqxgmk46gv2qa2kls8fph105lgwbwf13hvizh6w85mzgypyp740")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (propagated-inputs | ||||
|      (list python-astropy | ||||
|  | @ -2587,9 +2601,7 @@ of axis order, spatial projections, and spectral units that exist in the wild. | |||
| (define-public python-spherical-geometry | ||||
|   (package | ||||
|     (name "python-spherical-geometry") | ||||
|     ;; XXX: Can't be updated to the latest see: | ||||
|     ;; https://github.com/spacetelescope/spherical_geometry/issues/227 | ||||
|     (version "1.2.22") | ||||
|     (version "1.3.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -2598,7 +2610,7 @@ of axis order, spatial projections, and spectral units that exist in the wild. | |||
|              (commit version))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "0kzcncqir4v7nhk9lxj9gxr32p3krkaqa58y2i4kksgxxy24qw4z")))) | ||||
|         (base32 "172f81h42jq6mv3gpx497z2nkhkx11w4pzmcqljcicri2zqj1m6g")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|  | @ -2612,18 +2624,23 @@ of axis order, spatial projections, and spectral units that exist in the wild. | |||
|               (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version) | ||||
|               ;; Use our own libraries in place of bundles. | ||||
|               (setenv "USE_SYSTEM_QD" "1"))) | ||||
|           (add-before 'check 'build-extensions | ||||
|           (add-before 'check 'prepare-test-environment | ||||
|             (lambda _ | ||||
|               (invoke "python" "setup.py" "build_ext" "--inplace")))))) | ||||
|               (invoke "python" "setup.py" "build_ext" "--inplace") | ||||
|               (call-with-output-file "pytest.ini" | ||||
|                 (lambda (port) | ||||
|                   (format port "[pytest] | ||||
| python_files = test_*.py")))))))) | ||||
|     (native-inputs | ||||
|      (list python-pytest | ||||
|            python-pytest-astropy-header | ||||
|            python-setuptools-scm)) | ||||
|     (inputs | ||||
|      (list qd)) | ||||
|     (propagated-inputs | ||||
|      (list python-astropy | ||||
|            python-numpy)) | ||||
|     (home-page "https://github.com/spacetelescope/tweakwcs") | ||||
|     (home-page "https://github.com/spacetelescope/spherical_geometry") | ||||
|     (synopsis "Python astronimical package for handling spherical polygons") | ||||
|     (description | ||||
|      "The @code{spherical_geometry} library is a Python package for handling | ||||
|  | @ -2663,18 +2680,24 @@ Science Institute} image array manipulation functions.") | |||
| (define-public python-stsci-imagestats | ||||
|   (package | ||||
|     (name "python-stsci-imagestats") | ||||
|     (version "1.6.3") | ||||
|     (version "1.8.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (pypi-uri "stsci.imagestats" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "14457izlbnks84dyza75ib3nvx2w8nhlqm9vc1zb7hbhknb5gjvw")))) | ||||
|                 "01jqqrhcna0ghin48bbcza57d12371ny4l4pqws89irwdhd8xr0r")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (arguments | ||||
|      (list #:tests? #f)) ;No tests | ||||
|      (list | ||||
|       #:phases | ||||
|       #~(modify-phases %standard-phases | ||||
|           (add-before 'check 'build-extensions | ||||
|             (lambda _ | ||||
|               ;; Cython extensions have to be built before running the tests. | ||||
|               (invoke "python" "setup.py" "build_ext" "--inplace")))))) | ||||
|     (propagated-inputs (list python-numpy)) | ||||
|     (native-inputs (list python-setuptools-scm)) | ||||
|     (native-inputs (list python-pytest python-setuptools-scm)) | ||||
|     (home-page "https://stsciimagestats.readthedocs.io/en/latest/") | ||||
|     (synopsis "Compute sigma-clipped statistics on data arrays") | ||||
|     (description | ||||
|  | @ -2764,13 +2787,13 @@ image processing functions: @code{xyxymatch}, @code{geomap}.") | |||
| (define-public python-stdatamodels | ||||
|   (package | ||||
|     (name "python-stdatamodels") | ||||
|     (version "1.8.3") | ||||
|     (version "1.9.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "stdatamodels" version)) | ||||
|        (sha256 | ||||
|         (base32 "0265xa9nrp6qp1z7v9kmnd3c8jc0dad2vzin657clk3rrsj2qll5")))) | ||||
|         (base32 "16hwhvd8bqm1cmkgcn1v43hp2cvf094fz954rxb6jv2xx6csic15")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|  | @ -2834,13 +2857,13 @@ implementing calibration pipeline software.") | |||
| (define-public python-stsynphot | ||||
|   (package | ||||
|     (name "python-stsynphot") | ||||
|     (version "1.2.0") | ||||
|     (version "1.3.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (pypi-uri "stsynphot" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0qkdh47j84v7fzri7bmi1jcmggdqq0a8byamfm73d8mbz86v8sn4")))) | ||||
|                 "15m3vy39mc7rh1mrxs8d2bs0bx5vv632m6wg8n15fqjzhadqy7j5")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|  | @ -2984,7 +3007,7 @@ low quality ones") | |||
| (define-public libpasastro | ||||
|   (package | ||||
|     (name "libpasastro") | ||||
|     (version "1.4.1") | ||||
|     (version "1.4.2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -2993,7 +3016,7 @@ low quality ones") | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "1h92p9ph3zi4w8krny1azd9wgwna2nf07ims983jcky1chkfm0is")))) | ||||
|         (base32 "1na3gyb3nzb5gdgccs1653j2gnz6w3v1mqzhyhkx3yqw8bs3q5x0")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f | ||||
|  | @ -3394,13 +3417,13 @@ Moon position, etc.") | |||
| (define-public python-jplephem | ||||
|   (package | ||||
|     (name "python-jplephem") | ||||
|     (version "2.20") | ||||
|     (version "2.21") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "jplephem" version)) | ||||
|        (sha256 | ||||
|         (base32 "1yp1l3n07849411099f976ps0pyv8jk8k5l9da9nhv54ir86v65v")))) | ||||
|         (base32 "0mcdhb22vwbyavcnkcwchj0cxnxsvaw5563v464ipwlm0rhln69l")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|  | @ -3538,7 +3561,7 @@ functions, so that they can be called with scalar or array inputs.") | |||
| (define-public python-pynbody | ||||
|   (package | ||||
|     (name "python-pynbody") | ||||
|     (version "1.4.2") | ||||
|     (version "1.5.2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) ;PyPi doesn't have not prebuit version. | ||||
|  | @ -3547,7 +3570,7 @@ functions, so that they can be called with scalar or array inputs.") | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "1lwjs8vf3pc4a64c93fa5k6r276g1c60722swns2r10ig1s4wk0a")) | ||||
|         (base32 "175i99zwnnwglndr71paiadrx3xq3icxjgdqfv3xxpyn7fx4dzab")) | ||||
|        (modules '((guix build utils))) | ||||
|        (snippet | ||||
|         ;; Symlink goes to not existing directory. | ||||
|  | @ -3562,6 +3585,7 @@ functions, so that they can be called with scalar or array inputs.") | |||
|                            ;;    https://github.com/pynbody/pynbody/blob/ \ | ||||
|                            ;;    f4bd482dc47532831b3ec115c7cb07149d61bfc5/ \ | ||||
|                            ;;    .github/workflows/build-test.yaml#L41 | ||||
|                            "--ignore=tests/copy_on_access_test.py" | ||||
|                            "--ignore=tests/gravity_test.py" | ||||
|                            "--ignore=tests/adaptahop_test.py" | ||||
|                            "--ignore=tests/ahf_halos_test.py" | ||||
|  | @ -3717,13 +3741,13 @@ datetime object.") | |||
| (define-public python-synphot | ||||
|   (package | ||||
|     (name "python-synphot") | ||||
|     (version "1.2.1") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (pypi-uri "synphot" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "10kcdg2gqmi1w2hsjx9hfizwbff3kll10s68hys13nzh4i8b7cc4")))) | ||||
|     (version "1.3.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "synphot" version)) | ||||
|        (sha256 | ||||
|         (base32 "0a54bfrx9aar66040324sw9qdjz5lg67y28sjsxhyv9h3gppc7c0")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|  | @ -3742,9 +3766,16 @@ datetime object.") | |||
|                 (lambda (port) | ||||
|                   (format port "[pytest] | ||||
| python_files = test_*.py")))))))) | ||||
|     (propagated-inputs (list python-astropy python-numpy python-scipy)) | ||||
|     (native-inputs (list python-pytest python-pytest-astropy | ||||
|                          python-setuptools-scm)) | ||||
|     (propagated-inputs | ||||
|      (list ;; python-dust-extinction ; XXX: Not packed yet, optional. | ||||
|            ;; python-specutils       ; XXX: Not packed yet, optional. | ||||
|            python-astropy | ||||
|            python-numpy | ||||
|            python-scipy)) | ||||
|     (native-inputs | ||||
|      (list python-pytest | ||||
|            python-pytest-astropy | ||||
|            python-setuptools-scm)) | ||||
|     (home-page "https://github.com/spacetelescope/synphot_refactor") | ||||
|     (synopsis "Synthetic photometry using Astropy") | ||||
|     (description | ||||
|  | @ -3756,13 +3787,13 @@ of the old packages.") | |||
| (define-public python-tweakwcs | ||||
|   (package | ||||
|     (name "python-tweakwcs") | ||||
|     (version "0.8.3") | ||||
|     (version "0.8.5") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (pypi-uri "tweakwcs" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "09bd8b77rpn641cwmkhcyzx43xkx3va83wdcb47wcqqa7qgx9f1m")))) | ||||
|                 "15gc2rc2isx3va6wbn4k1hi5qh49gq15cgbb2qqkbznd7f7d5ifv")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (propagated-inputs (list python-astropy | ||||
|                              python-gwcs | ||||
|  | @ -4037,13 +4068,13 @@ install an implementation package such as asdf-astropy.") | |||
| (define-public python-asdf-astropy | ||||
|   (package | ||||
|     (name "python-asdf-astropy") | ||||
|     (version "0.4.0") | ||||
|     (version "0.5.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "asdf-astropy" version)) | ||||
|        (sha256 | ||||
|         (base32 "1difb2y1hlalbhrw8znwmmc0vzgg44zfsay98lpllb7y0536fas6")))) | ||||
|         (base32 "061y7r1d2fqlr8a6gyaffqa3z5m0ymljahhvxzcb71355xkqig7v")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (arguments | ||||
|      (list #:phases #~(modify-phases %standard-phases | ||||
|  | @ -4097,13 +4128,13 @@ install an implementation package such as gwcs.") | |||
| (define-public python-gwcs | ||||
|   (package | ||||
|     (name "python-gwcs") | ||||
|     (version "0.19.0") | ||||
|     (version "0.20.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "gwcs" version)) | ||||
|        (sha256 | ||||
|         (base32 "1f3h41aq4nwcl6k80jb9s8shn2mhvz32mx9qhcm1xmcqrflqyf52")))) | ||||
|         (base32 "1vhvs0mcwrw0128q9pd9v21wl173lspj5rvygqr19ljncralbx73")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (native-inputs | ||||
|      (list python-jsonschema | ||||
|  | @ -4163,13 +4194,13 @@ Grace Roman Space Telescope.") | |||
| (define-public python-radio-beam | ||||
|   (package | ||||
|     (name "python-radio-beam") | ||||
|     (version "0.3.6") | ||||
|     (version "0.3.7") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "radio-beam" version)) | ||||
|        (sha256 | ||||
|         (base32 "19c6gmm1wvyp5nn1yfbzl428rkysdq273j2yaarxpivv7cwj7qjk")))) | ||||
|         (base32 "0dg6vqdhmzh47awdkkcbf455gw6if2qwxyhcqbq2dkhbwsx680gc")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (propagated-inputs | ||||
|      (list python-astropy | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2015-2023 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2015-2024 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> | ||||
| ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> | ||||
| ;;; Copyright © 2015 Alex Kost <alezost@gmail.com> | ||||
|  | @ -17,7 +17,7 @@ | |||
| ;;; Copyright © 2018, 2019, 2022 Marius Bakke <marius@gnu.org> | ||||
| ;;; Copyright © 2018, 2021 Thorsten Wilms <t_w_@freenet.de> | ||||
| ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> | ||||
| ;;; Copyright © 2018, 2022 Brendan Tildesley <mail@brendan.scot> | ||||
| ;;; Copyright © 2018, 2022, 2023, 2024 Brendan Tildesley <mail@brendan.scot> | ||||
| ;;; Copyright © 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com> | ||||
| ;;; Copyright © 2019, 2021 Leo Famulari <leo@famulari.name> | ||||
| ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com> | ||||
|  | @ -74,6 +74,7 @@ | |||
|   #:use-module (gnu packages build-tools) | ||||
|   #:use-module (gnu packages check) | ||||
|   #:use-module (gnu packages compression) | ||||
|   #:use-module (gnu packages cpp) | ||||
|   #:use-module (gnu packages curl) | ||||
|   #:use-module (gnu packages dbm) | ||||
|   #:use-module (gnu packages documentation) | ||||
|  | @ -83,6 +84,7 @@ | |||
|   #:use-module (gnu packages flex) | ||||
|   #:use-module (gnu packages fltk) | ||||
|   #:use-module (gnu packages fontutils) | ||||
|   #:use-module (gnu packages freedesktop) | ||||
|   #:use-module (gnu packages gcc) | ||||
|   #:use-module (gnu packages gettext) | ||||
|   #:use-module (gnu packages gl) | ||||
|  | @ -115,6 +117,7 @@ | |||
|   #:use-module (gnu packages perl) | ||||
|   #:use-module (gnu packages pkg-config) | ||||
|   #:use-module (gnu packages pulseaudio)  ;libsndfile, libsamplerate | ||||
|   #:use-module (gnu packages pretty-print) | ||||
|   #:use-module (gnu packages python) | ||||
|   #:use-module (gnu packages python-build) | ||||
|   #:use-module (gnu packages python-crypto) | ||||
|  | @ -129,6 +132,7 @@ | |||
|   #:use-module (gnu packages sdl) | ||||
|   #:use-module (gnu packages serialization) | ||||
|   #:use-module (gnu packages sqlite) | ||||
|   #:use-module (gnu packages tbb) | ||||
|   #:use-module (gnu packages telephony) | ||||
|   #:use-module (gnu packages tls) | ||||
|   #:use-module (gnu packages valgrind) | ||||
|  | @ -3041,36 +3045,30 @@ frequencies.  This data is then formatted to MIDI and written to disk.") | |||
| (define-public lilv | ||||
|   (package | ||||
|     (name "lilv") | ||||
|     (version "0.24.12") | ||||
|     (version "0.24.22") | ||||
|     (source (origin | ||||
|              (method url-fetch) | ||||
|              (uri (string-append "https://download.drobilla.net/lilv-" | ||||
|                                  version ".tar.bz2")) | ||||
|                                  version ".tar.xz")) | ||||
|              (sha256 | ||||
|               (base32 | ||||
|                "0qchfsyrsrp2pdpd59025kllycr04ddpzd03ha1iz70ci687g8r6")))) | ||||
|     (build-system waf-build-system) | ||||
|                "1wwzkz91zv0cj8dkr7aqsryznihhbkhwaplv81ik7j4zwp84kybn")))) | ||||
|     (build-system meson-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f                      ; no check target | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-before 'configure 'set-ldflags | ||||
|           (lambda* (#:key outputs #:allow-other-keys) | ||||
|             (setenv "LDFLAGS" | ||||
|                     (string-append "-Wl,-rpath=" | ||||
|                                    (assoc-ref outputs "out") "/lib")))) | ||||
|          (add-after 'unpack 'full-store-path-to-shared-library | ||||
|            (lambda* (#:key outputs #:allow-other-keys) | ||||
|              (with-directory-excursion "bindings/python" | ||||
|                (substitute* "lilv.py" | ||||
|                  (("liblilv-0.so") (string-append (assoc-ref outputs "out") | ||||
|                                                   "/lib/liblilv-0.so"))))))))) | ||||
|      (list | ||||
|       #:phases | ||||
|       #~(modify-phases %standard-phases | ||||
|           (add-after 'unpack 'full-store-path-to-shared-library | ||||
|             (lambda _ | ||||
|               (with-directory-excursion "bindings/python" | ||||
|                 (substitute* "lilv.py" | ||||
|                   (("liblilv-0.so") (string-append #$output "/lib/liblilv-0.so"))))))))) | ||||
|     ;; Required by lilv-0.pc. | ||||
|     (propagated-inputs | ||||
|      (list lv2 serd sord sratom)) | ||||
|     (native-inputs | ||||
|      (list python pkg-config)) | ||||
|     (home-page "https://drobilla.net/software/lilv") | ||||
|     (home-page "https://drobilla.net/software/lilv.html") | ||||
|     (synopsis "Library to simplify use of LV2 plugins in applications") | ||||
|     (description | ||||
|      "Lilv is a C library to make the use of LV2 plugins as simple as possible | ||||
|  | @ -3081,18 +3079,15 @@ significantly faster and have minimal dependencies.") | |||
| (define-public lv2 | ||||
|   (package | ||||
|     (name "lv2") | ||||
|     (version "1.18.2") | ||||
|     (version "1.18.10") | ||||
|     (source (origin | ||||
|              (method url-fetch) | ||||
|              (uri (string-append "https://lv2plug.in/spec/lv2-" | ||||
|                                  version ".tar.bz2")) | ||||
|                                  version ".tar.xz")) | ||||
|              (sha256 | ||||
|               (base32 | ||||
|                "0pp0n9x1rg8d4fw853z9cvfifjdi4bl85yjxxddqa1acfjy1z2af")))) | ||||
|     (build-system waf-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f                      ; no check target | ||||
|        #:configure-flags '("--no-plugins"))) | ||||
|                "0gwm63jrvg9lww0rl3sjkgbjwfz0vascpb19cfxmhkmm477ipibq")))) | ||||
|     (build-system meson-build-system) | ||||
|     (inputs | ||||
|      ;; Leaving off cairo and gtk+-2.0 which are needed for example plugins | ||||
|      (list libsndfile)) | ||||
|  | @ -3650,33 +3645,35 @@ filters using the so-called @emph{window method}.") | |||
| (define-public rubberband | ||||
|   (package | ||||
|     (name "rubberband") | ||||
|     (version "1.8.2") | ||||
|     (version "3.3.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri | ||||
|                (string-append "https://bitbucket.org/breakfastquay/rubberband/get/v" | ||||
|                               version | ||||
|                               ".tar.bz2")) | ||||
|               (file-name (string-append name "-" version ".tar.bz2")) | ||||
|                (string-append "https://breakfastquay.com/files/releases/" | ||||
|                               "rubberband-" version ".tar.bz2")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0462fmjnfqpv2qi0s6ny42drqarkr0xy9lw8frjmfgzyzl5n9294")))) | ||||
|     (build-system gnu-build-system) | ||||
|                 "0v2pbv4jnzv3rr2qr71skwncy2p263ngmhn37aqqb7zgp3i8kvyr")))) | ||||
|     (build-system meson-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f                      ; no check target | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'skip-jni-installation | ||||
|            ;; ‘make install’ unconditionally installs librubberband-jni.so, | ||||
|            ;; which is never built by ‘make all’.  Skip it. | ||||
|            (lambda _ | ||||
|              (substitute* "Makefile.in" | ||||
|                ((".*cp -f \\$\\(JNI_TARGET\\).*") "")) | ||||
|              #t))))) | ||||
|      (list | ||||
|       #:configure-flags | ||||
|       '(list "-Dresampler=libsamplerate" | ||||
|              "-Dfft=fftw"                  ;To avoid using bundled version | ||||
|              "-Ddefault_library=shared"))) ;Don't build static library | ||||
|     (inputs | ||||
|      (list ladspa libsamplerate vamp)) | ||||
|      (list ladspa lv2 vamp)) | ||||
|     (propagated-inputs | ||||
|      (list fftw libsamplerate)) ;required by rubberband.pc | ||||
|     (native-inputs | ||||
|      (list pkg-config)) | ||||
|     (native-search-paths | ||||
|      (list (search-path-specification | ||||
|             (variable "LV2_PATH") | ||||
|             (files '("lib/lv2"))) | ||||
|            (search-path-specification | ||||
|             (variable "LADSPA_PATH") | ||||
|             (files '("lib/ladspa"))))) | ||||
|     (home-page "https://breakfastquay.com/rubberband/") | ||||
|     (synopsis "Audio time-stretching and pitch-shifting library") | ||||
|     (description | ||||
|  | @ -3725,22 +3722,21 @@ input/output.") | |||
| (define-public sratom | ||||
|   (package | ||||
|     (name "sratom") | ||||
|     (version "0.6.6") | ||||
|     (version "0.6.16") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://download.drobilla.net/sratom-" | ||||
|                                   version ".tar.bz2")) | ||||
|                                   version ".tar.xz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "178v90qvsp6lw4sqdmdz0bzyjkgwhv9m75ph1d1z8say5bv0p4gv")))) | ||||
|     (build-system waf-build-system) | ||||
|     (arguments `(#:tests? #f))          ;no check target | ||||
|                 "1i12wcnv52r05zr5wjmpvbsvbjbm3hkv8frral2kvrc326cmghbi")))) | ||||
|     (build-system meson-build-system) | ||||
|     (propagated-inputs | ||||
|      ;; In Requires of sratom-0.pc. | ||||
|      (list lv2 serd sord)) | ||||
|     (native-inputs | ||||
|      (list pkg-config)) | ||||
|     (home-page "https://drobilla.net/software/sratom/") | ||||
|     (home-page "https://drobilla.net/software/sratom.html") | ||||
|     (synopsis "Library for serialising LV2 atoms to/from RDF") | ||||
|     (description | ||||
|      "Sratom is a library for serialising LV2 atoms to/from RDF, particularly | ||||
|  | @ -3867,16 +3863,16 @@ disks as various audio file formats.") | |||
| (define-public vamp | ||||
|   (package | ||||
|     (name "vamp") | ||||
|     (version "2.6") | ||||
|     (version "2.10.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|                     "https://code.soundsoftware.ac.uk" | ||||
|                     "/attachments/download/1520/vamp-plugin-sdk-" | ||||
|                     version ".tar.gz")) | ||||
|                     "https://code.soundsoftware.ac.uk/attachments/download/" | ||||
|                     "2691" ; This mysterious number changes with each update | ||||
|                     "/vamp-plugin-sdk-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0pzq0yy2kdl3jgfc2aqmh5m55nk1ild0hq8mydiiw35c6y0mglyh")))) | ||||
|                 "0pzpkxrz71fzqd2m83kjyafzqzrifzsq5phcn7mqq52blii3gbxf")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f                      ; no check target | ||||
|  | @ -6229,20 +6225,15 @@ systems.") | |||
| (define-public mda-lv2 | ||||
|   (package | ||||
|     (name "mda-lv2") | ||||
|     (version "1.2.6") | ||||
|     (version "1.2.10") | ||||
|     (source | ||||
|       (origin | ||||
|         (method url-fetch) | ||||
|         (uri (string-append "http://download.drobilla.net/mda-lv2-" | ||||
|                             version ".tar.bz2")) | ||||
|                             version ".tar.xz")) | ||||
|         (sha256 | ||||
|          (base32 "1nspk2j11l65m5r9z5isw8j749vh9a89wgx8mkrrq15f4iq12rnd")))) | ||||
|     (build-system waf-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f  ; There are no tests. | ||||
|        #:configure-flags | ||||
|        (list (string-append "--prefix=" | ||||
|                             (assoc-ref %outputs "out"))))) | ||||
|          (base32 "0nm7qahkrxjydv1wii46ca6948srwhjilhlp54z9bpcnln35ksmf")))) | ||||
|     (build-system meson-build-system) | ||||
|     (inputs | ||||
|      (list lv2)) | ||||
|     (native-inputs | ||||
|  | @ -6251,7 +6242,7 @@ systems.") | |||
|      (list (search-path-specification | ||||
|             (variable "LV2_PATH") | ||||
|             (files '("lib/lv2"))))) | ||||
|     (home-page "https://drobilla.net/software/mda-lv2") | ||||
|     (home-page "https://drobilla.net/software/mda-lv2.html") | ||||
|     (synopsis "Audio plug-in pack for LV2") | ||||
|     (description | ||||
|      "MDA-LV2 is an LV2 port of the MDA plugins.  It includes effects and a few | ||||
|  | @ -6409,3 +6400,96 @@ be separated.") | |||
|       (description "Cubeb is Mozilla's cross-platform audio library.") | ||||
|       (home-page "https://github.com/mozilla/cubeb") | ||||
|       (license license:isc)))) | ||||
| 
 | ||||
| (define-public easyeffects | ||||
|   (package | ||||
|     (name "easyeffects") | ||||
|     (version "7.0.1") ; later version require gtk 4.10 | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://github.com/wwmm/easyeffects") | ||||
|                     (commit (string-append "v" version)))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 "0c49yd4dfh7qarq5h651dgxdbs71is4pp1sl8r0gfswqji6bv39w")))) | ||||
|     (build-system meson-build-system) | ||||
|     (native-inputs | ||||
|      (list `(,glib "bin") ;for glib-compile-resources | ||||
|            gettext-minimal | ||||
|            itstool | ||||
|            pkg-config)) | ||||
|     (inputs | ||||
|      (list fftwf | ||||
|            fmt | ||||
|            gsl | ||||
|            gtk | ||||
|            json-modern-cxx ;nlohmann_json | ||||
|            libadwaita | ||||
|            libbs2b | ||||
|            libebur128 | ||||
|            libportal | ||||
|            libsamplerate | ||||
|            libsigc++ | ||||
|            libsndfile | ||||
|            lilv | ||||
|            pango | ||||
|            pipewire | ||||
|            rnnoise | ||||
|            speex | ||||
|            speexdsp | ||||
|            tbb | ||||
|            zita-convolver)) | ||||
|     ;; Propagating these allows EasyEffects to find the plugins via their | ||||
|     ;; search-path specification | ||||
|     (propagated-inputs | ||||
|      (list calf | ||||
|            lsp-plugins | ||||
|            lv2 | ||||
|            mda-lv2 | ||||
|            rubberband | ||||
|            zam-plugins)) | ||||
|     (arguments | ||||
|      `(#:glib-or-gtk? #t | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'skip-gtk-update-icon-cache | ||||
|            (lambda _ ; Remove dependency on needless desktop cache stuff. | ||||
|              (substitute* "meson.build" | ||||
|                (("gtk_update_icon_cache: true") "gtk_update_icon_cache: false") | ||||
|                (("update_desktop_database: true") "update_desktop_database: false"))))))) | ||||
|     (home-page "https://github.com/wwmm/easyeffects") | ||||
|     (synopsis "Realtime Audio effects interface for Pipewire") | ||||
|     (description "EasyEffects is an advanced audio manipulation tool providing | ||||
| a graphical user interface to apply various effects and filters to audio | ||||
| streams using Pipewire.  Effects can be applied in real time to audio inputs or | ||||
| outputs such as a microphone to reduce noise or apply many other effects | ||||
| including: | ||||
| 
 | ||||
| @itemize | ||||
| @item Auto gain | ||||
| @item Bass enhancer | ||||
| @item Bass loudness | ||||
| @item Compressor | ||||
| @item Convolver | ||||
| @item Crossfeed | ||||
| @item Crystalizer | ||||
| @item De-esser | ||||
| @item Delay | ||||
| @item Echo Canceller | ||||
| @item Equalizer | ||||
| @item Exciter | ||||
| @item Filter (low-pass, high-pass, band-pass and band-reject modes) | ||||
| @item Gate | ||||
| @item Limiter | ||||
| @item Loudness | ||||
| @item Maximizer | ||||
| @item Multiband compressor | ||||
| @item Multiband gate | ||||
| @item Noise reduction | ||||
| @item Pitch | ||||
| @item Reverberation | ||||
| @item Speech Processor | ||||
| @item Stereo tools | ||||
| @end itemize") | ||||
|     (license license:gpl3+))) | ||||
|  |  | |||
|  | @ -59,6 +59,7 @@ | |||
|   #:use-module (gnu packages python) | ||||
|   #:use-module (gnu packages perl) | ||||
|   #:use-module (gnu packages pkg-config) | ||||
|   #:use-module (gnu packages protobuf) | ||||
|   #:use-module (gnu packages statistics) | ||||
|   #:use-module (gnu packages tls) | ||||
|   #:use-module (gnu packages web) | ||||
|  | @ -157,6 +158,25 @@ descriptions can discover new relationships between genes and disease, and new | |||
| functions for previous uncharacteried genes and alleles.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-jaspar2020 | ||||
|   (package | ||||
|     (name "r-jaspar2020") | ||||
|     (version "0.99.10") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (bioconductor-uri "JASPAR2020" version 'annotation)) | ||||
|        (sha256 | ||||
|         (base32 "0nrp63z7q2ivv5h87f7inpp2qll2dfgj4227l4rbnzii38a2vfdr")))) | ||||
|     (properties `((upstream-name . "JASPAR2020"))) | ||||
|     (build-system r-build-system) | ||||
|     (native-inputs (list r-knitr)) | ||||
|     (home-page "https://jaspar.elixir.no/") | ||||
|     (synopsis "Data package for JASPAR database (version 2020)") | ||||
|     (description "Data package for JASPAR2020.  To explore these databases, | ||||
| utilize the TFBSTools package (version 1.23.1 or higher).") | ||||
|     (license license:gpl2))) | ||||
| 
 | ||||
| (define-public r-mafh5-gnomad-v3-1-2-grch38 | ||||
|   (package | ||||
|     (name "r-mafh5-gnomad-v3-1-2-grch38") | ||||
|  | @ -1127,6 +1147,46 @@ Ensembl.") | |||
| Ensembl.") | ||||
|     (license license:artistic2.0))) | ||||
| 
 | ||||
| (define-public r-escape | ||||
|   (package | ||||
|     (name "r-escape") | ||||
|     (version "1.12.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (bioconductor-uri "escape" version)) | ||||
|        (sha256 | ||||
|         (base32 "0bmin69ax7l5x3a0k9mv183277a0hl4znx02y79v2ilkgqkdm7fn")))) | ||||
|     (properties `((upstream-name . "escape"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs (list r-biocparallel | ||||
|                              r-broom | ||||
|                              r-data-table | ||||
|                              r-dplyr | ||||
|                              r-ggplot2 | ||||
|                              r-ggridges | ||||
|                              r-gseabase | ||||
|                              r-gsva | ||||
|                              r-matrix | ||||
|                              r-matrixgenerics | ||||
|                              r-msigdbr | ||||
|                              r-patchwork | ||||
|                              r-reshape2 | ||||
|                              r-rlang | ||||
|                              r-singlecellexperiment | ||||
|                              r-stringr | ||||
|                              r-summarizedexperiment | ||||
|                              r-ucell)) | ||||
|     (native-inputs (list r-knitr)) | ||||
|     (home-page "https://bioconductor.org/packages/escape") | ||||
|     (synopsis "Single cell analysis platform for enrichment") | ||||
|     (description | ||||
|      "R-escape streamlines gene set enrichment analysis for single-cell RNA | ||||
| sequencing.  Using raw count information, Seurat objects, or | ||||
| @code{SingleCellExperiment} format, users can perform and visualize GSEA | ||||
| across individual cells.") | ||||
|     (license license:gpl2))) | ||||
| 
 | ||||
| (define-public r-snplocs-hsapiens-dbsnp144-grch37 | ||||
|   (package | ||||
|     (name "r-snplocs-hsapiens-dbsnp144-grch37") | ||||
|  | @ -5599,6 +5659,35 @@ identification of cells from empty droplets, removal of barcode-swapped | |||
| pseudo-cells, and downsampling of the count matrix.") | ||||
|     (license license:gpl3))) | ||||
| 
 | ||||
| ;; This is a CRAN package, but it depends on r-limma from Bioconductor. | ||||
| (define-public r-dsb | ||||
|   (package | ||||
|     (name "r-dsb") | ||||
|     (version "1.0.3") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "dsb" version)) | ||||
|        (sha256 | ||||
|         (base32 "1xzhd4q04c1vql49r6m4zskpx7f5hkl5hmdgr3gsbxb73xfs51v2")))) | ||||
|     (properties `((upstream-name . "dsb"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs (list r-limma r-magrittr r-mclust)) | ||||
|     (native-inputs (list r-knitr r-rmarkdown)) | ||||
|     (home-page "https://github.com/niaid/dsb") | ||||
|     (synopsis | ||||
|      "Normalize & denoise droplet single cell protein data (CITE-Seq)") | ||||
|     (description | ||||
|      "R-dsb improves protein expression analysis in droplet-based single-cell | ||||
| studies.  The package specifically addresses noise in raw protein UMI counts | ||||
| from methods like CITE-seq.  It identifies and removes two main sources of | ||||
| noise—protein-specific noise from unbound antibodies and droplet/cell-specific | ||||
| noise.  The package is applicable to various methods, including CITE-seq, | ||||
| REAP-seq, ASAP-seq, TEA-seq, and Mission Bioplatform data.  Check the vignette | ||||
| for tutorials on integrating dsb with Seurat and Bioconductor, and using dsb | ||||
| in Python.") | ||||
|     (license license:cc0))) | ||||
| 
 | ||||
| (define-public r-dss | ||||
|   (package | ||||
|     (name "r-dss") | ||||
|  | @ -7324,13 +7413,13 @@ global-scaling and full-quantile normalization.") | |||
| (define-public r-edger | ||||
|   (package | ||||
|     (name "r-edger") | ||||
|     (version "4.0.5") | ||||
|     (version "4.0.6") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "edgeR" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "16cghh83v14jdq5n6xkm3jxj87n6l6zrxjgqdwb2ffgc26vkpb7w")))) | ||||
|                 "0vksak7rv0agar0gplpj2fcp3183l3iyvbqjmx64c7dwpzjh3lb5")))) | ||||
|     (properties `((upstream-name . "edgeR"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|  | @ -7668,13 +7757,13 @@ names in their natural, rather than lexicographic, order.") | |||
| (define-public r-genomicalignments | ||||
|   (package | ||||
|     (name "r-genomicalignments") | ||||
|     (version "1.38.0") | ||||
|     (version "1.38.1") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (bioconductor-uri "GenomicAlignments" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "06xa3dcdk6jprvpyvr3pfbv6qv8xrqw2n6rrfp8q8qizx3ifj431")))) | ||||
|                 "0y54kdgb77xqni46pgff1by2ska2jaxfcpq6gk86wb2rym37wlxj")))) | ||||
|     (properties | ||||
|      `((upstream-name . "GenomicAlignments"))) | ||||
|     (build-system r-build-system) | ||||
|  | @ -13131,14 +13220,14 @@ accessiblity for new Bioconductor users is hopefully increased.") | |||
| (define-public r-inspect | ||||
|   (package | ||||
|     (name "r-inspect") | ||||
|     (version "1.31.0") | ||||
|     (version "1.32.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (bioconductor-uri "INSPEcT" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0c7bw9cnav41vals2scv2gh5mj5nx2mgzagdb8g99sprdqv5924n")))) | ||||
|          "04znack6p50cmc2qyk4hf45m6v70p0bv7h3xs87j0x0h4mb920ch")))) | ||||
|     (properties `((upstream-name . "INSPEcT"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|  | @ -13147,7 +13236,6 @@ accessiblity for new Bioconductor users is hopefully increased.") | |||
|            r-biocparallel | ||||
|            r-deseq2 | ||||
|            r-desolve | ||||
|            r-gdata | ||||
|            r-genomeinfodb | ||||
|            r-genomicalignments | ||||
|            r-genomicfeatures | ||||
|  | @ -13156,6 +13244,7 @@ accessiblity for new Bioconductor users is hopefully increased.") | |||
|            r-kernsmooth | ||||
|            r-plgem | ||||
|            r-proc | ||||
|            r-readxl | ||||
|            r-rootsolve | ||||
|            r-rsamtools | ||||
|            r-rtracklayer | ||||
|  | @ -13229,14 +13318,14 @@ samples.") | |||
| (define-public r-biocneighbors | ||||
|   (package | ||||
|     (name "r-biocneighbors") | ||||
|     (version "1.20.1") | ||||
|     (version "1.20.2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (bioconductor-uri "BiocNeighbors" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0w7hd6w0lmj1jaaq9zd5gwnnpkzcr0byqm5q584wjg4xgvsb981j")))) | ||||
|          "0lvsw920i75di5pwq7yvk8wcxp01wrh7863xmwbrmk5jrvl3y4h4")))) | ||||
|     (properties `((upstream-name . "BiocNeighbors"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|  | @ -17668,9 +17757,31 @@ of the analyses while minimizing technical noise.") | |||
|        (uri (bioconductor-uri "cytolib" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1r2slhzrp3gf45k5gknqgj3vjz7p0rx2yjzrbp020inj82fp4mgi")))) | ||||
|          "1r2slhzrp3gf45k5gknqgj3vjz7p0rx2yjzrbp020inj82fp4mgi")) | ||||
|        ;; Remove bundled boost sources | ||||
|        (modules '((guix build utils))) | ||||
|        (snippet | ||||
|         '(delete-file-recursively "src/boost")))) | ||||
|     (properties `((upstream-name . "cytolib"))) | ||||
|     (build-system r-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|       #:phases | ||||
|       #~(modify-phases %standard-phases | ||||
|           (add-after 'unpack 'unbundle | ||||
|             (lambda _ | ||||
|               (substitute* "src/Makevars.in" | ||||
|                 (("\\$\\(USERLIB\\): \\$\\{boost_fs_objs\\}") | ||||
|                  "$(USERLIB):") | ||||
|                 (("\\$\\{cytolib_objs\\} \\$\\{boost_fs_objs\\} \\$\\{boost_sys_objs\\}") | ||||
|                  "${cytolib_objs}") | ||||
|                 (("PKG_CPPFLAGS =") | ||||
|                  "PKG_CPPFLAGS = -lboost_filesystem") | ||||
|                 #; | ||||
|                 (("^BOOSTFSLIB.*") | ||||
|                  (string-append "BOOSTFSLIB=" | ||||
|                                 #$(this-package-input "boost") "/libboost_filesystem.so\n")))))))) | ||||
|     (inputs (list boost openblas protobuf zlib)) | ||||
|     (native-inputs | ||||
|      (list r-knitr)) | ||||
|     (propagated-inputs | ||||
|  | @ -21322,13 +21433,13 @@ libraries.") | |||
| (define-public r-singler | ||||
|   (package | ||||
|     (name "r-singler") | ||||
|     (version "2.4.0") | ||||
|     (version "2.4.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (bioconductor-uri "SingleR" version)) | ||||
|        (sha256 | ||||
|         (base32 "0s7m3qdbgrqaq93k6rvyj34h36kdjvppn9ilflrcaa5w498fzfhf")))) | ||||
|         (base32 "0zlv45diasff5ipxp99dddswclrzzdcmkqp278fm2cj7aibvb3sd")))) | ||||
|     (properties `((upstream-name . "SingleR"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|  |  | |||
|  | @ -2110,6 +2110,29 @@ matplotlib Axes objects, making them easy to style and incorporate into | |||
| multi-panel figures.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public python-parabam | ||||
|   (package | ||||
|     (name "python-parabam") | ||||
|     (version "3.0.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "parabam" version)) | ||||
|        (sha256 | ||||
|         (base32 "1cy9q3gzdawi1kilycpd7waymjmrwsg8czwycfp13g301ir9xyp3")) | ||||
|        (modules '((guix build utils))) | ||||
|        (snippet | ||||
|         '(substitute* "setup.py" | ||||
|            (("'argparse',") ""))))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (propagated-inputs (list python-numpy python-pysam)) | ||||
|     (home-page "https://github.com/cancerit/parabam") | ||||
|     (synopsis "Parallel BAM File Analysis") | ||||
|     (description "Parabam is a tool for processing sequencing files in | ||||
| parallel.  It uses Python's native multiprocessing framework to apply a user | ||||
| defined rule on an input file.") | ||||
|     (license license:gpl3))) | ||||
| 
 | ||||
| (define-public python-peaks2utr | ||||
|   (package | ||||
|     (name "python-peaks2utr") | ||||
|  | @ -2424,6 +2447,30 @@ operations: | |||
| @end itemize") | ||||
|     (license license:asl2.0))) | ||||
| 
 | ||||
| (define-public python-telomerecat | ||||
|   (package | ||||
|     (name "python-telomerecat") | ||||
|     (version "4.0.2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "telomerecat" version)) | ||||
|        (sha256 | ||||
|         (base32 "16mfdqmp0j6g3h26h59334w9lqb4qihqrlzwvgznj0fiqs1rkxn2")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (propagated-inputs (list python-click python-numpy python-pandas | ||||
|                              python-parabam python-pysam)) | ||||
|     (home-page "https://github.com/cancerit/telomerecat") | ||||
|     (synopsis "Telomere computational analysis tool") | ||||
|     (description "Telomerecat is a tool for estimating the average telomere | ||||
| length (TL) for a paired end, whole genome sequencing (WGS) sample. | ||||
| 
 | ||||
| Telomerecat is adaptable, accurate and fast.  The algorithm accounts for | ||||
| sequencing amplification artifacts, anneouploidy (common in cancer samples) | ||||
| and noise generated by WGS.  For a high coverage WGS BAM file of around 100GB | ||||
| telomerecat can produce an estimate in ~1 hour.") | ||||
|     (license license:gpl3))) | ||||
| 
 | ||||
| (define-public python-bioframe | ||||
|   (package | ||||
|     (name "python-bioframe") | ||||
|  | @ -11124,6 +11171,65 @@ single-cell data.") | |||
|        "This package is designed to streamline scATAC analyses in R.") | ||||
|       (license license:gpl2+)))) | ||||
| 
 | ||||
| (define-public r-azimuth | ||||
|   (let ((commit "243ee5db80fcbffa3452c944254a325a3da2ef9e") | ||||
|         (revision "1")) | ||||
|     (package | ||||
|       (name "r-azimuth") | ||||
|       (version (git-version "0.5.0" revision commit)) | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|          (uri (git-reference | ||||
|                (url "https://github.com/satijalab/azimuth") | ||||
|                (commit commit))) | ||||
|          (file-name (git-file-name name version)) | ||||
|          (sha256 | ||||
|           (base32 "0vs4813kf2cv2j1z800ihwk62bw4dgmwgkd47rln58581chv39zm")))) | ||||
|       (properties `((upstream-name . "Azimuth"))) | ||||
|       (build-system r-build-system) | ||||
|       (propagated-inputs (list r-bsgenome-hsapiens-ucsc-hg38 | ||||
|                                r-dt | ||||
|                                r-ensdb-hsapiens-v86 | ||||
|                                r-future | ||||
|                                r-ggplot2 | ||||
|                                r-glmgampoi | ||||
|                                r-googlesheets4 | ||||
|                                r-hdf5r | ||||
|                                r-htmltools | ||||
|                                r-httr | ||||
|                                r-jaspar2020 | ||||
|                                r-jsonlite | ||||
|                                r-matrix | ||||
|                                r-patchwork | ||||
|                                r-plotly | ||||
|                                r-presto | ||||
|                                r-rcpp | ||||
|                                r-rlang | ||||
|                                r-scales | ||||
|                                r-seurat | ||||
|                                r-seuratdata | ||||
|                                r-seuratdisk | ||||
|                                r-seuratobject | ||||
|                                r-shiny | ||||
|                                r-shinybs | ||||
|                                r-shinydashboard | ||||
|                                r-shinyjs | ||||
|                                r-signac | ||||
|                                r-stringr | ||||
|                                r-tfbstools | ||||
|                                r-withr)) | ||||
|       (home-page "https://github.com/satijalab/azimuth") | ||||
|       (synopsis | ||||
|        "Shiny app showcasing a single-cell data query-reference mapping algorithm") | ||||
|       (description "Azimuth utilizes an annotated reference dataset.  It | ||||
| automates the processing, analysis, and interpretation.  This applies | ||||
| specifically to new single-cell RNA-seq or ATAC-seq experiments.  Azimuth | ||||
| leverages a reference-based mapping pipeline that inputs acounts matrix and | ||||
| performs normalization, visualization, cell annotation, and differential | ||||
| expression.") | ||||
|       (license license:gpl3)))) | ||||
| 
 | ||||
| (define-public r-icellnet | ||||
|   ;; v1.0 tagged in 2020, last commit contains many fixes. | ||||
|   ;; DESCRIPTION says Version: 0.0.0.9000. | ||||
|  | @ -20309,11 +20415,11 @@ translates between different variant encodings.") | |||
|       (license license:asl2.0)))) | ||||
| 
 | ||||
| (define-public r-signac | ||||
|   (let ((commit "af4142724b72574d957f7fe3d422ed5828ec3ad0") | ||||
|   (let ((commit "8ecdde291676102bb3b503f48926c993354b5471") | ||||
|         (revision "1")) | ||||
|     (package | ||||
|       (name "r-signac") | ||||
|       (version (git-version "1.9.0" revision commit)) | ||||
|       (version (git-version "1.12.0" revision commit)) | ||||
|       (source (origin | ||||
|                 (method git-fetch) | ||||
|                 (uri (git-reference | ||||
|  | @ -20322,7 +20428,7 @@ translates between different variant encodings.") | |||
|                 (file-name (git-file-name name version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "0ps0lp1dcy20r6lakil6ih81m04r0s6fnirvfjf01sfs0gsyddww")))) | ||||
|                   "0idkcqb1i13m164nxbdwgs3vflw0cxzm2ir84aw0i811vx9lqz8c")))) | ||||
|       (properties `((upstream-name . "Signac"))) | ||||
|       (build-system r-build-system) | ||||
|       (inputs (list zlib)) | ||||
|  |  | |||
|  | @ -55,9 +55,12 @@ | |||
|   #:use-module (gnu packages man) | ||||
|   #:use-module (gnu packages mtools) | ||||
|   #:use-module (gnu packages ncurses) | ||||
|   #:use-module (gnu packages ninja) | ||||
|   #:use-module (gnu packages package-management) | ||||
|   #:use-module (gnu packages perl) | ||||
|   #:use-module (gnu packages pkg-config) | ||||
|   #:use-module (gnu packages python) | ||||
|   #:use-module (gnu packages python-build) | ||||
|   #:use-module (gnu packages python-crypto) | ||||
|   #:use-module (gnu packages texinfo) | ||||
|   #:use-module (gnu packages tls) | ||||
|  | @ -71,6 +74,7 @@ | |||
|   #:use-module (gnu packages python-web) | ||||
|   #:use-module (gnu packages python-xyz) | ||||
|   #:use-module (guix build-system gnu) | ||||
|   #:use-module (guix build-system meson) | ||||
|   #:use-module (guix build-system pyproject) | ||||
|   #:use-module (guix build-system trivial) | ||||
|   #:use-module (guix download) | ||||
|  | @ -631,7 +635,7 @@ The SUBDIR argument defaults to \"efi/Guix\", as it is also the case for | |||
| (define-public dtc | ||||
|   (package | ||||
|     (name "dtc") | ||||
|     (version "1.6.1") | ||||
|     (version "1.7.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|  | @ -639,42 +643,56 @@ The SUBDIR argument defaults to \"efi/Guix\", as it is also the case for | |||
|                     "dtc-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0xm38h31jb29xfh2sfyk48d8wdfq4b8lmb412zx9vjr35izjb9iq")))) | ||||
|     (build-system gnu-build-system) | ||||
|                 "0cij9399snpn672pdbda8qbxljdkfg068kvv3g5811rz6yslx124")) | ||||
|               (patches | ||||
|                (search-patches "dtc-meson-cell-overflow.patch")))) | ||||
|     (build-system meson-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|       #:modules `(,@%gnu-build-system-modules (srfi srfi-26)) | ||||
|       #:make-flags | ||||
|       #~(list (string-append "CC=" #$(cc-for-target)) | ||||
|               ;; /bin/fdt{get,overlay,put} need help finding libfdt.so.1. | ||||
|               (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib") | ||||
|               (string-append "PREFIX=" #$output) | ||||
|               (string-append "SETUP_PREFIX=" #$output) | ||||
|               "INSTALL=install") | ||||
|       #:modules '((guix build meson-build-system) | ||||
|                   (guix build utils) | ||||
|                   (srfi srfi-26)) | ||||
|       #:phases | ||||
|       #~(modify-phases %standard-phases | ||||
|           (add-after 'unpack 'patch-pkg-config | ||||
|           (add-after 'unpack 'preparations | ||||
|             (lambda _ | ||||
|               (substitute* '("Makefile" | ||||
|                              "tests/run_tests.sh") | ||||
|                 (("pkg-config") | ||||
|                  #$(pkg-config-for-target))))) | ||||
|           (delete 'configure)           ;no configure script | ||||
|           (add-before 'build 'install-doc | ||||
|               ;; The version string is usually derived via setuptools-scm, but | ||||
|               ;; without the git metadata available this fails. | ||||
|               (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version) | ||||
| 
 | ||||
|               ;; Needed by setup.py. | ||||
|               (setenv "DESTDIR" "/") | ||||
| 
 | ||||
|               ;; Native gcc needed by run_test.sh. | ||||
|               (setenv "CC" "gcc") | ||||
| 
 | ||||
|               ;; /bin/fdt{get,overlay,put} need help finding libfdt.so.1. | ||||
|               (setenv "LDFLAGS" | ||||
|                       (string-append "-Wl,-rpath=" #$output "/lib")))) | ||||
|           (add-after 'unpack 'install-doc | ||||
|             (lambda _ | ||||
|               (with-directory-excursion "Documentation" | ||||
|                 (for-each (cut install-file <> (string-append | ||||
|                                                 #$output "/share/doc/dtc/")) | ||||
|                           '("dts-format.txt" | ||||
|                             "dt-object-internal.txt" | ||||
|                             "manual.txt")))))))) | ||||
|                             "manual.txt"))))) | ||||
|           (add-after 'unpack 'patch-pkg-config | ||||
|             (lambda _ | ||||
|               (substitute* '("tests/run_tests.sh") | ||||
|                 (("pkg-config") | ||||
|                  #$(pkg-config-for-target)))))))) | ||||
|     (native-inputs | ||||
|      (append | ||||
|       (list bison | ||||
|             flex | ||||
|             libyaml | ||||
|             ninja | ||||
|             pkg-config | ||||
|             swig) | ||||
|             python | ||||
|             python-setuptools-scm | ||||
|             swig | ||||
|             which) | ||||
|       (if (member (%current-system) (package-supported-systems valgrind)) | ||||
|           (list valgrind) | ||||
|           '()))) | ||||
|  |  | |||
|  | @ -47,6 +47,7 @@ | |||
| ;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu> | ||||
| ;;; Copyright © 2023 Reza Housseini <reza@housseini.me> | ||||
| ;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space> | ||||
| ;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -107,6 +108,7 @@ | |||
|   #:use-module (guix build-system python) | ||||
|   #:use-module (guix build-system trivial) | ||||
|   #:use-module (guix deprecation) | ||||
|   #:use-module (ice-9 match) | ||||
|   #:use-module (srfi srfi-1)) | ||||
| 
 | ||||
| (define-public pict | ||||
|  | @ -602,10 +604,10 @@ It allows the specification of behaviour scenarios using a given-when-then | |||
| pattern.") | ||||
|       (license license:apsl2)))) | ||||
| 
 | ||||
| (define-public catch2-3.3 | ||||
| (define-public catch2-3 | ||||
|   (package | ||||
|     (name "catch2") | ||||
|     (version "3.4.0") | ||||
|     (version "3.5.1") | ||||
|     (home-page "https://github.com/catchorg/Catch2") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|  | @ -615,12 +617,19 @@ pattern.") | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1gdfsva6mnd66px85fmm3s65h8qzqnmgbmws2i3nygfav1y8d88f")))) | ||||
|                 "0p7rk01n4qfnnm1bgakllyqi83n1kbpz11gh65z1vspfz58hs9iv")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|       #:configure-flags | ||||
|       #~(list "-DCATCH_DEVELOPMENT_BUILD=ON" | ||||
|       #~(list #$@(match (%current-system) | ||||
|                    ((or "x86_64-linux" "i686-linux") | ||||
|                     ;; Tests fail on i686-linux without SSE2 for floats, see | ||||
|                     ;; upstream report | ||||
|                     ;; <https://github.com/catchorg/Catch2/issues/2796>. | ||||
|                     '("-DCMAKE_CXX_FLAGS=-msse2 -mfpmath=sse")) | ||||
|                    (_ '())) | ||||
|               "-DCATCH_DEVELOPMENT_BUILD=ON" | ||||
|               "-DCATCH_ENABLE_WERROR=OFF" | ||||
|               "-DBUILD_SHARED_LIBS=ON"))) | ||||
|     (inputs (list python-wrapper)) | ||||
|  | @ -1416,6 +1425,30 @@ distributed testing in both @code{load} and @code{each} modes.  It also | |||
| supports coverage of subprocesses.") | ||||
|   (license license:expat))) | ||||
| 
 | ||||
| (define-public python-pytest-dotenv | ||||
|   (package | ||||
|     (name "python-pytest-dotenv") | ||||
|     (version "0.5.2") | ||||
|     (source | ||||
|      (origin | ||||
|        ;; No tests in the PyPI tarball. | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/quiqua/pytest-dotenv") | ||||
|              (commit version))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "0bdxwaak5clhsd63b9q65nf2amqqv5hfn7dskfakyldxsqnnh0y6")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (propagated-inputs (list python-dotenv)) | ||||
|     (native-inputs (list python-pytest)) | ||||
|     (home-page "https://github.com/quiqua/pytest-dotenv") | ||||
|     (synopsis "Automatically detect and load a .env file before running tests") | ||||
|     (description | ||||
|      "This Pytest plugin automatically detects and loads environment variables | ||||
| from a .env file before running tests.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public python-pytest-httpserver | ||||
|   (package | ||||
|     (name "python-pytest-httpserver") | ||||
|  |  | |||
|  | @ -263,7 +263,7 @@ molecules.") | |||
|     (arguments '(#:tests? #f)) | ||||
|     ;; There is no support for modern msgpack versions yet (see: | ||||
|     ;; https://github.com/rcsb/mmtf-cpp/issues/44). | ||||
|     (propagated-inputs (list msgpack))  ;included by mmtf/structure_data.hpp | ||||
|     (propagated-inputs (list msgpack-3)) ;included by mmtf/structure_data.hpp | ||||
|     (home-page "https://mmtf.rcsb.org/") | ||||
|     (synopsis "C++ API for the Macromolecular Transmission Format") | ||||
|     (description "This package is a library for the | ||||
|  |  | |||
|  | @ -6,6 +6,7 @@ | |||
| ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> | ||||
| ;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net> | ||||
| ;;; Copyright © 2023 David Pflug <david@pflug.io> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -172,7 +173,7 @@ intended as a replacement for Hydra.") | |||
| (define-public laminar | ||||
|   (package | ||||
|     (name "laminar") | ||||
|     (version "1.2") | ||||
|     (version "1.3") | ||||
|     (source | ||||
|      (origin (method git-fetch) | ||||
|              (uri (git-reference | ||||
|  | @ -181,7 +182,7 @@ intended as a replacement for Hydra.") | |||
|              (file-name (git-file-name name version)) | ||||
|              (sha256 | ||||
|               (base32 | ||||
|                "1sg0kccp3nczkn2vxcsqv10vyvmjnhpaykc1nfhh55jyda4xzf9w")))) | ||||
|                "0ya5nzl1qf11if564xd49l8ajxyish7pbn875js4f153z775d3ks")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f                      ; TODO Can't build tests | ||||
|  |  | |||
|  | @ -31,7 +31,7 @@ | |||
| ;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net> | ||||
| ;;; Copyright © 2022, 2023 David Elsing <david.elsing@posteo.net> | ||||
| ;;; Copyright © 2022, 2023 Zheng Junjie <873216071@qq.com> | ||||
| ;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2022 Antero Mejr <antero@mailbox.org> | ||||
| ;;; Copyright © 2023 Sughosha <Sughosha@proton.me> | ||||
| ;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com> | ||||
|  | @ -327,6 +327,28 @@ the @code{Clang/LLVM} infrastructure to extract the data, and emits it in | |||
| various formats, including @code{json}.") | ||||
|     (license license:gpl2+))) | ||||
| 
 | ||||
| (define-public expected-lite | ||||
|   (package | ||||
|     (name "expected-lite") | ||||
|     (version "0.6.3") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://github.com/martinmoene/expected-lite") | ||||
|                     (commit (string-append "v" version)))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0d58nqh2fwdzdpln2wlnf898wyfxdnskq6ff33azbg92d5ibzys2")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (home-page "https://github.com/martinmoene/expected-lite") | ||||
|     (synopsis "Expected objects in C++11 and later") | ||||
|     (description "@i{expected lite} is a single-file header-only library for | ||||
| objects that either represent a valid value or an error that can be passed by | ||||
| value.  It is intended for use with C++11 and later.  The library is based on | ||||
| the @code{std::expected} proposal (@url{http://wg21.link/p0323}).") | ||||
|     (license license:boost1.0))) | ||||
| 
 | ||||
| (define-public libzen | ||||
|   (package | ||||
|     (name "libzen") | ||||
|  |  | |||
|  | @ -290,16 +290,17 @@ automatically pruning objects to maintain the constraints.") | |||
| (define-public r-castor | ||||
|   (package | ||||
|     (name "r-castor") | ||||
|     (version "1.7.11") | ||||
|     (version "1.8.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (cran-uri "castor" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1cxjgwbsacjcc10qdch6pndjxqnk20hhamxqg0lckszvkyb67yn3")))) | ||||
|                 "0caw206hndfzypj33w6npvppdc5hhq1q71wriqd0ck9f238rfi3c")))) | ||||
|     (properties `((upstream-name . "castor"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs (list r-matrix r-naturalsort r-rcpp r-rspectra)) | ||||
|     (propagated-inputs (list r-jsonlite r-matrix r-naturalsort r-rcpp | ||||
|                              r-rspectra)) | ||||
|     (home-page "https://cran.r-project.org/package=castor") | ||||
|     (synopsis "Efficient phylogenetics on large trees") | ||||
|     (description | ||||
|  | @ -2117,13 +2118,13 @@ known as Dynamic Linear Models.") | |||
| (define-public r-zcompositions | ||||
|   (package | ||||
|     (name "r-zcompositions") | ||||
|     (version "1.5") | ||||
|     (version "1.5.0-1") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (cran-uri "zCompositions" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1hfgw3h3si5qkynzc520648pskw26bckcji1qgi5fkag6fd8l08p")))) | ||||
|                 "0sx6i03iyg4jxmjiyzkssz3i6c8nv29wwhbl7yd0wxapwpakmlj8")))) | ||||
|     (properties `((upstream-name . "zCompositions"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|  | @ -2268,14 +2269,14 @@ variables.") | |||
| (define-public r-ggpp | ||||
|   (package | ||||
|     (name "r-ggpp") | ||||
|     (version "0.5.5") | ||||
|     (version "0.5.6") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "ggpp" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0nysan87vgy0pbcks3bychm84zcwx9pf4p250b45ghimhvxh5cvm")))) | ||||
|          "0xnjbxd1lkg85c2hsx7cgxqsqb3dc0pma8jwdlqfgg7d519d60xa")))) | ||||
|     (properties `((upstream-name . "ggpp"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|  | @ -3485,13 +3486,13 @@ read a protected key.") | |||
| (define-public r-astsa | ||||
|   (package | ||||
|     (name "r-astsa") | ||||
|     (version "2.0") | ||||
|     (version "2.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "astsa" version)) | ||||
|        (sha256 | ||||
|         (base32 "0rv4fnz5bbd6f8b6fwa2ljdjq5yx0qi7hcbhrgvrbibl2pzfm7w7")))) | ||||
|         (base32 "0rnbacq5vbnlzfssj13ixgkg0d1wixh2m3dcsi66c63wx65rm3d3")))) | ||||
|     (properties `((upstream-name . "astsa"))) | ||||
|     (build-system r-build-system) | ||||
|     (home-page "https://github.com/nickpoison/astsa/") | ||||
|  | @ -3788,14 +3789,14 @@ sources.") | |||
| (define-public r-reprex | ||||
|   (package | ||||
|     (name "r-reprex") | ||||
|     (version "2.0.2") | ||||
|     (version "2.1.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "reprex" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "14khx09yzn97xhags48lvym1g37h1l2ymvw6r1jlldhjc7i1cnx8")))) | ||||
|          "0ld90pkw2r7z115xdnyqk4p39vnxrc8jnn57sl4bkpg5frczw38a")))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      (list r-callr | ||||
|  | @ -5981,14 +5982,14 @@ colors are provided.") | |||
| (define-public r-glue | ||||
|   (package | ||||
|     (name "r-glue") | ||||
|     (version "1.6.2") | ||||
|     (version "1.7.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "glue" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1gzxk5jgdh2xq9r7z09xs306ygzf27vhg3pyfl7ck1755gqii9cx")))) | ||||
|          "1p4699p68k9f8d76bmgx5xabay6xjrcgajckzqxyn6icym8ipx8s")))) | ||||
|     (build-system r-build-system) | ||||
|     (properties | ||||
|      ;; knitr depends on glue, so we can't add knitr here to build the | ||||
|  | @ -6267,13 +6268,13 @@ value for each cluster in a dendrogram.") | |||
| (define-public r-rcpp | ||||
|   (package | ||||
|     (name "r-rcpp") | ||||
|     (version "1.0.11") | ||||
|     (version "1.0.12") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "Rcpp" version)) | ||||
|        (sha256 | ||||
|         (base32 "0pzssba79z90rax2v02r5m1a6ysljfnvq03r6q2nr72rd0q7qxfz")))) | ||||
|         (base32 "1l1b0q2r6q2bjr4wvj98kp9844fyrsn2ppx339v05vmy8g65jwqc")))) | ||||
|     (build-system r-build-system) | ||||
|     (home-page "https://www.rcpp.org") | ||||
|     (synopsis "Seamless R and C++ integration") | ||||
|  | @ -8356,20 +8357,20 @@ similar to finite mixture models.") | |||
| (define-public r-rpostgresql | ||||
|   (package | ||||
|     (name "r-rpostgresql") | ||||
|     (version "0.7-5") | ||||
|     (version "0.7-6") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "RPostgreSQL" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "18czy93l9dg321pbvrfmlwrjahpbkiw0sll4pkkqm55xapp02m3b")))) | ||||
|     (properties `((upstream-name . "RPostgreSQL"))) | ||||
|          "0b1dmx5pcd4v1xg25ihxilkga3zdblb1xy896ik5fdkaidq3jn9q")))) | ||||
|     (properties | ||||
|      '((upstream-name . "RPostgreSQL") | ||||
|        (updater-extra-inputs . ("postgresql")))) | ||||
|     (build-system r-build-system) | ||||
|     (inputs | ||||
|      (list postgresql)) | ||||
|     (propagated-inputs | ||||
|      (list r-dbi)) | ||||
|     (inputs (list postgresql)) | ||||
|     (propagated-inputs (list r-dbi)) | ||||
|     (home-page "https://github.com/tomoakin/RPostgreSQL") | ||||
|     (synopsis "R interface to the PostgreSQL database system") | ||||
|     (description | ||||
|  | @ -8733,14 +8734,14 @@ for certain use cases.") | |||
| (define-public r-ggrepel | ||||
|   (package | ||||
|     (name "r-ggrepel") | ||||
|     (version "0.9.4") | ||||
|     (version "0.9.5") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "ggrepel" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0gngsx87rcqijdr684bgpnazdlz3vj4brzw0fic0jdsrf1rb9aw1")))) | ||||
|          "1alcrw304bn6c2i64rxxjkzk3il19gq30gyj3sb4blradkjh1rni")))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      (list r-ggplot2 r-rcpp r-rlang r-scales r-withr)) | ||||
|  | @ -14236,13 +14237,13 @@ libxlsxwriter.") | |||
| (define-public r-writexls | ||||
|   (package | ||||
|     (name "r-writexls") | ||||
|     (version "6.4.0") | ||||
|     (version "6.5.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (cran-uri "WriteXLS" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1dqr98kx930y6mcvb9b39xiwshhs250gkd2vw2v6iil34sl90jv4")))) | ||||
|                 "1rkc0r6l7cfz7h83i7gw6g0nlyy347mdh6bj73j0f8mdv3nmwwn4")))) | ||||
|     (properties `((upstream-name . "WriteXLS"))) | ||||
|     (build-system r-build-system) | ||||
|     (inputs (list perl)) | ||||
|  | @ -16136,13 +16137,13 @@ handle data from simple random samples as well as complex surveys.") | |||
| (define-public r-tarchetypes | ||||
|   (package | ||||
|     (name "r-tarchetypes") | ||||
|     (version "0.7.10") | ||||
|     (version "0.7.11") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (cran-uri "tarchetypes" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "14k9p98yv5vgpi1bxngqzmaibdx9h7wyn8k1hw5imvlg4cbwm675")))) | ||||
|                 "1iqrz27n8ndazx97ngqbz5yz5ppyimpbxam30zgdwnnzf963s5ym")))) | ||||
|     (properties `((upstream-name . "tarchetypes"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs (list r-digest | ||||
|  | @ -16170,13 +16171,13 @@ were influenced by the drake R package by Will Landau (2018) | |||
| (define-public r-targets | ||||
|   (package | ||||
|     (name "r-targets") | ||||
|     (version "1.4.0") | ||||
|     (version "1.4.1") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (cran-uri "targets" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0nbvyh1v88lz1fv09ap9p6qw4zw23f1rvmv2f01w1r17z53z7w3c")))) | ||||
|                 "0kax8nj66jbcp8sbv7zl68hzf4clz5m50fibrcypnzvpamhafw1q")))) | ||||
|     (properties `((upstream-name . "targets"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs (list r-base64url | ||||
|  | @ -21690,14 +21691,14 @@ users of rARPACK are advised to switch to the RSpectra package.") | |||
| (define-public r-compositions | ||||
|   (package | ||||
|     (name "r-compositions") | ||||
|     (version "2.0-6") | ||||
|     (version "2.0-7") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "compositions" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0d0wlrwfpjvz02cwrqpg5bnrf8isz359dl9qqxn9yb6czpmp9ls5")))) | ||||
|          "1j1qa0lkb7ywh0q79dklhw4gvkxgvk3qhw3rx9srrlrc7jv22hml")))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      (list r-bayesm r-mass r-robustbase r-tensora)) | ||||
|  | @ -24037,14 +24038,14 @@ package.") | |||
| (define-public r-yulab-utils | ||||
|   (package | ||||
|     (name "r-yulab-utils") | ||||
|     (version "0.1.2") | ||||
|     (version "0.1.3") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "yulab.utils" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0pjm4fnc30kv8xl6akh9y0jpqdsww83558cvyfl4j3xxnafrk8cs")))) | ||||
|          "0yh29d28i67z3wyif72lr35ki92rqv6rljdjwj28559f7n864yjv")))) | ||||
|     (properties `((upstream-name . "yulab.utils"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|  | @ -24533,14 +24534,14 @@ graphics using Vega.") | |||
| (define-public r-gbm | ||||
|   (package | ||||
|     (name "r-gbm") | ||||
|     (version "2.1.8.1") | ||||
|     (version "2.1.9") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "gbm" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "02z85d7zp3i5x8r8q005hyw2rx1ck7lw81q7a3lqwraj8l95c94d")))) | ||||
|          "1r5d8mkg4z14l3743h39r35r0qqjx5p40ixdkcc5iyjab0fzm24x")))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      (list r-lattice r-survival)) | ||||
|  | @ -26498,14 +26499,14 @@ on graphs of millions of nodes (as long as they can fit in memory).") | |||
| (define-public r-patchwork | ||||
|   (package | ||||
|     (name "r-patchwork") | ||||
|     (version "1.1.3") | ||||
|     (version "1.2.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "patchwork" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "07npkbalfl2d9aix02m2srxgmd8ymar6v0x65ighg3nq9d7l4xp9")))) | ||||
|          "18b83gsv8idi5d062m9dvb46r7kxda97sa72pzllshhcaq9ylcfc")))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      (list r-cli r-ggplot2 r-gtable r-rlang)) | ||||
|  | @ -31133,18 +31134,19 @@ machine learning, visually representing text and text analyses, and more.") | |||
| (define-public r-topicmodels | ||||
|   (package | ||||
|     (name "r-topicmodels") | ||||
|     (version "0.2-15") | ||||
|     (version "0.2-16") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "topicmodels" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1l3pmz6n0sd57bf3d16m9766285d2pmndmv36rf5pffpwiw0zdbi")))) | ||||
|     (properties `((upstream-name . "topicmodels"))) | ||||
|          "01g9avk0ldqnz15n8112vad31c1n7r6rih5dh6x3383vvmjrqp0d")))) | ||||
|     (properties | ||||
|      '((upstream-name . "topicmodels") | ||||
|        (updater-extra-inputs . ("gsl")))) | ||||
|     (build-system r-build-system) | ||||
|     (inputs | ||||
|      (list gsl)) | ||||
|     (inputs (list gsl)) | ||||
|     (propagated-inputs | ||||
|      (list r-modeltools r-slam r-tm)) | ||||
|     (home-page "https://cran.r-project.org/package=topicmodels") | ||||
|  | @ -31432,14 +31434,14 @@ perform @dfn{exploratory mediation} (XMed).") | |||
| (define-public r-stanheaders | ||||
|   (package | ||||
|     (name "r-stanheaders") | ||||
|     (version "2.26.28") | ||||
|     (version "2.32.5") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "StanHeaders" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1s1xgvn5c1vjikm1dx9g0qm2k8m24clylgp7zssmfhx6sfb8v2lk")))) | ||||
|          "0wqps6xy2xypxsg3p3grdiw67a0xla3vh9x9hcf2ln03yhgkn4jl")))) | ||||
|     (properties `((upstream-name . "StanHeaders"))) | ||||
|     (build-system r-build-system) | ||||
|     (inputs (list pandoc)) | ||||
|  | @ -32190,15 +32192,17 @@ techniques to average Bayesian predictive distributions.") | |||
| (define-public r-rstan | ||||
|   (package | ||||
|     (name "r-rstan") | ||||
|     (version "2.32.3") | ||||
|     (version "2.32.5") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "rstan" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "17alp92kj9mnlkzplk7zd83sv2zi2h7yc44fx5f7nz3dpwd9x7d2")))) | ||||
|     (properties `((upstream-name . "rstan"))) | ||||
|          "0m655pf0lrhqh2mzylximd2vch9wy252k4zwyfqn1sfwmx642dva")))) | ||||
|     (properties | ||||
|      '((upstream-name . "rstan") | ||||
|        (updater-extra-native-inputs . ("tzdata-for-tests")))) | ||||
|     (build-system r-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  | @ -37115,13 +37119,13 @@ implemented as @code{R6} classes.") | |||
| (define-public r-mlr3 | ||||
|   (package | ||||
|     (name "r-mlr3") | ||||
|     (version "0.17.1") | ||||
|     (version "0.17.2") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (cran-uri "mlr3" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0q6px0l0ab3xcrf6ylnw9a3i50mnks3hlgqj424d6bpqdjqyh5s4")))) | ||||
|                 "0kcny3wxc7qc2538hxxdzs9bw4pq55s4abhlnpf1r13b2gkns323")))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      (list r-backports | ||||
|  | @ -39518,14 +39522,14 @@ fully reproducible.") | |||
| (define-public r-paws-common | ||||
|   (package | ||||
|     (name "r-paws-common") | ||||
|     (version "0.6.4") | ||||
|     (version "0.7.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "paws.common" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1pzgwljrk3maxcbmiy3yiccijm6c2ach8f9kzpqr7w5k5vkyhpvx")))) | ||||
|          "05rld34brjc32p9f9cbqyyh208rh9idnyih33cpw7bz7bfyicnqm")))) | ||||
|     (properties `((upstream-name . "paws.common"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|  | @ -39549,14 +39553,14 @@ Service (S3).") | |||
| (define-public r-paws-customer-engagement | ||||
|   (package | ||||
|     (name "r-paws-customer-engagement") | ||||
|     (version "0.4.0") | ||||
|     (version "0.5.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "paws.customer.engagement" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0skfya3m9i36dd0jqvnnc72k1h3lb4s3fjkvg7na6aq6xgpjh4jv")))) | ||||
|          "1380waqavwga17fvdzfpag4snzynkykh3pnia5bi73476y7myj5h")))) | ||||
|     (properties | ||||
|      `((upstream-name . "paws.customer.engagement"))) | ||||
|     (build-system r-build-system) | ||||
|  | @ -39597,13 +39601,13 @@ more.") | |||
| (define-public r-paws-developer-tools | ||||
|   (package | ||||
|     (name "r-paws-developer-tools") | ||||
|     (version "0.4.0") | ||||
|     (version "0.5.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "paws.developer.tools" version)) | ||||
|        (sha256 | ||||
|         (base32 "13i5yi23xsrks1dsw0k3cqzr2gqj8p23yajb3a7drim6d4rpsaxl")))) | ||||
|         (base32 "177q7x8l9asyidpc7j20xwpyk0bd9x9m20cy4qzlnnmr14anyvjm")))) | ||||
|     (properties `((upstream-name . "paws.developer.tools"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|  | @ -39619,13 +39623,13 @@ deployment, and more.") | |||
| (define-public r-paws-end-user-computing | ||||
|   (package | ||||
|     (name "r-paws-end-user-computing") | ||||
|     (version "0.4.0") | ||||
|     (version "0.5.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "paws.end.user.computing" version)) | ||||
|        (sha256 | ||||
|         (base32 "0v3ng20vrp5cvpbgipwwpvyhi995n2rp8jls0kklkrjax41x62cn")))) | ||||
|         (base32 "0qz5kps9819yfqjdqjmv7wx70ll7xayfxmd5dc867k14i41f91cm")))) | ||||
|     (properties `((upstream-name . "paws.end.user.computing"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|  | @ -39641,14 +39645,14 @@ and more.") | |||
| (define-public r-paws-application-integration | ||||
|   (package | ||||
|     (name "r-paws-application-integration") | ||||
|     (version "0.4.0") | ||||
|     (version "0.5.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "paws.application.integration" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0hilnczvamdv3bi1v6hdki05h8qqh0wlgvh5ilh09113005fpz98")))) | ||||
|          "1sgzp0yr1jsmbyzyk26m762rhpxb89wrwqqvrrw3xr1ib0cg06ah")))) | ||||
|     (properties | ||||
|      `((upstream-name . "paws.application.integration"))) | ||||
|     (build-system r-build-system) | ||||
|  | @ -39665,14 +39669,14 @@ Simple Notification Service (SNS) publish/subscribe messaging, and more.") | |||
| (define-public r-paws-security-identity | ||||
|   (package | ||||
|     (name "r-paws-security-identity") | ||||
|     (version "0.4.0") | ||||
|     (version "0.5.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "paws.security.identity" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "081339201j19y8y28h0dhr876ii82zpfyqddc21lvmg27z53hj4x")))) | ||||
|          "01gh761ykc4h81whn649bm28b01njqm1kjqkn9l4n7hhnalddy06")))) | ||||
|     (properties | ||||
|      `((upstream-name . "paws.security.identity"))) | ||||
|     (build-system r-build-system) | ||||
|  | @ -39690,14 +39694,14 @@ more.") | |||
| (define-public r-paws-analytics | ||||
|   (package | ||||
|     (name "r-paws-analytics") | ||||
|     (version "0.4.0") | ||||
|     (version "0.5.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "paws.analytics" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1x7ix8x0ks357b7gf2skixsd0najjbn8hnq7p6a354p5h7bz39b4")))) | ||||
|          "07nwa39mn749a9rqb683wf19kd8si7ksws87annbldmd57r072l8")))) | ||||
|     (properties | ||||
|      `((upstream-name . "paws.analytics"))) | ||||
|     (build-system r-build-system) | ||||
|  | @ -39714,14 +39718,14 @@ Elasticsearch search engine, and more.") | |||
| (define-public r-paws-machine-learning | ||||
|   (package | ||||
|     (name "r-paws-machine-learning") | ||||
|     (version "0.4.0") | ||||
|     (version "0.5.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "paws.machine.learning" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0cwmriprwrz446q4d5ljkpvwdhmamnl98g1ks6p35vbjiv4imk21")))) | ||||
|          "0zcw758xsw2360571dj215gyd1amaxx07i58h1r6r5zys940lxis")))) | ||||
|     (properties | ||||
|      `((upstream-name . "paws.machine.learning"))) | ||||
|     (build-system r-build-system) | ||||
|  | @ -39738,14 +39742,14 @@ natural language processing, speech recognition, translation, and more.") | |||
| (define-public r-paws-management | ||||
|   (package | ||||
|     (name "r-paws-management") | ||||
|     (version "0.4.0") | ||||
|     (version "0.5.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "paws.management" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0lp8s4caxppwxsra6ijcz1dzkmnznwrrs92y87387vq53y3icc6m")))) | ||||
|          "0k40lrgxx91bijj3648zsgj55x120mhmx8dyx3hm2yvh2k96ks7h")))) | ||||
|     (properties | ||||
|      `((upstream-name . "paws.management"))) | ||||
|     (build-system r-build-system) | ||||
|  | @ -39762,14 +39766,14 @@ monitoring, Auto Scaling for automatically scaling resources, and more.") | |||
| (define-public r-paws-networking | ||||
|   (package | ||||
|     (name "r-paws-networking") | ||||
|     (version "0.4.0") | ||||
|     (version "0.5.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "paws.networking" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1imq29nxy5hxz2vlijdj2jl0lllvm3plb3jwpvsx1wlcvhpz0in3")))) | ||||
|          "0qs6bp0vlbazxir9jmdcnazh90yrvhrw6k9046id73hw1j7h5zaf")))) | ||||
|     (properties | ||||
|      `((upstream-name . "paws.networking"))) | ||||
|     (build-system r-build-system) | ||||
|  | @ -39786,14 +39790,14 @@ CloudFront content delivery, load balancing, and more.") | |||
| (define-public r-paws-database | ||||
|   (package | ||||
|     (name "r-paws-database") | ||||
|     (version "0.4.0") | ||||
|     (version "0.5.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "paws.database" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1rnjjdb4l7a943cawkkzfjkg8shy2vy5d9mcl2p5ms191lw056bn")))) | ||||
|          "0nlkbnyxd3znmvqxqb3w43sznacmikq32d9fihyc1dx7ghvmf61z")))) | ||||
|     (properties `((upstream-name . "paws.database"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|  | @ -39810,14 +39814,14 @@ database, and more.") | |||
| (define-public r-paws-storage | ||||
|   (package | ||||
|     (name "r-paws-storage") | ||||
|     (version "0.4.0") | ||||
|     (version "0.5.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "paws.storage" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0yr99328rwm6i95xhp4yds6dzfvrvbr7ys2hy17iqbyij958j0m4")))) | ||||
|          "0v2g1shv9m4h2fz2lvjad479g3nmxc92wlyrxj4s7fifzzs2pd97")))) | ||||
|     (properties `((upstream-name . "paws.storage"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|  | @ -39832,14 +39836,14 @@ services, including Simple Storage Service (S3).") | |||
| (define-public r-paws-compute | ||||
|   (package | ||||
|     (name "r-paws-compute") | ||||
|     (version "0.4.0") | ||||
|     (version "0.5.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "paws.compute" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0q0xikrq7095l8fhii2jyjxfbihhnlm7nzzbspfqdh8xbr7g4kld")))) | ||||
|          "1vsxwzqgk0004nmfy79pd0zc208fczay95p7h16mzqgds9586ma1")))) | ||||
|     (properties `((upstream-name . "paws.compute"))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|  |  | |||
|  | @ -65,14 +65,14 @@ | |||
| (define-public curl | ||||
|   (package | ||||
|     (name "curl") | ||||
|     (version "8.4.0") | ||||
|     (version "8.5.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://curl.se/download/curl-" | ||||
|                                   version ".tar.xz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0bd8y8v66biyqvg70ka1sdd0aixs6yzpnvfsig907xzh9af2mihn")) | ||||
|                 "1sqfflilf7mcz1g03lazyr6v6pf1rsrzprrknsir10hdwawqvas2")) | ||||
|               (patches (search-patches "curl-use-ssl-cert-env.patch")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (outputs '("out" | ||||
|  | @ -127,15 +127,20 @@ | |||
|                                    (if parallel-tests? | ||||
|                                        (number->string (parallel-job-count)) | ||||
|                                        "1"))) | ||||
|                        ;; Ignore test 1477 due to a missing file in the 8.5.0 | ||||
|                        ;; release.  See | ||||
|                        ;; <https://github.com/curl/curl/issues/12462>. | ||||
|                        (arguments `("-C" "tests" "test" | ||||
|                                     ,@make-flags | ||||
|                                     ,(if #$(or (system-hurd?) | ||||
|                                                (target-arm32?) | ||||
|                                                (target-aarch64?)) | ||||
|                                          ;; protocol FAIL | ||||
|                                          (string-append "TFLAGS=\"~1474 " | ||||
|                                                         job-count "\"") | ||||
|                                          (string-append "TFLAGS=" job-count))))) | ||||
|                                          (string-append "TFLAGS=~1474 " | ||||
|                                                         "!1477 " | ||||
|                                                         job-count) | ||||
|                                          (string-append "TFLAGS=\"~1477 " | ||||
|                                                         job-count "\""))))) | ||||
|                   ;; The top-level "make check" does "make -C tests quiet-test", which | ||||
|                   ;; is too quiet.  Use the "test" target instead, which is more | ||||
|                   ;; verbose. | ||||
|  |  | |||
|  | @ -54,7 +54,7 @@ | |||
| 
 | ||||
| ;; Note - when changing Docker versions it is important to update the versions | ||||
| ;; of several associated packages (docker-libnetwork and go-sctp). | ||||
| (define %docker-version "20.10.25") | ||||
| (define %docker-version "20.10.27") | ||||
| 
 | ||||
| (define-public python-docker | ||||
|   (package | ||||
|  | @ -264,9 +264,9 @@ network attachments.") | |||
|   ;; the branch that Docker uses, as can be seen in the 'vendor.conf' Docker | ||||
|   ;; source file.  NOTE - It is important that this version is kept in sync | ||||
|   ;; with the version of Docker being used. | ||||
|   (let ((commit "3f0048413d95802b9c6c836eba06bfc54f9dbd03") | ||||
|   (let ((commit "3797618f9a38372e8107d8c06f6ae199e1133ae8") | ||||
|         (version (version-major+minor %docker-version)) | ||||
|         (revision "2")) | ||||
|         (revision "3")) | ||||
|     (package | ||||
|       (name "docker-libnetwork") | ||||
|       (version (git-version version revision commit)) | ||||
|  | @ -279,7 +279,7 @@ network attachments.") | |||
|                 (file-name (git-file-name name version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "185i5ji7dwkv41zmb8s3d7i5gg72wivcj1l4bhr1lb3a1vy2hcxc")) | ||||
|                   "1km3p6ya9az0ax2zww8wb5vbifr1gj5n9l82i273m9f3z9f2mq2p")) | ||||
|                 ;; Delete bundled ("vendored") free software source code. | ||||
|                 (modules '((guix build utils))) | ||||
|                 (snippet '(delete-file-recursively "vendor")))) | ||||
|  | @ -333,7 +333,7 @@ built-in registry server of Docker.") | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "1q5vc6f5fzzxsvv1kwdky56fr1jiy9199m3vxqh4mz85qr067cmn")))) | ||||
|         (base32 "017frilx35w3m4dz3n6m2f293q4fq4jrk6hl8f7wg5xs3r8hswvq")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|  | @ -594,7 +594,7 @@ runcexecutor/executor.go" | |||
|            xz)) | ||||
|     (native-inputs | ||||
|      (list eudev ; TODO: Should be propagated by lvm2 (.pc -> .pc) | ||||
|            go-1.19 gotestsum pkg-config)) | ||||
|            go-1.20 gotestsum pkg-config)) | ||||
|     (synopsis "Container component library and daemon") | ||||
|     (description "This package provides a framework to assemble specialized | ||||
| container systems.  It includes components for orchestration, image | ||||
|  | @ -615,7 +615,7 @@ provisioning etc.") | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "0qy35vvnl4lf9w6dr9n7yfqvzhzm7m3sl2ai275apbhygwgcsbss")))) | ||||
|         (base32 "0szwaxiasy77mm90wj2qg747zb9lyiqndg5halg7qbi41ng6ry0h")))) | ||||
|     (build-system go-build-system) | ||||
|     (arguments | ||||
|      `(#:import-path "github.com/docker/cli" | ||||
|  |  | |||
|  | @ -4,7 +4,7 @@ | |||
| ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> | ||||
| ;;; Copyright © 2017-2023 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2018-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr> | ||||
| ;;; Copyright © 2018-2024 Nicolas Goaziou <mail@nicolasgoaziou.fr> | ||||
| ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net> | ||||
| ;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org> | ||||
| ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> | ||||
|  | @ -564,7 +564,7 @@ a pen-tablet display and a beamer.") | |||
| (define-public fet | ||||
|   (package | ||||
|     (name "fet") | ||||
|     (version "6.9.0") | ||||
|     (version "6.15.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -573,7 +573,7 @@ a pen-tablet display and a beamer.") | |||
|               (list (string-append directory base) | ||||
|                     (string-append directory "old/" base)))) | ||||
|        (sha256 | ||||
|         (base32 "1lnw58ga1ldhqfznclmk9l21698pg152w3slq2cwmr69ywqr5wys")))) | ||||
|         (base32 "0mmk9f0b23lmmk40mv25wf9vgb7wdgfn5zsa1qrkvkh7dh1hjpax")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|  |  | |||
|  | @ -2017,6 +2017,27 @@ Apprentice and Sourcerer.") | |||
| theme but now takes more inspiration from the Nano theme.") | ||||
|     (license license:gpl3+))) | ||||
| 
 | ||||
| (define-public emacs-adwaita-dark-theme | ||||
|   ;; Version 1.1.1 isn't tagged upstream. | ||||
|   (package | ||||
|     (name "emacs-adwaita-dark-theme") | ||||
|     (version "1.1.1") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://gitlab.com/jessieh/adwaita-dark-theme") | ||||
|                     (commit "057c39313341907b35c68d2179226886a0c276fd"))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1g7hyg2hfvn24gaw4lca4g8lw10q2wg9nfrgl7pfdggz202m027c")))) | ||||
|     (build-system emacs-build-system) | ||||
|     (home-page "https://gitlab.com/jessieh/adwaita-dark-theme") | ||||
|     (synopsis "Adwaita-inspired dark color scheme for Emacs") | ||||
|     (description | ||||
|      "This package provides an Adwaita-inspired dark color scheme for Emacs.") | ||||
|     (license license:gpl2+))) | ||||
| 
 | ||||
| (define-public emacs-treepy | ||||
|   (package | ||||
|     (name "emacs-treepy") | ||||
|  | @ -11395,6 +11416,30 @@ package provides a light and a dark variant.") | |||
| Solarized color scheme.") | ||||
|       (license license:expat)))) | ||||
| 
 | ||||
| (define-public emacs-color-identifiers-mode | ||||
|   (let ((commit "a26d00d898e0a3295cb7da9323046397223ea1fe") | ||||
|         (revision "0")) | ||||
|     (package | ||||
|       (name "emacs-color-identifiers-mode") | ||||
|       (version (git-version "1.1" revision commit)) | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|          (uri (git-reference | ||||
|                (url "https://github.com/ankurdave/color-identifiers-mode") | ||||
|                (commit commit))) | ||||
|          (file-name (git-file-name name version)) | ||||
|          (sha256 | ||||
|           (base32 "1kky827f922ziiwasrfnv97vqdf62fp9yml36x1fjsm2h6qw0c8v")))) | ||||
|       (build-system emacs-build-system) | ||||
|       (propagated-inputs (list emacs-dash)) | ||||
|       (home-page "https://github.com/ankurdave/color-identifiers-mode") | ||||
|       (synopsis "Minor mode for coloring identifiers based on their names") | ||||
|       (description | ||||
|        "This package provides an Emacs minor mode to highlight each source | ||||
| code identifier uniquely based on its name.") | ||||
|       (license license:gpl3+)))) | ||||
| 
 | ||||
| (define-public emacs-poet-theme | ||||
|   (let ((commit "16eb694f0755c04c4db98614d0eca1199fddad70") | ||||
|         (revision "1")) | ||||
|  | @ -29887,14 +29932,14 @@ buffer and launches Magit from the status buffer for the project at point.") | |||
| (define-public emacs-repology | ||||
|   (package | ||||
|     (name "emacs-repology") | ||||
|     (version "1.2.3") | ||||
|     (version "1.2.4") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://elpa.gnu.org/packages/" | ||||
|                            "repology-" version ".tar")) | ||||
|        (sha256 | ||||
|         (base32 "1ngx23b7dilyps20nznrrn867kbxyn6nryf4p1sy5m576hkw18kn")))) | ||||
|         (base32 "0l53wl0bk8rnqwsjdh1hwvkvbay080l10bslcj3scn42bgbi59j1")))) | ||||
|     (build-system emacs-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|  |  | |||
|  | @ -31,6 +31,7 @@ | |||
|   #:use-module ((guix licenses) #:prefix license:) | ||||
|   #:use-module (guix memoization) | ||||
|   #:use-module (guix packages) | ||||
|   #:use-module (guix platform) | ||||
|   #:use-module (guix download) | ||||
|   #:use-module (guix gexp) | ||||
|   #:use-module (guix utils) | ||||
|  | @ -283,21 +284,27 @@ driver.") | |||
|                          `(,glib "bin") | ||||
|                          help2man | ||||
|                          gettext-minimal)) | ||||
|     (inputs (list bash-completion | ||||
|                   libgudev | ||||
|                   libxmlb | ||||
|                   sqlite | ||||
|                   polkit | ||||
|                   eudev | ||||
|                   libelf | ||||
|                   tpm2-tss | ||||
|                   cairo | ||||
|                   efivar | ||||
|                   pango | ||||
|                   protobuf-c | ||||
|                   mingw-w64-tools | ||||
|                   libsmbios | ||||
|                   gnu-efi)) | ||||
|     (inputs (append | ||||
|              (list bash-completion | ||||
|                    libgudev | ||||
|                    libxmlb | ||||
|                    sqlite | ||||
|                    polkit | ||||
|                    eudev | ||||
|                    libelf | ||||
|                    tpm2-tss | ||||
|                    cairo | ||||
|                    efivar | ||||
|                    pango | ||||
|                    protobuf-c | ||||
|                    mingw-w64-tools | ||||
|                    gnu-efi) | ||||
|              (if (supported-package? libsmbios | ||||
|                                      (or (and=> (%current-target-system) | ||||
|                                                 platform-target->system) | ||||
|                                          (%current-system))) | ||||
|                  (list libsmbios) | ||||
|                  '()))) | ||||
|     ;; In Requires of fwupd*.pc. | ||||
|     (propagated-inputs (list curl | ||||
|                              gcab | ||||
|  | @ -875,7 +882,7 @@ Executables included are: | |||
|   (let ((toolchain-ver "GCC5")) | ||||
|     (package | ||||
|       (name "ovmf") | ||||
|       (version "202308") | ||||
|       (version "202311") | ||||
|       (source (origin | ||||
|                 (method git-fetch) | ||||
|                 (uri (git-reference | ||||
|  | @ -886,7 +893,7 @@ Executables included are: | |||
|                 (file-name (git-file-name name version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "04rnfnaqr2c7ayplj7ib730zp1snw157zx5rmykz5hz1zz2vb20j")))) | ||||
|                   "136dl5cxpjpg37whzlqq7jrrjsgybmwrgkbbmks8xaixqmzwhbw0")))) | ||||
|       (build-system gnu-build-system) | ||||
|       (arguments | ||||
|        (list | ||||
|  |  | |||
|  | @ -123,6 +123,29 @@ | |||
| titling.") | ||||
|     (license license:silofl1.1))) | ||||
| 
 | ||||
| (define-public font-cardo | ||||
|   (package | ||||
|     (name "font-cardo") | ||||
|     (version "1.04") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://scholarsfonts.net/cardo" | ||||
|                                   (string-delete #\. version) ".zip")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0ps55zjva4fzmg47w2i8srrh8sqxz1wkcclihwgzlwfbaxixn0cl")))) | ||||
|     (build-system font-build-system) | ||||
|     (home-page "https://scholarsfonts.net/cardofnt.html") | ||||
|     (synopsis "Unicode font for classical scholarship") | ||||
|     (description | ||||
|      "Cardo is a large unicode font specifically designed for the needs of | ||||
| classicists, biblical scholars, medievalists, and linguists.  Since it may be | ||||
| used to prepare materials for publication, it also contains features that are | ||||
| required for high-quality typography, such as ligatures, text figures (also | ||||
| known as old style numerals), true small capitals and a variety of punctuation | ||||
| and space characters.") | ||||
|     (license license:silofl1.1))) | ||||
| 
 | ||||
| (define-public font-chivo | ||||
|   (let ((commit "dc61c468d79781eb5183426e88e844af16cdc3e5") | ||||
|         (revision "0")) | ||||
|  | @ -1952,15 +1975,15 @@ weights and five widths in both Roman and Italic, plus variable fonts.") | |||
| (define-public font-sarasa-gothic | ||||
|   (package | ||||
|     (name "font-sarasa-gothic") | ||||
|     (version "0.42.6") | ||||
|     (version "1.0.3") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://github.com/be5invis/Sarasa-Gothic" | ||||
|                            "/releases/download/v" version | ||||
|                            "/sarasa-gothic-ttc-" version ".7z")) | ||||
|                            "/Sarasa-TTC-" version ".7z")) | ||||
|        (sha256 | ||||
|         (base32 "0czx10yph2lxg2k4w6qjnil73zb2pgg3g400apm9gay41m04990v")))) | ||||
|         (base32 "1cgqf15fhg567s2bwjpal3xfcdnbgyy0iav5181zkn6b4k56dgl4")))) | ||||
|     (build-system font-build-system) | ||||
|     (arguments | ||||
|      `(#:phases (modify-phases %standard-phases | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ | |||
| ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> | ||||
| ;;; Copyright © 2017 Nikita <nikita@n0.is> | ||||
| ;;; Copyright © 2017, 2018, 2020–2022 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2018, 2024 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2018, 2019, 2020, 2021, 2023 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2019, 2020, 2022 Marius Bakke <marius@gnu.org> | ||||
| ;;; Copyright © 2020 Roel Janssen <roel@gnu.org> | ||||
|  | @ -232,7 +232,11 @@ them as it goes.") | |||
|               (when tests? | ||||
|                 (setenv "HOME" "/tmp") | ||||
|                 (invoke "pytest" "-vv" "--dist" "loadfile" "-n" | ||||
|                         (number->string (parallel-job-count)))))) | ||||
|                         (number->string (parallel-job-count)) | ||||
|                         ;; This test fails because of a different date in the | ||||
|                         ;; copyright header of an expected file since an | ||||
|                         ;; update to ffmpeg. | ||||
|                         "-k" "not test_alt_missing_glyph")))) | ||||
|           (add-after 'check 'wrap | ||||
|             (assoc-ref %standard-phases 'wrap)) | ||||
|           (add-before 'wrap 'wrap-PATH | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ | |||
| ;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com> | ||||
| ;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net> | ||||
| ;;; Copyright © 2014, 2015, 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2014, 2015, 2016 Sou Bunnbu <iyzsong@gmail.com> | ||||
| ;;; Copyright © 2014, 2015, 2016, 2024 宋文武 <iyzsong@envs.net> | ||||
| ;;; Copyright © 2014, 2015, 2019 Mark H Weaver <mhw@netris.org> | ||||
| ;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr> | ||||
| ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> | ||||
|  | @ -4118,7 +4118,8 @@ Widgets, and allows users to create more.") | |||
|                                   "fifengine/tar.gz/" version)) | ||||
|               (file-name (string-append name "-" version ".tar.gz")) | ||||
|               (patches (search-patches "fifengine-swig-compat.patch" | ||||
|                                        "fifengine-boost-compat.patch")) | ||||
|                                        "fifengine-boost-compat.patch" | ||||
|                                        "fifengine-python-3.9-compat.patch")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1y4grw25cq5iqlg05rnbyxw1njl11ypidnlsm3qy4sm3xxdvb0p8")))) | ||||
|  | @ -4453,7 +4454,9 @@ also available.") | |||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1n747p7h0qp48szgp262swg0xh8kxy1bw8ag1qczs4i26hyzs5x4")) | ||||
|               (patches (search-patches "unknown-horizons-python-3.8-distro.patch")))) | ||||
|               (patches (search-patches "unknown-horizons-python-3.8-distro.patch" | ||||
|                                        "unknown-horizons-python-3.9.patch" | ||||
|                                        "unknown-horizons-python-3.10.patch")))) | ||||
|     (build-system python-build-system) | ||||
|     (arguments | ||||
|      '(#:phases | ||||
|  | @ -4573,16 +4576,16 @@ falling, themeable graphics and sounds, and replays.") | |||
| (define-public wesnoth | ||||
|   (package | ||||
|     (name "wesnoth") | ||||
|     (version "1.16.9") | ||||
|     (version "1.16.11") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://github.com/wesnoth/wesnoth") | ||||
|                     (commit version))) | ||||
|               (file-name (string-append name "-" version ".tar.bz2")) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "06gfgkg8f98jsj9vnbglw5lqflqzf0229n6wf3xl12carjzgaq9g")))) | ||||
|                 "0z0y2il4xq8fdj20fwfggpf6286hb099jh1kdywap9rlrybq142d")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      (list #:tests? #f)) ;no test target | ||||
|  |  | |||
|  | @ -2232,7 +2232,7 @@ data.") | |||
| (define-public qmapshack | ||||
|   (package | ||||
|     (name "qmapshack") | ||||
|     (version "1.16.1") | ||||
|     (version "1.17.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -2241,7 +2241,7 @@ data.") | |||
|              (commit (string-append "V_" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "184fqmsfzr3b333ssizjk6gvv7mncmygq8dj5r7rsvs5md26z2ys")))) | ||||
|         (base32 "1ckadklk67dp1pvkacfkr8379g2pwk73q85jfzm8viclcqmfvb62")))) | ||||
|     (build-system qt-build-system) | ||||
|     (native-inputs | ||||
|      (list pkg-config qttools-5)) | ||||
|  | @ -3227,3 +3227,31 @@ For maps, it can uses its own \"binfile\" map format, or Garmin map | |||
| file format, and data from OpenStreetMap, Garmin maps, Marco Polo | ||||
| Grosser Reiseplaner, Routeplaner Europa 2007, Map + Route.") | ||||
|     (license license:gpl2))) | ||||
| 
 | ||||
| (define-public laszip | ||||
|   (package | ||||
|     (name "laszip") | ||||
|     (version "3.4.3") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/LASzip/LASzip") | ||||
|              (commit "3.4.3"))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "09lcsgxwv0jq50fhsgfhx0npbf1zcwn3hbnq6q78fshqksbxmz7m")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|       #:configure-flags #~(list "-DLASZIP_BUILD_STATIC=NO") | ||||
|       #:build-type "Release" | ||||
|       ;; No tests. | ||||
|       #:tests? #f)) | ||||
|     (home-page "https://laszip.org/") | ||||
|     (synopsis "Compression library for LAS files") | ||||
|     (description | ||||
|      "LASzip is a library for compressing @code{LAS} files and uncompressing | ||||
| @code{LAZ} files.  The @code{LAS} format is a file format designed for the | ||||
| interchange and archiving of lidar point cloud data.") | ||||
|     (license license:asl2.0))) | ||||
|  |  | |||
|  | @ -18,7 +18,7 @@ | |||
| ;;; Copyright © 2021, 2022, 2023 John Kehayias <john.kehayias@protonmail.com> | ||||
| ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com> | ||||
| ;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com> | ||||
| ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> | ||||
| ;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -62,6 +62,7 @@ | |||
|   #:use-module (guix download) | ||||
|   #:use-module (guix git-download) | ||||
|   #:use-module (guix hg-download) | ||||
|   #:use-module (gnu packages cmake) | ||||
|   #:use-module (guix build-system gnu) | ||||
|   #:use-module (guix build-system cmake) | ||||
|   #:use-module (guix build-system meson) | ||||
|  | @ -294,7 +295,7 @@ also known as DXTn or DXTC) for Mesa.") | |||
| (define-public mesa | ||||
|   (package | ||||
|     (name "mesa") | ||||
|     (version "23.2.1") | ||||
|     (version "23.3.2") | ||||
|     (source | ||||
|       (origin | ||||
|         (method url-fetch) | ||||
|  | @ -304,7 +305,7 @@ also known as DXTn or DXTC) for Mesa.") | |||
|                                   "mesa-" version ".tar.xz"))) | ||||
|         (sha256 | ||||
|          (base32 | ||||
|           "1k61pgw0vcjrlb4299q98cy7iqmk2r7jmb5ika91z01dzhb0dpk4")))) | ||||
|           "1p4swrbmz3kb1805kdj973hf8virgmix4m9qprmcb2bgl4gviz1w")))) | ||||
|     (build-system meson-build-system) | ||||
|     (propagated-inputs | ||||
|      ;; The following are in the Requires.private field of gl.pc. | ||||
|  | @ -338,7 +339,8 @@ also known as DXTn or DXTC) for Mesa.") | |||
|             python-wrapper | ||||
|             (@ (gnu packages base) which) | ||||
|             (if (%current-target-system) | ||||
|               (list pkg-config-for-build | ||||
|               (list cmake-minimal-cross | ||||
|                     pkg-config-for-build | ||||
|                     wayland | ||||
|                     wayland-protocols) | ||||
|               '()))) | ||||
|  | @ -351,16 +353,16 @@ also known as DXTn or DXTC) for Mesa.") | |||
|              ((target-aarch64?) | ||||
|               ;; TODO: Fix svga driver for non-Intel architectures. | ||||
|               '("-Dgallium-drivers=etnaviv,freedreno,kmsro,lima,nouveau,\ | ||||
| panfrost,r300,r600,swrast,tegra,v3d,vc4,virgl")) | ||||
| panfrost,r300,r600,swrast,tegra,v3d,vc4,virgl,zink")) | ||||
|              ((target-arm32?) | ||||
|               ;; Freedreno FTBFS when built on a 64-bit machine. | ||||
|               '("-Dgallium-drivers=etnaviv,kmsro,lima,nouveau,panfrost,\ | ||||
| r300,r600,swrast,tegra,v3d,vc4,virgl")) | ||||
| r300,r600,swrast,tegra,v3d,vc4,virgl,zink")) | ||||
|              ((or (target-ppc64le?) (target-ppc32?) (target-riscv64?)) | ||||
|               '("-Dgallium-drivers=nouveau,r300,r600,radeonsi,swrast,virgl")) | ||||
|               '("-Dgallium-drivers=nouveau,r300,r600,radeonsi,swrast,virgl,zink")) | ||||
|              (else | ||||
|               '("-Dgallium-drivers=crocus,iris,nouveau,r300,r600,radeonsi,\ | ||||
| svga,swrast,virgl"))) | ||||
| svga,swrast,virgl,zink"))) | ||||
|          ;; Enable various optional features.  TODO: opencl requires libclc, | ||||
|          ;; omx requires libomxil-bellagio | ||||
|          "-Dplatforms=x11,wayland" | ||||
|  | @ -415,10 +417,16 @@ svga,swrast,virgl"))) | |||
|        #~(modify-phases %standard-phases | ||||
|          #$@(if (%current-target-system) | ||||
|               #~((add-after 'unpack 'fix-cross-compiling | ||||
|                    (lambda* (#:key inputs #:allow-other-keys) | ||||
|                      ;; It isn't a problem to use the host's llvm-config. | ||||
|                      (setenv "LLVM_CONFIG" | ||||
|                              (search-input-file inputs "/bin/llvm-config"))))) | ||||
|                    (lambda* (#:key native-inputs #:allow-other-keys) | ||||
|                      ;; When cross compiling, we use cmake to find llvm, not | ||||
|                      ;; llvm-config, because llvm-config cannot be executed | ||||
|                      ;; see https://github.com/llvm/llvm-project/issues/58984 | ||||
|                      (substitute* "meson.build" | ||||
|                        (("method : host_machine\\.system.*") | ||||
|                         "method : 'cmake',\n")) | ||||
|                      (setenv "CMAKE" | ||||
|                              (search-input-file | ||||
|                               native-inputs "/bin/cmake"))))) | ||||
|               #~()) | ||||
|          (add-after 'unpack 'disable-failing-test | ||||
|            (lambda _ | ||||
|  |  | |||
|  | @ -11,7 +11,7 @@ | |||
| ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2023 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2015, 2016, 2017, 2018, 2021 Mark H Weaver <mhw@netris.org> | ||||
| ;;; Copyright © 2015 David Thompson <davet@gnu.org> | ||||
| ;;; Copyright © 2015-2023 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2015-2024 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2016, 2017, 2018 Rene Saavedra <pacoon@protonmail.com> | ||||
| ;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net> | ||||
| ;;; Copyright © 2016, 2017, 2019 Kei Kebreau <kkebreau@posteo.net> | ||||
|  | @ -4779,9 +4779,11 @@ GLib and GObject, and integrates JSON with GLib data types.") | |||
|                            (string-append #$output:doc | ||||
|                                           "/share/doc")))))))))) | ||||
|     (native-inputs | ||||
|      (modify-inputs (package-native-inputs json-glib-minimal) | ||||
|        (prepend gi-docgen | ||||
|                 gobject-introspection))))) | ||||
|      (if (%current-target-system) | ||||
|          ;; No docs, no additional inputs. | ||||
|          (package-native-inputs json-glib-minimal) | ||||
|          (modify-inputs (package-native-inputs json-glib-minimal) | ||||
|                         (prepend gi-docgen gobject-introspection)))))) | ||||
| 
 | ||||
| (define-public libxklavier | ||||
|   (package | ||||
|  |  | |||
|  | @ -20,6 +20,7 @@ | |||
| ;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2021 Baptiste Strazzul <bstrazzull@hotmail.fr> | ||||
| ;;; Copyright © 2022 SeerLite <seerlite@disroot.org> | ||||
| ;;; Copyright © 2024 Aleksandr Vityazev <avityazew@gmail.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -2092,7 +2093,7 @@ associated with their name.")) | |||
|             (call-with-output-file exe | ||||
|               (lambda (port) | ||||
|                 (format port "#!~a | ||||
|  MOZ_ENABLE_WAYLAND=1 exec ~a $@" | ||||
|  MOZ_ENABLE_WAYLAND=1 exec ~a \"$@\"" | ||||
|                         #$(file-append bash-minimal "/bin/bash") | ||||
|                         #$(file-append icedove "/bin/icedove")))) | ||||
|             (chmod exe #o555) | ||||
|  |  | |||
|  | @ -41,7 +41,8 @@ | |||
| ;;; Copyright © 2022 Christopher Howard <christopher@librehacker.com> | ||||
| ;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space> | ||||
| ;;; Copyright © 2023 Timo Wilken <guix@twilken.net> | ||||
| ;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com> | ||||
| ;;; Copyright © 2023, 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com> | ||||
| ;;; Copyright © 2023 Clément Lassieur <clement@lassieur.org> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -2559,6 +2560,77 @@ translated keywords and acts.") | |||
| Go.") | ||||
|     (license license:cc0))) | ||||
| 
 | ||||
| (define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib | ||||
|   (package | ||||
|     (name "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib") | ||||
|     (version "1.5.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri | ||||
|         (git-reference | ||||
|          (url "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib") | ||||
|          (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "1kmdpxrbnxnpsi7dkgk85z005vjyj74b3wxxqrf68wg3svy69620")))) | ||||
|     (build-system go-build-system) | ||||
|     (arguments | ||||
|      `(#:import-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib")) | ||||
|     (home-page "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib") | ||||
|     (synopsis "Go pluggable transports library") | ||||
|     (description "GoPtLib is a library for writing Tor pluggable transports in | ||||
| Go.") | ||||
|     (license license:cc0))) | ||||
| 
 | ||||
| (define-public go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird | ||||
|   (package | ||||
|     (name "go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird") | ||||
|     (version "0.1.0") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird") | ||||
|                     (commit (string-append "lyrebird-" version)))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0rifg5kgqp4c3b44j48fjmx00m00ai7fa4gaqrgphiqs1fc5586s")))) | ||||
|     (build-system go-build-system) | ||||
|     (arguments | ||||
|      `(#:unpack-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird" | ||||
|        #:import-path "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird/cmd/lyrebird" | ||||
|        #:go ,go-1.20 | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'substitutions | ||||
|            (lambda _ | ||||
|              (with-directory-excursion | ||||
|                  "src/gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird" | ||||
|                (for-each | ||||
|                 (lambda (file) | ||||
|                   (substitute* file | ||||
|                     (("edwards25519-extra.git") "edwards25519-extra"))) | ||||
|                 (list "common/ntor/ntor_test.go" | ||||
|                       "internal/x25519ell2/x25519ell2.go")) | ||||
|                (substitute* "internal/x25519ell2/x25519ell2.go" | ||||
|                  (("gitlab.com/yawning/obfs4.git") | ||||
|                   "gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird")))))))) | ||||
|     (propagated-inputs | ||||
|      (list go-filippo-io-edwards25519 | ||||
|            go-github-com-dchest-siphash | ||||
|            go-github-com-refraction-networking-utls | ||||
|            go-gitlab-com-yawning-edwards25519-extra | ||||
|            go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-goptlib | ||||
|            go-golang-org-x-crypto | ||||
|            go-golang-org-x-net | ||||
|            go-golang-org-x-text)) | ||||
|     (home-page "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird") | ||||
|     (synopsis "Look-like nothing obfuscation protocol") | ||||
|     (description "This is a look-like nothing obfuscation protocol that | ||||
| incorporates ideas and concepts from Philipp Winter's ScrambleSuit protocol.") | ||||
|     (license (list license:bsd-2 license:bsd-3)))) | ||||
| 
 | ||||
| (define-public go-github-com-sevlyar-go-daemon | ||||
|   (package | ||||
|     (name "go-github-com-sevlyar-go-daemon") | ||||
|  | @ -3673,6 +3745,42 @@ for the Go language.") | |||
|     (home-page "https://go.googlesource.com/crypto/") | ||||
|     (license license:bsd-3))) | ||||
| 
 | ||||
| (define-public go-github-com-refraction-networking-utls | ||||
|   (package | ||||
|     (name "go-github-com-refraction-networking-utls") | ||||
|     (version "1.6.0") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://github.com/refraction-networking/utls") | ||||
|                     (commit (string-append "v" version)))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1iywar5vqsml4b177k2nkcxmjm8mw92g3p112yjsrpmikiwpwpyw")))) | ||||
|     (build-system go-build-system) | ||||
|     (arguments | ||||
|      `(#:import-path "github.com/refraction-networking/utls" | ||||
|        #:go ,go-1.20 | ||||
|        #:tests? #f))                    ;requires internet access | ||||
|     (propagated-inputs | ||||
|      (list go-github-com-andybalholm-brotli | ||||
|            go-github-com-cloudflare-circl | ||||
|            go-github-com-gaukas-godicttls | ||||
|            go-github-com-klauspost-compress | ||||
|            go-github-com-quic-go-quic-go | ||||
|            go-golang-org-x-crypto | ||||
|            go-golang-org-x-net | ||||
|            go-golang-org-x-sys)) | ||||
|     (home-page "https://github.com/refraction-networking/utls") | ||||
|     (synopsis "Fork of the Go standard TLS library, providing low-level access | ||||
| to the ClientHello for mimicry purposes") | ||||
|     (description "uTLS is a fork of “crypto/tls”, which provides ClientHello | ||||
| fingerprinting resistance, low-level access to handshake, fake session tickets | ||||
| and some other features.  Handshake is still performed by “crypto/tls”, this | ||||
| library merely changes ClientHello part of it and provides low-level access.") | ||||
|     (license license:bsd-3))) | ||||
| 
 | ||||
| (define-public govulncheck | ||||
|   (package | ||||
|     (name "govulncheck") | ||||
|  | @ -3959,11 +4067,11 @@ packages.") | |||
|       (license license:bsd-3)))) | ||||
| 
 | ||||
| (define-public go-golang-org-x-sys | ||||
|   (let ((commit "b60007cc4e6f966b1c542e343d026d06723e5653") | ||||
|   (let ((commit "ca59edaa5a761e1d0ea91d6c07b063f85ef24f78") | ||||
|         (revision "0")) | ||||
|     (package | ||||
|       (name "go-golang-org-x-sys") | ||||
|       (version (git-version "0.4.0" revision commit)) | ||||
|       (version (git-version "0.8.0" revision commit)) | ||||
|       (source (origin | ||||
|                 (method git-fetch) | ||||
|                 (uri (git-reference | ||||
|  | @ -3972,7 +4080,7 @@ packages.") | |||
|                 (file-name (git-file-name name version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "0fr2d6fnpbqx6n89sg9lsinqkdaw49y068kqj2g0cxlhbh69hzii")))) | ||||
|                   "1p81niiin8dwyrjl2xsc95136w3vdw4kmj0w3mlh0vh5v134s4xq")))) | ||||
|       (build-system go-build-system) | ||||
|       (arguments | ||||
|        (list | ||||
|  | @ -3989,24 +4097,6 @@ support for low-level interaction with the operating system.") | |||
|       (home-page "https://go.googlesource.com/sys") | ||||
|       (license license:bsd-3)))) | ||||
| 
 | ||||
| ;; XXX: This version is required for "go-github-com-quic-go-qtls-go1-20". | ||||
| (define-public go-golang-org-x-sys-0.8 | ||||
|   (let ((commit "ca59edaa5a761e1d0ea91d6c07b063f85ef24f78") | ||||
|         (revision "0")) | ||||
|     (package | ||||
|       (inherit go-golang-org-x-sys) | ||||
|       (name "go-golang-org-x-sys") | ||||
|       (version (git-version "0.8.0" revision commit)) | ||||
|       (source (origin | ||||
|                 (method git-fetch) | ||||
|                 (uri (git-reference | ||||
|                       (url "https://go.googlesource.com/sys") | ||||
|                       (commit commit))) | ||||
|                 (file-name (git-file-name name version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "1p81niiin8dwyrjl2xsc95136w3vdw4kmj0w3mlh0vh5v134s4xq"))))))) | ||||
| 
 | ||||
| (define-public go-golang-org-x-text | ||||
|   (package | ||||
|     (name "go-golang-org-x-text") | ||||
|  | @ -5854,6 +5944,35 @@ Architecture Processors\" by J. Guilford et al.") | |||
|       (description "Various cryptographic utilities used by IPFS") | ||||
|       (license license:expat)))) | ||||
| 
 | ||||
| (define-public go-github-com-cloudflare-circl | ||||
|   (package | ||||
|     (name "go-github-com-cloudflare-circl") | ||||
|     (version "1.3.6") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://github.com/cloudflare/circl") | ||||
|                     (commit (string-append "v" version)))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "05hk5svprcjrj6k4mg4kd732pnb658llqv04z6xrcl5v77jda2kd")))) | ||||
|     (build-system go-build-system) | ||||
|     (arguments | ||||
|      '(#:import-path "github.com/cloudflare/circl")) | ||||
|     (propagated-inputs | ||||
|      (list go-github-com-bwesterb-go-ristretto | ||||
|            go-golang-org-x-crypto | ||||
|            go-golang-org-x-sys)) | ||||
|     (home-page "https://blog.cloudflare.com/introducing-circl") | ||||
|     (synopsis "Cloudflare Interoperable Reusable Cryptographic Library") | ||||
|     (description "CIRCL (Cloudflare Interoperable, Reusable Cryptographic | ||||
| Library) is a collection of cryptographic primitives written in Go.  The goal | ||||
| of this library is to be used as a tool for experimental deployment of | ||||
| cryptographic algorithms targeting Post-Quantum (PQ) and Elliptic Curve | ||||
| Cryptography (ECC).") | ||||
|     (license license:bsd-3))) | ||||
| 
 | ||||
| (define-public go-github-com-mr-tron-base58 | ||||
|   (let ((commit "d724c80ecac7b49e4e562d58b2b4f4ee4ed8c312") | ||||
|         (revision "0")) | ||||
|  | @ -7269,7 +7388,7 @@ implementation of generics.") | |||
|       #:import-path "github.com/quic-go/qtls-go1-20" | ||||
|       #:go go-1.20)) | ||||
|     (propagated-inputs (list go-golang-org-x-crypto | ||||
|                              go-golang-org-x-sys-0.8)) | ||||
|                              go-golang-org-x-sys)) | ||||
|     (synopsis "TLS 1.3 for QUIC") | ||||
|     (description | ||||
|      "Go standard library TLS 1.3 implementation, modified for QUIC.  For | ||||
|  | @ -7277,6 +7396,29 @@ Go 1.20.") | |||
|     (home-page "https://github.com/quic-go/qtls-go1-20") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public go-github-com-gaukas-godicttls | ||||
|   (package | ||||
|     (name "go-github-com-gaukas-godicttls") | ||||
|     (version "0.0.4") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://github.com/gaukas/godicttls") | ||||
|                     (commit (string-append "v" version)))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0n9i0b9nbwq7ms36r34kfc346prrif78hhp55gmbkvlgvsc3m2af")))) | ||||
|     (build-system go-build-system) | ||||
|     (arguments | ||||
|      '(#:import-path "github.com/gaukas/godicttls")) | ||||
|     (home-page "https://github.com/gaukas/godicttls") | ||||
|     (synopsis "dictionary for TLS") | ||||
|     (description "This package provides a dictionary for TLS written in Go | ||||
| providing bidirectional mapping values to their names, plus enum convenience | ||||
| for values.") | ||||
|     (license license:bsd-3))) | ||||
| 
 | ||||
| (define-public go-github-com-quic-go-qpack | ||||
|   (package | ||||
|     (name "go-github-com-quic-go-qpack") | ||||
|  | @ -7330,21 +7472,17 @@ the Go standard library}.") | |||
|            #:tests? #f | ||||
|            #:go go-1.20)) | ||||
|     (propagated-inputs | ||||
|      (let ((p (package-input-rewriting | ||||
|                `((,go-golang-org-x-sys . ,go-golang-org-x-sys-0.8)) | ||||
|                #:deep? #true))) | ||||
|        (cons go-golang-org-x-sys-0.8 | ||||
|              (map p | ||||
|                   (list go-github-com-quic-go-qtls-go1-20 | ||||
|                         go-github-com-quic-go-qpack | ||||
|                         go-golang-org-x-crypto | ||||
|                         go-github-com-cheekybits-genny | ||||
|                         go-github-com-marten-seemann-chacha20 | ||||
|                         go-github-com-golang-protobuf-proto | ||||
|                         go-golang-org-x-crypto | ||||
|                         go-golang-org-x-exp | ||||
|                         go-golang-org-x-net | ||||
|                         go-golang-org-x-sync))))) | ||||
|      (list go-github-com-quic-go-qtls-go1-20 | ||||
|            go-github-com-quic-go-qpack | ||||
|            go-golang-org-x-crypto | ||||
|            go-github-com-cheekybits-genny | ||||
|            go-github-com-marten-seemann-chacha20 | ||||
|            go-github-com-golang-protobuf-proto | ||||
|            go-golang-org-x-crypto | ||||
|            go-golang-org-x-exp | ||||
|            go-golang-org-x-net | ||||
|            go-golang-org-x-sys | ||||
|            go-golang-org-x-sync)) | ||||
|     (synopsis "QUIC in Go") | ||||
|     (description "This package provides a Go language implementation of the QUIC | ||||
| network protocol.") | ||||
|  | @ -9026,7 +9164,20 @@ size of the terminal.") | |||
|                 "1idq8d13rp1hx2a1xak31fwl9fmi09p2x4ymvzl7aj850saw5w0z")))) | ||||
|     (build-system go-build-system) | ||||
|     (arguments | ||||
|      `(#:import-path "github.com/charmbracelet/glamour")) | ||||
|      (list #:import-path "github.com/charmbracelet/glamour" | ||||
|            #:phases | ||||
|            #~(modify-phases %standard-phases | ||||
|                (add-after 'unpack 'patch-tests | ||||
|                  (lambda _ | ||||
|                    ;; Some tests fail due to different number of '^[0m' symbols at | ||||
|                    ;; the beginning and the end of paragraphs.  To fix that we | ||||
|                    ;; re-generate 'readme.test' so the test output will match the | ||||
|                    ;; 'readme.test' contents. | ||||
|                    (chmod "src/github.com/charmbracelet/glamour/testdata/readme.test" | ||||
|                           #o644) | ||||
|                    (substitute* "src/github.com/charmbracelet/glamour/glamour_test.go" | ||||
|                      (("	generate = false") | ||||
|                       "	generate = true"))))))) | ||||
|     (native-inputs | ||||
|      (list go-github-com-alecthomas-chroma | ||||
|            go-github-com-danwakefield-fnmatch | ||||
|  | @ -9919,6 +10070,94 @@ composability.") | |||
| the necessary APIs to build a wide array of higher-level primitives.") | ||||
|     (license license:bsd-3))) | ||||
| 
 | ||||
| (define-public go-gitlab-com-yawning-edwards25519-extra | ||||
|   (let ((commit "2149dcafc266f66d2487f45b156f6397f9c4760b") | ||||
|         (revision "0")) | ||||
|     (package | ||||
|       (name "go-gitlab-com-yawning-edwards25519-extra") | ||||
|       (version (git-version "0.0.0" revision commit)) | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|          (uri (git-reference | ||||
|                (url "https://gitlab.com/yawning/edwards25519-extra") | ||||
|                (commit commit))) | ||||
|          (file-name (git-file-name name version)) | ||||
|          (sha256 | ||||
|           (base32 "08mz1qyi8ig515hh5blnzxhiwsav564ah7mzyhvmr6i48ndhhv98")))) | ||||
|       (build-system go-build-system) | ||||
|       (arguments | ||||
|        '(#:unpack-path "gitlab.com/yawning/edwards25519-extra" | ||||
|          #:phases | ||||
|          (modify-phases %standard-phases | ||||
|            (replace 'build | ||||
|              (lambda arguments | ||||
|                (for-each | ||||
|                 (lambda (directory) | ||||
|                   (apply (assoc-ref %standard-phases 'build) | ||||
|                          `(,@arguments #:import-path ,directory))) | ||||
|                 (list | ||||
|                  "gitlab.com/yawning/edwards25519-extra/elligator2" | ||||
|                  "gitlab.com/yawning/edwards25519-extra/h2c" | ||||
|                  "gitlab.com/yawning/edwards25519-extra/internal/montgomery" | ||||
|                  "gitlab.com/yawning/edwards25519-extra/vrf")))) | ||||
|            (replace 'check | ||||
|              (lambda arguments | ||||
|                (for-each | ||||
|                 (lambda (directory) | ||||
|                   (apply (assoc-ref %standard-phases 'check) | ||||
|                          `(,@arguments #:import-path ,directory))) | ||||
|                 (list | ||||
|                  "gitlab.com/yawning/edwards25519-extra/elligator2" | ||||
|                  "gitlab.com/yawning/edwards25519-extra/h2c" | ||||
|                  "gitlab.com/yawning/edwards25519-extra/internal/montgomery" | ||||
|                  "gitlab.com/yawning/edwards25519-extra/vrf")))) | ||||
|            (replace 'install | ||||
|              (lambda arguments | ||||
|                (for-each | ||||
|                 (lambda (directory) | ||||
|                   (apply (assoc-ref %standard-phases 'install) | ||||
|                          `(,@arguments #:import-path ,directory))) | ||||
|                 (list | ||||
|                  "gitlab.com/yawning/edwards25519-extra/elligator2" | ||||
|                  "gitlab.com/yawning/edwards25519-extra/h2c" | ||||
|                  "gitlab.com/yawning/edwards25519-extra/internal/montgomery" | ||||
|                  "gitlab.com/yawning/edwards25519-extra/vrf"))))))) | ||||
|       (propagated-inputs (list go-golang-org-x-crypto | ||||
|                                go-filippo-io-edwards25519)) | ||||
|       (home-page "https://gitlab.com/yawning/edwards25519-extra") | ||||
|       (synopsis "edwards25519-extra") | ||||
|       (description | ||||
|        "This package provides extensions to the Go standard library's Ed25519 and | ||||
| curve25519 implementations, primarily extracted from | ||||
| @@url{https://github.com/oasisprotocol/curve25519-voi,curve25519-voi}.  This | ||||
| package is intended for interoperability with the standard library and the | ||||
| @@url{https://filippo.io/edwards25519,edwards25519} package as much as possible.") | ||||
|       (license license:bsd-3)))) | ||||
| 
 | ||||
| (define-public go-github-com-bwesterb-go-ristretto | ||||
|   (package | ||||
|     (name "go-github-com-bwesterb-go-ristretto") | ||||
|     (version "1.2.3") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://github.com/bwesterb/go-ristretto") | ||||
|                     (commit (string-append "v" version)))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0h508v790wk6g8jq0gh18296xl87vmgc4fhwnac7mk6i5g3mz6v4")))) | ||||
|     (build-system go-build-system) | ||||
|     (arguments | ||||
|      '(#:unpack-path "github.com/bwesterb/go-ristretto" | ||||
|        #:import-path "github.com/bwesterb/go-ristretto/edwards25519")) | ||||
|     (home-page "https://github.com/bwesterb/go-ristretto") | ||||
|     (synopsis "operations on the Ristretto prime-order group") | ||||
|     (description "This is a pure Go implementation of the group operations on | ||||
| the Ristretto prime-order group built from Edwards25519.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public go-github-com-rogpeppe-go-internal | ||||
|   (package | ||||
|     (name "go-github-com-rogpeppe-go-internal") | ||||
|  | @ -11791,6 +12030,56 @@ implementation.") | |||
| using shell-style rules for quoting and commenting.") | ||||
|     (license license:asl2.0))) | ||||
| 
 | ||||
| (define-public go-github-com-google-btree | ||||
|   (package | ||||
|     (name "go-github-com-google-btree") | ||||
|     (version "1.1.2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/google/btree") | ||||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "0cqa8ck26p3wqz877hcvmfss17xm8wcbwd68shxv795ppahpdd9b")))) | ||||
|     (build-system go-build-system) | ||||
|     (arguments | ||||
|      '(#:import-path "github.com/google/btree")) | ||||
|     (home-page "https://github.com/google/btree") | ||||
|     (synopsis "Simple, ordered, in-memory data structure for Go programs") | ||||
|     (description | ||||
|      "This package provides an in-memory B-Tree implementation for Go, useful as an | ||||
| ordered, mutable data structure.") | ||||
|     (license license:asl2.0))) | ||||
| 
 | ||||
| (define-public go-github-com-peterbourgon-diskv | ||||
|   (package | ||||
|     (name "go-github-com-peterbourgon-diskv") | ||||
|     (version "3.0.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/peterbourgon/diskv") | ||||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "0pdy8f7bkm65gx4vknwcvfa619hknflqxkdlvmf427k2mzm91gmh")))) | ||||
|     (build-system go-build-system) | ||||
|     (arguments | ||||
|      `(#:import-path "github.com/peterbourgon/diskv" | ||||
|        #:go ,go-1.18)) | ||||
|     (propagated-inputs (list go-github-com-google-btree)) | ||||
|     (home-page "https://github.com/peterbourgon/diskv") | ||||
|     (synopsis "Disk-backed key-value store") | ||||
|     (description | ||||
|      "Diskv (disk-vee) is a simple, persistent key-value store written in the Go | ||||
| language.  It starts with a simple API for storing arbitrary data on a filesystem by | ||||
| key, and builds several layers of performance-enhancing abstraction on top.  The end | ||||
| result is a conceptually simple, but highly performant, disk-backed storage system.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public go-github-com-disintegration-imaging | ||||
|   (package | ||||
|     (name "go-github-com-disintegration-imaging") | ||||
|  |  | |||
|  | @ -727,7 +727,7 @@ transformed into common image formats for display or printing.") | |||
| (define-public python-graph-tool | ||||
|   (package | ||||
|     (name "python-graph-tool") | ||||
|     (version "2.57") | ||||
|     (version "2.58") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|  | @ -735,7 +735,7 @@ transformed into common image formats for display or printing.") | |||
|                     version ".tar.bz2")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0wmvzx509lvigja6cfxh45r4b7wns64vmik0x4rz4y4fnxrhw2m2")))) | ||||
|                 "05vsk2600wn790hk7gr2f0609bzcslyhhv9x157n43vxy4y6r8vj")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:imported-modules (,@%gnu-build-system-modules | ||||
|  |  | |||
|  | @ -195,7 +195,7 @@ structure and layout algorithms.") | |||
| (define-public python-uqbar | ||||
|   (package | ||||
|     (name "python-uqbar") | ||||
|     (version "0.5.6") | ||||
|     (version "0.5.9") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -205,18 +205,12 @@ structure and layout algorithms.") | |||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1ml3x2mf7nlnvrh9lari5yk0sz2mmg39jwsbjxnpzhnw4kcwpdrs")))) | ||||
|          "0c573nzpm51qgz2g296f8pw8ys0i3r6daynxk06zagk5l5fgw9ar")) | ||||
|        (patches (search-patches "python-uqbar-python3.10.patch")))) | ||||
|     (build-system python-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'patch | ||||
|            (lambda _ | ||||
|              (substitute* "setup.py" | ||||
|                ;; Latest versions of sphink-rtd-theme require npm to build. | ||||
|                (("sphinx-rtd-theme >= 0.5.0") "sphinx-rtd-theme >= 0.2.4") | ||||
|                (("black") "black >= 19.10b0")) | ||||
|              #t)) | ||||
|          (replace 'check | ||||
|            (lambda* (#:key tests? #:allow-other-keys) | ||||
|              (when tests? | ||||
|  |  | |||
|  | @ -1185,7 +1185,11 @@ application suites.") | |||
|                 ;; The unaligned-offscreen test fails for unknown reasons, also | ||||
|                 ;; on different distributions (see: | ||||
|                 ;; https://gitlab.gnome.org/GNOME/gtk/-/issues/4889). | ||||
|                 (("  'unaligned-offscreen',") "")) | ||||
|                 (("  'unaligned-offscreen',") "") | ||||
|                 ;; This test, 'gtk:tools / validate', started failing for | ||||
|                 ;; unknown reasons after updating mesa to 23.3.1 and xorgproto | ||||
|                 ;; to 2023.2. | ||||
|                 ((" 'validate',") "")) | ||||
|               (substitute* "testsuite/reftests/meson.build" | ||||
|                 (("[ \t]*'label-wrap-justify.ui',") "") | ||||
|                 ;; The inscription-markup.ui fails due to /etc/machine-id | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2012-2023 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2012-2024 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org> | ||||
| ;;; Copyright © 2015, 2017, 2022 Christine Lemmer-Webber <cwebber@dustycloud.org> | ||||
| ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co> | ||||
|  | @ -816,7 +816,8 @@ tables.") | |||
|                (base32 | ||||
|                 "0wvdi4l58f9a5c9wi3cdc9l1bniscsixb6w2zj86mch7j7j814lc")) | ||||
|               (patches | ||||
|                (search-patches "guile-fibers-libevent-32-bit.patch")))) | ||||
|                (search-patches "guile-fibers-libevent-32-bit.patch" | ||||
|                                "guile-fibers-libevent-timeout.patch")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      (list #:make-flags | ||||
|  | @ -1839,6 +1840,33 @@ written in pure Scheme by using Guile's foreign function interface.") | |||
| library}.") | ||||
|     (license license:gpl3+))) | ||||
| 
 | ||||
| (define-public guile-yamlpp | ||||
|   (package | ||||
|     (name "guile-yamlpp") | ||||
|     (version "0.2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://gitlab.com/yorgath/guile-yamlpp") | ||||
|              (commit version))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "14mlqi7hw7pi9scwk1g432issnqcn185pd8na2plijxq55cy0iq7")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs (list autoconf automake libtool pkg-config)) | ||||
|     (inputs (list guile-3.0 yaml-cpp)) | ||||
|     (native-search-paths | ||||
|      (list (search-path-specification | ||||
|             (variable "GUILE_EXTENSIONS_PATH") | ||||
|             (files (list "lib/guile/3.0"))))) | ||||
|     (home-page "https://gitlab.com/yorgath/guile-yamlpp") | ||||
|     (synopsis "Guile YAML reader/writer based on @code{yaml-cpp}") | ||||
|     (description | ||||
|      "A module for GNU Guile to read and write YAML files.  It works using | ||||
| bindings to the @code{yaml-cpp} C++ library.") | ||||
|     (license license:gpl3+))) | ||||
| 
 | ||||
| (define-public guile-dbi | ||||
|   (package | ||||
|     (name "guile-dbi") | ||||
|  | @ -3840,6 +3868,64 @@ Either represents the concept of values which are either correct (Right) | |||
| or errors (Left).") | ||||
|       (license license:expat)))) | ||||
| 
 | ||||
| (define-public guile-srfi-197 | ||||
|   ;; There is minor fix to the documention after the final tag, so use | ||||
|   ;; the newest commit instead. | ||||
|   (let ((commit "d31b8be86460bf837cccf2737a1b9b9c01788573") | ||||
|         (revision "0")) | ||||
|     (package | ||||
|       (name "guile-srfi-197") | ||||
|       (version (git-version "0" revision commit)) | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|          (uri (git-reference | ||||
|                (url "https://github.com/scheme-requests-for-implementation/srfi-197") | ||||
|                (commit commit))) | ||||
|          (sha256 | ||||
|           (base32 | ||||
|            "1c1jjzqgavjwfzs352wssdbjga5ymv4g3lkl0zxhjw7pfrr5xx1m")) | ||||
|          (file-name (git-file-name name version)))) | ||||
|       (build-system guile-build-system) | ||||
|       (arguments | ||||
|        (list | ||||
|         #:source-directory "src" | ||||
|         #:phases | ||||
|         #~(modify-phases %standard-phases | ||||
|             (add-after 'unpack 'create-module | ||||
|               (lambda _ | ||||
|                 (use-modules (ice-9 textual-ports)) | ||||
|                 (mkdir-p "src/srfi") | ||||
|                 (call-with-output-file "src/srfi/srfi-197.scm" | ||||
|                   (lambda (port) | ||||
|                     (write '(define-module (srfi srfi-197) | ||||
|                               #:use-module (scheme base) | ||||
|                               #:export (chain | ||||
|                                         chain-and | ||||
|                                         chain-when | ||||
|                                         chain-lambda | ||||
|                                         nest | ||||
|                                         nest-reverse)) | ||||
|                            port) | ||||
|                     (call-with-input-file "srfi-197-syntax-case.scm" | ||||
|                       (lambda (in-port) | ||||
|                         (display (get-string-all in-port) port))))))) | ||||
|             (add-after 'install 'check-installed | ||||
|               (lambda _ | ||||
|                 (define-values (scm go) (target-guile-scm+go #$output)) | ||||
|                 (invoke "guile" "-L" scm "-C" go | ||||
|                         "--use-srfi=197" "./test.scm")))))) | ||||
|       (native-inputs | ||||
|        (list guile-3.0)) | ||||
|       (home-page "https://srfi.schemers.org/srfi-197/") | ||||
|       (synopsis "Pipeline operators for Guile") | ||||
|       (description | ||||
|        "This library provides a reference implementation for SRFI-197.  This | ||||
| SRFI defines a family of chain and nest pipeline operators, which can rewrite | ||||
| nested expressions like @code{(a b (c d (e f g)))} as a sequence of | ||||
| operations: @code{(chain g (e f _) (c d _) (a b _))}.") | ||||
|       (license license:expat)))) | ||||
| 
 | ||||
| (define-public guile-srfi-232 | ||||
|   (package | ||||
|     (name "guile-srfi-232") | ||||
|  |  | |||
|  | @ -806,6 +806,7 @@ information can be viewed in real time and/or logged to a file.") | |||
| also provides extensions for proprietary methods of interfacing with Dell | ||||
| specific SMBIOS tables.") | ||||
|     (home-page "https://github.com/dell/libsmbios") | ||||
|     (supported-systems (list "i686-linux" "x86_64-linux")) | ||||
|     (license | ||||
|      (list license:osl2.1 license:gpl2+ license:bsd-3 license:boost1.0)))) | ||||
| 
 | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> | ||||
| ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> | ||||
| ;;; Copyright © 2019, 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> | ||||
| ;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2020, 2021, 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -38,6 +38,7 @@ | |||
|   #:use-module (gnu packages guile) | ||||
|   #:use-module (gnu packages libcanberra) | ||||
|   #:use-module (gnu packages linux) | ||||
|   #:use-module (gnu packages markup) | ||||
|   #:use-module (gnu packages networking) | ||||
|   #:use-module (gnu packages perl) | ||||
|   #:use-module (gnu packages pkg-config) | ||||
|  | @ -54,6 +55,7 @@ | |||
|   #:use-module (gnu packages version-control) | ||||
|   #:use-module (gnu packages video) | ||||
|   #:use-module (gnu packages vulkan) | ||||
|   #:use-module (gnu packages web) | ||||
|   #:use-module (gnu packages webkit) | ||||
|   #:use-module (gnu packages xdisorg) | ||||
|   #:use-module (gnu packages xiph) | ||||
|  | @ -68,307 +70,33 @@ | |||
|   #:use-module (guix packages) | ||||
|   #:use-module (guix utils)) | ||||
| 
 | ||||
| (define %jami-version "20230323.0") | ||||
| ;;; We use nightlies as stable versions are a bit far in-between, and often | ||||
| ;;; have bugs anyway.  When the nightly version change, do not forget to | ||||
| ;;; retrieve the associated daemon submodule commit and update it in | ||||
| ;;; %jami-daemon-commit variable below. | ||||
| 
 | ||||
| (define %jami-sources | ||||
|   ;; Return an origin object of the tarball release sources archive of the | ||||
|   ;; Jami project. | ||||
|   (origin | ||||
|     (method url-fetch) | ||||
|     (uri (string-append "https://dl.jami.net/release/tarballs/jami-" | ||||
|                         %jami-version ".tar.gz")) | ||||
|     (modules '((guix build utils))) | ||||
|     (snippet | ||||
|      ;; Delete multiple MiBs of bundled tarballs.  The daemon/contrib | ||||
|      ;; directory contains the custom patches for pjproject and other | ||||
|      ;; libraries used by Jami. | ||||
|      '(delete-file-recursively "daemon/contrib/tarballs")) | ||||
|     (sha256 | ||||
|      (base32 | ||||
|       "0vjsjr37cb87j9hqbmipyxn4877k1wn3l0vzca3l3ldgknglz7v2")) | ||||
|     (patches (search-patches "jami-disable-integration-tests.patch" | ||||
|                              "jami-libjami-headers-search.patch")))) | ||||
| 
 | ||||
| ;; Jami maintains a set of patches for some key dependencies (currently | ||||
| ;; pjproject and ffmpeg) of Jami that haven't yet been integrated upstream. | ||||
| ;; This procedure simplifies the process of applying them. | ||||
| (define jami-apply-custom-patches | ||||
|   #~(lambda* (#:key dep-name patches) | ||||
|       (let ((patches-directory "patches")) | ||||
|         (mkdir-p patches-directory) | ||||
|         (invoke "tar" "-xvf" #$%jami-sources | ||||
|                 "-C" patches-directory | ||||
|                 "--strip-components=5" | ||||
|                 "--wildcards" | ||||
|                 (string-append "jami-*/daemon/contrib/src/" dep-name)) | ||||
|         (for-each (lambda (f) | ||||
|                     (invoke "patch" "--force" "--ignore-whitespace" "-p1" "-i" | ||||
|                             (string-append patches-directory "/" f ".patch"))) | ||||
|                   patches)))) | ||||
| 
 | ||||
| (define-public pjproject-jami | ||||
|   (let ((commit "e4b83585a0bdf1523e808a4fc1946ec82ac733d0") | ||||
|         (revision "3")) | ||||
|     (package | ||||
|       (inherit pjproject) | ||||
|       (name "pjproject-jami") | ||||
|       (version (git-version "2.12" revision commit)) | ||||
|       (source (origin | ||||
|                 (inherit (package-source pjproject)) | ||||
|                 ;; The Jami development team regularly issues patches to | ||||
|                 ;; pjproject to extend the its functionality and fix bugs; | ||||
|                 ;; they are submitted for inclusion upstream but larger | ||||
|                 ;; patches take time to be reviewed and merged, hence this | ||||
|                 ;; forked repository. | ||||
|                 (method git-fetch) | ||||
|                 (uri (git-reference | ||||
|                       (url "https://github.com/savoirfairelinux/pjproject") | ||||
|                       (commit commit))) | ||||
|                 (file-name (git-file-name name version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "0gky5idyyqxhqk959lzys5l7x1i925db773lfdpvxxmkmfizdq21")))) | ||||
|       (arguments | ||||
|        (substitute-keyword-arguments (package-arguments pjproject) | ||||
|          ((#:phases phases '%standard-phases) | ||||
|           #~(modify-phases #$phases | ||||
|               (add-after 'unpack 'apply-patches | ||||
|                 (lambda _ | ||||
|                   (#$jami-apply-custom-patches | ||||
|                    #:dep-name "pjproject" | ||||
|                    #:patches | ||||
|                    ;; This adds a config_site.h configuration file that sets | ||||
|                    ;; constants such as PJ_ICE_MAX_CAND that cannot be | ||||
|                    ;; configured at build time. | ||||
|                    '("0009-add-config-site"))))))))))) | ||||
| 
 | ||||
| ;; The following variables are configure flags used by ffmpeg-jami.  They're | ||||
| ;; from the jami/daemon/contrib/src/ffmpeg/rules.mak file.  We try to keep it | ||||
| ;; as close to the official Jami package as possible, to provide all the | ||||
| ;; codecs and extra features that are expected (see: | ||||
| ;; https://review.jami.net/plugins/gitiles/jami-daemon/+/refs/heads/master/contrib/src/ffmpeg/rules.mak). | ||||
| ;; An exception are the ffnvcodec-related switches, which is not packaged in | ||||
| ;; Guix and would not work with Mesa. | ||||
| (define %ffmpeg-default-configure-flags | ||||
|   '("--disable-everything" | ||||
|     "--enable-zlib" | ||||
|     "--enable-gpl" | ||||
|     "--enable-swscale" | ||||
|     "--enable-bsfs" | ||||
|     "--disable-filters" | ||||
|     "--disable-programs" | ||||
|     "--disable-postproc" | ||||
|     "--disable-protocols" | ||||
|     "--enable-protocol=crypto" | ||||
|     "--enable-protocol=file" | ||||
|     "--enable-protocol=rtp" | ||||
|     "--enable-protocol=srtp" | ||||
|     "--enable-protocol=tcp" | ||||
|     "--enable-protocol=udp" | ||||
|     "--enable-protocol=unix" | ||||
|     "--enable-protocol=pipe" | ||||
| 
 | ||||
|     ;; Enable muxers/demuxers. | ||||
|     "--disable-demuxers" | ||||
|     "--disable-muxers" | ||||
|     "--enable-muxer=rtp" | ||||
|     "--enable-muxer=g722" | ||||
|     "--enable-muxer=g726" | ||||
|     "--enable-muxer=g726le" | ||||
|     "--enable-muxer=h263" | ||||
|     "--enable-muxer=h264" | ||||
|     "--enable-muxer=hevc" | ||||
|     "--enable-muxer=matroska" | ||||
|     "--enable-muxer=wav" | ||||
|     "--enable-muxer=webm" | ||||
|     "--enable-muxer=ogg" | ||||
|     "--enable-muxer=pcm_s16be" | ||||
|     "--enable-muxer=pcm_s16le" | ||||
|     "--enable-demuxer=rtp" | ||||
|     "--enable-demuxer=mjpeg" | ||||
|     "--enable-demuxer=mjpeg_2000" | ||||
|     "--enable-demuxer=mpegvideo" | ||||
|     "--enable-demuxer=gif" | ||||
|     "--enable-demuxer=image_jpeg_pipe" | ||||
|     "--enable-demuxer=image_png_pipe" | ||||
|     "--enable-demuxer=image_webp_pipe" | ||||
|     "--enable-demuxer=matroska" | ||||
|     "--enable-demuxer=m4v" | ||||
|     "--enable-demuxer=mp3" | ||||
|     "--enable-demuxer=ogg" | ||||
|     "--enable-demuxer=flac" | ||||
|     "--enable-demuxer=wav" | ||||
|     "--enable-demuxer=ac3" | ||||
|     "--enable-demuxer=g722" | ||||
|     "--enable-demuxer=g723_1" | ||||
|     "--enable-demuxer=g726" | ||||
|     "--enable-demuxer=g726le" | ||||
|     "--enable-demuxer=pcm_mulaw" | ||||
|     "--enable-demuxer=pcm_alaw" | ||||
|     "--enable-demuxer=pcm_s16be" | ||||
|     "--enable-demuxer=pcm_s16le" | ||||
|     "--enable-demuxer=h263" | ||||
|     "--enable-demuxer=h264" | ||||
|     "--enable-demuxer=hevc" | ||||
| 
 | ||||
|     ;; Enable parsers. | ||||
|     "--enable-parser=h263" | ||||
|     "--enable-parser=h264" | ||||
|     "--enable-parser=hevc" | ||||
|     "--enable-parser=mpeg4video" | ||||
|     "--enable-parser=vp8" | ||||
|     "--enable-parser=vp9" | ||||
|     "--enable-parser=opus" | ||||
| 
 | ||||
|     ;; Encoders/decoders. | ||||
|     "--enable-encoder=adpcm_g722" | ||||
|     "--enable-decoder=adpcm_g722" | ||||
|     "--enable-encoder=adpcm_g726" | ||||
|     "--enable-decoder=adpcm_g726" | ||||
|     "--enable-encoder=adpcm_g726le" | ||||
|     "--enable-decoder=adpcm_g726le" | ||||
|     "--enable-decoder=g729" | ||||
|     "--enable-encoder=g723_1" | ||||
|     "--enable-decoder=g723_1" | ||||
|     "--enable-encoder=rawvideo" | ||||
|     "--enable-decoder=rawvideo" | ||||
|     "--enable-encoder=libx264" | ||||
|     "--enable-decoder=h264" | ||||
|     "--enable-encoder=pcm_alaw" | ||||
|     "--enable-decoder=pcm_alaw" | ||||
|     "--enable-encoder=pcm_mulaw" | ||||
|     "--enable-decoder=pcm_mulaw" | ||||
|     "--enable-encoder=mpeg4" | ||||
|     "--enable-decoder=mpeg4" | ||||
|     "--enable-encoder=libvpx_vp8" | ||||
|     "--enable-decoder=vp8" | ||||
|     "--enable-decoder=vp9" | ||||
|     "--enable-encoder=h263" | ||||
|     "--enable-encoder=h263p" | ||||
|     "--enable-decoder=h263" | ||||
|     "--enable-encoder=mjpeg" | ||||
|     "--enable-decoder=mjpeg" | ||||
|     "--enable-decoder=mjpegb" | ||||
|     "--enable-libspeex" | ||||
|     "--enable-libopus" | ||||
|     "--enable-libvpx" | ||||
|     "--enable-libx264" | ||||
|     "--enable-encoder=libspeex" | ||||
|     "--enable-decoder=libspeex" | ||||
|     "--enable-encoder=libopus" | ||||
|     "--enable-decoder=libopus" | ||||
| 
 | ||||
|     ;; Encoders/decoders for ringtones and audio streaming. | ||||
|     "--enable-decoder=flac" | ||||
|     "--enable-decoder=vorbis" | ||||
|     "--enable-decoder=aac" | ||||
|     "--enable-decoder=ac3" | ||||
|     "--enable-decoder=eac3" | ||||
|     "--enable-decoder=mp3" | ||||
|     "--enable-decoder=pcm_u24le" | ||||
|     "--enable-decoder=pcm_u32le" | ||||
|     "--enable-decoder=pcm_u8" | ||||
|     "--enable-decoder=pcm_f16le" | ||||
|     "--enable-decoder=pcm_f32le" | ||||
|     "--enable-decoder=pcm_f64le" | ||||
|     "--enable-decoder=pcm_s16le" | ||||
|     "--enable-decoder=pcm_s24le" | ||||
|     "--enable-decoder=pcm_s32le" | ||||
|     "--enable-decoder=pcm_s64le" | ||||
|     "--enable-decoder=pcm_u16le" | ||||
|     "--enable-encoder=pcm_u8" | ||||
|     "--enable-encoder=pcm_f32le" | ||||
|     "--enable-encoder=pcm_f64le" | ||||
|     "--enable-encoder=pcm_s16le" | ||||
|     "--enable-encoder=pcm_s32le" | ||||
|     "--enable-encoder=pcm_s64le" | ||||
| 
 | ||||
|     ;; Encoders/decoders for images. | ||||
|     "--enable-encoder=gif" | ||||
|     "--enable-decoder=gif" | ||||
|     "--enable-encoder=jpegls" | ||||
|     "--enable-decoder=jpegls" | ||||
|     "--enable-encoder=ljpeg" | ||||
|     "--enable-decoder=jpeg2000" | ||||
|     "--enable-encoder=png" | ||||
|     "--enable-decoder=png" | ||||
|     "--enable-encoder=bmp" | ||||
|     "--enable-decoder=bmp" | ||||
|     "--enable-encoder=tiff" | ||||
|     "--enable-decoder=tiff" | ||||
| 
 | ||||
|     ;; Filters. | ||||
|     "--enable-filter=scale" | ||||
|     "--enable-filter=overlay" | ||||
|     "--enable-filter=amix" | ||||
|     "--enable-filter=amerge" | ||||
|     "--enable-filter=aresample" | ||||
|     "--enable-filter=format" | ||||
|     "--enable-filter=aformat" | ||||
|     "--enable-filter=fps" | ||||
|     "--enable-filter=transpose" | ||||
|     "--enable-filter=pad")) | ||||
| 
 | ||||
| (define %ffmpeg-linux-configure-flags | ||||
|   '("--enable-pic" | ||||
|     "--extra-cxxflags=-fPIC" | ||||
|     "--extra-cflags=-fPIC" | ||||
|     "--target-os=linux" | ||||
|     "--enable-indev=v4l2" | ||||
|     "--enable-indev=xcbgrab" | ||||
|     "--enable-vdpau" | ||||
|     "--enable-hwaccel=h264_vdpau" | ||||
|     "--enable-hwaccel=mpeg4_vdpau" | ||||
|     "--enable-vaapi" | ||||
|     "--enable-hwaccel=h264_vaapi" | ||||
|     "--enable-hwaccel=mpeg4_vaapi" | ||||
|     "--enable-hwaccel=h263_vaapi" | ||||
|     "--enable-hwaccel=vp8_vaapi" | ||||
|     "--enable-hwaccel=mjpeg_vaapi" | ||||
|     "--enable-hwaccel=hevc_vaapi" | ||||
|     "--enable-encoder=h264_vaapi" | ||||
|     "--enable-encoder=vp8_vaapi" | ||||
|     "--enable-encoder=mjpeg_vaapi" | ||||
|     "--enable-encoder=hevc_vaapi")) | ||||
| 
 | ||||
| (define (ffmpeg-compose-configure-flags) | ||||
|   "Compose the configure flag lists of ffmpeg-jami." | ||||
|   #~(append '#$%ffmpeg-default-configure-flags | ||||
|             (if (string-contains #$(%current-system) "linux") | ||||
|                 '#$%ffmpeg-linux-configure-flags | ||||
|                 '()))) | ||||
| 
 | ||||
| (define-public ffmpeg-jami | ||||
|   (package | ||||
|     (inherit ffmpeg) | ||||
|     (name "ffmpeg-jami") | ||||
|     (arguments | ||||
|      (substitute-keyword-arguments (package-arguments ffmpeg) | ||||
|        ((#:configure-flags _ '()) | ||||
|         #~(cons* "--disable-static" | ||||
|                  "--enable-shared" | ||||
|                  "--disable-stripping" | ||||
|                  #$(ffmpeg-compose-configure-flags))) | ||||
|        ((#:phases phases) | ||||
|         #~(modify-phases #$phases | ||||
|             (add-after 'unpack 'apply-patches | ||||
|               (lambda _ | ||||
|                 ;; These patches come from: | ||||
|                 ;; "jami-project/daemon/contrib/src/ffmpeg/rules.mak". | ||||
|                 (#$jami-apply-custom-patches | ||||
|                  #:dep-name "ffmpeg" | ||||
|                  #:patches '("remove-mjpeg-log" | ||||
|                              "change-RTCP-ratio" | ||||
|                              "rtp_ext_abs_send_time" | ||||
|                              "libopusdec-enable-FEC" | ||||
|                              "libopusenc-reload-packet-loss-at-encode" | ||||
|                              "screen-sharing-x11-fix")))))))))) | ||||
| ;;; When updating Jami, make sure that the patches used for ffmpeg-jami are up | ||||
| ;;; to date with those listed in | ||||
| ;;; <https://review.jami.net/plugins/gitiles/jami-daemon/+/refs/heads/master/contrib/src/ffmpeg/rules.mak>. | ||||
| (define %jami-nightly-version "20231222.2") | ||||
| (define %jami-daemon-commit "317b7317dcda4afb733ddb9bd5b450d4635941ae") | ||||
| 
 | ||||
| (define-public libjami | ||||
|   (package | ||||
|     (name "libjami") | ||||
|     (version %jami-version) | ||||
|     (source %jami-sources) | ||||
|     (version %jami-nightly-version) | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://review.jami.net/jami-daemon") | ||||
|                     (commit %jami-daemon-commit))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "16qx50xz2mkw894irjsvql82iw7wpc5xncxpvw1nqd2sxhgfiq0i")) | ||||
|               (patches (search-patches | ||||
|                         "libjami-ac-config-files.patch" | ||||
|                         "jami-disable-integration-tests.patch")))) | ||||
|     (outputs '("out" "bin" "debug"))    ;"bin' contains jamid | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|  | @ -378,13 +106,25 @@ | |||
|       ;; user scripts too, until more general purpose Scheme bindings are made | ||||
|       ;; available (see: test/agent/README.md). | ||||
|       #:configure-flags #~(list "--enable-agent" "--enable-debug") | ||||
|       #:make-flags #~(list "V=1")       ;build verbosely | ||||
|       #:make-flags | ||||
|       #~(list | ||||
|          "V=1"                 ;build verbosely | ||||
|          ;; The 'ut_media_player' is known to fail (see: | ||||
|          ;; https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/935). | ||||
|          "XFAIL_TESTS=ut_media_player") | ||||
|       #:phases | ||||
|       #~(modify-phases %standard-phases | ||||
|           (add-after 'unpack 'change-directory/maybe | ||||
|             (lambda _ | ||||
|               ;; Allow building from the tarball or a git checkout. | ||||
|               (false-if-exception (chdir "daemon")))) | ||||
|           (add-after 'change-directory/maybe 'extend-scheduler-test-timeout | ||||
|             (lambda _ | ||||
|               ;; The ut_scheduler unit test may fail on slower machines (see: | ||||
|               ;; https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/939). | ||||
|               (substitute* "test/unitTest/scheduler.cpp" | ||||
|                 (("std::chrono::seconds\\(3)") | ||||
|                  "std::chrono::seconds(30)")))) | ||||
|           (add-after 'install 'delete-static-libraries | ||||
|             ;; Remove 100+ MiB of static libraries.  "--disable-static" cannot | ||||
|             ;; be used as the test suite requires access to private symbols | ||||
|  | @ -409,14 +149,14 @@ | |||
|     (inputs | ||||
|      (list alsa-lib | ||||
|            asio | ||||
|            dbus-c++ | ||||
|            dhtnet | ||||
|            eudev | ||||
|            ffmpeg-jami | ||||
|            guile-3.0 | ||||
|            jack-1 | ||||
|            jsoncpp | ||||
|            libarchive | ||||
|            libgit2 | ||||
|            libgit2-1.6 | ||||
|            libnatpmp | ||||
|            libsecp256k1 | ||||
|            libupnp | ||||
|  | @ -424,6 +164,7 @@ | |||
|            openssl | ||||
|            pjproject-jami | ||||
|            pulseaudio | ||||
|            sdbus-c++ | ||||
|            speex | ||||
|            speexdsp | ||||
|            webrtc-audio-processing | ||||
|  | @ -447,18 +188,71 @@ service definitions.") | |||
|     (home-page "https://jami.net/") | ||||
|     (license license:gpl3+))) | ||||
| 
 | ||||
| ;;; Private package; this is used in source form: the project build system has | ||||
| ;;; no install target. | ||||
| (define sortfilterproxymodel | ||||
|   ;; Use the latest commit available from the 'qt-6' branch. | ||||
|   (let ((commit "6cc21205dbf36640613f0e6e67b2b13b1855c377") | ||||
|         (revision "0")) | ||||
|     (package | ||||
|       (name "sortfilterproxymodel") | ||||
|       ;; There are no recent release tag; the module version defined in the | ||||
|       ;; source is used (see: | ||||
|       ;; https://github.com/oKcerG/SortFilterProxyModel/blob/ | ||||
|       ;; 5a930885b7ea99f7f41c25fce08bf8006ee54e3f/ | ||||
|       ;; qqmlsortfilterproxymodel.cpp#L574C15-L574C15). | ||||
|       (version (git-version "0.2" revision commit)) | ||||
|       (source (origin | ||||
|                 (method git-fetch) | ||||
|                 (uri (git-reference | ||||
|                       ;; The upstream is | ||||
|                       ;; https://github.com/oKcerG/SortFilterProxyModel, but | ||||
|                       ;; it lacks Qt 6 support, so use this fork, which is the | ||||
|                       ;; one used by Jami. | ||||
|                       (url "https://github.com/atraczyk/SortFilterProxyModel") | ||||
|                       (commit commit))) | ||||
|                 (file-name (git-file-name name version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "1n54jkimr3a818i3w7w3lnbqn47x72nnr5xi9vk0mdnbwri3viwy")))) | ||||
|       (build-system qt-build-system) | ||||
|       (arguments | ||||
|        (list #:qtbase qtbase            ;use Qt 6 | ||||
|              #:tests? #f                ;no test suite | ||||
|              #:configure-flags #~(list "BUILD_SFPM_PIC=ON"))) | ||||
|       (inputs (list qtdeclarative)) | ||||
|       (home-page "https://github.com/oKcerG/SortFilterProxyModel") | ||||
|       (synopsis "Improved QSortFilterProxyModel implementation for QML") | ||||
|       (description "SortFilterProxyModel is an implementation of | ||||
| QSortFilterProxyModel conveniently exposed for QML.") | ||||
|       (license license:expat)))) | ||||
| 
 | ||||
| (define-public jami | ||||
|   (package | ||||
|     (name "jami") | ||||
|     (version %jami-version) | ||||
|     (source %jami-sources) | ||||
|     (version %jami-nightly-version) | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://review.jami.net/jami-client-qt") | ||||
|                     (commit (string-append "nightly/" %jami-nightly-version)))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0ypbbyqmq6x9zq4sr550k38v8pg7yq685bmwqmigqzhqgfazcg97")) | ||||
|               (patches (search-patches | ||||
|                         "jami-libjami-headers-search.patch" | ||||
|                         "jami-qml-tests-discovery.patch" | ||||
|                         "jami-skip-tests-requiring-internet.patch" | ||||
|                         "jami-unbundle-dependencies.patch")))) | ||||
|     (build-system qt-build-system) | ||||
|     (outputs '("out" "debug")) | ||||
|     (arguments | ||||
|      (list | ||||
|       #:qtbase qtbase | ||||
|       #:configure-flags | ||||
|       #~(list "-DENABLE_TESTS=ON" | ||||
|       #~(list "-DWITH_DAEMON_SUBMODULE=OFF" | ||||
|               "-DENABLE_TESTS=ON" | ||||
|               ;; Disable the webengine since it grows the closure size by | ||||
|               ;; about 450 MiB and requires more resources. | ||||
|               "-DWITH_WEBENGINE=OFF" | ||||
|  | @ -467,11 +261,7 @@ service definitions.") | |||
|               "-DENABLE_LIBWRAP=ON") | ||||
|       #:phases | ||||
|       #~(modify-phases %standard-phases | ||||
|           (add-after 'unpack 'change-directory/maybe | ||||
|             (lambda _ | ||||
|               ;; Allow building from the tarball or a git checkout. | ||||
|               (false-if-exception (chdir "client-qt")))) | ||||
|           (add-after 'change-directory/maybe 'fix-version-string | ||||
|           (add-after 'unpack 'fix-version-string | ||||
|             (lambda _ | ||||
|               (substitute* "src/app/version.h" | ||||
|                 (("VERSION_STRING") | ||||
|  | @ -480,6 +270,17 @@ service definitions.") | |||
|                  (string-append "const char VERSION_STRING[] = \"" | ||||
|                                 #$version "\";\n" | ||||
|                                 anchor))))) | ||||
|           (add-after 'unpack 'copy-3rdparty-source-dependencies | ||||
|             (lambda _ | ||||
|               (copy-recursively #$(package-source sortfilterproxymodel) | ||||
|                                 "3rdparty/SortFilterProxyModel"))) | ||||
|           (add-before 'configure 'fake-x11-environment | ||||
|             (lambda _ | ||||
|               ;; This works around the lack of configuration for the X11 | ||||
|               ;; push-to-talk feature, which is auto-detected via the | ||||
|               ;; XDG_SESSION_TYPE environment variable (see: | ||||
|               ;; https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1504). | ||||
|               (setenv "XDG_SESSION_TYPE" "x11"))) | ||||
|           (replace 'check | ||||
|             (lambda* (#:key tests? #:allow-other-keys) | ||||
|               (when tests? | ||||
|  | @ -488,22 +289,13 @@ service definitions.") | |||
|                 ;; The tests require a writable HOME. | ||||
|                 (setenv "HOME" "/tmp") | ||||
| 
 | ||||
|                 (display "Running unittests...\n") | ||||
|                 (invoke "tests/unittests" "-mutejamid") | ||||
|                 (display "Running unit tests...\n") | ||||
|                 (invoke "tests/unit_tests") | ||||
| 
 | ||||
|                 ;; XXX: There are currently multiple failures with the | ||||
|                 ;; functional tests (see: | ||||
|                 ;; https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/883), | ||||
|                 ;; so the code below is disabled for now. | ||||
|                 ;; | ||||
|                 ;; XXX: The QML test suite fails, exiting with status code 1 (see: | ||||
|                 ;; https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/883). | ||||
|                 ;; (display "Running functional tests...\n") | ||||
|                 ;; ;; This is to allow building from the source tarball or | ||||
|                 ;; ;; directly from the git repository. | ||||
|                 ;; (let  ((tests-qml (if (file-exists? "../client-qt/tests") | ||||
|                 ;;                       "../client-qt/tests/qml" | ||||
|                 ;;                       "../tests/qml"))) | ||||
|                 ;;   (invoke "tests/qml_tests" "-mutejamid" | ||||
|                 ;;           "-input" tests-qml)) | ||||
|                 ;; (invoke "tests/qml_tests") | ||||
|                 )))))) | ||||
|     (native-inputs | ||||
|      (list googletest | ||||
|  | @ -518,6 +310,7 @@ service definitions.") | |||
|            libnotify | ||||
|            libxcb | ||||
|            libxkbcommon | ||||
|            md4c | ||||
|            network-manager | ||||
|            qrencode | ||||
|            qt5compat | ||||
|  | @ -526,6 +319,7 @@ service definitions.") | |||
|            qtnetworkauth | ||||
|            qtpositioning | ||||
|            qtsvg | ||||
|            tidy-html                    ;used by src/app/htmlparser.h | ||||
|            vulkan-loader)) | ||||
|     (home-page "https://jami.net") | ||||
|     (synopsis "Qt Jami client") | ||||
|  | @ -538,8 +332,8 @@ P2P-DHT.") | |||
| 
 | ||||
| (define-public jami-docs | ||||
|   ;; There aren't any tags, so use the latest commit. | ||||
|   (let ((revision "1") | ||||
|         (commit "ff466ebadb9b99a1672a814126793de670c3099b")) | ||||
|   (let ((revision "2") | ||||
|         (commit "a48997de84cc4933bd111fa93fbf6a58189b166d")) | ||||
|     (package | ||||
|       (name "jami-docs") | ||||
|       (version (git-version "0.0.0" revision commit)) | ||||
|  | @ -551,7 +345,7 @@ P2P-DHT.") | |||
|                 (file-name (git-file-name name version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "1n8a9dk8mi617rk3ycz5jrzbwv9ybfynlci5faz1klckx0aqdf6q")))) | ||||
|                   "0a1kcflvk39aag2vk83cn4m0ifkgb3gvwkr8pbbvf0hcd2cj2j31")))) | ||||
|       (build-system copy-build-system) | ||||
|       (arguments | ||||
|        (list | ||||
|  |  | |||
|  | @ -100,13 +100,14 @@ | |||
| 
 | ||||
| (define-public icedtea-7 | ||||
|   (let* ((version "2.6.13") | ||||
|          (drop (lambda (name hash) | ||||
|          (drop (lambda* (name hash #:optional (patches '())) | ||||
|                  (origin | ||||
|                    (method url-fetch) | ||||
|                    (uri (string-append | ||||
|                          "http://icedtea.classpath.org/download/drops" | ||||
|                          "/icedtea7/" version "/" name ".tar.bz2")) | ||||
|                    (sha256 (base32 hash)))))) | ||||
|                    (sha256 (base32 hash)) | ||||
|                    (patches patches))))) | ||||
|     (package | ||||
|       (name "icedtea") | ||||
|       (version version) | ||||
|  | @ -614,7 +615,8 @@ | |||
|                  "110j7jlz47x2gg6f7653x12mssan5kvj9l9h1m1c8c92drfxbqyk")) | ||||
|          ("jdk-drop" | ||||
|           ,(drop "jdk" | ||||
|                  "0d1mca38ksxvdskp9im3pp7fdijhj1n3lwq9w13r9s4v3qyskgdd")) | ||||
|                  "0d1mca38ksxvdskp9im3pp7fdijhj1n3lwq9w13r9s4v3qyskgdd" | ||||
|                  (search-patches "jdk-currency-time-bomb.patch"))) | ||||
|          ("langtools-drop" | ||||
|           ,(drop "langtools" | ||||
|                  "0nq5236fzxn3p6x8cgncl56mzcmsj07q9gymysnws4c8byc6n0qj")) | ||||
|  | @ -687,13 +689,14 @@ IcedTea build harness.") | |||
| 
 | ||||
| (define-public icedtea-8 | ||||
|   (let* ((version "3.19.0") | ||||
|          (drop (lambda (name hash) | ||||
|          (drop (lambda* (name hash #:optional (patches '())) | ||||
|                  (origin | ||||
|                    (method url-fetch) | ||||
|                    (uri (string-append | ||||
|                          "http://icedtea.classpath.org/download/drops" | ||||
|                          "/icedtea8/" version "/" name ".tar.xz")) | ||||
|                    (sha256 (base32 hash)))))) | ||||
|                    (sha256 (base32 hash)) | ||||
|                    (patches patches))))) | ||||
|     (package (inherit icedtea-7) | ||||
|       (version "3.19.0") | ||||
|       (source (origin | ||||
|  | @ -839,7 +842,8 @@ new Date();")) | |||
|                  "1pc0pv4v2mn2mjc0vp19d94v2150xigyhxsmckqasy647zcm6w0r")) | ||||
|          ("jdk-drop" | ||||
|           ,(drop "jdk" | ||||
|                  "1742lcm55l8zhi522x83v65ccr0rd6511q9rj7crw44x3ymdrhrv")) | ||||
|                  "1742lcm55l8zhi522x83v65ccr0rd6511q9rj7crw44x3ymdrhrv" | ||||
|                  (search-patches "jdk-currency-time-bomb2.patch"))) | ||||
|          ("langtools-drop" | ||||
|           ,(drop "langtools" | ||||
|                  "08iz7p2xcddlphipf6gahyabr5cawlnydap12p1n4f0md069b50b")) | ||||
|  | @ -869,14 +873,14 @@ new Date();")) | |||
|                                  (changeset "jdk-9+181"))) | ||||
|               (file-name (hg-file-name name version)) | ||||
|               (modules '((guix build utils))) | ||||
|               (snippet `(begin | ||||
|                           (for-each delete-file | ||||
|                                     (find-files "." ".*.(bin|exe|jar)$")))) | ||||
|               (snippet '(for-each delete-file | ||||
|                                   (find-files "." ".*.(bin|exe|jar)$"))) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1v92nzdqx07c35x945awzir4yk0fk22vky6fpp8mq9js930sxsz0")) | ||||
|               (patches (search-patches "openjdk-9-pointer-comparison.patch" | ||||
|                                        "openjdk-9-setsignalhandler.patch")))) | ||||
|                                        "openjdk-9-setsignalhandler.patch" | ||||
|                                        "openjdk-currency-time-bomb.patch")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (outputs '("out" "jdk" "doc")) | ||||
|     (arguments | ||||
|  | @ -911,8 +915,7 @@ new Date();")) | |||
|              ;; This file was "fixed" by patch-source-shebangs, but it requires | ||||
|              ;; this exact first line. | ||||
|              (substitute* "jdk/make/data/blacklistedcertsconverter/blacklisted.certs.pem" | ||||
|                (("^#!.*") "#! java BlacklistedCertsConverter SHA-256\n")) | ||||
|              #t)) | ||||
|                (("^#!.*") "#! java BlacklistedCertsConverter SHA-256\n")))) | ||||
|          (replace 'configure | ||||
|            (lambda* (#:key inputs outputs #:allow-other-keys) | ||||
|              ;; TODO: unbundle libpng and lcms | ||||
|  | @ -928,14 +931,12 @@ new Date();")) | |||
|                      "--disable-hotspot-gtest" | ||||
|                      "--with-giflib=system" | ||||
|                      "--with-libjpeg=system" | ||||
|                      (string-append "--prefix=" (assoc-ref outputs "out"))) | ||||
|              #t)) | ||||
|                      (string-append "--prefix=" (assoc-ref outputs "out"))))) | ||||
|          (add-before 'build 'write-source-revision-file | ||||
|            (lambda _ | ||||
|              (with-output-to-file ".src-rev" | ||||
|                (lambda _ | ||||
|                  (display ,version))) | ||||
|              #t)) | ||||
|                  (display ,version))))) | ||||
|          (replace 'build | ||||
|            (lambda* (#:key make-flags parallel-build? #:allow-other-keys) | ||||
|              (apply invoke "make" | ||||
|  | @ -978,8 +979,7 @@ new Date();")) | |||
|                               "warning: failed to substitute: ~a~%" | ||||
|                               file)))) | ||||
|                 (find-files "." | ||||
|                             "\\.c$|\\.h$")) | ||||
|                #t))) | ||||
|                             "\\.c$|\\.h$"))))) | ||||
|            ;; By default OpenJDK only generates an empty keystore.  In order to | ||||
|            ;; be able to use certificates in Java programs we need to generate a | ||||
|            ;; keystore from a set of certificates.  For convenience we use the | ||||
|  | @ -1073,8 +1073,7 @@ new Date();")) | |||
|                (symlink (string-append lib-jdk "/server/libjvm.so") | ||||
|                         (string-append lib-jdk "/libjvm.so")) | ||||
|                (symlink (string-append lib-out "/server/libjvm.so") | ||||
|                         (string-append lib-out "/libjvm.so"))) | ||||
|              #t)) | ||||
|                         (string-append lib-out "/libjvm.so"))))) | ||||
|          (replace 'install | ||||
|            (lambda* (#:key outputs #:allow-other-keys) | ||||
|              (let ((out (assoc-ref outputs "out")) | ||||
|  | @ -1084,8 +1083,7 @@ new Date();")) | |||
|                                             #:directories? #t)))) | ||||
|                (copy-recursively (string-append images "/images/jdk") jdk) | ||||
|                (copy-recursively (string-append images "/images/jre") out) | ||||
|                (copy-recursively (string-append images "/images/docs") doc)) | ||||
|              #t)) | ||||
|                (copy-recursively (string-append images "/images/docs") doc)))) | ||||
|          (add-after 'install 'strip-zip-timestamps | ||||
|            (lambda* (#:key outputs #:allow-other-keys) | ||||
|              (for-each (lambda (zip) | ||||
|  | @ -1102,8 +1100,7 @@ new Date();")) | |||
|                            (with-directory-excursion dir | ||||
|                              (let ((files (find-files "." ".*" #:directories? #t))) | ||||
|                                (apply invoke "zip" "-0" "-X" zip files))))) | ||||
|                        (find-files (assoc-ref outputs "doc") ".*.zip$")) | ||||
|              #t))))) | ||||
|                        (find-files (assoc-ref outputs "doc") ".*.zip$"))))))) | ||||
|     (inputs | ||||
|      `(("alsa-lib" ,alsa-lib) | ||||
|        ("cups" ,cups) | ||||
|  | @ -1157,7 +1154,8 @@ new Date();")) | |||
|               (patches (search-patches | ||||
|                         "openjdk-10-idlj-reproducibility.patch" | ||||
|                         "openjdk-10-pointer-comparison.patch" | ||||
|                         "openjdk-10-setsignalhandler.patch")))) | ||||
|                         "openjdk-10-setsignalhandler.patch" | ||||
|                         "openjdk-currency-time-bomb2.patch")))) | ||||
|     (arguments | ||||
|      (substitute-keyword-arguments (package-arguments openjdk9) | ||||
|        ((#:phases phases) | ||||
|  | @ -1179,8 +1177,7 @@ new Date();")) | |||
|                ;; This file was "fixed" by patch-source-shebangs, but it requires | ||||
|                ;; this exact first line. | ||||
|                (substitute* "make/data/blacklistedcertsconverter/blacklisted.certs.pem" | ||||
|                  (("^#!.*") "#! java BlacklistedCertsConverter SHA-256\n")) | ||||
|                #t)) | ||||
|                  (("^#!.*") "#! java BlacklistedCertsConverter SHA-256\n")))) | ||||
|            (replace 'configure | ||||
|              (lambda* (#:key inputs outputs #:allow-other-keys) | ||||
|                (invoke "bash" "./configure" | ||||
|  | @ -1229,7 +1226,9 @@ new Date();")) | |||
|                 "1prvqy0ysz0999wrhsrbz6vrknpqfihl9l74l16ph93g89dqi5ia")) | ||||
|               (modules '((guix build utils))) | ||||
|               (snippet | ||||
|                '(for-each delete-file (find-files "." "\\.(bin|exe|jar)$"))))) | ||||
|                '(for-each delete-file (find-files "." "\\.(bin|exe|jar)$"))) | ||||
|               (patches (search-patches | ||||
|                         "openjdk-currency-time-bomb2.patch")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (outputs '("out" "jdk" "doc")) | ||||
|     (arguments | ||||
|  |  | |||
|  | @ -2314,7 +2314,7 @@ using finite difference.") | |||
| (define-public julia-fitsio | ||||
|   (package | ||||
|     (name "julia-fitsio") | ||||
|     (version "0.17.0") | ||||
|     (version "0.17.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -2323,7 +2323,7 @@ using finite difference.") | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "10w7cdb2cvcwpkcfdz2fwl4ji5rfdv8w9msc9gfd8d34k58bk8c5")))) | ||||
|         (base32 "1mvrr13qvzdpqdp01hzqqyx84cxagyvjwkbizsp3xaabckg48pnz")))) | ||||
|     (build-system julia-build-system) | ||||
|     (native-inputs | ||||
|      (list julia-aqua julia-orderedcollections)) | ||||
|  |  | |||
|  | @ -494,7 +494,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.6-version "6.6.9") | ||||
| (define-public linux-libre-6.6-version "6.6.10") | ||||
| (define-public linux-libre-6.6-gnu-revision "gnu") | ||||
| (define deblob-scripts-6.6 | ||||
|   (linux-libre-deblob-scripts | ||||
|  | @ -504,7 +504,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." | |||
|    (base32 "0kavbby960k7wg355p3hjb9v1c4gnk8dv3lkfhpz44ayhv7kihg5"))) | ||||
| (define-public linux-libre-6.6-pristine-source | ||||
|   (let ((version linux-libre-6.6-version) | ||||
|         (hash (base32 "1cs8ym3yq9czjx6sbxpmn16l6a577mc4c1ff7nk1p2gw1jpnbg4f"))) | ||||
|         (hash (base32 "0v2l0l90w7scv7bxkxxjgqnay0fjh678k9gdlgycgbh9q7j2grly"))) | ||||
|    (make-linux-libre-source version | ||||
|                             (%upstream-linux-source version hash) | ||||
|                             deblob-scripts-6.6))) | ||||
|  | @ -512,7 +512,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.70") | ||||
| (define-public linux-libre-6.1-version "6.1.71") | ||||
| (define-public linux-libre-6.1-gnu-revision "gnu") | ||||
| (define deblob-scripts-6.1 | ||||
|   (linux-libre-deblob-scripts | ||||
|  | @ -522,82 +522,82 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." | |||
|    (base32 "1jg2v1nxd6i5x536vmd1l14xhpzrcimpmjfipb1zkrwil102y25f"))) | ||||
| (define-public linux-libre-6.1-pristine-source | ||||
|   (let ((version linux-libre-6.1-version) | ||||
|         (hash (base32 "1vxgardfm2fi4c7zkxpljqicllfqqnp835a9lyb7dh2nchk6a4zd"))) | ||||
|         (hash (base32 "0hghnwsa282js9hy4krhdbgrb4khjzslr05zgvjx9zzragfp9xrd"))) | ||||
|    (make-linux-libre-source version | ||||
|                             (%upstream-linux-source version hash) | ||||
|                             deblob-scripts-6.1))) | ||||
| 
 | ||||
| (define-public linux-libre-5.15-version "5.15.145") | ||||
| (define-public linux-libre-5.15-version "5.15.146") | ||||
| (define-public linux-libre-5.15-gnu-revision "gnu") | ||||
| (define deblob-scripts-5.15 | ||||
|   (linux-libre-deblob-scripts | ||||
|    linux-libre-5.15-version | ||||
|    linux-libre-5.15-gnu-revision | ||||
|    (base32 "18ac30kxg2mf2f6gk3p935hzhz2qs110jy4xwk21kblnnkskbxj8") | ||||
|    (base32 "1idjrn2w8jrixj8ifkk1awxyyq5042nc4p2mld4rda96azlnp948"))) | ||||
|    (base32 "14pw0yl0yxdgcdp01rpi91ylil9irwzxfq04kfvn3gg2abaq37bn"))) | ||||
| (define-public linux-libre-5.15-pristine-source | ||||
|   (let ((version linux-libre-5.15-version) | ||||
|         (hash (base32 "086nssif66s86wkixz4yb7xilz1k49g32l0ib28r8fjzc23rv95j"))) | ||||
|         (hash (base32 "14nijbspmzd4r38l8cpl4vn9dhawzcfnhyc0gnaxl2m8l9gpm02s"))) | ||||
|    (make-linux-libre-source version | ||||
|                             (%upstream-linux-source version hash) | ||||
|                             deblob-scripts-5.15))) | ||||
| 
 | ||||
| (define-public linux-libre-5.10-version "5.10.205") | ||||
| (define-public linux-libre-5.10-version "5.10.206") | ||||
| (define-public linux-libre-5.10-gnu-revision "gnu1") | ||||
| (define deblob-scripts-5.10 | ||||
|   (linux-libre-deblob-scripts | ||||
|    linux-libre-5.10-version | ||||
|    linux-libre-5.10-gnu-revision | ||||
|    (base32 "1b33rkn32b923025iiz4xzxiy8y5ii9j5qk4021mg575890rl4ch") | ||||
|    (base32 "0xrrnmb5kcc5r21bdm24aq0fnkk1imn367c1cxlj78b6l6gigx4b"))) | ||||
|    (base32 "0zmmqj5gyiy2q81f199c29b14isfiqbvl87y72k14yy0q5398276"))) | ||||
| (define-public linux-libre-5.10-pristine-source | ||||
|   (let ((version linux-libre-5.10-version) | ||||
|         (hash (base32 "0qw8g0h4k0b4dyvspbj51cwr68ihwjzsi2b2261ipy3l1nl1fln5"))) | ||||
|         (hash (base32 "0ns8qxcrxj9i76b93xcghl002l8vbkg7ksd435sikig62qr62gf4"))) | ||||
|    (make-linux-libre-source version | ||||
|                             (%upstream-linux-source version hash) | ||||
|                             deblob-scripts-5.10))) | ||||
| 
 | ||||
| (define-public linux-libre-5.4-version "5.4.265") | ||||
| (define-public linux-libre-5.4-version "5.4.266") | ||||
| (define-public linux-libre-5.4-gnu-revision "gnu1") | ||||
| (define deblob-scripts-5.4 | ||||
|   (linux-libre-deblob-scripts | ||||
|    linux-libre-5.4-version | ||||
|    linux-libre-5.4-gnu-revision | ||||
|    (base32 "0xg5cz82k2cb0ikxvwv1hp5c3h377jkb5sd6aszvsk7hnabhk62v") | ||||
|    (base32 "0sw67b2pk3lng4y67diqqnhxaggnp3nbkx8dxc5fs27rinfxr4m1"))) | ||||
|    (base32 "08wn4rjrmi8asmdkg92xbbm6v0sw44kackp69agbw57zy6fp2zys"))) | ||||
| (define-public linux-libre-5.4-pristine-source | ||||
|   (let ((version linux-libre-5.4-version) | ||||
|         (hash (base32 "05cvvwjiznn7hfd02qklklalg0chahvh5v18w64lcva6kzj9kbjd"))) | ||||
|         (hash (base32 "1dmcn9i3nvf1gldm1a32gnl5ybwbk2lizb3wa4gc06g7dxz2y1ys"))) | ||||
|    (make-linux-libre-source version | ||||
|                             (%upstream-linux-source version hash) | ||||
|                             deblob-scripts-5.4))) | ||||
| 
 | ||||
| (define-public linux-libre-4.19-version "4.19.303") | ||||
| (define-public linux-libre-4.19-version "4.19.304") | ||||
| (define-public linux-libre-4.19-gnu-revision "gnu1") | ||||
| (define deblob-scripts-4.19 | ||||
|   (linux-libre-deblob-scripts | ||||
|    linux-libre-4.19-version | ||||
|    linux-libre-4.19-gnu-revision | ||||
|    (base32 "0pjal2cc2f99cvw8r4icb4l24j41k48jkj6bqk7pcahzcgx33ycb") | ||||
|    (base32 "1425mhkfxn18vxn05bb4h3li7x1jl7l1hf1zi8xhnqv3wa31h9wl"))) | ||||
|    (base32 "07j33w4pq319gaypfsym6v0i2xqc5jagm47nxyy2010zn8k6y8kd"))) | ||||
| (define-public linux-libre-4.19-pristine-source | ||||
|   (let ((version linux-libre-4.19-version) | ||||
|         (hash (base32 "0dlbl47xs7z4yf9cxbxqzd7zs1f9070jr6ck231wgppa6lwwwb82"))) | ||||
|         (hash (base32 "165mljr8v1cf4vf4a4b44hx089rprkssvi2azq5wbxxg3basbind"))) | ||||
|     (make-linux-libre-source version | ||||
|                              (%upstream-linux-source version hash) | ||||
|                              deblob-scripts-4.19))) | ||||
| 
 | ||||
| (define-public linux-libre-4.14-version "4.14.334") | ||||
| (define-public linux-libre-4.14-version "4.14.335") | ||||
| (define-public linux-libre-4.14-gnu-revision "gnu1") | ||||
| (define deblob-scripts-4.14 | ||||
|   (linux-libre-deblob-scripts | ||||
|    linux-libre-4.14-version | ||||
|    linux-libre-4.14-gnu-revision | ||||
|    (base32 "1vbgykwzf7j0yjqcwn747cfhwj0rgw3s9h627q94wb9a19x9p0fr") | ||||
|    (base32 "1faagsj4i31z2bp83hflx3q9vrddjnn37a3ah2b47iaplva7z1nd"))) | ||||
|    (base32 "1ir96bbhw77xw6lmsnh42gi130nnzjklpgfyd46pxmqckrpydcvx"))) | ||||
| (define-public linux-libre-4.14-pristine-source | ||||
|   (let ((version linux-libre-4.14-version) | ||||
|         (hash (base32 "0iaaqdkszmfarvjfszc9rf7y9zsv3w82934xmvmzmsbiz86547ca"))) | ||||
|         (hash (base32 "0aa0xi1sn4rw9ichgmvxp0s9hsi6rfzhzd9wgbvzvc90md2qfs19"))) | ||||
|     (make-linux-libre-source version | ||||
|                              (%upstream-linux-source version hash) | ||||
|                              deblob-scripts-4.14))) | ||||
|  | @ -7520,15 +7520,16 @@ running boot option, and more.") | |||
| (define-public sysstat | ||||
|   (package | ||||
|     (name "sysstat") | ||||
|     (version "12.4.4") | ||||
|     (version "12.7.5") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "http://pagesperso-orange.fr/sebastien.godard/" | ||||
|        (uri (string-append "https://sysstat.github.io/sysstat-packages/" | ||||
|                            "sysstat-" version ".tar.xz")) | ||||
|        (sha256 | ||||
|         (base32 "091xjip7l52dxal8dsfh5chksr4g9gclnssw3hjjxy84kr3yf4lm")))) | ||||
|         (base32 "0ssdrm3k0fclq5b5i0aznfwdkbac9l9cf88idaq3pls9lm040rjp")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs (list gettext-minimal)) | ||||
|     (arguments | ||||
|      `(#:tests? #f                      ; no test suite. | ||||
|        ;; Without this flag, it tries to install the man pages with group 'root' | ||||
|  | @ -7545,7 +7546,7 @@ running boot option, and more.") | |||
|              (substitute* "Makefile" | ||||
|                (("mkdir -p \\$\\(DESTDIR\\)\\$\\(SA_DIR\\)") | ||||
|                 ""))))))) | ||||
|     (home-page "http://sebastien.godard.pagesperso-orange.fr/") | ||||
|     (home-page "https://sysstat.github.io") | ||||
|     (synopsis "Performance monitoring tools for Linux") | ||||
|     (description "The sysstat utilities are a collection of performance | ||||
| monitoring tools for Linux.  These include @code{mpstat}, @code{iostat}, | ||||
|  | @ -9490,7 +9491,7 @@ tools for managing PipeWire.") | |||
| (define-public ell | ||||
|   (package | ||||
|     (name "ell") | ||||
|     (version "0.59") | ||||
|     (version "0.61") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|  | @ -9499,7 +9500,7 @@ tools for managing PipeWire.") | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "11xlkdvw7pyd9idq1zsnl946dry9aksnz29wbpzxqjc97xhhd5xq")))) | ||||
|                 "1lkjf24ap40wk747z1iv8ds8z40alc5x8rzsgczjj1707x2ik6mj")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      ;; Tests launch dbus-daemon instances that all try to bind to | ||||
|  |  | |||
|  | @ -14,7 +14,7 @@ | |||
| ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com> | ||||
| ;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> | ||||
| ;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com> | ||||
| ;;; Copyright © 2019-2023 Guillaume Le Vaillant <glv@posteo.net> | ||||
| ;;; Copyright © 2019-2024 Guillaume Le Vaillant <glv@posteo.net> | ||||
| ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> | ||||
| ;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net> | ||||
| ;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech> | ||||
|  | @ -23,10 +23,10 @@ | |||
| ;;; Copyright © 2020-2023 Sharlatan Hellseher <sharlatanus@gmail.com> | ||||
| ;;; Copyright © 2021, 2022 Aurora <rind38@disroot.org> | ||||
| ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org> | ||||
| ;;; Copyright © 2021, 2022, 2023 André A. Gomes <andremegafone@gmail.com> | ||||
| ;;; Copyright © 2021-2024 André A. Gomes <andremegafone@gmail.com> | ||||
| ;;; Copyright © 2021, 2022, 2023 Cage <cage-dev@twistfold.it> | ||||
| ;;; Copyright © 2021 Cameron Chaparro <cameron@cameronchaparro.com> | ||||
| ;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com> | ||||
| ;;; Copyright © 2021, 2024 Charles Jackson <charles.b.jackson@protonmail.com> | ||||
| ;;; Copyright © 2021, 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com> | ||||
| ;;; Copyright © 2021, 2022, 2023 jgart <jgart@dismail.de> | ||||
| ;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org> | ||||
|  | @ -168,29 +168,30 @@ | |||
|   (sbcl-package->ecl-package sbcl-alexandria-plus)) | ||||
| 
 | ||||
| (define-public sbcl-alexandria | ||||
|   (package | ||||
|    (name "sbcl-alexandria") | ||||
|    (version "1.4") | ||||
|    (source | ||||
|     (origin | ||||
|      (method git-fetch) | ||||
|      (uri (git-reference | ||||
|            (url "https://gitlab.common-lisp.net/alexandria/alexandria.git") | ||||
|            (commit (string-append "v" version)))) | ||||
|      (sha256 | ||||
|       (base32 | ||||
|        "0r1adhvf98h0104vq14q7y99h0hsa8wqwqw92h7ghrjxmsvz2z6l")) | ||||
|      (file-name (git-file-name name version)))) | ||||
|    (build-system asdf-build-system/sbcl) | ||||
|    (native-inputs | ||||
|     (list sbcl-rt)) | ||||
|    (synopsis "Collection of portable utilities for Common Lisp") | ||||
|    (description | ||||
|     "Alexandria is a collection of portable utilities.  It does not contain | ||||
|   (let ((commit "009b7e532071d9777bdbd63b82d776555da95916") | ||||
|         (revision "0")) | ||||
|     (package | ||||
|       (name "sbcl-alexandria") | ||||
|       (version (git-version "1.4" revision commit)) | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|          (uri (git-reference | ||||
|                (url "https://gitlab.common-lisp.net/alexandria/alexandria.git") | ||||
|                (commit commit))) | ||||
|          (file-name (git-file-name "cl-alexandria" version)) | ||||
|          (sha256 | ||||
|           (base32 "0pdj779j3nwzn8f1661vf00rrjrbks1xgiq0rvwjw6qyxsfqfnl9")))) | ||||
|       (build-system asdf-build-system/sbcl) | ||||
|       (native-inputs | ||||
|        (list sbcl-rt)) | ||||
|       (synopsis "Collection of portable utilities for Common Lisp") | ||||
|       (description | ||||
|        "Alexandria is a collection of portable utilities.  It does not contain | ||||
| conceptual extensions to Common Lisp.  It is conservative in scope, and | ||||
| portable between implementations.") | ||||
|    (home-page "https://common-lisp.net/project/alexandria/") | ||||
|    (license license:public-domain))) | ||||
|       (home-page "https://common-lisp.net/project/alexandria/") | ||||
|       (license license:public-domain)))) | ||||
| 
 | ||||
| (define-public cl-alexandria | ||||
|   (sbcl-package->cl-source-package sbcl-alexandria)) | ||||
|  | @ -1067,6 +1068,42 @@ options, e.g., by looking up an external key/value store | |||
| (define-public ecl-clingon | ||||
|   (sbcl-package->ecl-package sbcl-clingon)) | ||||
| 
 | ||||
| (define-public sbcl-command-line-args | ||||
|   (package | ||||
|     (name "sbcl-command-line-args") | ||||
|     (version "0.0.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://git.sr.ht/~whereiseveryone/command-line-args") | ||||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name "cl-command-line-args" version)) | ||||
|        (sha256 | ||||
|         (base32 "01p52zxr1b49c15ichlc3zadd1mrmwxzria53j949ayl2j6k8w1b")))) | ||||
|     (build-system asdf-build-system/sbcl) | ||||
|     (arguments | ||||
|      '(#:asd-systems '("whereiseveryone.command-line-args"))) | ||||
|     (inputs | ||||
|      (list sbcl-alexandria | ||||
|            sbcl-cl-str | ||||
|            sbcl-serapeum | ||||
|            sbcl-trivia)) | ||||
|     (home-page "https://git.sr.ht/~whereiseveryone/command-line-args") | ||||
|     (synopsis "Automatically generate command line interfaces") | ||||
|     (description "Command-Line-Args provides a main macro (@code{command}) | ||||
| that wraps a @code{defun} form and creates a new function that parses the | ||||
| command line arguments.  It has support for command-line options, positional, | ||||
| and variadic arguments.  It also generates a basic help message.  The | ||||
| interface is meant to be easy and non-intrusive.") | ||||
|     (license license:agpl3+))) | ||||
| 
 | ||||
| (define-public cl-command-line-args | ||||
|   (sbcl-package->cl-source-package sbcl-command-line-args)) | ||||
| 
 | ||||
| (define-public ecl-command-line-args | ||||
|   (sbcl-package->ecl-package sbcl-command-line-args)) | ||||
| 
 | ||||
| (define-public sbcl-cl-irc | ||||
|   (let ((commit "963823537c7bfcda2edd4c44d172192da6722175") | ||||
|         (revision "0")) | ||||
|  | @ -1280,14 +1317,14 @@ timeouts.") | |||
| (define-public sbcl-bordeaux-threads | ||||
|   (package | ||||
|     (name "sbcl-bordeaux-threads") | ||||
|     (version "0.9.2") | ||||
|     (version "0.9.3") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://github.com/sionescu/bordeaux-threads") | ||||
|                     (commit (string-append "v" version)))) | ||||
|               (sha256 | ||||
|                (base32 "0d9sd7pm91yhln95z8nclhn6n4l5b2cp3pxpggpmpv7rsq84ssmh")) | ||||
|                (base32 "0pp3w5hsph47sqagr4j2pbg3ddb29jx93zg8kvxsp2c4flp0qz0f")) | ||||
|               (file-name (git-file-name "cl-bordeaux-threads" version)))) | ||||
|     (inputs (list sbcl-alexandria | ||||
|                   sbcl-global-vars | ||||
|  | @ -1299,16 +1336,6 @@ timeouts.") | |||
|      (list | ||||
|        #:phases | ||||
|        #~(modify-phases %standard-phases | ||||
|            (add-after 'unpack 'silence-deprecation-warning | ||||
|              (lambda _ | ||||
|                ;; The deprecation warning for APIv1 makes the build of some | ||||
|                ;; of the dependents of bordeaux-threads fail because they | ||||
|                ;; interpret it as an error instead of a simple indication. | ||||
|                ;; Let's silence this warning for now. | ||||
|                (substitute* (cons* "apiv1/default-implementations.lisp" | ||||
|                                    (find-files "apiv1" "impl-.*\\.lisp")) | ||||
|                  (("\\(warn \"Bordeaux-Threads APIv1 is deprecated\\. Please migrate to APIv2\\.\"\\)") | ||||
|                   "")))) | ||||
|            (add-after 'unpack 'adjust-test-sleep | ||||
|              (lambda _ | ||||
|                ;; 0.001 is too short for some slower machines. | ||||
|  | @ -1360,35 +1387,37 @@ thin compatibility layer for gray streams.") | |||
|   (sbcl-package->ecl-package sbcl-trivial-gray-streams)) | ||||
| 
 | ||||
| (define-public sbcl-flexi-streams | ||||
|   (package | ||||
|     (name "sbcl-flexi-streams") | ||||
|     (version "1.0.19") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/edicl/flexi-streams") | ||||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name "flexi-streams" version)) | ||||
|        (sha256 | ||||
|         (base32 "0v7lh4nrldzczd4mwylvmxfdxk7wfsli24iv1axd6mkb833llr70")))) | ||||
|     (build-system asdf-build-system/sbcl) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'make-git-checkout-writable | ||||
|            (lambda _ | ||||
|              (for-each make-file-writable (find-files ".")) | ||||
|              #t))))) | ||||
|     (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams))) | ||||
|     (synopsis "Implementation of virtual bivalent streams for Common Lisp") | ||||
|     (description "Flexi-streams is an implementation of \"virtual\" bivalent | ||||
|   (let ((commit "74a1027311371a57258eba1bc908e050f5702277") | ||||
|         (revision "0")) | ||||
|     (package | ||||
|       (name "sbcl-flexi-streams") | ||||
|       (version (git-version "1.0.19" revision commit)) | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|          (uri (git-reference | ||||
|                (url "https://github.com/edicl/flexi-streams") | ||||
|                (commit commit))) | ||||
|          (file-name (git-file-name "cl-flexi-streams" version)) | ||||
|          (sha256 | ||||
|           (base32 "04azqvz11s8dngy49bjl19hrfn0ip1b7m0szm4hlppq364msil7b")))) | ||||
|       (build-system asdf-build-system/sbcl) | ||||
|       (arguments | ||||
|        (list #:phases | ||||
|              #~(modify-phases %standard-phases | ||||
|                  (add-after 'unpack 'make-git-checkout-writable | ||||
|                    (lambda _ | ||||
|                      (for-each make-file-writable (find-files "."))))))) | ||||
|       (inputs | ||||
|        (list sbcl-trivial-gray-streams)) | ||||
|       (synopsis "Implementation of virtual bivalent streams for Common Lisp") | ||||
|       (description "Flexi-streams is an implementation of \"virtual\" bivalent | ||||
| streams that can be layered atop real binary or bivalent streams and that can | ||||
| be used to read and write character data in various single- or multi-octet | ||||
| encodings which can be changed on the fly.  It also supplies in-memory binary | ||||
| streams which are similar to string streams.") | ||||
|     (home-page "http://weitz.de/flexi-streams/") | ||||
|     (license license:bsd-3))) | ||||
|       (home-page "http://weitz.de/flexi-streams/") | ||||
|       (license license:bsd-3)))) | ||||
| 
 | ||||
| (define-public cl-flexi-streams | ||||
|   (sbcl-package->cl-source-package sbcl-flexi-streams)) | ||||
|  | @ -4843,27 +4872,29 @@ precisely controls the behavior of the parser via Common Lisp restarts.") | |||
|   (sbcl-package->ecl-package sbcl-unix-opts)) | ||||
| 
 | ||||
| (define-public sbcl-trivial-garbage | ||||
|   (package | ||||
|     (name "sbcl-trivial-garbage") | ||||
|     (version "0.21") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/trivial-garbage/trivial-garbage") | ||||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name "trivial-garbage" version)) | ||||
|        (sha256 | ||||
|         (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n")))) | ||||
|     (build-system asdf-build-system/sbcl) | ||||
|     (native-inputs | ||||
|      (list sbcl-rt)) | ||||
|     (home-page "https://common-lisp.net/project/trivial-garbage/") | ||||
|     (synopsis "Portable GC-related APIs for Common Lisp") | ||||
|     (description "@command{trivial-garbage} provides a portable API to | ||||
|   (let ((commit "3474f6414b73d4e3aa2d5c53080f4247a34f6380") | ||||
|         (revision "0")) | ||||
|     (package | ||||
|       (name "sbcl-trivial-garbage") | ||||
|       (version (git-version "0.21" revision commit)) | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|          (uri (git-reference | ||||
|                (url "https://github.com/trivial-garbage/trivial-garbage") | ||||
|                (commit commit))) | ||||
|          (file-name (git-file-name "cl-trivial-garbage" version)) | ||||
|          (sha256 | ||||
|           (base32 "0rfwxvwg0kpcaa0hsi035yrkfdfks4bq8d9azmrww2f0rmv9g6sd")))) | ||||
|       (build-system asdf-build-system/sbcl) | ||||
|       (native-inputs | ||||
|        (list sbcl-rt)) | ||||
|       (home-page "https://common-lisp.net/project/trivial-garbage/") | ||||
|       (synopsis "Portable GC-related APIs for Common Lisp") | ||||
|       (description "@command{trivial-garbage} provides a portable API to | ||||
| finalizers, weak hash-tables and weak pointers on all major implementations of | ||||
| the Common Lisp programming language.") | ||||
|     (license license:public-domain))) | ||||
|       (license license:public-domain)))) | ||||
| 
 | ||||
| (define-public cl-trivial-garbage | ||||
|   (sbcl-package->cl-source-package sbcl-trivial-garbage)) | ||||
|  | @ -5108,39 +5139,40 @@ WebKit browsing engine.") | |||
|   (sbcl-package->ecl-package sbcl-cl-webkit)) | ||||
| 
 | ||||
| (define-public sbcl-lparallel | ||||
|   (package | ||||
|     (name "sbcl-lparallel") | ||||
|     (version "2.8.4") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/lmj/lparallel/") | ||||
|              (commit (string-append "lparallel-" version)))) | ||||
|        (file-name (git-file-name "lparallel" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9")))) | ||||
|     (build-system asdf-build-system/sbcl) | ||||
|     (inputs | ||||
|      `(("alexandria" ,sbcl-alexandria) | ||||
|        ("bordeaux-threads" ,sbcl-bordeaux-threads) | ||||
|        ("trivial-garbage" ,sbcl-trivial-garbage))) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'fix-dependency | ||||
|            ;; lparallel loads a SBCL specific system in its asd file. This is | ||||
|            ;; not carried over into the fasl which is generated. In order for | ||||
|            ;; it to be carried over, it needs to be listed as a dependency. | ||||
|            (lambda _ | ||||
|              (substitute* "lparallel.asd" | ||||
|                ((":depends-on \\(:alexandria" all) | ||||
|                 (string-append all " #+sbcl :sb-cltl2")))))))) | ||||
|     (home-page "https://lparallel.org/") | ||||
|     (synopsis "Parallelism for Common Lisp") | ||||
|     (description | ||||
|      "@command{lparallel} is a library for parallel programming in Common | ||||
|   (let ((commit "80fc2952a074776abd343d6b5d3ab157f0e1df7a") | ||||
|         (revision "1")) | ||||
|     (package | ||||
|       (name "sbcl-lparallel") | ||||
|       (version (git-version "2.8.4" revision commit)) | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|          (uri (git-reference | ||||
|                (url "https://github.com/sharplispers/lparallel/") | ||||
|                (commit commit))) | ||||
|          (file-name (git-file-name "cl-lparallel" version)) | ||||
|          (sha256 | ||||
|           (base32 "0nv2dx8cl25g68icqhw95yr5mygm86lcjzmzijql51na1p60g6y9")))) | ||||
|       (build-system asdf-build-system/sbcl) | ||||
|       (inputs | ||||
|        (list sbcl-alexandria | ||||
|              sbcl-bordeaux-threads | ||||
|              sbcl-trivial-garbage)) | ||||
|       (arguments | ||||
|        `(#:phases | ||||
|          (modify-phases %standard-phases | ||||
|            (add-after 'unpack 'fix-dependency | ||||
|              ;; lparallel loads a SBCL specific system in its asd file. This is | ||||
|              ;; not carried over into the fasl which is generated. In order for | ||||
|              ;; it to be carried over, it needs to be listed as a dependency. | ||||
|              (lambda _ | ||||
|                (substitute* "lparallel.asd" | ||||
|                  ((":depends-on \\(:alexandria" all) | ||||
|                   (string-append all " #+sbcl :sb-cltl2")))))))) | ||||
|       (home-page "https://lparallel.org/") | ||||
|       (synopsis "Parallelism for Common Lisp") | ||||
|       (description | ||||
|        "@command{lparallel} is a library for parallel programming in Common | ||||
| Lisp, featuring: | ||||
| 
 | ||||
| @itemize | ||||
|  | @ -5155,17 +5187,13 @@ Lisp, featuring: | |||
| @item task killing by category, | ||||
| @item integrated timeouts. | ||||
| @end itemize\n") | ||||
|     (license license:expat))) | ||||
|       (license license:expat)))) | ||||
| 
 | ||||
| (define-public cl-lparallel | ||||
|   (sbcl-package->cl-source-package sbcl-lparallel)) | ||||
| 
 | ||||
| (define-public ecl-lparallel | ||||
|   (package | ||||
|     (inherit (sbcl-package->ecl-package sbcl-lparallel)) | ||||
|     (arguments | ||||
|      ;; TODO: Find why the tests get stuck forever; disable them for now. | ||||
|      `(#:tests? #f)))) | ||||
|   (sbcl-package->ecl-package sbcl-lparallel)) | ||||
| 
 | ||||
| (define-public sbcl-cl-markup | ||||
|   (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390")) | ||||
|  | @ -6134,6 +6162,38 @@ BTCPay, Paypal, and Stripe.") | |||
| (define-public ecl-lisp-pay | ||||
|   (sbcl-package->ecl-package sbcl-lisp-pay)) | ||||
| 
 | ||||
| (define-public sbcl-stripe | ||||
|   (let ((commit "b59631d21d63e101de6eb96b56941471504ba644") | ||||
|         (revision "0")) | ||||
|     (package | ||||
|       (name "sbcl-stripe") | ||||
|       (version (git-version "0.0.0" revision commit)) | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|          (uri (git-reference | ||||
|                (url "https://github.com/atlas-engineer/stripe") | ||||
|                (commit commit))) | ||||
|          (file-name (git-file-name "cl-stripe" version)) | ||||
|          (sha256 | ||||
|           (base32 "00sfq2f6dnpwa6pf7rgw5hazbwx4yf1g0jrkfz9h4kq5zyxwk1cy")))) | ||||
|       (build-system asdf-build-system/sbcl) | ||||
|       (inputs | ||||
|        (list sbcl-dexador | ||||
|              sbcl-golden-utils | ||||
|              sbcl-local-time | ||||
|              sbcl-yason)) | ||||
|       (home-page "https://github.com/atlas-engineer/stripe") | ||||
|       (synopsis "Stripe payment API client for Common Lisp") | ||||
|       (description "A client for the Stripe payment API.") | ||||
|       (license license:expat)))) | ||||
| 
 | ||||
| (define-public cl-stripe | ||||
|   (sbcl-package->cl-source-package sbcl-stripe)) | ||||
| 
 | ||||
| (define-public ecl-stripe | ||||
|   (sbcl-package->ecl-package sbcl-stripe)) | ||||
| 
 | ||||
| (define-public sbcl-drakma | ||||
|   (package | ||||
|     (name "sbcl-drakma") | ||||
|  | @ -16336,8 +16396,8 @@ directly.") | |||
|   (sbcl-package->ecl-package sbcl-custom-hash-table)) | ||||
| 
 | ||||
| (define-public sbcl-concurrent-hash-tables | ||||
|   (let ((commit "1b9f0b5da54fece4f42296e1bdacfcec0c370a5a") | ||||
|         (revision "0")) | ||||
|   (let ((commit "6ad539b8970ff94b1e1369b59065ed7d0660904c") | ||||
|         (revision "1")) | ||||
|     (package | ||||
|       (name "sbcl-concurrent-hash-tables") | ||||
|       (version (git-version "0.0.0" revision commit)) | ||||
|  | @ -16349,7 +16409,7 @@ directly.") | |||
|                (commit commit))) | ||||
|          (file-name (git-file-name "cl-concurrent-hash-tables" version)) | ||||
|          (sha256 | ||||
|           (base32 "03g24ycr1ngzg8bv10iwp1bmnldz5bxbfdqrzhfxhicpibh49r96")))) | ||||
|           (base32 "0wgbv3wl33rlfbywmjag0gk7igzfksmib30r8cbnd5n47ic09iip")))) | ||||
|       (build-system asdf-build-system/sbcl) | ||||
|       (inputs | ||||
|        (list sbcl-atomics sbcl-bordeaux-threads)) | ||||
|  | @ -26292,43 +26352,45 @@ extra features like type inference.") | |||
|   (sbcl-package->cl-source-package sbcl-nclasses)) | ||||
| 
 | ||||
| (define-public sbcl-prompter | ||||
|   (package | ||||
|     (name "sbcl-prompter") | ||||
|     (version "0.1.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/atlas-engineer/prompter") | ||||
|              (commit version))) | ||||
|        (file-name (git-file-name "cl-prompter" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "008bq36siza9qwmz6b1pvpm53lxmzryahnhy372l18gl3180in03")))) | ||||
|     (build-system asdf-build-system/sbcl) | ||||
|     (inputs | ||||
|      (list | ||||
|       sbcl-alexandria | ||||
|       sbcl-calispel | ||||
|       sbcl-cl-containers | ||||
|       sbcl-cl-str | ||||
|       sbcl-closer-mop | ||||
|       sbcl-lparallel | ||||
|       sbcl-moptilities | ||||
|       sbcl-nclasses | ||||
|       sbcl-serapeum | ||||
|       sbcl-trivial-package-local-nicknames)) | ||||
|     (native-inputs | ||||
|      (list sbcl-lisp-unit2)) | ||||
|     (home-page "https://github.com/atlas-engineer/prompter") | ||||
|     (synopsis "Live-narrowing, fuzzy-matching, extensible prompt framework") | ||||
|     (description | ||||
|      "This prompter library is heavily inspired by Emacs' minibuffer and | ||||
|   (let ((commit "7890ed5d02e70aba01ceb964c6ee4f40776e7dc0") | ||||
|         (revision "0")) | ||||
|     (package | ||||
|       (name "sbcl-prompter") | ||||
|       (version (git-version "0.1.1" revision commit)) | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|          (uri (git-reference | ||||
|                (url "https://github.com/atlas-engineer/prompter") | ||||
|                (commit commit))) | ||||
|          (file-name (git-file-name "cl-prompter" version)) | ||||
|          (sha256 | ||||
|           (base32 | ||||
|            "0r15a6cagyp5x8aqx92ln2anni737h73bdshkvpzrac04ajss4md")))) | ||||
|       (build-system asdf-build-system/sbcl) | ||||
|       (inputs | ||||
|        (list | ||||
|         sbcl-alexandria | ||||
|         sbcl-calispel | ||||
|         sbcl-cl-containers | ||||
|         sbcl-cl-str | ||||
|         sbcl-closer-mop | ||||
|         sbcl-lparallel | ||||
|         sbcl-moptilities | ||||
|         sbcl-nclasses | ||||
|         sbcl-serapeum | ||||
|         sbcl-trivial-package-local-nicknames)) | ||||
|       (native-inputs | ||||
|        (list sbcl-lisp-unit2)) | ||||
|       (home-page "https://github.com/atlas-engineer/prompter") | ||||
|       (synopsis "Live-narrowing, fuzzy-matching, extensible prompt framework") | ||||
|       (description | ||||
|        "This prompter library is heavily inspired by Emacs' minibuffer and | ||||
| Helm (@url{https://emacs-helm.github.io/helm/}).  It only deals with the | ||||
| backend side of things, it does not handle any display.  Features include | ||||
| asynchronous suggestion computation, multiple sources, actions and resumable | ||||
| prompters.") | ||||
|     (license license:bsd-3))) | ||||
|       (license license:bsd-3)))) | ||||
| 
 | ||||
| (define-public cl-prompter | ||||
|   (sbcl-package->cl-source-package sbcl-prompter)) | ||||
|  |  | |||
|  | @ -14,7 +14,7 @@ | |||
| ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com> | ||||
| ;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> | ||||
| ;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com> | ||||
| ;;; Copyright © 2019-2023 Guillaume Le Vaillant <glv@posteo.net> | ||||
| ;;; Copyright © 2019-2024 Guillaume Le Vaillant <glv@posteo.net> | ||||
| ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> | ||||
| ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> | ||||
| ;;; Copyright © 2021, 2023 Sharlatan Hellseher <sharlatanus@gmail.com> | ||||
|  | @ -439,14 +439,17 @@ an interpreter, a compiler, a debugger, and much more.") | |||
| (define-public sbcl | ||||
|   (package | ||||
|     (name "sbcl") | ||||
|     (version "2.3.7") | ||||
|     (version "2.4.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-" | ||||
|                            version "-source.tar.bz2")) | ||||
|        (sha256 | ||||
|         (base32 "1xwr1pnwd3xj375ainlad7mm479rk2mrks8dc6d92cash3xl90b9")) | ||||
|         (base32 "0xhpdnsg8idzxkn20iw8gd2rk470d7vc22vrp5clq9fj117vgn43")) | ||||
|        ;; TODO: Remove these patches when updating to sbcl > 2.4.0. | ||||
|        (patches (search-patches "sbcl-fix-ppc64-build.patch" | ||||
|                                 "sbcl-fix-riscv-build.patch")) | ||||
|        (modules '((guix build utils))) | ||||
|        (snippet | ||||
|         '(begin | ||||
|  | @ -1485,7 +1488,7 @@ includes a compiler as well as an interpreter.") | |||
| 
 | ||||
| (define-public s7-bootstrap | ||||
|   ;; Need s7-bootstrap to build libc_s7.so (for the REPL) and run tests | ||||
|   (let ((commit "a5b4bb49f8bcd7c33ae2366065fc8c254b734460") ;no releases | ||||
|   (let ((commit "618de30e0f9851515724245e3ebbfa1be4de6906") ;no releases | ||||
|         (revision "0")) | ||||
|     (hidden-package | ||||
|      (package | ||||
|  | @ -1499,7 +1502,7 @@ includes a compiler as well as an interpreter.") | |||
|                  (file-name (git-file-name name version)) | ||||
|                  (sha256 | ||||
|                   (base32 | ||||
|                    "03n1axdlypzmbgzrhlwfqwa1xiw36hi25j2hwc7vw77mz90cd9f8")))) | ||||
|                    "0kh1f49g24ppjpr16v1nc9lr7pvr5nzb82bpw8c6q8ll7pqalqaf")))) | ||||
|        (build-system gnu-build-system) | ||||
|        (arguments | ||||
|         (list #:tests? #f ;no tests in bootstrap | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ | |||
| ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> | ||||
| ;;; Copyright © 2018–2022 Marius Bakke <mbakke@fastmail.com> | ||||
| ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2018, 2021-2023 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2018, 2021-2024 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de> | ||||
| ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> | ||||
| ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com> | ||||
|  | @ -27,6 +27,7 @@ | |||
| ;;; Copyright © 2022 Clément Lassieur <clement@lassieur.org> | ||||
| ;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com> | ||||
| ;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space> | ||||
| ;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -912,42 +913,17 @@ Library.") | |||
|        (base32 | ||||
|         "1pzx9zrmd7r3481sbhwvkms68fwhffpp4mmz45dgrkjpyl2q96kx")))) | ||||
|     (arguments | ||||
|      ;; TODO(core-updates): Unconditionally use quasiquote | ||||
|      `(#:configure-flags | ||||
|        ,#~(#$(if (%current-target-system) | ||||
|                  #~quasiquote | ||||
|                  #~quote) | ||||
|            ;; These options are required for cross-compiling LLVM according to | ||||
|            ;; https://llvm.org/docs/HowToCrossCompileLLVM.html. | ||||
|            (#$@(if (%current-target-system) | ||||
|                    #~(,(string-append "-DLLVM_TABLEGEN=" | ||||
|                                       #+(file-append this-package | ||||
|                                                      "/bin/llvm-tblgen")) | ||||
|                       #$(string-append "-DLLVM_DEFAULT_TARGET_TRIPLE=" | ||||
|                                        (%current-target-system)) | ||||
|                       #$(string-append "-DLLVM_TARGET_ARCH=" | ||||
|                                        (system->llvm-target-arch)) | ||||
|                       #$(string-append "-DLLVM_TARGETS_TO_BUILD=" | ||||
|                                        (system->llvm-target))) | ||||
|                    #~()) | ||||
|             "-DCMAKE_SKIP_BUILD_RPATH=FALSE" | ||||
|             "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE" | ||||
|             "-DBUILD_SHARED_LIBS:BOOL=TRUE" | ||||
|             "-DLLVM_ENABLE_FFI:BOOL=TRUE" | ||||
|             "-DLLVM_ENABLE_RTTI:BOOL=TRUE" ; For some third-party utilities | ||||
|             "-DLLVM_INSTALL_UTILS=ON")) ; Needed for rustc. | ||||
|        ;; Don't use '-g' during the build, to save space. | ||||
|        #:build-type "Release" | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          ,@(if (assoc "config" (package-native-inputs this-package)) | ||||
|             `((add-after 'unpack 'update-config | ||||
|                 (lambda* (#:key inputs native-inputs #:allow-other-keys) | ||||
|                   (let ((config.guess (search-input-file | ||||
|                                         (or inputs native-inputs) | ||||
|                                         "/bin/config.guess"))) | ||||
|                     (copy-file config.guess "cmake/config.guess"))))) | ||||
|             '()) | ||||
|      (substitute-keyword-arguments (package-arguments llvm-13) | ||||
|        ((#:phases phases) | ||||
|         #~(modify-phases #$phases | ||||
|            #$@(if (assoc "config" (package-native-inputs this-package)) | ||||
|                 #~((add-after 'unpack 'update-config | ||||
|                      (lambda* (#:key inputs native-inputs #:allow-other-keys) | ||||
|                        (let ((config.guess (search-input-file | ||||
|                                              (or inputs native-inputs) | ||||
|                                              "/bin/config.guess"))) | ||||
|                          (copy-file config.guess "cmake/config.guess"))))) | ||||
|                 #~()) | ||||
|          (add-before 'build 'shared-lib-workaround | ||||
|            ;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen | ||||
|            ;; doesn't seem to get the correct rpath to be able to run | ||||
|  | @ -955,18 +931,7 @@ Library.") | |||
|            ;; workaround. | ||||
|            (lambda _ | ||||
|              (setenv "LD_LIBRARY_PATH" | ||||
|                      (string-append (getcwd) "/lib")) | ||||
|              #t)) | ||||
|          (add-after 'install 'install-opt-viewer | ||||
|            (lambda* (#:key outputs #:allow-other-keys) | ||||
|              (let* ((out (assoc-ref outputs "out")) | ||||
|                     (opt-viewer-out (assoc-ref outputs "opt-viewer")) | ||||
|                     (opt-viewer-share-dir (string-append opt-viewer-out "/share")) | ||||
|                     (opt-viewer-dir (string-append opt-viewer-share-dir "/opt-viewer"))) | ||||
|                (mkdir-p opt-viewer-share-dir) | ||||
|                (rename-file (string-append out "/share/opt-viewer") | ||||
|                             opt-viewer-dir)) | ||||
|              #t))))))) | ||||
|                      (string-append (getcwd) "/lib")))))))))) | ||||
| 
 | ||||
| (define-public clang-runtime-12 | ||||
|   (clang-runtime-from-llvm | ||||
|  | @ -1140,7 +1105,7 @@ Library.") | |||
|      (if (target-riscv64?) | ||||
|        (substitute-keyword-arguments (package-arguments llvm-10) | ||||
|          ((#:phases phases) | ||||
|           `(modify-phases ,phases | ||||
|           #~(modify-phases #$phases | ||||
|              (add-after 'unpack 'patch-dsymutil-link | ||||
|                (lambda _ | ||||
|                  (substitute* "tools/dsymutil/CMakeLists.txt" | ||||
|  | @ -2169,20 +2134,31 @@ using @code{clang-rename}."))) | |||
|               ;; AMDGPU is needed by the vulkan drivers. | ||||
|               #$(string-append "-DLLVM_TARGETS_TO_BUILD=" | ||||
|                                (system->llvm-target) ";AMDGPU") | ||||
|               #$@(if (%current-target-system) | ||||
|                      '("-DBUILD_SHARED_LIBS:BOOL=TRUE" | ||||
|                        "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE") | ||||
|                     '()) | ||||
|               ;; Skipping tools and utils decreases the output by ~100 MiB. | ||||
|               "-DLLVM_BUILD_TOOLS=NO" | ||||
|               (remove (cut string-match | ||||
|                            "-DLLVM_(TARGETS_TO_BUILD|INSTALL_UTILS).*" <>) | ||||
|               (remove | ||||
|                (cut string-match | ||||
|                     #$(if (%current-target-system) | ||||
|                           "-DLLVM_(LINK_LLVM_DYLIB|TARGETS_TO_BUILD|INSTALL_UTILS).*" | ||||
|                           "-DLLVM_(TARGETS_TO_BUILD|INSTALL_UTILS).*") <>) | ||||
|                       #$cf))) | ||||
|          ((#:phases phases '%standard-phases) | ||||
|           #~(modify-phases #$phases | ||||
|               (add-after 'install 'delete-static-libraries | ||||
|                 ;; If these are just relocated then llvm-config can't find them. | ||||
|                 (lambda* (#:key outputs #:allow-other-keys) | ||||
|                   (for-each delete-file | ||||
|                             (find-files (string-append | ||||
|                                           (assoc-ref outputs "out") "/lib") | ||||
|                                         "\\.a$")))) | ||||
|               #$@(if (%current-target-system) | ||||
|                      '() | ||||
|                      #~((add-after 'install 'delete-static-libraries | ||||
|                           ;; If these are just relocated then llvm-config | ||||
|                           ;; can't find them. | ||||
|                           (lambda* (#:key outputs #:allow-other-keys) | ||||
|                             (for-each delete-file | ||||
|                                       (find-files | ||||
|                                        (string-append | ||||
|                                         (assoc-ref outputs "out") "/lib") | ||||
|                                        "\\.a$")))))) | ||||
|               ;; llvm-config is how mesa and others find the various | ||||
|               ;; libraries and headers they use. | ||||
|               (add-after 'install 'build-and-install-llvm-config | ||||
|  | @ -2291,9 +2267,9 @@ LLVM.")))) | |||
|                  "-DLLVM_BUILD_LLVM_DYLIB=ON" | ||||
|                  "-DLLVM_LINK_LLVM_DYLIB=ON")) | ||||
|          ((#:phases phases '%standard-phases) | ||||
|           `(modify-phases ,phases | ||||
|              (delete 'shared-lib-workaround) | ||||
|              (delete 'install-opt-viewer)))))))) | ||||
|           #~(modify-phases #$phases | ||||
|               (delete 'shared-lib-workaround) | ||||
|               (delete 'install-opt-viewer)))))))) | ||||
| 
 | ||||
| (define clang-cling-runtime | ||||
|   (let ((base clang-runtime-9)) | ||||
|  |  | |||
|  | @ -232,7 +232,7 @@ output in multiple windows in a terminal.") | |||
|        (list "-DSPDLOG_BUILD_BENCH=OFF" | ||||
|              "-DSPDLOG_BUILD_SHARED=ON" | ||||
|              "-DSPDLOG_BUILD_TESTS=ON"))) | ||||
|     (native-inputs (list catch2-3.3)) | ||||
|     (native-inputs (list catch2-3)) | ||||
|     (home-page "https://github.com/gabime/spdlog") | ||||
|     (synopsis "Fast C++ logging library") | ||||
|     (description "Spdlog is a very fast header-only/compiled C++ logging | ||||
|  |  | |||
|  | @ -21,6 +21,7 @@ | |||
| ;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe> | ||||
| ;;; Copyright © 2023 Navid Afkhami <navid.afkhami@mdc-berlin.de> | ||||
| ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> | ||||
| ;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -812,6 +813,94 @@ SentencePiece allows us to make a purely end-to-end system that does not | |||
| depend on language-specific pre- or post-processing.") | ||||
|     (license license:asl2.0))) | ||||
| 
 | ||||
| (define-public python-hopcroftkarp | ||||
|   ;; This commit fixes a broken import, but has not been released to PyPI. | ||||
|   (let ((commit "2846e1dd3265d95d2bddb0cf4190b830cbb4efe6") | ||||
|         (revision "1")) | ||||
|     (package | ||||
|       (name "python-hopcroftkarp") | ||||
|       (version (git-version "1.2.5" revision commit)) | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|          (uri (git-reference | ||||
|                (url "https://github.com/sofiatolaosebikan/hopcroftkarp") | ||||
|                (commit commit))) | ||||
|          (file-name (git-file-name name version)) | ||||
|          (sha256 | ||||
|           (base32 "018ilrp41fcclmb5lsml3aijwbmhbq3m7wy65hr1fryj0avic8fr")))) | ||||
|       (build-system pyproject-build-system) | ||||
|       (home-page "https://github.com/sofiatolaosebikan/hopcroftkarp") | ||||
|       (synopsis "Implementation of the Hopcroft-Karp algorithm") | ||||
|       (description | ||||
|        "This package implements the Hopcroft-Karp algorithm, producing a maximum | ||||
| cardinality matching from a bipartite graph.") | ||||
|       (license license:gpl3)))) | ||||
| 
 | ||||
| (define-public python-persim | ||||
|   (package | ||||
|     (name "python-persim") | ||||
|     (version "0.3.2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "persim" version)) | ||||
|        (sha256 | ||||
|         (base32 "0q8wfakx8q4h3ryvw8cba0v6z7xn9139qkrzs3mi1ggyzacnx9d7")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (propagated-inputs (list python-deprecated | ||||
|                              python-hopcroftkarp | ||||
|                              python-joblib | ||||
|                              python-matplotlib | ||||
|                              python-numpy | ||||
|                              python-scikit-learn | ||||
|                              python-scipy)) | ||||
|     (native-inputs (list python-pytest python-pytest-cov)) | ||||
|     (home-page "https://persim.scikit-tda.org") | ||||
|     (synopsis "Tools for analyzing persistence diagrams in Python") | ||||
|     (description | ||||
|      "This package includes a variety of tools used to analyze persistence diagrams. | ||||
| It currently houses implementations of | ||||
| @itemize | ||||
| @item Persistence images | ||||
| @item Persistence landscapes | ||||
| @item Bottleneck distance | ||||
| @item Modified Gromov–Hausdorff distance | ||||
| @item Sliced Wasserstein kernel | ||||
| @item Heat kernel | ||||
| @item Diagram plotting | ||||
| @end itemize | ||||
| ") | ||||
|     (license license:expat))) ; MIT License | ||||
| 
 | ||||
| (define-public python-ripser | ||||
|   (package | ||||
|     (name "python-ripser") | ||||
|     (version "0.6.4") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "ripser" version)) | ||||
|        (sha256 | ||||
|         (base32 "1575nwsn6b29z7w1mjk23ri83bxq2b4ld979hpgm174642a3x6vs")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (propagated-inputs (list python-numpy python-persim python-scikit-learn | ||||
|                              python-scipy)) | ||||
|     (native-inputs (list python-cython python-pytest)) | ||||
|     (home-page "https://ripser.scikit-tda.org") | ||||
|     (synopsis "Persistent homology library for Python") | ||||
|     (description | ||||
|      "This package implements a variety of persistent homology algorithms.  It | ||||
| provides an interface for | ||||
| @itemize | ||||
| @item computing persistence cohomology of sparse and dense data sets | ||||
| @item visualizing persistence diagrams | ||||
| @item computing lowerstar filtrations on images | ||||
| @item computing representative cochains | ||||
| @end itemize | ||||
| ") | ||||
|     (license license:expat))) ; MIT License | ||||
| 
 | ||||
| (define-public python-sacrebleu | ||||
|   (package | ||||
|     (name "python-sacrebleu") | ||||
|  |  | |||
|  | @ -44,6 +44,7 @@ | |||
|   #:use-module (guix packages) | ||||
|   #:use-module (guix gexp) | ||||
|   #:use-module (guix git-download) | ||||
|   #:use-module (guix utils) | ||||
|   #:use-module (guix build-system cmake) | ||||
|   #:use-module (guix build-system copy) | ||||
|   #:use-module (guix build-system minetest) | ||||
|  | @ -154,6 +155,41 @@ in different ways.") | |||
|     (home-page "https://www.minetest.net/") | ||||
|     (license license:lgpl2.1+))) | ||||
| 
 | ||||
| (define-public minetest-server | ||||
|   (package | ||||
|     (inherit minetest) | ||||
|     (name "minetest-server") | ||||
|     (arguments | ||||
|      (substitute-keyword-arguments (package-arguments minetest) | ||||
|        ((#:configure-flags configure-flags) | ||||
|         #~(cons* "-DBUILD_CLIENT=FALSE" | ||||
|                  "-DBUILD_SERVER=TRUE" | ||||
|                  #$configure-flags)) | ||||
|        ((#:phases phases) | ||||
|         #~(modify-phases #$phases | ||||
|             (replace 'check | ||||
|               (lambda* (#:key tests? #:allow-other-keys) | ||||
|                 (when tests? | ||||
|                   (setenv "HOME" "/tmp") | ||||
|                   (invoke "src/minetestserver" "--run-unittests")))))))) | ||||
|     (inputs | ||||
|      (modify-inputs (package-inputs minetest) | ||||
|        (delete "libjpeg-turbo" | ||||
|                "libpng" | ||||
|                "libogg" | ||||
|                "libvorbis" | ||||
|                "libxxf86vm" | ||||
|                "mesa" | ||||
|                "openal"))) | ||||
|     (synopsis "Infinite-world block sandbox game (server)") | ||||
|     (description | ||||
|      "Minetest is a sandbox construction game.  Players can create and destroy | ||||
| various types of blocks in a three-dimensional open world.  This allows | ||||
| forming structures in every possible creation, on multiplayer servers or as a | ||||
| single player.  Mods and texture packs allow players to personalize the game | ||||
| in different ways.  This package provides @command{minetestserver} to run a | ||||
| Minetest server."))) | ||||
| 
 | ||||
| (define minetest-data | ||||
|   (package | ||||
|     (name "minetest-data") | ||||
|  |  | |||
|  | @ -26,7 +26,7 @@ | |||
| ;;; Copyright © 2018, 2020-2022 Marius Bakke <marius@gnu.org> | ||||
| ;;; Copyright © 2018, 2020, 2021, 2022 Oleg Pykhalov <go.wigust@gmail.com> | ||||
| ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> | ||||
| ;;; Copyright © 2019, 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2019, 2020, 2021, 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2019 Vasile Dumitrascu <va511e@yahoo.com> | ||||
| ;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> | ||||
| ;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si> | ||||
|  | @ -113,6 +113,7 @@ | |||
|   #:use-module (gnu packages curl) | ||||
|   #:use-module (gnu packages cyrus-sasl) | ||||
|   #:use-module (gnu packages dejagnu) | ||||
|   #:use-module (gnu packages dns) | ||||
|   #:use-module (gnu packages docbook) | ||||
|   #:use-module (gnu packages documentation) | ||||
|   #:use-module (gnu packages flex) | ||||
|  | @ -164,8 +165,10 @@ | |||
|   #:use-module (gnu packages sqlite) | ||||
|   #:use-module (gnu packages ssh) | ||||
|   #:use-module (gnu packages tcl) | ||||
|   #:use-module (gnu packages telephony) | ||||
|   #:use-module (gnu packages textutils) | ||||
|   #:use-module (gnu packages tls) | ||||
|   #:use-module (gnu packages upnp) | ||||
|   #:use-module (gnu packages valgrind) | ||||
|   #:use-module (gnu packages web) | ||||
|   #:use-module (gnu packages wxwidgets) | ||||
|  | @ -1414,39 +1417,50 @@ files contain direct mappings of the abstractions provided by the ØMQ C API.") | |||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public libnatpmp | ||||
|   (package | ||||
|     (name "libnatpmp") | ||||
|     (version "20230423") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|                     "http://miniupnp.free.fr/files/" | ||||
|                     name "-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0w7wvf4yi8qv659dg9d3ndqvh3bqhgm21gd135spwhq6hhnfv106")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (delete 'configure) | ||||
|          (delete 'check)) ; no tests | ||||
|        #:make-flags | ||||
|        (let* ((target ,(%current-target-system)) | ||||
|               (gcc (if target | ||||
|                        (string-append target "-gcc") | ||||
|                        "gcc"))) | ||||
|          (list | ||||
|           (string-append "CC=" gcc) | ||||
|           (string-append "INSTALLPREFIX=" (assoc-ref %outputs "out")) | ||||
|           (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))))) | ||||
|     (home-page "http://miniupnp.free.fr/libnatpmp.html") | ||||
|     (synopsis "C library implementing NAT-PMP") | ||||
|     (description | ||||
|      "@code{libnatpmp} is a portable and asynchronous implementation of | ||||
|   ;; Install the latest commit as it provides a pkg-config (.pc) file. | ||||
|   (let ((base-version "20230423") | ||||
|         (commit "6a850fd2bd9b08e6edc886382a1dbae2a7df55ec") | ||||
|         (revision "0")) | ||||
|     (package | ||||
|       (name "libnatpmp") | ||||
|       (version (git-version base-version revision commit)) | ||||
|       (source (origin | ||||
|                 (method git-fetch) | ||||
|                 (uri (git-reference | ||||
|                       (url "https://github.com/miniupnp/libnatpmp") | ||||
|                       (commit commit))) | ||||
|                 (file-name (git-file-name name version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "18hf9a3i3mncl3w80nzi1684iac3by86bv0hgmbm1v2w8gbfjyw0")))) | ||||
|       (build-system cmake-build-system) | ||||
|       (arguments | ||||
|        (list | ||||
|         #:tests? #f                     ;no test suite | ||||
|         #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON") | ||||
|         #:phases | ||||
|         #~(modify-phases %standard-phases | ||||
|             (add-after 'unpack 'patch-build-system | ||||
|               ;; Have CMake install the natpmp_declspec.h missing header file | ||||
|               ;; that is referenced by natpmp.h (see: | ||||
|               ;; https://github.com/miniupnp/libnatpmp/issues/41). | ||||
|               (lambda _ | ||||
|                 (substitute* "CMakeLists.txt" | ||||
|                   (("install\\(FILES natpmp.h") | ||||
|                    "install(FILES natpmp.h natpmp_declspec.h")))) | ||||
|             (add-after 'unpack 'fix-version | ||||
|               (lambda _ | ||||
|                 (with-output-to-file "VERSION" | ||||
|                   (lambda () | ||||
|                     (display #$base-version)))))))) | ||||
|       (native-inputs (list which)) | ||||
|       (home-page "https://miniupnp.tuxfamily.org/libnatpmp.html") | ||||
|       (synopsis "C library implementing NAT-PMP") | ||||
|       (description | ||||
|        "@code{libnatpmp} is a portable and asynchronous implementation of | ||||
| the Network Address Translation - Port Mapping Protocol (NAT-PMP) | ||||
| written in the C programming language.") | ||||
|     (license license:bsd-3))) | ||||
|       (license license:bsd-3)))) | ||||
| 
 | ||||
| (define-public librdkafka | ||||
|   (package | ||||
|  | @ -3382,14 +3396,14 @@ eight bytes) tools | |||
| (define-public asio | ||||
|   (package | ||||
|     (name "asio") | ||||
|     (version "1.22.2") | ||||
|     (version "1.28.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "mirror://sourceforge/asio/asio/" | ||||
|                            version " (Stable)/asio-" version ".tar.bz2")) | ||||
|        (sha256 | ||||
|         (base32 "0v5w9j4a02j2rkc7mrdj3ms0kfpqbgq2ipkixlz2l0p8xs0vfsvp")))) | ||||
|         (base32 "0cp2c4v0kz0ln4bays0s3fr1mcxl527ay2lp7s14qbxx38vc5pfh")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (inputs | ||||
|      (list boost openssl)) | ||||
|  | @ -3701,61 +3715,103 @@ communication over HTTP.") | |||
|     (license license:agpl3+))) | ||||
| 
 | ||||
| (define-public restinio | ||||
|   ;; Temporarily use an unreleased commit, which includes fixes to be able to | ||||
|   ;; run the test suite in the resolver-less Guix build environment. | ||||
|   (let ((revision "0") | ||||
|         (commit "eda471ec3a2815965ca02ec93a1124a342b7601d")) | ||||
|     (package | ||||
|       (name "restinio") | ||||
|       (version (git-version "0.6.18" revision commit)) | ||||
|       (source (origin | ||||
|                 (method git-fetch) | ||||
|                 (uri (git-reference | ||||
|                       (url "https://github.com/Stiffstream/restinio") | ||||
|                       (commit commit))) | ||||
|                 (file-name (git-file-name name version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "0f4w7714r0ic7csgxydw2vzfh35ssk34pns9jycmc08dzc3r7whb")))) | ||||
|       (build-system cmake-build-system) | ||||
|       (arguments | ||||
|        (list | ||||
|         #:configure-flags #~(list "-DRESTINIO_FIND_DEPS=ON" | ||||
|                                   "-DRESTINIO_INSTALL=ON" | ||||
|                                   "-DRESTINIO_TEST=ON" | ||||
|                                   "-DRESTINIO_USE_EXTERNAL_HTTP_PARSER=ON" | ||||
|                                   "-DRESTINIO_USE_EXTERNAL_SOBJECTIZER=ON") | ||||
|         #:phases | ||||
|         #~(modify-phases %standard-phases | ||||
|             (add-after 'unpack 'change-directory | ||||
|               (lambda _ | ||||
|                 (chdir "dev")))))) | ||||
|       (native-inputs | ||||
|        (list catch2 | ||||
|              clara | ||||
|              json-dto)) | ||||
|       (inputs | ||||
|        (list openssl | ||||
|              sobjectizer)) | ||||
|       (propagated-inputs | ||||
|        ;; These are all #include'd by restinio's .hpp header files. | ||||
|        (list asio | ||||
|              fmt | ||||
|              http-parser | ||||
|              pcre | ||||
|              pcre2 | ||||
|              zlib)) | ||||
|       (home-page "https://stiffstream.com/en/products/restinio.html") | ||||
|       (synopsis "C++14 library that gives you an embedded HTTP/Websocket server") | ||||
|       (description "RESTinio is a header-only C++14 library that gives you an embedded | ||||
|   (package | ||||
|     (name "restinio") | ||||
|     (version "0.7.1") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://github.com/Stiffstream/restinio") | ||||
|                     (commit (string-append "v." version)))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "06p9gcnzgynsgfxxa1lk58pq5755px7sn00x2xh21qjnspwld1sy")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|       #:configure-flags | ||||
|       #~(list "-DRESTINIO_INSTALL=ON" | ||||
|               "-DRESTINIO_TEST=ON" | ||||
|               "-DRESTINIO_DEP_LLHTTP=system" | ||||
|               "-DRESTINIO_DEP_FMT=system" | ||||
|               "-DRESTINIO_DEP_EXPECTED_LITE=system" | ||||
|               "-DRESTINIO_DEP_CATCH2=system" | ||||
|               ;; No support to use a system provided so_5 | ||||
|               ;; (see: | ||||
|               ;; https://github.com/Stiffstream/restinio/issues/207). | ||||
|               "-DRESTINIO_WITH_SOBJECTIZER=OFF") | ||||
|       #:phases | ||||
|       #~(modify-phases %standard-phases | ||||
|           (add-after 'unpack 'change-directory | ||||
|             (lambda _ | ||||
|               (chdir "dev"))) | ||||
|           (add-after 'change-directory 'use-system-catch2 | ||||
|             ;; It's not currently possible to select a system-provided catch2, | ||||
|             ;; so patch the build system (see: | ||||
|             ;; https://github.com/Stiffstream/restinio/issues/208). | ||||
|             (lambda _ | ||||
|               (substitute* "CMakeLists.txt" | ||||
|                 (("add_subdirectory\\(catch2\\)") | ||||
|                  "find_package(Catch2 REQUIRED)"))))))) | ||||
|     (native-inputs | ||||
|      (list catch2-3 | ||||
|            expected-lite | ||||
|            json-dto)) | ||||
|     (inputs | ||||
|      (list openssl | ||||
|            sobjectizer)) | ||||
|     (propagated-inputs | ||||
|      ;; These are all #include'd by restinio's .hpp header files. | ||||
|      (list asio | ||||
|            fmt | ||||
|            llhttp | ||||
|            pcre | ||||
|            pcre2 | ||||
|            zlib)) | ||||
|     (home-page "https://stiffstream.com/en/products/restinio.html") | ||||
|     (synopsis "C++14 library that gives you an embedded HTTP/Websocket server") | ||||
|     (description "RESTinio is a header-only C++14 library that gives you an embedded | ||||
| HTTP/Websocket server.  It is based on standalone version of ASIO | ||||
| and targeted primarily for asynchronous processing of HTTP-requests.") | ||||
|       (license license:bsd-3)))) | ||||
|     (license license:bsd-3))) | ||||
| 
 | ||||
| (define-public restinio-0.6 | ||||
|   (package | ||||
|     (inherit restinio) | ||||
|     (name "restinio") | ||||
|     (version "0.6.19") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://github.com/Stiffstream/restinio") | ||||
|                     (commit (string-append "v." version)))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1qrb1qr075r5059w984c4slgpsiwv94j6fmi9naa5l48dbi1p7jz")))) | ||||
|     (arguments | ||||
|      (list | ||||
|       #:configure-flags #~(list "-DRESTINIO_FIND_DEPS=ON" | ||||
|                                 "-DRESTINIO_INSTALL=ON" | ||||
|                                 "-DRESTINIO_TEST=ON" | ||||
|                                 "-DRESTINIO_USE_EXTERNAL_HTTP_PARSER=ON" | ||||
|                                 "-DRESTINIO_USE_EXTERNAL_SOBJECTIZER=ON") | ||||
|       #:phases | ||||
|       #~(modify-phases %standard-phases | ||||
|           (add-after 'unpack 'change-directory | ||||
|             (lambda _ | ||||
|               (chdir "dev")))))) | ||||
|     (native-inputs (list catch2 clara json-dto)) | ||||
|     ;; These are all #include'd by restinio's .hpp header files. | ||||
|     (propagated-inputs | ||||
|      (modify-inputs (package-propagated-inputs restinio) | ||||
|        (replace "llhttp" http-parser))))) | ||||
| 
 | ||||
| (define-public opendht | ||||
|   (package | ||||
|     (name "opendht") | ||||
|     (version "2.4.12") | ||||
|     (version "3.1.7") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|  | @ -3764,7 +3820,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.") | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0yji5pziqxfvyfizk3fn9j59bqlfdwfa1a0y9jjfknb2mmlwwb9w")))) | ||||
|                 "15jx62fm1frbbvpkxysvvwz1a8d605xi53aacf0bvp4mb1dzpddn")))) | ||||
|     (outputs '("out" "python" "tools" "debug")) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|  | @ -3792,6 +3848,14 @@ and targeted primarily for asynchronous processing of HTTP-requests.") | |||
|               (substitute* "tests/Makefile.am" | ||||
|                 (("\\bdhtrunnertester\\.(h|cpp)\\b") | ||||
|                  "")))) | ||||
|           (add-after 'unupack 'relax-test-timeouts | ||||
|             (lambda _ | ||||
|               ;; At least the 'test_send_json' has been seen to fail | ||||
|               ;; non-deterministically, but it seems hard to reproducible that | ||||
|               ;; failure. | ||||
|               (substitute* "tests/httptester.cpp" | ||||
|                 (("std::chrono::seconds\\(10)") | ||||
|                  "std::chrono::seconds(30)")))) | ||||
|           (add-after 'unpack 'fix-python-installation-prefix | ||||
|             ;; Specify the installation prefix for the compiled Python module | ||||
|             ;; that would otherwise attempt to installs itself to Python's own | ||||
|  | @ -3835,8 +3899,8 @@ and targeted primarily for asynchronous processing of HTTP-requests.") | |||
|            fmt | ||||
|            readline)) | ||||
|     (propagated-inputs | ||||
|      (list msgpack                      ;included in several installed headers | ||||
|            restinio                     ;included in opendht/http.h | ||||
|      (list msgpack-cxx                  ;included in several installed headers | ||||
|            restinio-0.6                 ;included in opendht/http.h | ||||
|            ;; The following are listed in the 'Requires.private' field of | ||||
|            ;; opendht.pc: | ||||
|            argon2 | ||||
|  | @ -3880,6 +3944,60 @@ A very simple IM client working over the DHT. | |||
| @end table") | ||||
|     (license license:gpl3+))) | ||||
| 
 | ||||
| (define-public dhtnet | ||||
|   ;; There is no tag nor release; use the latest available commit. | ||||
|   (let ((revision "0") | ||||
|         (commit "8b6e99fd34f150fde5f21f3a57e0e9f28174c70c")) | ||||
|     (package | ||||
|       (name "dhtnet") | ||||
|       ;; The base version is taken from the CMakeLists.txt file. | ||||
|       (version (git-version "0.0.1" revision commit)) | ||||
|       (source (origin | ||||
|                 (method git-fetch) | ||||
|                 (uri (git-reference | ||||
|                       (url "https://github.com/savoirfairelinux/dhtnet") | ||||
|                       (commit commit))) | ||||
|                 (file-name (git-file-name name version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "1yhygsimcl9j6hbww1b77am1kgbcriczslcrfb838nbfh18n1780")))) | ||||
|       (outputs (list "out" "debug")) | ||||
|       (build-system cmake-build-system) | ||||
|       (arguments | ||||
|        (list | ||||
|         #:configure-flags #~(list "-DBUILD_DEPENDENCIES=OFF" | ||||
|                                   "-DBUILD_SHARED_LIBS=ON" | ||||
|                                   "-DBUILD_TESTING=ON") | ||||
|         #:phases | ||||
|         #~(modify-phases %standard-phases | ||||
|             (add-after 'unpack 'delete-problematic-tests | ||||
|               (lambda _ | ||||
|                 (substitute* "CMakeLists.txt" | ||||
|                   ;; The connectionManager test currently segfaults (see: | ||||
|                   ;; https://git.jami.net/savoirfairelinux/dhtnet/-/issues/18). | ||||
|                   ((".*tests_connectionManager.*") "") | ||||
|                   ;; The fileutils test fail, asserting an unexpected returned | ||||
|                   ;; value for the removeAll call when the directory to be | ||||
|                   ;; removed is missing (see: | ||||
|                   ;; https://git.jami.net/savoirfairelinux/dhtnet/-/issues/17). | ||||
|                   ((".*tests_fileutils.*") ""))))))) | ||||
|       (native-inputs (list cppunit pkg-config)) | ||||
|       ;; This library depends on the Jami fork of pjproject that adds ICE | ||||
|       ;; support. | ||||
|       (inputs | ||||
|        (list asio | ||||
|              fmt | ||||
|              msgpack-cxx | ||||
|              opendht | ||||
|              libupnp | ||||
|              pjproject-jami | ||||
|              readline)) | ||||
|       (home-page "https://github.com/savoirfairelinux/dhtnet/") | ||||
|       (synopsis "OpenDHT network library for C++") | ||||
|       (description "The @code{dhtnet} is a C++ library providing abstractions | ||||
| for interacting with an OpenDHT distributed network.") | ||||
|       (license license:gpl3+)))) | ||||
| 
 | ||||
| (define-public frrouting | ||||
|   (package | ||||
|     (name "frrouting") | ||||
|  | @ -3937,7 +4055,7 @@ powerful route filtering syntax and an easy-to-use configuration interface.") | |||
| (define-public iwd | ||||
|   (package | ||||
|     (name "iwd") | ||||
|     (version "2.8") | ||||
|     (version "2.12") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|  | @ -3946,10 +4064,10 @@ powerful route filtering syntax and an easy-to-use configuration interface.") | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0bpksqyaqr624bj7zm9hi22rnp6wnjbngx4q08l7lbd0r7r93vcb")))) | ||||
|                 "199pcs20054xhp5c0dnxf9ny5cf5cynkqpx68dpn46nq8ly76n2y")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (inputs | ||||
|      (list dbus ell (package-source ell) readline)) | ||||
|      (list dbus ell (package-source ell) openresolv readline)) | ||||
|     (native-inputs | ||||
|      (list autoconf | ||||
|            automake | ||||
|  | @ -3959,38 +4077,45 @@ powerful route filtering syntax and an easy-to-use configuration interface.") | |||
|            python-docutils | ||||
|            openssl)) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|        ,#~(list "--disable-systemd-service" | ||||
|                 "--enable-external-ell" | ||||
|                 "--enable-hwsim" | ||||
|                 "--enable-tools" | ||||
|                 "--enable-wired" | ||||
|                 "--localstatedir=/var" | ||||
|                 (string-append "--with-dbus-datadir=" #$output "/share/") | ||||
|                 (string-append "--with-dbus-busdir=" | ||||
|                                #$output "/share/dbus-1/system-services")) | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'copy-ell-header-files | ||||
|            ;; Copy into the source tree two of ell's private header files that | ||||
|            ;; it shares with iwd, as is required to build with the | ||||
|            ;; "--enable-external-ell" configure option. | ||||
|            ;; See the definition of "ell_shared" in iwd's Makefile.am. | ||||
|            (lambda* (#:key inputs #:allow-other-keys) | ||||
|              (let ((ell-header-dir (search-input-directory inputs "/ell")) | ||||
|                    (target-dir "ell")) | ||||
|                (mkdir target-dir) | ||||
|                (for-each | ||||
|                 (lambda (file-name) | ||||
|                   (copy-file (string-append ell-header-dir "/" file-name) | ||||
|                              (string-append target-dir "/" file-name))) | ||||
|                 '("asn1-private.h" "useful.h"))))) | ||||
|          (add-after 'configure 'patch-Makefile | ||||
|            (lambda _ | ||||
|              (substitute* "Makefile" | ||||
|                ;; Don't try to 'mkdir /var'. | ||||
|                (("\\$\\(MKDIR_P\\) -m 700") "true"))))))) | ||||
|     (home-page "https://git.kernel.org/pub/scm/network/wireless/iwd.git/") | ||||
|      (list #:configure-flags | ||||
|            #~(list "--disable-systemd-service" | ||||
|                    "--enable-external-ell" | ||||
|                    "--enable-hwsim" | ||||
|                    "--enable-tools" | ||||
|                    "--enable-wired" | ||||
|                    "--localstatedir=/var" | ||||
|                    (string-append "--with-dbus-datadir=" #$output "/share/") | ||||
|                    (string-append "--with-dbus-busdir=" | ||||
|                                   #$output "/share/dbus-1/system-services")) | ||||
|            #:phases | ||||
|            #~(modify-phases %standard-phases | ||||
|                (add-after 'unpack 'copy-ell-header-files | ||||
|                  ;; Copy into the source tree two of ell's private header files | ||||
|                  ;; that it shares with iwd, as is required to build with the | ||||
|                  ;; "--enable-external-ell" configure option.  See the | ||||
|                  ;; definition of "ell_shared" in iwd's Makefile.am. | ||||
|                  (lambda* (#:key inputs #:allow-other-keys) | ||||
|                    (let ((ell-header-dir (search-input-directory inputs "/ell")) | ||||
|                          (target-dir "ell")) | ||||
|                      (mkdir target-dir) | ||||
|                      (for-each | ||||
|                       (lambda (file-name) | ||||
|                         (copy-file (string-append ell-header-dir "/" file-name) | ||||
|                                    (string-append target-dir "/" file-name))) | ||||
|                       '("asn1-private.h" "useful.h"))))) | ||||
|                (add-after 'unpack 'patch-resolvconf-path | ||||
|                  (lambda* (#:key inputs #:allow-other-keys) | ||||
|                    (substitute* "src/resolve.c" | ||||
|                      (("getenv\\(\"PATH\"\\)") | ||||
|                       (format #f "\"~a\"" | ||||
|                               (dirname (search-input-file | ||||
|                                         inputs "sbin/resolvconf"))))))) | ||||
|                (add-after 'configure 'patch-Makefile | ||||
|                  (lambda _ | ||||
|                    (substitute* "Makefile" | ||||
|                      ;; Don't try to 'mkdir /var'. | ||||
|                      (("\\$\\(MKDIR_P\\) -m 700") "true"))))))) | ||||
|     (home-page "https://iwd.wiki.kernel.org/") | ||||
|     (synopsis "iNet Wireless Daemon") | ||||
|     (description "iwd is a wireless daemon for Linux that aims to replace WPA | ||||
| Supplicant.  It optimizes resource utilization by not depending on any external | ||||
|  | @ -4445,35 +4570,32 @@ QUIC protocol.") | |||
|                             "github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasilctl" | ||||
|                             "github.com/yggdrasil-network/yggdrasil-go/cmd/genkeys")))))))) | ||||
|     (propagated-inputs | ||||
|      (let ((p (package-input-rewriting | ||||
|                `((,go-golang-org-x-sys . ,go-golang-org-x-sys-0.8)) | ||||
|                #:deep? #true))) | ||||
|        (cons go-golang-org-x-sys-0.8 | ||||
|              (map p | ||||
|                   (list go-github-com-arceliar-ironwood | ||||
|                         go-github-com-arceliar-phony | ||||
|                         go-github-com-bits-and-blooms-bitset | ||||
|                         go-github-com-bits-and-blooms-bloom | ||||
|                         go-github-com-cheggaaa-pb-v3 | ||||
|                         go-github-com-fatih-color | ||||
|                         go-github-com-gologme-log | ||||
|                         go-github-com-hashicorp-go-syslog | ||||
|                         go-github-com-hjson-hjson-go | ||||
|                         go-github-com-kardianos-minwinsvc | ||||
|                         go-github-com-mattn-go-colorable | ||||
|                         go-github-com-mattn-go-isatty | ||||
|                         go-github-com-mattn-go-runewidth | ||||
|                         go-github-com-mitchellh-mapstructure | ||||
|                         go-github-com-olekukonko-tablewriter | ||||
|                         go-github-com-quic-go-quic-go | ||||
|                         go-github-com-vividcortex-ewma | ||||
|                         go-golang-org-x-crypto | ||||
|                         go-golang-org-x-net | ||||
|                         go-golang-org-x-text | ||||
|                         go-golang-org-x-tools | ||||
|                         go-golang-zx2c4-com-wireguard | ||||
|                         go-netlink | ||||
|                         go-netns))))) | ||||
|      (list go-golang-zx2c4-com-wireguard | ||||
|            go-golang-org-x-text | ||||
|            go-golang-org-x-net | ||||
|            go-golang-org-x-crypto | ||||
|            go-golang-org-x-tools | ||||
|            go-golang-org-x-sys | ||||
|            go-netns | ||||
|            go-netlink | ||||
|            go-github-com-bits-and-blooms-bitset | ||||
|            go-github-com-bits-and-blooms-bloom | ||||
|            go-github-com-quic-go-quic-go | ||||
|            go-github-com-hjson-hjson-go | ||||
|            go-github-com-olekukonko-tablewriter | ||||
|            go-github-com-mitchellh-mapstructure | ||||
|            go-github-com-mattn-go-runewidth | ||||
|            go-github-com-mattn-go-isatty | ||||
|            go-github-com-mattn-go-colorable | ||||
|            go-github-com-kardianos-minwinsvc | ||||
|            go-github-com-hjson-hjson-go | ||||
|            go-github-com-hashicorp-go-syslog | ||||
|            go-github-com-gologme-log | ||||
|            go-github-com-fatih-color | ||||
|            go-github-com-cheggaaa-pb-v3 | ||||
|            go-github-com-vividcortex-ewma | ||||
|            go-github-com-arceliar-phony | ||||
|            go-github-com-arceliar-ironwood)) | ||||
|     (home-page "https://yggdrasil-network.github.io/blog.html") | ||||
|     (synopsis | ||||
|      "Experiment in scalable routing as an encrypted IPv6 overlay network") | ||||
|  |  | |||
|  | @ -1510,8 +1510,8 @@ environments.") | |||
|                   "0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc"))))))) | ||||
| 
 | ||||
| (define-public guix-build-coordinator | ||||
|   (let ((commit "e4af682452580298b34681d37818a16771a17c66") | ||||
|         (revision "93")) | ||||
|   (let ((commit "c4c4f5ae043562276b11c2bd1174d3e24bedcd6e") | ||||
|         (revision "94")) | ||||
|     (package | ||||
|       (name "guix-build-coordinator") | ||||
|       (version (git-version "0" revision commit)) | ||||
|  | @ -1522,7 +1522,7 @@ environments.") | |||
|                       (commit commit))) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "1i8x9nfpvg832lxwbpjl1kadldpkcnjlxdxl4c5jqx2hz680ylf3")) | ||||
|                   "1212iskqlxgpyib1p7p1204a0kxmpxqyjv6q0pkypx6jg7f4lmjx")) | ||||
|                 (file-name (string-append name "-" version "-checkout")))) | ||||
|       (build-system gnu-build-system) | ||||
|       (arguments | ||||
|  | @ -1606,9 +1606,9 @@ environments.") | |||
|              guile-prometheus | ||||
|              guile-fibers | ||||
|              guile-lib | ||||
|              (first (assoc-ref (package-native-inputs guix) "guile")))) | ||||
|              guile-next)) | ||||
|       (inputs | ||||
|        (list (first (assoc-ref (package-native-inputs guix) "guile")) | ||||
|        (list guile-next | ||||
|              sqlite | ||||
|              bash-minimal | ||||
|              (libc-utf8-locales-for-target) | ||||
|  | @ -1648,9 +1648,9 @@ outputs of those builds.") | |||
|            guix | ||||
|            guile-prometheus | ||||
|            guile-lib | ||||
|            (first (assoc-ref (package-native-inputs guix) "guile")))) | ||||
|            guile-next)) | ||||
|     (inputs | ||||
|      (list (first (assoc-ref (package-native-inputs guix) "guile")) | ||||
|      (list guile-next | ||||
|            bash-minimal | ||||
|            (libc-utf8-locales-for-target))) | ||||
|     (propagated-inputs | ||||
|  |  | |||
|  | @ -64,14 +64,14 @@ | |||
| (define-public parallel | ||||
|   (package | ||||
|     (name "parallel") | ||||
|     (version "20231122") | ||||
|     (version "20231222") | ||||
|     (source | ||||
|      (origin | ||||
|       (method url-fetch) | ||||
|       (uri (string-append "mirror://gnu/parallel/parallel-" | ||||
|                           version ".tar.bz2")) | ||||
|       (sha256 | ||||
|        (base32 "1qpa3dhmdddw7l5906y8ck8rnri66kqkxcbxhsnj058pmbw9qb42")) | ||||
|        (base32 "1alvva2dlnlq5rbbklzc2a7l84mg550l1xc632zdgfx9dzf6sihr")) | ||||
|       (snippet | ||||
|        '(begin | ||||
|           (use-modules (guix build utils)) | ||||
|  |  | |||
|  | @ -5,37 +5,37 @@ must be called when no other threads exist). | |||
| This fixes network functionality in rust:cargo, and probably removes the need | ||||
| for other future workarounds. | ||||
| ===================================================================
 | ||||
| --- curl-7.66.0.orig/lib/easy.c	2020-01-02 15:43:11.883921171 +0100
 | ||||
| +++ curl-7.66.0/lib/easy.c	2020-01-02 16:18:54.691882797 +0100
 | ||||
| @@ -134,6 +134,9 @@
 | ||||
|  #  pragma warning(default:4232) /* MSVC extension, dllimport identity */ | ||||
| --- curl-8.5.0.orig/lib/easy.c	2023-12-17 00:36:32.400468561 -0500
 | ||||
| +++ curl-8.5.0/lib/easy.c	2023-12-17 00:39:08.898612331 -0500
 | ||||
| @@ -137,6 +137,9 @@
 | ||||
|  static char *leakpointer; | ||||
|  #endif | ||||
|   | ||||
| 
 | ||||
| +char * Curl_ssl_cert_dir = NULL;
 | ||||
| +char * Curl_ssl_cert_file = NULL;
 | ||||
| +
 | ||||
|  /** | ||||
|   * curl_global_init() globally initializes curl given a bitwise set of the | ||||
|   * different features of what to initialize. | ||||
| @@ -155,6 +158,9 @@
 | ||||
|  #endif | ||||
| @@ -163,6 +166,9 @@
 | ||||
|      goto fail; | ||||
|    } | ||||
|   | ||||
| 
 | ||||
| +  Curl_ssl_cert_dir = curl_getenv("SSL_CERT_DIR");
 | ||||
| +  Curl_ssl_cert_file = curl_getenv("SSL_CERT_FILE");
 | ||||
| +
 | ||||
|    if(!Curl_ssl_init()) { | ||||
|      DEBUGF(fprintf(stderr, "Error: Curl_ssl_init failed\n")); | ||||
|      return CURLE_FAILED_INIT; | ||||
| @@ -260,6 +266,9 @@
 | ||||
|      goto fail; | ||||
| @@ -287,6 +293,9 @@
 | ||||
|    Curl_ssl_cleanup(); | ||||
|    Curl_resolver_global_cleanup(); | ||||
|   | ||||
| 
 | ||||
| +  free(Curl_ssl_cert_dir);
 | ||||
| +  free(Curl_ssl_cert_file);
 | ||||
| +
 | ||||
|  #ifdef WIN32 | ||||
|    Curl_win32_cleanup(init_flags); | ||||
|  #ifdef _WIN32 | ||||
|    Curl_win32_cleanup(easy_init_flags); | ||||
|  #endif | ||||
| diff -ur curl-7.66.0.orig/lib/url.c curl-7.66.0/lib/url.c
 | ||||
| --- curl-7.66.0.orig/lib/url.c	2020-01-02 15:43:11.883921171 +0100
 | ||||
|  |  | |||
							
								
								
									
										32
									
								
								gnu/packages/patches/dtc-meson-cell-overflow.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								gnu/packages/patches/dtc-meson-cell-overflow.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,32 @@ | |||
| Taken from upstream: | ||||
| https://git.kernel.org/pub/scm/utils/dtc/dtc.git/commit/?id=32174a66efa4ad19fc6a2a6422e4af2ae4f055cb | ||||
| 
 | ||||
| From 32174a66efa4ad19fc6a2a6422e4af2ae4f055cb Mon Sep 17 00:00:00 2001 | ||||
| From: David Gibson <david@gibson.dropbear.id.au> | ||||
| Date: Tue, 28 Feb 2023 10:33:58 +1100 | ||||
| Subject: [PATCH] meson: Fix cell overflow tests when running from meson | ||||
| 
 | ||||
| Because meson always builds out-of-tree we need to reference things in the | ||||
| original source tree via $SRCDIR from run_tests.sh.  We forgot a couple of | ||||
| cases for the cell overflow tests.  Fix them. | ||||
| 
 | ||||
| Signed-off-by: David Gibson <david@gibson.dropbear.id.au> | ||||
| ---
 | ||||
|  tests/run_tests.sh | 4 ++-- | ||||
|  1 file changed, 2 insertions(+), 2 deletions(-) | ||||
| 
 | ||||
| diff --git a/tests/run_tests.sh b/tests/run_tests.sh
 | ||||
| index 91350ad3..f899d8cb 100755
 | ||||
| --- a/tests/run_tests.sh
 | ||||
| +++ b/tests/run_tests.sh
 | ||||
| @@ -519,8 +519,8 @@ libfdt_tests () {
 | ||||
|      check_tests "$SRCDIR/phandle-args-overflow.dts" clocks_property | ||||
|   | ||||
|      ## https://github.com/dgibson/dtc/issues/74 | ||||
| -    run_dtc_test -I dts -O dtb -o cell-overflow-results.test.dtb cell-overflow-results.dts
 | ||||
| -    run_dtc_test -I dts -O dtb -o cell-overflow.test.dtb cell-overflow.dts
 | ||||
| +    run_dtc_test -I dts -O dtb -o cell-overflow-results.test.dtb "$SRCDIR/cell-overflow-results.dts"
 | ||||
| +    run_dtc_test -I dts -O dtb -o cell-overflow.test.dtb "$SRCDIR/cell-overflow.dts"
 | ||||
|      run_test dtbs_equal_ordered cell-overflow.test.dtb cell-overflow-results.test.dtb | ||||
|   | ||||
|      # check full tests | ||||
							
								
								
									
										27
									
								
								gnu/packages/patches/ffmpeg-jami-change-RTCP-ratio.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								gnu/packages/patches/ffmpeg-jami-change-RTCP-ratio.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,27 @@ | |||
| From a884b62c9e6f23b9f4369d724e25db2f42dad28d Mon Sep 17 00:00:00 2001 | ||||
| From: Pierre LESPAGNOL <pierre.lespagnol@savoirfairelinux.com> | ||||
| Date: Tue, 28 May 2019 16:18:20 -0400 | ||||
| Subject: [PATCH] Changement du ratio de 0.5% a 5% | ||||
| 
 | ||||
| ---
 | ||||
|  libavformat/rtp.h | 4 ++-- | ||||
|  1 file changed, 2 insertions(+), 2 deletions(-) | ||||
| 
 | ||||
| diff --git a/libavformat/rtp.h b/libavformat/rtp.h
 | ||||
| index 54512c6f71..16916ff86a 100644
 | ||||
| --- a/libavformat/rtp.h
 | ||||
| +++ b/libavformat/rtp.h
 | ||||
| @@ -78,8 +78,8 @@ enum AVCodecID ff_rtp_codec_id(const char *buf, enum AVMediaType codec_type);
 | ||||
|  #define RTP_VERSION 2 | ||||
|  #define RTP_MAX_SDES 256   /**< maximum text length for SDES */ | ||||
|   | ||||
| -/* RTCP packets use 0.5% of the bandwidth */
 | ||||
| -#define RTCP_TX_RATIO_NUM 5
 | ||||
| +/* RTCP packets use 2.5% of the bandwidth */
 | ||||
| +#define RTCP_TX_RATIO_NUM 25
 | ||||
|  #define RTCP_TX_RATIO_DEN 1000 | ||||
|   | ||||
|  /* An arbitrary id value for RTP Xiph streams - only relevant to indicate | ||||
| -- 
 | ||||
| 2.17.1 | ||||
| 
 | ||||
							
								
								
									
										127
									
								
								gnu/packages/patches/ffmpeg-jami-libopusdec-enable-FEC.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										127
									
								
								gnu/packages/patches/ffmpeg-jami-libopusdec-enable-FEC.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,127 @@ | |||
| diff --git a/libavcodec/libopusdec.c b/libavcodec/libopusdec.c
 | ||||
| index 9b9a610343..8ec5bfc1ad 100644
 | ||||
| --- a/libavcodec/libopusdec.c
 | ||||
| +++ b/libavcodec/libopusdec.c
 | ||||
| @@ -45,6 +45,8 @@ struct libopus_context {
 | ||||
|  #ifdef OPUS_SET_PHASE_INVERSION_DISABLED_REQUEST | ||||
|      int apply_phase_inv; | ||||
|  #endif | ||||
| +    int decode_fec;
 | ||||
| +    int64_t expected_next_pts;
 | ||||
|  }; | ||||
|   | ||||
|  #define OPUS_HEAD_SIZE 19 | ||||
| @@ -141,6 +143,8 @@ static av_cold int libopus_decode_init(AVCodecContext *avc)
 | ||||
|      /* Decoder delay (in samples) at 48kHz */ | ||||
|      avc->delay = avc->internal->skip_samples = opus->pre_skip; | ||||
|   | ||||
| +    opus->expected_next_pts = AV_NOPTS_VALUE;
 | ||||
| +
 | ||||
|      return 0; | ||||
|  } | ||||
|   | ||||
| @@ -161,27 +165,82 @@ static int libopus_decode(AVCodecContext *avc, AVFrame *frame,
 | ||||
|                            int *got_frame_ptr, AVPacket *pkt) | ||||
|  { | ||||
|      struct libopus_context *opus = avc->priv_data; | ||||
| -    int ret, nb_samples;
 | ||||
| +    uint8_t *outptr;
 | ||||
| +    int ret, nb_samples = 0, nb_lost_samples = 0, nb_samples_left;
 | ||||
| +
 | ||||
| +    // If FEC is enabled, calculate number of lost samples
 | ||||
| +    if (opus->decode_fec &&
 | ||||
| +        opus->expected_next_pts != AV_NOPTS_VALUE &&
 | ||||
| +        pkt->pts != AV_NOPTS_VALUE &&
 | ||||
| +        pkt->pts != opus->expected_next_pts) {
 | ||||
| +        // Cap at recovering 120 ms of lost audio.
 | ||||
| +        nb_lost_samples = pkt->pts - opus->expected_next_pts;
 | ||||
| +        nb_lost_samples = FFMIN(nb_lost_samples, MAX_FRAME_SIZE);
 | ||||
| +    }
 | ||||
|   | ||||
| -    frame->nb_samples = MAX_FRAME_SIZE;
 | ||||
| +    frame->nb_samples = MAX_FRAME_SIZE + nb_lost_samples;
 | ||||
|      if ((ret = ff_get_buffer(avc, frame, 0)) < 0) | ||||
|          return ret; | ||||
|   | ||||
| +    outptr = frame->data[0];
 | ||||
| +    nb_samples_left = frame->nb_samples;
 | ||||
| +
 | ||||
| +    if (opus->decode_fec && nb_lost_samples) {
 | ||||
| +        // Try to recover the lost samples with FEC data from this one.
 | ||||
| +        // If there's no FEC data, the decoder will do loss concealment instead.
 | ||||
| +        if (avc->sample_fmt == AV_SAMPLE_FMT_S16)
 | ||||
| +             nb_samples = opus_multistream_decode(opus->dec, pkt->data, pkt->size,
 | ||||
| +                                                  (opus_int16 *)outptr,
 | ||||
| +                                                  nb_lost_samples, 1);
 | ||||
| +        else
 | ||||
| +            nb_samples = opus_multistream_decode_float(opus->dec, pkt->data, pkt->size,
 | ||||
| +                                                       (float *)outptr,
 | ||||
| +                                                       nb_lost_samples, 1);
 | ||||
| +
 | ||||
| +        if (nb_samples < 0) {
 | ||||
| +            av_log(avc, AV_LOG_ERROR, "Decoding error: %s\n",
 | ||||
| +                   opus_strerror(nb_samples));
 | ||||
| +            return ff_opus_error_to_averror(nb_samples);
 | ||||
| +        }
 | ||||
| +
 | ||||
| +        av_log(avc, AV_LOG_WARNING, "Recovered %d samples with FEC/PLC\n",
 | ||||
| +                   nb_samples);
 | ||||
| +
 | ||||
| +        outptr += nb_samples * avc->channels * av_get_bytes_per_sample(avc->sample_fmt);
 | ||||
| +        nb_samples_left -= nb_samples;
 | ||||
| +        if (pkt->pts != AV_NOPTS_VALUE) {
 | ||||
| +            pkt->pts -= nb_samples;
 | ||||
| +            frame->pts = pkt->pts;
 | ||||
| +        }
 | ||||
| +    }
 | ||||
| +
 | ||||
| +    // Decode the actual, non-lost data.
 | ||||
|      if (avc->sample_fmt == AV_SAMPLE_FMT_S16) | ||||
| -        nb_samples = opus_multistream_decode(opus->dec, pkt->data, pkt->size,
 | ||||
| -                                             (opus_int16 *)frame->data[0],
 | ||||
| -                                             frame->nb_samples, 0);
 | ||||
| +        ret = opus_multistream_decode(opus->dec, pkt->data, pkt->size,
 | ||||
| +                                      (opus_int16 *)outptr,
 | ||||
| +                                      nb_samples_left, 0);
 | ||||
|      else | ||||
| -        nb_samples = opus_multistream_decode_float(opus->dec, pkt->data, pkt->size,
 | ||||
| -                                                   (float *)frame->data[0],
 | ||||
| -                                                   frame->nb_samples, 0);
 | ||||
| +        ret = opus_multistream_decode_float(opus->dec, pkt->data, pkt->size,
 | ||||
| +                                            (float *)outptr,
 | ||||
| +                                            nb_samples_left, 0);
 | ||||
|   | ||||
| -    if (nb_samples < 0) {
 | ||||
| +    if (ret < 0) {
 | ||||
|          av_log(avc, AV_LOG_ERROR, "Decoding error: %s\n", | ||||
| -               opus_strerror(nb_samples));
 | ||||
| -        return ff_opus_error_to_averror(nb_samples);
 | ||||
| +               opus_strerror(ret));
 | ||||
| +        return ff_opus_error_to_averror(ret);
 | ||||
|      } | ||||
|   | ||||
| +    nb_samples += ret;
 | ||||
| +
 | ||||
| +    if (opus->decode_fec)
 | ||||
| +    {
 | ||||
| +        // Calculate the next expected pts
 | ||||
| +        if (pkt->pts == AV_NOPTS_VALUE) {
 | ||||
| +            opus->expected_next_pts = AV_NOPTS_VALUE;
 | ||||
| +        } else {
 | ||||
| +            opus->expected_next_pts = pkt->pts + nb_samples;
 | ||||
| +        }
 | ||||
| +    }
 | ||||
|  #ifndef OPUS_SET_GAIN | ||||
|      { | ||||
|          int i = avc->ch_layout.nb_channels * nb_samples; | ||||
| @@ -220,6 +279,7 @@ static const AVOption libopusdec_options[] = {
 | ||||
|  #ifdef OPUS_SET_PHASE_INVERSION_DISABLED_REQUEST | ||||
|      { "apply_phase_inv", "Apply intensity stereo phase inversion", OFFSET(apply_phase_inv), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, FLAGS }, | ||||
|  #endif | ||||
| +    { "decode_fec", "Decode FEC data or use PLC", OFFSET(decode_fec), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, FLAGS },
 | ||||
|      { NULL }, | ||||
|  }; | ||||
|   | ||||
| -- 
 | ||||
| 2.34.1 | ||||
| 
 | ||||
							
								
								
									
										50
									
								
								gnu/packages/patches/ffmpeg-jami-libopusenc-enable-FEC.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								gnu/packages/patches/ffmpeg-jami-libopusenc-enable-FEC.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,50 @@ | |||
| diff --git a/libavcodec/libopusencc.c b/libavcodec/libopusencc.c
 | ||||
| index 2a97811d18..40ee7b8fec 100644
 | ||||
| --- a/libavcodec/libopusenc.c
 | ||||
| +++ b/libavcodec/libopusenc.c
 | ||||
| @@ -33,6 +33,7 @@
 | ||||
|  typedef struct LibopusEncOpts { | ||||
|      int vbr; | ||||
|      int application; | ||||
| +    int enable_fec;
 | ||||
|      int packet_loss; | ||||
|      int complexity; | ||||
|      float frame_duration; | ||||
| @@ -143,6 +144,13 @@
 | ||||
|                 "Unable to set constrained VBR: %s\n", opus_strerror(ret)); | ||||
| 
 | ||||
|      ret = opus_multistream_encoder_ctl(enc, | ||||
| +                                       OPUS_SET_INBAND_FEC(opts->enable_fec));
 | ||||
| +    if (ret != OPUS_OK)
 | ||||
| +        av_log(avctx, AV_LOG_WARNING,
 | ||||
| +               "Unable to set enable FEC flag percentage: %s\n",
 | ||||
| +               opus_strerror(ret));
 | ||||
| +
 | ||||
| +    ret = opus_multistream_encoder_ctl(enc,
 | ||||
|                                         OPUS_SET_PACKET_LOSS_PERC(opts->packet_loss)); | ||||
|      if (ret != OPUS_OK) | ||||
|          av_log(avctx, AV_LOG_WARNING, | ||||
| @@ -452,6 +460,15 @@
 | ||||
|      int ret; | ||||
|      int discard_padding; | ||||
|   | ||||
| +    // Reload packet loss setting
 | ||||
| +    ret = opus_multistream_encoder_ctl(opus->enc,
 | ||||
| +                                       OPUS_SET_PACKET_LOSS_PERC(opus->opts.packet_loss));
 | ||||
| +    if (ret != OPUS_OK)
 | ||||
| +        av_log(avctx, AV_LOG_WARNING,
 | ||||
| +               "Unable to set expected packet loss percentage: %s\n",
 | ||||
| +               opus_strerror(ret));
 | ||||
| +
 | ||||
| +
 | ||||
|      if (frame) { | ||||
|          ret = ff_af_queue_add(&opus->afq, frame); | ||||
|          if (ret < 0) | ||||
| @@ -543,6 +560,7 @@
 | ||||
|          { "audio",          "Favor faithfulness to the input",         0, AV_OPT_TYPE_CONST, { .i64 = OPUS_APPLICATION_AUDIO },               0, 0, FLAGS, "application" }, | ||||
|          { "lowdelay",       "Restrict to only the lowest delay modes", 0, AV_OPT_TYPE_CONST, { .i64 = OPUS_APPLICATION_RESTRICTED_LOWDELAY }, 0, 0, FLAGS, "application" }, | ||||
|      { "frame_duration", "Duration of a frame in milliseconds", OFFSET(frame_duration), AV_OPT_TYPE_FLOAT, { .dbl = 20.0 }, 2.5, 120.0, FLAGS }, | ||||
| +    { "enable_fec",     "Enable forward error correction",     OFFSET(enable_fec),     AV_OPT_TYPE_BOOL,  { .i64 = 0 },    0,   1,     FLAGS },
 | ||||
|      { "packet_loss",    "Expected packet loss percentage",     OFFSET(packet_loss),    AV_OPT_TYPE_INT,   { .i64 = 0 },    0,   100,  FLAGS }, | ||||
|      { "vbr",            "Variable bit rate mode",              OFFSET(vbr),            AV_OPT_TYPE_INT,   { .i64 = 1 },    0,   2,    FLAGS, "vbr" }, | ||||
|          { "off",            "Use constant bit rate", 0, AV_OPT_TYPE_CONST, { .i64 = 0 }, 0, 0, FLAGS, "vbr" }, | ||||
|  | @ -0,0 +1,44 @@ | |||
| From dba13d03bc8e827fededc20b0ab1f574a1500f2a Mon Sep 17 00:00:00 2001 | ||||
| From: Philip-Dylan Gleonec <philip-dylan.gleonec@savoirfairelinux.com> | ||||
| Date: Thu, 11 Feb 2021 12:25:14 +0100 | ||||
| Subject: [PATCH 2/2] avcodec/libopusenc: reload packet loss at encode | ||||
| 
 | ||||
| An estimation of packet loss is required by libopus to compute its FEC | ||||
| data. Currently, this estimation is constant, and can not be changed | ||||
| after configuration. This means an application using libopus through | ||||
| ffmpeg can not adapt the packet loss estimation when the network | ||||
| quality degrades. | ||||
| 
 | ||||
| This patch makes the encoder reload the packet_loss AVOption before | ||||
| encoding samples, if fec is enabled. This way an application can modify | ||||
| the packet loss estimation by changing the AVOption. Typical use-case | ||||
| is a RTP stream, where packet loss can be estimated from RTCP packets. | ||||
| 
 | ||||
| Signed-off-by: Philip-Dylan Gleonec <philip-dylan.gleonec@savoirfairelinux.com> | ||||
| ---
 | ||||
|  libavcodec/libopusenc.c | 9 +++++++++ | ||||
|  1 file changed, 9 insertions(+) | ||||
| 
 | ||||
| diff --git a/libavcodec/libopusenc.c b/libavcodec/libopusenc.c
 | ||||
| index 70d17f802b..c18e8ae7fa 100644
 | ||||
| --- a/libavcodec/libopusenc.c
 | ||||
| +++ b/libavcodec/libopusenc.c
 | ||||
| @@ -460,6 +460,15 @@ static int libopus_encode(AVCodecContext *avctx, AVPacket *avpkt,
 | ||||
|      int ret; | ||||
|      int discard_padding; | ||||
|   | ||||
| +    if (opus->opts.fec) {
 | ||||
| +        ret = opus_multistream_encoder_ctl(opus->enc,
 | ||||
| +                                           OPUS_SET_PACKET_LOSS_PERC(opus->opts.packet_loss));
 | ||||
| +        if (ret != OPUS_OK)
 | ||||
| +            av_log(avctx, AV_LOG_WARNING,
 | ||||
| +                   "Unable to set expected packet loss percentage: %s\n",
 | ||||
| +                   opus_strerror(ret));
 | ||||
| +    }
 | ||||
| +
 | ||||
|      if (frame) { | ||||
|          ret = ff_af_queue_add(&opus->afq, frame); | ||||
|          if (ret < 0) | ||||
| -- 
 | ||||
| 2.25.1 | ||||
| 
 | ||||
							
								
								
									
										26
									
								
								gnu/packages/patches/ffmpeg-jami-remove-mjpeg-log.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								gnu/packages/patches/ffmpeg-jami-remove-mjpeg-log.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,26 @@ | |||
| From c557a6211f5a29d89fc2ab561e0fb3d8878fb6ad Mon Sep 17 00:00:00 2001 | ||||
| From: philippegorley <gorley.philippe@gmail.com> | ||||
| Date: Mon, 17 Dec 2018 15:27:57 -0500 | ||||
| Subject: [PATCH] remove mjpeg log | ||||
| 
 | ||||
| ---
 | ||||
|  libavcodec/mjpegdec.c | 4 +--- | ||||
|  1 file changed, 1 insertion(+), 3 deletions(-) | ||||
| 
 | ||||
| diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
 | ||||
| index d1dca84d36..4a26c23cd4 100644
 | ||||
| --- a/libavcodec/mjpegdec.c
 | ||||
| +++ b/libavcodec/mjpegdec.c
 | ||||
| @@ -2294,9 +2294,7 @@ int ff_mjpeg_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
 | ||||
|                     "restart marker: %d\n", start_code & 0x0f); | ||||
|              /* APP fields */ | ||||
|          } else if (start_code >= APP0 && start_code <= APP15) { | ||||
| -            if ((ret = mjpeg_decode_app(s)) < 0)
 | ||||
| -                av_log(avctx, AV_LOG_ERROR, "unable to decode APP fields: %s\n",
 | ||||
| -                       av_err2str(ret));
 | ||||
| +            ret = mjpeg_decode_app(s);
 | ||||
|              /* Comment */ | ||||
|          } else if (start_code == COM) { | ||||
|              ret = mjpeg_decode_com(s); | ||||
| --
 | ||||
| 2.17.1 | ||||
							
								
								
									
										71
									
								
								gnu/packages/patches/ffmpeg-jami-rtp_ext_abs_send_time.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								gnu/packages/patches/ffmpeg-jami-rtp_ext_abs_send_time.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,71 @@ | |||
| diff --git a/libavformat/rtpenc.c b/libavformat/rtpenc.c
 | ||||
| index 63047beccc..d59ec3dc8c 100644
 | ||||
| --- a/libavformat/rtpenc.c
 | ||||
| +++ b/libavformat/rtpenc.c
 | ||||
| @@ -28,6 +28,8 @@
 | ||||
|   | ||||
|  #include "rtpenc.h" | ||||
|   | ||||
| +#define EXT_ABS_SEND_TIME
 | ||||
| +
 | ||||
|  static const AVOption options[] = { | ||||
|      FF_RTP_FLAG_OPTS(RTPMuxContext, flags), | ||||
|      { "payload_type", "Specify RTP payload type", offsetof(RTPMuxContext, payload_type), AV_OPT_TYPE_INT, {.i64 = -1 }, -1, 127, AV_OPT_FLAG_ENCODING_PARAM }, | ||||
| @@ -146,7 +148,11 @@ static int rtp_write_header(AVFormatContext *s1)
 | ||||
|                                      s1->pb->max_packet_size); | ||||
|      } else | ||||
|          s1->packet_size = s1->pb->max_packet_size; | ||||
| +#ifdef EXT_ABS_SEND_TIME
 | ||||
| +    if (s1->packet_size <= 20) {
 | ||||
| +#else
 | ||||
|      if (s1->packet_size <= 12) { | ||||
| +#endif
 | ||||
|          av_log(s1, AV_LOG_ERROR, "Max packet size %u too low\n", s1->packet_size); | ||||
|          return AVERROR(EIO); | ||||
|      } | ||||
| @@ -154,7 +160,11 @@ static int rtp_write_header(AVFormatContext *s1)
 | ||||
|      if (!s->buf) { | ||||
|          return AVERROR(ENOMEM); | ||||
|      } | ||||
| +#ifdef EXT_ABS_SEND_TIME
 | ||||
| +    s->max_payload_size = s1->packet_size - 20;
 | ||||
| +#else
 | ||||
|      s->max_payload_size = s1->packet_size - 12; | ||||
| +#endif
 | ||||
|   | ||||
|      if (st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) { | ||||
|          avpriv_set_pts_info(st, 32, 1, st->codecpar->sample_rate); | ||||
| @@ -332,16 +342,34 @@ static void rtcp_send_sr(AVFormatContext *s1, int64_t ntp_time, int bye)
 | ||||
|  void ff_rtp_send_data(AVFormatContext *s1, const uint8_t *buf1, int len, int m) | ||||
|  { | ||||
|      RTPMuxContext *s = s1->priv_data; | ||||
| +    uint64_t ntp64_time;
 | ||||
| +    uint32_t absoluteSendTime;
 | ||||
|   | ||||
|      av_log(s1, AV_LOG_TRACE, "rtp_send_data size=%d\n", len); | ||||
|   | ||||
|      /* build the RTP header */ | ||||
| +#ifdef EXT_ABS_SEND_TIME
 | ||||
| +    avio_w8(s1->pb, RTP_VERSION << 6 | 0x10); // extention bit
 | ||||
| +#else
 | ||||
|      avio_w8(s1->pb, RTP_VERSION << 6); | ||||
| +#endif
 | ||||
|      avio_w8(s1->pb, (s->payload_type & 0x7f) | ((m & 0x01) << 7)); | ||||
|      avio_wb16(s1->pb, s->seq); | ||||
|      avio_wb32(s1->pb, s->timestamp); | ||||
|      avio_wb32(s1->pb, s->ssrc); | ||||
|   | ||||
| +#ifdef EXT_ABS_SEND_TIME
 | ||||
| +    avio_wb16(s1->pb, 0xBEDE);      // magic word
 | ||||
| +    avio_wb16(s1->pb, 0x0001);      // length=1
 | ||||
| +    avio_w8(s1->pb, 0x32);         // ID=3 and lenght=2
 | ||||
| +    ntp64_time = ff_get_formatted_ntp_time(ff_ntp_time());
 | ||||
| +    absoluteSendTime = (uint32_t)((ntp64_time>> 14) & 0x00ffffff);
 | ||||
| +    av_log(s1, AV_LOG_TRACE, "ntp64:%lu, abs_time:%u\n", ntp64_time, absoluteSendTime);
 | ||||
| +    avio_w8(s1->pb, (uint8_t)(absoluteSendTime >> 16));
 | ||||
| +    avio_w8(s1->pb, (uint8_t)(absoluteSendTime >> 8 & 0xff));
 | ||||
| +    avio_w8(s1->pb, (uint8_t)(absoluteSendTime & 0xff));
 | ||||
| +#endif
 | ||||
| +
 | ||||
|      avio_write(s1->pb, buf1, len); | ||||
|      avio_flush(s1->pb); | ||||
							
								
								
									
										302
									
								
								gnu/packages/patches/ffmpeg-jami-screen-sharing-x11-fix.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										302
									
								
								gnu/packages/patches/ffmpeg-jami-screen-sharing-x11-fix.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,302 @@ | |||
| From c1b210534b15188c964b31dc47e172f8ed4aca55 Mon Sep 17 00:00:00 2001 | ||||
| From: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com> | ||||
| Date: Tue, 19 Jul 2022 13:35:19 -0300 | ||||
| Subject: [PATCH] Screen sharing x11 fixes | ||||
| 
 | ||||
| + We can now have a single stream in the x11grab, which can be updated to follow window resizing
 | ||||
| + Due to stream reinit, shm may cause memory issues and was removed
 | ||||
| + Adds one option (is_area) that defines if we are grabing a region of the display/window or the hole screen/window.
 | ||||
| 
 | ||||
| note: This is a custom patch for later rebase | ||||
| ---
 | ||||
|  libavdevice/xcbgrab.c | 186 ++++++++++-------------------------------- | ||||
|  1 file changed, 45 insertions(+), 141 deletions(-) | ||||
| 
 | ||||
| diff --git a/libavdevice/xcbgrab.c b/libavdevice/xcbgrab.c
 | ||||
| index 64a68ba497..76e654b424 100644
 | ||||
| --- a/libavdevice/xcbgrab.c
 | ||||
| +++ b/libavdevice/xcbgrab.c
 | ||||
| @@ -29,11 +29,6 @@
 | ||||
|  #include <xcb/xfixes.h> | ||||
|  #endif | ||||
|   | ||||
| -#if CONFIG_LIBXCB_SHM
 | ||||
| -#include <sys/shm.h>
 | ||||
| -#include <xcb/shm.h>
 | ||||
| -#endif
 | ||||
| -
 | ||||
|  #if CONFIG_LIBXCB_SHAPE | ||||
|  #include <xcb/shape.h> | ||||
|  #endif | ||||
| @@ -53,9 +48,6 @@ typedef struct XCBGrabContext {
 | ||||
|      xcb_connection_t *conn; | ||||
|      xcb_screen_t *screen; | ||||
|      xcb_window_t window; | ||||
| -#if CONFIG_LIBXCB_SHM
 | ||||
| -    AVBufferPool *shm_pool;
 | ||||
| -#endif
 | ||||
|      int64_t time_frame; | ||||
|      AVRational time_base; | ||||
|      int64_t frame_duration; | ||||
| @@ -72,10 +64,9 @@ typedef struct XCBGrabContext {
 | ||||
|      int region_border; | ||||
|      int centered; | ||||
|      int select_region; | ||||
| +    int is_area;
 | ||||
|   | ||||
|      const char *framerate; | ||||
| -
 | ||||
| -    int has_shm;
 | ||||
|  } XCBGrabContext; | ||||
|   | ||||
|  #define FOLLOW_CENTER -1 | ||||
| @@ -97,6 +88,7 @@ static const AVOption options[] = {
 | ||||
|      { "show_region", "Show the grabbing region.", OFFSET(show_region), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, D }, | ||||
|      { "region_border", "Set the region border thickness.", OFFSET(region_border), AV_OPT_TYPE_INT, { .i64 = 3 }, 1, 128, D }, | ||||
|      { "select_region", "Select the grabbing region graphically using the pointer.", OFFSET(select_region), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, D }, | ||||
| +    { "is_area", "Define if we are grabing a region of the display/window.", OFFSET(is_area), AV_OPT_TYPE_INT, { .i64 = 1 }, 0, 1, D },
 | ||||
|      { NULL }, | ||||
|  }; | ||||
|   | ||||
| @@ -216,99 +208,6 @@ static int64_t wait_frame(AVFormatContext *s, AVPacket *pkt)
 | ||||
|      return curtime; | ||||
|  } | ||||
|   | ||||
| -#if CONFIG_LIBXCB_SHM
 | ||||
| -static int check_shm(xcb_connection_t *conn)
 | ||||
| -{
 | ||||
| -    xcb_shm_query_version_cookie_t cookie = xcb_shm_query_version(conn);
 | ||||
| -    xcb_shm_query_version_reply_t *reply;
 | ||||
| -
 | ||||
| -    reply = xcb_shm_query_version_reply(conn, cookie, NULL);
 | ||||
| -    if (reply) {
 | ||||
| -        free(reply);
 | ||||
| -        return 1;
 | ||||
| -    }
 | ||||
| -
 | ||||
| -    return 0;
 | ||||
| -}
 | ||||
| -
 | ||||
| -static void free_shm_buffer(void *opaque, uint8_t *data)
 | ||||
| -{
 | ||||
| -    shmdt(data);
 | ||||
| -}
 | ||||
| -
 | ||||
| -static AVBufferRef *allocate_shm_buffer(void *opaque, size_t size)
 | ||||
| -{
 | ||||
| -    xcb_connection_t *conn = opaque;
 | ||||
| -    xcb_shm_seg_t segment;
 | ||||
| -    AVBufferRef *ref;
 | ||||
| -    uint8_t *data;
 | ||||
| -    int id;
 | ||||
| -
 | ||||
| -    id = shmget(IPC_PRIVATE, size, IPC_CREAT | 0777);
 | ||||
| -    if (id == -1)
 | ||||
| -        return NULL;
 | ||||
| -
 | ||||
| -    segment = xcb_generate_id(conn);
 | ||||
| -    xcb_shm_attach(conn, segment, id, 0);
 | ||||
| -    data = shmat(id, NULL, 0);
 | ||||
| -    shmctl(id, IPC_RMID, 0);
 | ||||
| -    if ((intptr_t)data == -1 || !data)
 | ||||
| -        return NULL;
 | ||||
| -
 | ||||
| -    ref = av_buffer_create(data, size, free_shm_buffer, (void *)(ptrdiff_t)segment, 0);
 | ||||
| -    if (!ref)
 | ||||
| -        shmdt(data);
 | ||||
| -
 | ||||
| -    return ref;
 | ||||
| -}
 | ||||
| -
 | ||||
| -static int xcbgrab_frame_shm(AVFormatContext *s, AVPacket *pkt)
 | ||||
| -{
 | ||||
| -    XCBGrabContext *c = s->priv_data;
 | ||||
| -    xcb_shm_get_image_cookie_t iq;
 | ||||
| -    xcb_shm_get_image_reply_t *img;
 | ||||
| -    xcb_drawable_t drawable = c->window_id;
 | ||||
| -    xcb_generic_error_t *e = NULL;
 | ||||
| -    AVBufferRef *buf;
 | ||||
| -    xcb_shm_seg_t segment;
 | ||||
| -
 | ||||
| -    buf = av_buffer_pool_get(c->shm_pool);
 | ||||
| -    if (!buf) {
 | ||||
| -        av_log(s, AV_LOG_ERROR, "Could not get shared memory buffer.\n");
 | ||||
| -        return AVERROR(ENOMEM);
 | ||||
| -    }
 | ||||
| -    segment = (xcb_shm_seg_t)(uintptr_t)av_buffer_pool_buffer_get_opaque(buf);
 | ||||
| -
 | ||||
| -    iq = xcb_shm_get_image(c->conn, drawable,
 | ||||
| -                           c->x, c->y, c->width, c->height, ~0,
 | ||||
| -                           XCB_IMAGE_FORMAT_Z_PIXMAP, segment, 0);
 | ||||
| -    img = xcb_shm_get_image_reply(c->conn, iq, &e);
 | ||||
| -
 | ||||
| -    xcb_flush(c->conn);
 | ||||
| -
 | ||||
| -    if (e) {
 | ||||
| -        av_log(s, AV_LOG_ERROR,
 | ||||
| -               "Cannot get the image data "
 | ||||
| -               "event_error: response_type:%u error_code:%u "
 | ||||
| -               "sequence:%u resource_id:%u minor_code:%u major_code:%u.\n",
 | ||||
| -               e->response_type, e->error_code,
 | ||||
| -               e->sequence, e->resource_id, e->minor_code, e->major_code);
 | ||||
| -
 | ||||
| -        free(e);
 | ||||
| -        av_buffer_unref(&buf);
 | ||||
| -        return AVERROR(EACCES);
 | ||||
| -    }
 | ||||
| -
 | ||||
| -    free(img);
 | ||||
| -
 | ||||
| -    pkt->buf = buf;
 | ||||
| -    pkt->data = buf->data;
 | ||||
| -    pkt->size = c->frame_size;
 | ||||
| -
 | ||||
| -    return 0;
 | ||||
| -}
 | ||||
| -#endif /* CONFIG_LIBXCB_SHM */
 | ||||
| -
 | ||||
|  #if CONFIG_LIBXCB_XFIXES | ||||
|  static int check_xfixes(xcb_connection_t *conn) | ||||
|  { | ||||
| @@ -462,14 +361,7 @@ static int xcbgrab_read_packet(AVFormatContext *s, AVPacket *pkt)
 | ||||
|      if (c->show_region) | ||||
|          xcbgrab_update_region(s, win_x, win_y); | ||||
|   | ||||
| -#if CONFIG_LIBXCB_SHM
 | ||||
| -    if (c->has_shm && xcbgrab_frame_shm(s, pkt) < 0) {
 | ||||
| -        av_log(s, AV_LOG_WARNING, "Continuing without shared memory.\n");
 | ||||
| -        c->has_shm = 0;
 | ||||
| -    }
 | ||||
| -#endif
 | ||||
| -    if (!c->has_shm)
 | ||||
| -        ret = xcbgrab_frame(s, pkt);
 | ||||
| +    ret = xcbgrab_frame(s, pkt);
 | ||||
|      pkt->dts = pkt->pts = pts; | ||||
|      pkt->duration = c->frame_duration; | ||||
|   | ||||
| @@ -488,11 +380,8 @@ static av_cold int xcbgrab_read_close(AVFormatContext *s)
 | ||||
|  { | ||||
|      XCBGrabContext *ctx = s->priv_data; | ||||
|   | ||||
| -#if CONFIG_LIBXCB_SHM
 | ||||
| -    av_buffer_pool_uninit(&ctx->shm_pool);
 | ||||
| -#endif
 | ||||
| -
 | ||||
|      xcb_disconnect(ctx->conn); | ||||
| +    ctx->conn = NULL;
 | ||||
|   | ||||
|      return 0; | ||||
|  } | ||||
| @@ -572,7 +461,15 @@ static int pixfmt_from_pixmap_format(AVFormatContext *s, int depth,
 | ||||
|  static int create_stream(AVFormatContext *s) | ||||
|  { | ||||
|      XCBGrabContext *c = s->priv_data; | ||||
| -    AVStream *st      = avformat_new_stream(s, NULL);
 | ||||
| +
 | ||||
| +    // If we try to open another stream to x11grab, there is no reason
 | ||||
| +    // to keep more than one stream in the context.
 | ||||
| +    AVStream *st;
 | ||||
| +    if (!s->nb_streams) {
 | ||||
| +        st = avformat_new_stream(s, NULL);
 | ||||
| +    } else {
 | ||||
| +        st = s->streams[0];
 | ||||
| +    }
 | ||||
|      xcb_get_geometry_cookie_t gc; | ||||
|      xcb_get_geometry_reply_t *geo; | ||||
|      int64_t frame_size_bits; | ||||
| @@ -594,11 +491,26 @@ static int create_stream(AVFormatContext *s)
 | ||||
|          return AVERROR_EXTERNAL; | ||||
|      } | ||||
|   | ||||
| +    // av_log(s, AV_LOG_ERROR, "Capture is_area %d\n", c->is_area);
 | ||||
| +    // Width and Height are not 0 only when we set a window area to share
 | ||||
| +    // This if may be valid only in  the first call to create_stream
 | ||||
|      if (!c->width || !c->height) { | ||||
| +        // av_log(s, AV_LOG_ERROR, "Capture area!\n");
 | ||||
| +        c->is_area = 0;
 | ||||
| +        c->width = geo->width;
 | ||||
| +        c->height = geo->height;
 | ||||
| +    }
 | ||||
| +    // If not a predefined area, then we should follow geometry changes
 | ||||
| +    // This can be valid only on the second call onwards
 | ||||
| +    if (!c->is_area && (c->width != geo->width || c->height != geo->height)) {
 | ||||
|          c->width = geo->width; | ||||
|          c->height = geo->height; | ||||
|      } | ||||
|   | ||||
| +    // av_log(s, AV_LOG_ERROR, "Capture area %dx%d at position %d.%d\n",
 | ||||
| +    //            c->width, c->height,
 | ||||
| +    //            c->x, c->y);
 | ||||
| +
 | ||||
|      if (c->x + c->width > geo->width || | ||||
|          c->y + c->height > geo->height) { | ||||
|          av_log(s, AV_LOG_ERROR, | ||||
| @@ -628,13 +540,6 @@ static int create_stream(AVFormatContext *s)
 | ||||
|      } | ||||
|      c->frame_size = frame_size_bits / 8; | ||||
|   | ||||
| -#if CONFIG_LIBXCB_SHM
 | ||||
| -    c->shm_pool = av_buffer_pool_init2(c->frame_size + AV_INPUT_BUFFER_PADDING_SIZE,
 | ||||
| -                                           c->conn, allocate_shm_buffer, NULL);
 | ||||
| -    if (!c->shm_pool)
 | ||||
| -        return AVERROR(ENOMEM);
 | ||||
| -#endif
 | ||||
| -
 | ||||
|      st->codecpar->codec_type = AVMEDIA_TYPE_VIDEO; | ||||
|      st->codecpar->codec_id   = AV_CODEC_ID_RAWVIDEO; | ||||
|      st->codecpar->width      = c->width; | ||||
| @@ -829,23 +734,26 @@ static av_cold int xcbgrab_read_header(AVFormatContext *s)
 | ||||
|          sscanf(s->url, "+%d,%d", &c->x, &c->y); | ||||
|      } | ||||
|   | ||||
| -    c->conn = xcb_connect(display_name[0] ? display_name : NULL, &screen_num);
 | ||||
| -    av_freep(&display_name);
 | ||||
| +    if (!c->conn || !c->screen) {
 | ||||
| +        xcbgrab_read_close(s);
 | ||||
| +        c->conn = xcb_connect(display_name[0] ? display_name : NULL, &screen_num);
 | ||||
| +        av_freep(&display_name);
 | ||||
|   | ||||
| -    if ((ret = xcb_connection_has_error(c->conn))) {
 | ||||
| -        av_log(s, AV_LOG_ERROR, "Cannot open display %s, error %d.\n",
 | ||||
| -               s->url[0] ? s->url : "default", ret);
 | ||||
| -        return AVERROR(EIO);
 | ||||
| -    }
 | ||||
| +        if ((ret = xcb_connection_has_error(c->conn))) {
 | ||||
| +            av_log(s, AV_LOG_ERROR, "Cannot open display %s, error %d.\n",
 | ||||
| +                s->url[0] ? s->url : "default", ret);
 | ||||
| +            return AVERROR(EIO);
 | ||||
| +        }
 | ||||
|   | ||||
| -    setup = xcb_get_setup(c->conn);
 | ||||
| +       setup = xcb_get_setup(c->conn);
 | ||||
|   | ||||
| -    c->screen = get_screen(setup, screen_num);
 | ||||
| -    if (!c->screen) {
 | ||||
| -        av_log(s, AV_LOG_ERROR, "The screen %d does not exist.\n",
 | ||||
| -               screen_num);
 | ||||
| -        xcbgrab_read_close(s);
 | ||||
| -        return AVERROR(EIO);
 | ||||
| +        c->screen = get_screen(setup, screen_num);
 | ||||
| +        if (!c->screen) {
 | ||||
| +            av_log(s, AV_LOG_ERROR, "The screen %d does not exist.\n",
 | ||||
| +                screen_num);
 | ||||
| +            xcbgrab_read_close(s);
 | ||||
| +            return AVERROR(EIO);
 | ||||
| +        }
 | ||||
|      } | ||||
|   | ||||
|      if (c->window_id == XCB_NONE) | ||||
| @@ -876,10 +784,6 @@ static av_cold int xcbgrab_read_header(AVFormatContext *s)
 | ||||
|          return ret; | ||||
|      } | ||||
|   | ||||
| -#if CONFIG_LIBXCB_SHM
 | ||||
| -    c->has_shm = check_shm(c->conn);
 | ||||
| -#endif
 | ||||
| -
 | ||||
|  #if CONFIG_LIBXCB_XFIXES | ||||
|      if (c->draw_mouse) { | ||||
|          if (!(c->draw_mouse = check_xfixes(c->conn))) { | ||||
| -- 
 | ||||
| 2.34.1 | ||||
| 
 | ||||
							
								
								
									
										81
									
								
								gnu/packages/patches/fifengine-python-3.9-compat.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								gnu/packages/patches/fifengine-python-3.9-compat.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,81 @@ | |||
| Fix runtime error when using Python 3.9 or newer. | ||||
| 
 | ||||
| Taken from upstream: | ||||
| https://github.com/fifengine/fifengine/commit/cf295fd98a8fba080f6305c27be56d10ab7ce94d | ||||
| 
 | ||||
| diff --git a/engine/python/fife/extensions/serializers/simplexml.py b/engine/python/fife/extensions/serializers/simplexml.py
 | ||||
| index c4e10f4f8..d05567936 100644
 | ||||
| --- a/engine/python/fife/extensions/serializers/simplexml.py
 | ||||
| +++ b/engine/python/fife/extensions/serializers/simplexml.py
 | ||||
| @@ -200,7 +200,7 @@ def get(self, module, name, defaultValue=None):
 | ||||
|  		#get the module tree: for example find tree under module FIFE | ||||
|  		moduleTree = self._getModuleTree(module) | ||||
|  		element = None | ||||
| -		for e in moduleTree.getchildren():
 | ||||
| +		for e in moduleTree:
 | ||||
|  			if e.tag == "Setting" and e.get("name", "") == name: | ||||
|  				element = e | ||||
|  				break | ||||
| @@ -275,7 +275,7 @@ def set(self, module, name, value, extra_attrs={}):
 | ||||
|  			e_type = "str" | ||||
|  			value = str(value) | ||||
|   | ||||
| -		for e in moduleTree.getchildren():
 | ||||
| +		for e in moduleTree:
 | ||||
|  			if e.tag != "Setting": continue | ||||
|  			if e.get("name", "") == name: | ||||
|  				e.text = value | ||||
| @@ -305,7 +305,7 @@ def remove(self, module, name):
 | ||||
|   | ||||
|  		moduleTree = self._getModuleTree(module) | ||||
|   | ||||
| -		for e in moduleTree.getchildren():
 | ||||
| +		for e in moduleTree:
 | ||||
|  			if e.tag != "Setting": continue | ||||
|  			if e.get("name", "") == name: | ||||
|  				moduleTree.remove(e) | ||||
| @@ -321,7 +321,7 @@ def getModuleNameList(self):
 | ||||
|  			self._initialized = True | ||||
|   | ||||
|  		moduleNames = [] | ||||
| -		for c in self._root_element.getchildren():
 | ||||
| +		for c in self._root_element:
 | ||||
|  			if c.tag == "Module": | ||||
|  				name = c.get("name","") | ||||
|  				if not isinstance(name, basestring): | ||||
| @@ -344,7 +344,7 @@ def getAllSettings(self, module):
 | ||||
|  		 | ||||
|  		# now from the tree read every value, and put the necessary values | ||||
|  		# to the list | ||||
| -		for e in moduleTree.getchildren():
 | ||||
| +		for e in moduleTree:
 | ||||
|  			if e.tag == "Setting": | ||||
|  				name = e.get("name", "") | ||||
|  	 | ||||
| @@ -383,7 +383,7 @@ def _validateTree(self):
 | ||||
|  		 | ||||
|  		Raises an InvalidFormat exception if there is a format error. | ||||
|  		""" | ||||
| -		for c in self._root_element.getchildren():
 | ||||
| +		for c in self._root_element:
 | ||||
|  			if c.tag != "Module": | ||||
|  				raise InvalidFormat("Invalid tag in " + self._file + \ | ||||
|  									". Expected Module, got: " + c.tag) | ||||
| @@ -391,7 +391,7 @@ def _validateTree(self):
 | ||||
|  				raise InvalidFormat("Invalid tag in " + self._file + \ | ||||
|  									". Module name is empty.") | ||||
|  			else: | ||||
| -				for e in c.getchildren():
 | ||||
| +				for e in c:
 | ||||
|  					if e.tag != "Setting": | ||||
|  						raise InvalidFormat("Invalid tag in " + self._file + \ | ||||
|  											" in module: " + c.tag + \ | ||||
| @@ -414,7 +414,7 @@ def _getModuleTree(self, module):
 | ||||
|  			raise AttributeError("Settings:_getModuleTree: Invalid type for " | ||||
|  								 "module argument.") | ||||
|   | ||||
| -		for c in self._root_element.getchildren():
 | ||||
| +		for c in self._root_element:
 | ||||
|  			if c.tag == "Module" and c.get("name", "") == module: | ||||
|  				return c | ||||
|   | ||||
							
								
								
									
										61
									
								
								gnu/packages/patches/guile-fibers-libevent-timeout.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								gnu/packages/patches/guile-fibers-libevent-timeout.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,61 @@ | |||
| commit 2ca397bfcca94c106380368b5b0ce920b0a62a95 | ||||
| Author: Ludovic Courtès <ludo@gnu.org> | ||||
| Date:   Sat Jan 6 16:22:45 2024 +0100 | ||||
| 
 | ||||
|     libevent: Fix computation of the timeout value. | ||||
|      | ||||
| diff --git a/extensions/libevent.c b/extensions/libevent.c
 | ||||
| index 134460a..62e50a3 100644
 | ||||
| --- a/extensions/libevent.c
 | ||||
| +++ b/extensions/libevent.c
 | ||||
| @@ -192,30 +192,27 @@ scm_primitive_resize (SCM lst, SCM eventsv)
 | ||||
|  } | ||||
|  #undef FUNC_NAME | ||||
|   | ||||
| -static uint64_t time_units_per_microsec;
 | ||||
| +static uint64_t time_units_per_microsec, microsec_per_time_units;
 | ||||
|   | ||||
|  static void* | ||||
|  run_event_loop (void *p) | ||||
|  #define FUNC_NAME "primitive-event-loop" | ||||
|  { | ||||
| -  int ret = 0;
 | ||||
| -  int microsec = 0;
 | ||||
| -  struct timeval tv;
 | ||||
| -
 | ||||
| +  int ret;
 | ||||
|    struct loop_data *data = p; | ||||
|   | ||||
| -  if (data->timeout < 0)
 | ||||
| -    microsec = -1;
 | ||||
| -  else if (data->timeout >= 0)
 | ||||
| +  if (data->timeout >= 0)
 | ||||
|      { | ||||
| -      microsec = (time_units_per_microsec == 0)
 | ||||
| -	? 0 : data->timeout / time_units_per_microsec;
 | ||||
| -      tv.tv_sec = 0;
 | ||||
| -      tv.tv_usec = microsec;
 | ||||
| -    }
 | ||||
| +      struct timeval tv;
 | ||||
| +
 | ||||
| +      tv.tv_sec = data->timeout / scm_c_time_units_per_second;
 | ||||
| +      tv.tv_usec =
 | ||||
| +	time_units_per_microsec > 0
 | ||||
| +	? ((data->timeout % scm_c_time_units_per_second)
 | ||||
| +	   / time_units_per_microsec)
 | ||||
| +	: ((data->timeout % scm_c_time_units_per_second)
 | ||||
| +	   * microsec_per_time_units);
 | ||||
|   | ||||
| -  if (microsec >= 0)
 | ||||
| -    {
 | ||||
|        ret = event_base_loopexit (data->base, &tv); | ||||
|        if (ret == -1) | ||||
|          SCM_MISC_ERROR ("event loop exit failed", SCM_EOL); | ||||
| @@ -307,6 +304,7 @@ void
 | ||||
|  init_fibers_libevt (void) | ||||
|  { | ||||
|    time_units_per_microsec = scm_c_time_units_per_second / 1000000; | ||||
| +  microsec_per_time_units = 1000000 / scm_c_time_units_per_second;
 | ||||
|   | ||||
|    scm_c_define_gsubr ("primitive-event-wake", 1, 0, 0, | ||||
|                        scm_primitive_event_wake); | ||||
|  | @ -1,3 +1,5 @@ | |||
| This issue is tracked at https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/824. | ||||
| 
 | ||||
| From 3fd7acc6e5a8c316c366827956d7c06affdc9685 Mon Sep 17 00:00:00 2001 | ||||
| From: Olivier Dion <olivier.dion@savoirfairelinux.com> | ||||
| Date: Fri, 7 Oct 2022 15:20:37 -0400 | ||||
|  | @ -17,8 +19,8 @@ With file names adjusted for the source tarball. | |||
| 
 | ||||
| diff --git a/configure.ac b/configure.ac
 | ||||
| index 27215d044..aaeef1c1b 100644
 | ||||
| --- a/daemon/configure.ac
 | ||||
| +++ b/daemon/configure.ac
 | ||||
| --- a/configure.ac
 | ||||
| +++ b/configure.ac
 | ||||
| @@ -40,6 +40,11 @@ AS_IF([test "x$enable_debug" = "xyes"],
 | ||||
|    [DAEMONCFLAGS+=" -DNDEBUG=1 -O3" | ||||
|     DAEMONCXXFLAGS+=" -DNDEBUG=1 -O3 -Wno-deprecated"]) | ||||
|  | @ -33,8 +35,8 @@ index 27215d044..aaeef1c1b 100644 | |||
|      [Build fuzzing tools])) | ||||
| diff --git a/test/unitTest/Makefile.am b/test/unitTest/Makefile.am
 | ||||
| index f2b0fd994..ab232ddb7 100644
 | ||||
| --- a/daemon/test/unitTest/Makefile.am
 | ||||
| +++ b/daemon/test/unitTest/Makefile.am
 | ||||
| --- a/test/unitTest/Makefile.am
 | ||||
| +++ b/test/unitTest/Makefile.am
 | ||||
| @@ -13,30 +13,6 @@ check_PROGRAMS =
 | ||||
|   | ||||
|  ####### Unit Test ######## | ||||
|  |  | |||
|  | @ -1,4 +1,7 @@ | |||
| Upstream status: https://review.jami.net/c/jami-client-qt/+/24273. | ||||
| It was applied, then reverted (by mistake?) in 4d2c55348bc014. | ||||
| 
 | ||||
| It's been resubmitted here: | ||||
| https://lists.gnu.org/archive/html/jami/2024-01/msg00005.html | ||||
| 
 | ||||
| diff --git a/CMakeLists.txt b/CMakeLists.txt
 | ||||
| index 8d71b84b..36729698 100644
 | ||||
|  |  | |||
							
								
								
									
										15
									
								
								gnu/packages/patches/jami-qml-tests-discovery.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								gnu/packages/patches/jami-qml-tests-discovery.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | |||
| Upstream status: https://review.jami.net/c/jami-client-qt/+/25640 | ||||
| 
 | ||||
| diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
 | ||||
| index d50908cf..587c9d15 100644
 | ||||
| --- a/tests/CMakeLists.txt
 | ||||
| +++ b/tests/CMakeLists.txt
 | ||||
| @@ -73,6 +73,8 @@ endif()
 | ||||
|   | ||||
|  string(TOUPPER ${CMAKE_BUILD_TYPE} BUILD_TYPE) | ||||
|   | ||||
| +set(QUICK_TEST_SOURCE_DIR "${CMAKE_SOURCE_DIR}tests/qml/src")
 | ||||
| +
 | ||||
|  set(QML_TESTS_SOURCE_FILES | ||||
|      ${CMAKE_SOURCE_DIR}/tests/qml/main.cpp | ||||
|      ${TEST_QML_RESOURCES} | ||||
|  | @ -0,0 +1,51 @@ | |||
| Forwarded upstream: https://lists.gnu.org/archive/html/jami/2024-01/msg00010.html | ||||
| 
 | ||||
| From 1d3b044c85c32341cca392254fe8bbf34a4639e1 Mon Sep 17 00:00:00 2001 | ||||
| From: Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| Date: Tue, 9 Jan 2024 11:14:04 -0500 | ||||
| Subject: [PATCH] tests: Skip tests that need Internet when there's none. | ||||
| MIME-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| 
 | ||||
| * tests/unittests/messageparser_unittest.cpp (ALinkIsParsedCorrectly) | ||||
| (YoutubeLinkIsParsedCorrectly): Skip when there is no Internet. | ||||
| 
 | ||||
| Series-to: jami@gnu.org | ||||
| Series-cc: Sébastien Blin <sebastien.blin@savoirfairelinux.com> | ||||
| Fixes: <https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1507> | ||||
| Change-Id: I0a5b57cd82f93fd7edf3fbeb73fb3db5a04c628c | ||||
| ---
 | ||||
|  tests/unittests/messageparser_unittest.cpp | 6 ++++++ | ||||
|  1 file changed, 6 insertions(+) | ||||
| 
 | ||||
| diff --git a/tests/unittests/messageparser_unittest.cpp b/tests/unittests/messageparser_unittest.cpp
 | ||||
| index c10b0d0b..df7a0692 100644
 | ||||
| --- a/tests/unittests/messageparser_unittest.cpp
 | ||||
| +++ b/tests/unittests/messageparser_unittest.cpp
 | ||||
| @@ -69,6 +69,9 @@ TEST_F(MessageParserFixture, TextIsParsedCorrectly)
 | ||||
|   */ | ||||
|  TEST_F(MessageParserFixture, ALinkIsParsedCorrectly) | ||||
|  { | ||||
| +    if (!globalEnv.connectivityMonitor->isOnline())
 | ||||
| +        GTEST_SKIP() << "ALinkIsParsedCorrectly requires Internet connectivity";
 | ||||
| +
 | ||||
|      auto linkColor = QColor::fromRgb(0, 0, 255); | ||||
|      auto backgroundColor = QColor::fromRgb(0, 0, 255); | ||||
|   | ||||
| @@ -174,6 +177,9 @@ TEST_F(MessageParserFixture, FencedCodeIsParsedCorrectly)
 | ||||
|   */ | ||||
|  TEST_F(MessageParserFixture, YoutubeLinkIsParsedCorrectly) | ||||
|  { | ||||
| +    if (!globalEnv.connectivityMonitor->isOnline())
 | ||||
| +        GTEST_SKIP() << "YoutubeLinkIsParsedCorrectly requires Internet connectivity";
 | ||||
| +
 | ||||
|      auto url = "https://www.youtube.com/watch?v=1234567890"; | ||||
|      auto msg = "blah blah " + QString(url) + " blah blah"; | ||||
|   | ||||
| 
 | ||||
| base-commit: a4300308dc8d03d59f620bb5fed753df5cf31ed9 | ||||
| prerequisite-patch-id: 90a419e7de1f4fa5bb68bc58ad0da2817ed268e0 | ||||
| -- 
 | ||||
| 2.41.0 | ||||
| 
 | ||||
							
								
								
									
										71
									
								
								gnu/packages/patches/jami-unbundle-dependencies.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								gnu/packages/patches/jami-unbundle-dependencies.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,71 @@ | |||
| Forwarded here: https://lists.gnu.org/archive/html/jami/2024-01/msg00007.html | ||||
| 
 | ||||
| From a302dc0a0faf2778331745a1d01bc3071e182d4d Mon Sep 17 00:00:00 2001 | ||||
| From: Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| Date: Mon, 8 Jan 2024 16:07:05 -0500 | ||||
| Subject: [PATCH] build: Allow using system-provided md4c and tidy libraries. | ||||
| 
 | ||||
| * CMakeLists.txt <md4c, tidy>: Search for libraries in the system | ||||
| first, falling back to bundled copies in case they aren't found. | ||||
| 
 | ||||
| Series-to: jami@gnu.org | ||||
| Fixes: <https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1506> | ||||
| Change-Id: I637959fefce6a21b0ee73a793acb6c3c42dcdce0 | ||||
| ---
 | ||||
|  CMakeLists.txt | 36 +++++++++++++++++++++++++----------- | ||||
|  1 file changed, 25 insertions(+), 11 deletions(-) | ||||
| 
 | ||||
| diff --git a/CMakeLists.txt b/CMakeLists.txt
 | ||||
| index 38e7a4e2..3f1bd599 100644
 | ||||
| --- a/CMakeLists.txt
 | ||||
| +++ b/CMakeLists.txt
 | ||||
| @@ -545,19 +545,33 @@ add_subdirectory(3rdparty/SortFilterProxyModel)
 | ||||
|  set(SFPM_OBJECTS $<TARGET_OBJECTS:SortFilterProxyModel>) | ||||
|   | ||||
|  # md4c | ||||
| -set(BUILD_SHARED_LIBS OFF CACHE BOOL "Don't build shared md4c library" FORCE)
 | ||||
| -add_subdirectory(3rdparty/md4c EXCLUDE_FROM_ALL)
 | ||||
| -list(APPEND CLIENT_LINK_DIRS ${MD4C_BINARY_DIR}/src)
 | ||||
| -list(APPEND CLIENT_INCLUDE_DIRS ${MD4C_SOURCE_DIR}/src)
 | ||||
| -list(APPEND CLIENT_LIBS md4c-html)
 | ||||
| +find_package(md4c)
 | ||||
| +if(md4c_FOUND)
 | ||||
| +  message(STATUS "Using system-provided md4c-html")
 | ||||
| +  list(APPEND CLIENT_LIBS md4c::md4c-html)
 | ||||
| +else()
 | ||||
| +  message("Using bundled md4c-html library")
 | ||||
| +  set(BUILD_SHARED_LIBS OFF CACHE BOOL "Don't build shared md4c library" FORCE)
 | ||||
| +  add_subdirectory(3rdparty/md4c EXCLUDE_FROM_ALL)
 | ||||
| +  list(APPEND CLIENT_LINK_DIRS ${MD4C_BINARY_DIR}/src)
 | ||||
| +  list(APPEND CLIENT_INCLUDE_DIRS ${MD4C_SOURCE_DIR}/src)
 | ||||
| +  list(APPEND CLIENT_LIBS md4c-html)
 | ||||
| +endif()
 | ||||
|   | ||||
|  # tidy-html5 | ||||
| -set(BUILD_SHARED_LIB OFF CACHE BOOL "Don't build shared tidy library" FORCE)
 | ||||
| -set(SUPPORT_CONSOLE_APP OFF CACHE BOOL "Don't build tidy console app" FORCE)
 | ||||
| -add_subdirectory(3rdparty/tidy-html5 EXCLUDE_FROM_ALL)
 | ||||
| -list(APPEND CLIENT_LINK_DIRS ${tidy_BINARY_DIR}/Release)
 | ||||
| -list(APPEND CLIENT_INCLUDE_DIRS ${tidy_SOURCE_DIR}/include)
 | ||||
| -list(APPEND CLIENT_LIBS tidy-static)
 | ||||
| +pkg_check_modules(tidy IMPORTED_TARGET tidy)
 | ||||
| +if(tidy_FOUND)
 | ||||
| +  message(STATUS "Using system-provided tidy")
 | ||||
| +  list(APPEND CLIENT_LIBS PkgConfig::tidy)
 | ||||
| +else()
 | ||||
| +  message("Using bundled tidy library")
 | ||||
| +  set(BUILD_SHARED_LIB OFF CACHE BOOL "Don't build shared tidy library" FORCE)
 | ||||
| +  set(SUPPORT_CONSOLE_APP OFF CACHE BOOL "Don't build tidy console app" FORCE)
 | ||||
| +  add_subdirectory(3rdparty/tidy-html5 EXCLUDE_FROM_ALL)
 | ||||
| +  list(APPEND CLIENT_LINK_DIRS ${tidy_BINARY_DIR}/Release)
 | ||||
| +  list(APPEND CLIENT_INCLUDE_DIRS ${tidy_SOURCE_DIR}/include)
 | ||||
| +  list(APPEND CLIENT_LIBS tidy-static)
 | ||||
| +endif()
 | ||||
|   | ||||
|  # common executable sources | ||||
|  qt_add_executable( | ||||
| 
 | ||||
| base-commit: a4300308dc8d03d59f620bb5fed753df5cf31ed9 | ||||
| -- 
 | ||||
| 2.41.0 | ||||
| 
 | ||||
							
								
								
									
										13
									
								
								gnu/packages/patches/jdk-currency-time-bomb.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								gnu/packages/patches/jdk-currency-time-bomb.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,13 @@ | |||
| Fix a time bomb present in the jdk "drop" of IcedTea. | ||||
| 
 | ||||
| --- a/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java
 | ||||
| +++ b/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java
 | ||||
| @@ -284,7 +284,7 @@ public class GenerateCurrencyData {
 | ||||
|              String timeString = currencyInfo.substring(4, length - 4); | ||||
|              long time = format.parse(timeString).getTime(); | ||||
|              if (Math.abs(time - System.currentTimeMillis()) > ((long) 10) * 365 * 24 * 60 * 60 * 1000) { | ||||
| -                throw new RuntimeException("time is more than 10 years from present: " + time);
 | ||||
| +                System.err.println("note: time is more than 10 years from \"present\": " + time);
 | ||||
|              } | ||||
|              specialCaseCutOverTimes[specialCaseCount] = time; | ||||
|              specialCaseOldCurrencies[specialCaseCount] = oldCurrency; | ||||
							
								
								
									
										13
									
								
								gnu/packages/patches/jdk-currency-time-bomb2.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								gnu/packages/patches/jdk-currency-time-bomb2.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,13 @@ | |||
| Fix a time bomb present in the jdk "drop" of IcedTea 8. | ||||
| 
 | ||||
| --- a/make/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java
 | ||||
| +++ b/make/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java
 | ||||
| @@ -284,7 +284,7 @@ public class GenerateCurrencyData {
 | ||||
|              String timeString = currencyInfo.substring(4, length - 4); | ||||
|              long time = format.parse(timeString).getTime(); | ||||
|              if (Math.abs(time - System.currentTimeMillis()) > ((long) 10) * 365 * 24 * 60 * 60 * 1000) { | ||||
| -                throw new RuntimeException("time is more than 10 years from present: " + time);
 | ||||
| +                System.err.println("note: time is more than 10 years from \"present\": " + time);
 | ||||
|              } | ||||
|              specialCaseCutOverTimes[specialCaseCount] = time; | ||||
|              specialCaseOldCurrencies[specialCaseCount] = oldCurrency; | ||||
							
								
								
									
										52
									
								
								gnu/packages/patches/libjami-ac-config-files.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								gnu/packages/patches/libjami-ac-config-files.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,52 @@ | |||
| Forwarded here: https://lists.gnu.org/archive/html/jami/2024-01/msg00003.html | ||||
| 
 | ||||
| From 20a1702d881b381979d31c456f1b8cf5e0f728ad Mon Sep 17 00:00:00 2001 | ||||
| From: Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| Date: Sun, 7 Jan 2024 16:40:41 -0500 | ||||
| Subject: [PATCH] configure.ac: Expand AC_CONFIG_FILES to fix a race. | ||||
| 
 | ||||
| The commands apparently run for each file listed, or something | ||||
| similar, leading to: | ||||
| 
 | ||||
|   configure: creating ./config.status | ||||
|   config.status: creating test/agent/Makefile | ||||
|   chmod: cannot access 'test/agent/pre-inst-env': No such file or directory | ||||
|   chmod: cannot access 'test/agent/scenarios/bulk-calls/run-scenario': No such file or directory | ||||
|   config.status: creating test/agent/pre-inst-env | ||||
|   chmod: cannot access 'test/agent/scenarios/bulk-calls/run-scenario': No such file or directory | ||||
| 
 | ||||
| * configure.ac [ENABLE_AGENT]: Separate AC_CONFIG_FILES uses per file. | ||||
| 
 | ||||
| Series-to: jami@gnu.org | ||||
| Series-postfix: daemon | ||||
| Change-Id: Ib283955b73540248e09bf31ef44ef3d178b216fa | ||||
| ---
 | ||||
|  configure.ac | 10 +++++----- | ||||
|  1 file changed, 5 insertions(+), 5 deletions(-) | ||||
| 
 | ||||
| diff --git a/configure.ac b/configure.ac
 | ||||
| index cdea5ff1c..2ab96d817 100644
 | ||||
| --- a/configure.ac
 | ||||
| +++ b/configure.ac
 | ||||
| @@ -61,11 +61,11 @@ AC_ARG_ENABLE([agent],
 | ||||
|      [Build agent])) | ||||
|  AM_CONDITIONAL([ENABLE_AGENT], [test "x$enable_agent" = "xyes"]) | ||||
|  AM_COND_IF([ENABLE_AGENT], | ||||
| -           [AC_CONFIG_FILES([test/agent/Makefile
 | ||||
| -                             test/agent/pre-inst-env:test/agent/build-aux/pre-inst-env.in
 | ||||
| -                             test/agent/scenarios/bulk-calls/run-scenario],
 | ||||
| -                            [chmod +x test/agent/pre-inst-env
 | ||||
| -                             chmod +x test/agent/scenarios/bulk-calls/run-scenario])])
 | ||||
| +  [AC_CONFIG_FILES([test/agent/Makefile])
 | ||||
| +   AC_CONFIG_FILES([test/agent/pre-inst-env:test/agent/build-aux/pre-inst-env.in],
 | ||||
| +                   [chmod +x test/agent/pre-inst-env])
 | ||||
| +   AC_CONFIG_FILES([test/agent/scenarios/bulk-calls/run-scenario],
 | ||||
| +                   [chmod +x test/agent/scenarios/bulk-calls/run-scenario])])
 | ||||
|   | ||||
|  AC_ARG_ENABLE([tracepoints], AS_HELP_STRING([--enable-tracepoints], [Enable tracepoints])) | ||||
|   | ||||
| 
 | ||||
| base-commit: e246fb2e090c9b3de55e2d455eee5a6f05a5b286 | ||||
| -- 
 | ||||
| 2.41.0 | ||||
| 
 | ||||
							
								
								
									
										13
									
								
								gnu/packages/patches/openjdk-currency-time-bomb.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								gnu/packages/patches/openjdk-currency-time-bomb.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,13 @@ | |||
| Fix a time bomb present in the OpenJDK tools. | ||||
| 
 | ||||
| --- a/jdk/make/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java
 | ||||
| +++ b/jdk/make/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java
 | ||||
| @@ -285,7 +285,7 @@ public class GenerateCurrencyData {
 | ||||
|              String timeString = currencyInfo.substring(4, length - 4); | ||||
|              long time = format.parse(timeString).getTime(); | ||||
|              if (Math.abs(time - System.currentTimeMillis()) > ((long) 10) * 365 * 24 * 60 * 60 * 1000) { | ||||
| -                throw new RuntimeException("time is more than 10 years from present: " + time);
 | ||||
| +                System.err.println("note: time is more than 10 years from \"present\": " + time);
 | ||||
|              } | ||||
|              specialCaseCutOverTimes[specialCaseCount] = time; | ||||
|              specialCaseOldCurrencies[specialCaseCount] = oldCurrency; | ||||
							
								
								
									
										13
									
								
								gnu/packages/patches/openjdk-currency-time-bomb2.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								gnu/packages/patches/openjdk-currency-time-bomb2.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,13 @@ | |||
| Fix a time bomb present in the OpenJDK tools. | ||||
| 
 | ||||
| --- a/make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java
 | ||||
| +++ b/make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java
 | ||||
| @@ -285,7 +285,7 @@ public class GenerateCurrencyData {
 | ||||
|              String timeString = currencyInfo.substring(4, length - 4); | ||||
|              long time = format.parse(timeString).getTime(); | ||||
|              if (Math.abs(time - System.currentTimeMillis()) > ((long) 10) * 365 * 24 * 60 * 60 * 1000) { | ||||
| -                throw new RuntimeException("time is more than 10 years from present: " + time);
 | ||||
| +                System.err.println("note: time is more than 10 years from \"present\": " + time);
 | ||||
|              } | ||||
|              specialCaseCutOverTimes[specialCaseCount] = time; | ||||
|              specialCaseOldCurrencies[specialCaseCount] = oldCurrency; | ||||
							
								
								
									
										15
									
								
								gnu/packages/patches/python-pyreadstat-link-libiconv.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								gnu/packages/patches/python-pyreadstat-link-libiconv.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | |||
| To ensure libiconv can be found by Guix, we need to link the library. | ||||
| 
 | ||||
| --- a/setup.py
 | ||||
| +++ b/setup.py
 | ||||
| @@ -81,8 +81,7 @@ else:
 | ||||
|      libraries.extend(["m", "z"]) | ||||
|      _platform = sys.platform | ||||
|      # Mac: iconv needs to be linked statically | ||||
| -    if _platform.lower().startswith("darwin"):
 | ||||
| -        libraries.append("iconv")
 | ||||
| +    libraries.append("iconv")
 | ||||
|   | ||||
|  # Extensions | ||||
|  sources.sort() | ||||
| 
 | ||||
							
								
								
									
										23
									
								
								gnu/packages/patches/python-uqbar-python3.10.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								gnu/packages/patches/python-uqbar-python3.10.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,23 @@ | |||
| Since Python 3.10 the output of a CLI program created with argparse | ||||
| uses "options" instead of "optional arguments". This behaviour breaks | ||||
| the tests in python-uqbar. | ||||
| 
 | ||||
| --- a/tests/test_cli.py
 | ||||
| +++ b/tests/test_cli.py
 | ||||
| @@ -84,7 +84,7 @@ def test_call_help():
 | ||||
|   | ||||
|          speak like a cat | ||||
|   | ||||
| -        optional arguments:
 | ||||
| +        options:
 | ||||
|            -h, --help  show this help message and exit | ||||
|            --version   show program's version number and exit | ||||
|            --loud      be adamant | ||||
| @@ -101,6 +101,6 @@ def test_help():
 | ||||
|          """ | ||||
|          usage: vox-aggregator [-h] [--version] {help,list,birds,mammals} ... | ||||
|   | ||||
| -        optional arguments:
 | ||||
| +        options:
 | ||||
|            -h, --help            show this help message and exit | ||||
|            --version             show program's version number and exit | ||||
							
								
								
									
										27
									
								
								gnu/packages/patches/sbcl-fix-ppc64-build.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								gnu/packages/patches/sbcl-fix-ppc64-build.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,27 @@ | |||
| commit 255f3ead060129aa097b62f10d054cdc4997a431 | ||||
| Author: Douglas Katzman <dougk@google.com> | ||||
| Date:   Mon Jan 1 23:59:50 2024 -0500 | ||||
| 
 | ||||
|     Fix ppc64 failure-to-build (from a few weeks ago) | ||||
|      | ||||
|     Git rev 7354472bb5 caused NIL to get a bogus widetag. | ||||
| 
 | ||||
| diff --git a/make-target-2-load.lisp b/make-target-2-load.lisp
 | ||||
| index 6571ec27d..daef942ea 100644
 | ||||
| --- a/make-target-2-load.lisp
 | ||||
| +++ b/make-target-2-load.lisp
 | ||||
| @@ -339,7 +339,13 @@ Please check that all strings which were not recognizable to the compiler
 | ||||
|   | ||||
|   | ||||
|    (do-all-symbols (symbol) | ||||
| -    (sb-kernel:logior-header-bits symbol sb-vm::+symbol-initial-core+)
 | ||||
| +    ;; Don't futz with the header of static symbols.
 | ||||
| +    ;; Technically LOGIOR-HEADER-BITS can only be used on an OTHER-POINTER-LOWTAG
 | ||||
| +    ;; objects, so modifying NIL should not ever work, but it's especially wrong
 | ||||
| +    ;; on ppc64 where OTHER- and LIST- pointer lowtags are 10 bytes apart instead
 | ||||
| +    ;; of 8, so this was making a random alteration to the header.
 | ||||
| +    (unless (eq (heap-allocated-p symbol) :static)
 | ||||
| +      (sb-kernel:logior-header-bits symbol sb-vm::+symbol-initial-core+))
 | ||||
|   | ||||
|      ;; A symbol whose INFO slot underwent any kind of manipulation | ||||
|      ;; such that it now has neither properties nor globaldb info, | ||||
							
								
								
									
										19
									
								
								gnu/packages/patches/sbcl-fix-riscv-build.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								gnu/packages/patches/sbcl-fix-riscv-build.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,19 @@ | |||
| commit b286d92af7468164c155c70d38213211b296fdfe | ||||
| Author: Douglas Katzman <dougk@google.com> | ||||
| Date:   Wed Jan 10 11:46:55 2024 -0500 | ||||
| 
 | ||||
|     Fix riscv build | ||||
| 
 | ||||
| diff --git a/src/compiler/riscv/float.lisp b/src/compiler/riscv/float.lisp
 | ||||
| index ce46d24ac..a16380293 100644
 | ||||
| --- a/src/compiler/riscv/float.lisp
 | ||||
| +++ b/src/compiler/riscv/float.lisp
 | ||||
| @@ -578,7 +578,7 @@
 | ||||
|    (:results (res :scs (double-reg))) | ||||
|    (:arg-types signed-num) | ||||
|    (:result-types double-float) | ||||
| -  (:translate make-double-float)
 | ||||
| +  (:translate %make-double-float)
 | ||||
|    (:policy :fast-safe) | ||||
|    (:generator 2 | ||||
|      (inst fmvx-> :double res bits))) | ||||
							
								
								
									
										32
									
								
								gnu/packages/patches/unknown-horizons-python-3.10.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								gnu/packages/patches/unknown-horizons-python-3.10.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,32 @@ | |||
| From 4ff605d6c55fcf3e9b4777ffbcb0c24ef17ba4ca Mon Sep 17 00:00:00 2001 | ||||
| From: Arti <artism90@googlemail.com> | ||||
| Date: Mon, 28 Feb 2022 21:19:50 +0100 | ||||
| Subject: [PATCH] Rename instances of `collections.Iterable` into | ||||
|  `collections.abc.Iterable` (#2956) | ||||
| 
 | ||||
| ---
 | ||||
|  horizons/ai/aiplayer/combat/unitmanager.py | 4 ++-- | ||||
|  1 file changed, 2 insertions(+), 2 deletions(-) | ||||
| 
 | ||||
| diff --git a/horizons/ai/aiplayer/combat/unitmanager.py b/horizons/ai/aiplayer/combat/unitmanager.py
 | ||||
| index 8449d5563c5..57db0d47061 100644
 | ||||
| --- a/horizons/ai/aiplayer/combat/unitmanager.py
 | ||||
| +++ b/horizons/ai/aiplayer/combat/unitmanager.py
 | ||||
| @@ -151,7 +151,7 @@ def _ship_state_rule(self, state_dict, ship_states):
 | ||||
|  		""" | ||||
|  		Rule stating that ship has to be in any of given states. | ||||
|  		""" | ||||
| -		if not isinstance(ship_states, collections.Iterable):
 | ||||
| +		if not isinstance(ship_states, collections.abc.Iterable):
 | ||||
|  			ship_states = (ship_states,) | ||||
|  		return lambda ship: (state_dict[ship] in ship_states) | ||||
|   | ||||
| @@ -178,7 +178,7 @@ def filter_ships(self, ships, rules):
 | ||||
|  		@param rules: conditions each ship has to meet (AND) | ||||
|  		@type rules: iterable of lambda(ship) or single lambda(ship) | ||||
|  		""" | ||||
| -		if not isinstance(rules, collections.Iterable):
 | ||||
| +		if not isinstance(rules, collections.abc.Iterable):
 | ||||
|  			rules = (rules,) | ||||
|  		return [ship for ship in ships if all((rule(ship) for rule in rules))] | ||||
|   | ||||
							
								
								
									
										41
									
								
								gnu/packages/patches/unknown-horizons-python-3.9.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								gnu/packages/patches/unknown-horizons-python-3.9.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,41 @@ | |||
| From 7f6f613826aef9810999c1599c8354e8a78fbdb4 Mon Sep 17 00:00:00 2001 | ||||
| From: Lukas1818 <44570204+Lukas1818@users.noreply.github.com> | ||||
| Date: Fri, 19 Feb 2021 21:08:44 +0100 | ||||
| Subject: [PATCH] fixs for Phyton 3.9 (#2955) | ||||
| 
 | ||||
| * change deprecated isAlive() to is_alive() | ||||
| 
 | ||||
| * remove unsupported keyword "encoding" | ||||
| 
 | ||||
| Co-authored-by: Lukas1818 <git@lukas1818.de> | ||||
| ---
 | ||||
|  horizons/util/loaders/jsondecoder.py | 2 +- | ||||
|  horizons/util/preloader.py           | 4 ++-- | ||||
|  2 files changed, 3 insertions(+), 3 deletions(-) | ||||
| 
 | ||||
| diff --git a/horizons/util/loaders/jsondecoder.py b/horizons/util/loaders/jsondecoder.py
 | ||||
| index ea2ddfb3308..138a948f42a 100644
 | ||||
| --- a/horizons/util/loaders/jsondecoder.py
 | ||||
| +++ b/horizons/util/loaders/jsondecoder.py
 | ||||
| @@ -37,4 +37,4 @@ def _decode_dict(dct):
 | ||||
|  			return newdict | ||||
|   | ||||
|  		with open(path, "r") as f: | ||||
| -			return json.load(f, encoding="ascii", object_hook=_decode_dict)
 | ||||
| +			return json.load(f, object_hook=_decode_dict)
 | ||||
| diff --git a/horizons/util/preloader.py b/horizons/util/preloader.py
 | ||||
| index 5689cc68152..2e072fcc642 100644
 | ||||
| --- a/horizons/util/preloader.py
 | ||||
| +++ b/horizons/util/preloader.py
 | ||||
| @@ -79,9 +79,9 @@ def wait_for_finish(self):
 | ||||
|  		""" | ||||
|  		self.lock.acquire() | ||||
|  		# wait until it finished its current action | ||||
| -		if self.isAlive():
 | ||||
| +		if self.is_alive():
 | ||||
|  			self.join() | ||||
| -			assert not self.isAlive()
 | ||||
| +			assert not self.is_alive()
 | ||||
|  		else: | ||||
|  			try: | ||||
|  				self.lock.release() | ||||
|  | @ -371,7 +371,23 @@ please install the @code{flyer-composer-gui} package."))) | |||
|                  (setenv "PKG_CONFIG" #$(pkg-config-for-target)))))))) | ||||
|    (synopsis "PDF rendering library") | ||||
|    (description | ||||
|     "Poppler is a PDF rendering library based on the xpdf-3.0 code base.") | ||||
|     "Poppler is a PDF rendering library based on the xpdf-3.0 code base. | ||||
| Poppler gives access to the following binary programs: | ||||
| @itemize | ||||
| @item pdfattach | ||||
| @item pdfdetach | ||||
| @item pdffonts | ||||
| @item pdfimages | ||||
| @item pdfinfo | ||||
| @item pdfseparate | ||||
| @item pdfsig | ||||
| @item pdftocairo | ||||
| @item pdftohtml | ||||
| @item pdftoppm | ||||
| @item pdftops | ||||
| @item pdftotext | ||||
| @item pdfunite | ||||
| @end itemize") | ||||
|    (license license:gpl2+) | ||||
|    (home-page "https://poppler.freedesktop.org/"))) | ||||
| 
 | ||||
|  |  | |||
|  | @ -209,7 +209,7 @@ satisfiability checking (SAT).") | |||
|                                 "unpool-ast-v2" "parse_term" | ||||
|                                 "propagator" "propgator-sequence-mining" | ||||
|                                 "symbol" "visitor")))))))))) | ||||
|     (inputs (list catch2-3.3 clasp libpotassco)) | ||||
|     (inputs (list catch2-3 clasp libpotassco)) | ||||
|     (native-inputs (list mpark-variant | ||||
|                          pkg-config | ||||
|                          tl-optional | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2019, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2019, 2021-2024 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2019, 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
|  | @ -2140,20 +2140,29 @@ help in debugging failures and optimizing the scheduler to improve speed.") | |||
|               (method url-fetch) | ||||
|               (uri (pypi-uri "pytest-sanic" version)) | ||||
|               (sha256 | ||||
|                 (base32 | ||||
|                   "0shq1bqnydj0l3ipb73j1qh5kqcjvzkps30zk8grq3dwmh3wmnkr")))) | ||||
|                (base32 | ||||
|                 "0shq1bqnydj0l3ipb73j1qh5kqcjvzkps30zk8grq3dwmh3wmnkr")))) | ||||
|     ;; We don't use pyproject-build-system because that would require | ||||
|     ;; poetry.masonry. | ||||
|     (build-system python-build-system) | ||||
|     (arguments | ||||
|      ;; Tests depend on python-sanic. | ||||
|      `(#:tests? #f)) | ||||
|      (list | ||||
|       #:tests? #f | ||||
|       #:phases | ||||
|       '(modify-phases %standard-phases | ||||
|          (add-after 'unpack 'relax-requirements | ||||
|            (lambda _ | ||||
|              (substitute* "setup.py" | ||||
|                (("websockets.*<11.0") | ||||
|                 "websockets<12.0"))))))) | ||||
|     (propagated-inputs | ||||
|       (list python-httpx python-async-generator python-pytest | ||||
|             python-websockets)) | ||||
|     (home-page | ||||
|       "https://github.com/yunstanford/pytest-sanic") | ||||
|      (list python-httpx python-async-generator python-pytest | ||||
|            python-websockets)) | ||||
|     (home-page "https://github.com/yunstanford/pytest-sanic") | ||||
|     (synopsis "Pytest plugin for Sanic") | ||||
|     (description "A pytest plugin for Sanic.  It helps you to test your | ||||
| code asynchronously.") | ||||
|     (description "This package provides a pytest plugin for Sanic.  It helps | ||||
| you to test your code asynchronously.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public python-allpairspy | ||||
|  |  | |||
|  | @ -7,6 +7,7 @@ | |||
| ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> | ||||
| ;;; Copyright © 2020, 2022, 2023 Marius Bakke <marius@gnu.org> | ||||
| ;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot> | ||||
| ;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -416,6 +417,39 @@ the LZ4 frame format.") | |||
|     (description "Lz-string is a string compressor library for Python.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public python-python-snappy | ||||
|   (package | ||||
|     ;; PyPI contains both `snappy' and `python-snappy' as completely distinct | ||||
|     ;; packages. To avoid a name collision in Guix, we use the variable name | ||||
|     ;; `python-python-snappy' for the package called `python-snappy' on PyPI. | ||||
|     (name "python-python-snappy") | ||||
|     (version "0.6.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "python-snappy" version)) | ||||
|        (sha256 | ||||
|         (base32 "0amv12w0ybn6n1lk36x70a3l8bdjv4mn7iflb59wqsi00smhg8dn")))) | ||||
|     (build-system python-build-system) | ||||
|     (arguments | ||||
|      '(#:phases (modify-phases %standard-phases | ||||
|                   (replace 'check | ||||
|                     (lambda* (#:key tests? #:allow-other-keys) | ||||
|                       (when tests? | ||||
|                         (invoke "pytest" "-vv" "-k" | ||||
|                                 ;; CFFI is only supported for PyPy builds. | ||||
|                                 (string-append "not test_snappy_cffi_enum " | ||||
|                                                "and not test_snappy_all_cffi")))))))) | ||||
|     (inputs (list snappy)) | ||||
|     (native-inputs (list python-pytest)) | ||||
|     (home-page "https://github.com/andrix/python-snappy") | ||||
|     (synopsis "Python bindings for the Snappy compression library") | ||||
|     (description | ||||
|      "@code{python-python-snappy} provides bindings to the Snappy library and | ||||
| can be used to compress and decompress files and streams.  It can also be used | ||||
| directly from the command line.") | ||||
|     (license license:bsd-3))) | ||||
| 
 | ||||
| (define-public bitshuffle | ||||
|   (package | ||||
|     (name "bitshuffle") | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2015, 2016, 2020, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2015, 2016, 2020, 2021, 2022, 2023, 2024 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> | ||||
| ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> | ||||
| ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> | ||||
|  | @ -1374,6 +1374,7 @@ Mathematics (GLM) library to Python.") | |||
|                 "test_shutdown" | ||||
|                 "test_shutdown_localcluster" | ||||
|                 "test_teardown_failure_doesnt_crash_scheduler" | ||||
|                 "test_tell_workers_when_peers_have_left" | ||||
|                 "test_threadpoolworkers_pick_correct_ioloop" | ||||
|                 "test_tls_listen_connect" | ||||
|                 "test_tls_temporary_credentials_functional" | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org> | ||||
| ;;; Copyright © 2013, 2014, 2015, 2016, 2020 Andreas Enge <andreas@enge.fr> | ||||
| ;;; Copyright © 2016, 2017, 2019-2023 Marius Bakke <marius@gnu.org> | ||||
| ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2015-2024 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2017, 2021 Roel Janssen <roel@gnu.org> | ||||
| ;;; Copyright © 2016, 2017, 2020 Julien Lepiller <julien@lepiller.eu> | ||||
| ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> | ||||
|  | @ -60,6 +60,7 @@ | |||
| ;;; Copyright © 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr> | ||||
| ;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com> | ||||
| ;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net> | ||||
| ;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -201,6 +202,38 @@ scripting Launchpad via its the web service API.") | |||
| reusable library for parsing, manipulating, and generating URIs.") | ||||
|     (license license:lgpl3))) | ||||
| 
 | ||||
| (define-public python-portend | ||||
|   (package | ||||
|     (name "python-portend") | ||||
|     (version "3.2.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "portend" version)) | ||||
|        (sha256 | ||||
|         (base32 "0wpvixicc3d0lack65554mvdrrckkn18p1xcgiv9v5cwq59a6l2j")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     ;; Do not test pyproject.toml with python-pytest-checkdocs as it tries to | ||||
|     ;; download dependencies. | ||||
|     (arguments | ||||
|      '(#:test-flags '("-k" "not project"))) | ||||
|     (propagated-inputs (list python-tempora)) | ||||
|     ;; TODO: Add python-pytest-ruff to native-inputs once it has been packaged. | ||||
|     (native-inputs (list python-pytest | ||||
|                          python-pytest-black | ||||
|                          python-pytest-checkdocs | ||||
|                          python-pytest-cov | ||||
|                          python-pytest-enabler | ||||
|                          python-pytest-mypy)) | ||||
|     (home-page "https://github.com/jaraco/portend") | ||||
|     (synopsis "Monitor TCP ports for bound or unbound states") | ||||
|     (description | ||||
|      "@code{python-portend} can be used to monitor TCP ports for bound or | ||||
| unbound states.  For example, waiting for a port to be occupied or freed | ||||
| within a set timeout.  @code{python-portend} can also be used directly from | ||||
| the command line.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public python-prawcore | ||||
|   (package | ||||
|     (name "python-prawcore") | ||||
|  | @ -2595,6 +2628,32 @@ your Web app.") | |||
| object to help create WSGI responses.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public python-zc-lockfile | ||||
|   (package | ||||
|     (name "python-zc-lockfile") | ||||
|     (version "3.0.post1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "zc.lockfile" version)) | ||||
|        (sha256 | ||||
|         (base32 "1v41irj7azaag3f14xyviv3l8mvap74v5p3q274k68vakrnyxcmd")))) | ||||
|     (build-system python-build-system) | ||||
|     (arguments | ||||
|      '(#:phases (modify-phases %standard-phases | ||||
|                   (replace 'check | ||||
|                     (lambda* (#:key tests? #:allow-other-keys) | ||||
|                       (if tests? | ||||
|                           (invoke "zope-testrunner" "--test-path=src") | ||||
|                           (format #t "test suite not run~%"))))))) | ||||
|     (native-inputs (list python-zope-testing python-zope-testrunner)) | ||||
|     (home-page "https://github.com/zopefoundation/zc.lockfile") | ||||
|     (synopsis "Interprocess locks using lock files") | ||||
|     (description | ||||
|      "This package provides an implementation of interprocess locks using lock | ||||
| files.  These locks can also be used to mediate access to other files.") | ||||
|     (license license:zpl2.1))) | ||||
| 
 | ||||
| (define-public python-zope-event | ||||
|   (package | ||||
|     (name "python-zope-event") | ||||
|  | @ -7052,14 +7111,14 @@ as a Python package.") | |||
| (define-public python-sanic-routing | ||||
|   (package | ||||
|     (name "python-sanic-routing") | ||||
|     (version "0.7.2") | ||||
|     (version "23.12.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "sanic-routing" version)) | ||||
|        (sha256 | ||||
|         (base32 "0k9paln0jd4sc2bklp977c82n29pk12wiv726siplkh57y5yi70k")))) | ||||
|     (build-system python-build-system) | ||||
|         (base32 "014bhkharcgyprdvlk7wjxhjp1pr0cva1nwj4f2qrr23qiidrjhx")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (arguments | ||||
|      ;; PyPi sources does not contain tests, recursive dependency on | ||||
|      ;; python-sanic. | ||||
|  | @ -7073,29 +7132,19 @@ the @code{BasicRouter}.") | |||
| (define-public python-sanic-testing | ||||
|   (package | ||||
|     (name "python-sanic-testing") | ||||
|     (version "22.3.0") | ||||
|     (version "23.12.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "sanic-testing" version)) | ||||
|        (sha256 | ||||
|         (base32 "1vkgi9d3xyik507j4jy9s74mkl81hgx3c2d5y3aa1av9h6wjjivp")))) | ||||
|     (build-system python-build-system) | ||||
|         (base32 "0gqkzv90sbj9rw7yfly9c58lq9dq30g5hhcgjl3ihzjb66vm571b")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (arguments | ||||
|      ;; PyPi sources does not contain tests, recursive dependency on | ||||
|      ;; python-sanic. | ||||
|      (list #:tests? #f | ||||
|            #:phases | ||||
|            #~(modify-phases %standard-phases | ||||
|                (add-after 'unpack 'loosen-requirements | ||||
|                  (lambda _ | ||||
|                    ;; Don't place an upper boundary on httpx version. | ||||
|                    ;; https://github.com/sanic-org/sanic-testing/pull/39 | ||||
|                    (substitute* "setup.py" | ||||
|                      (("httpx>=0\\.18,<0\\.23") | ||||
|                       "httpx>=0.18"))))))) | ||||
|     (propagated-inputs (list python-httpx python-sanic-bootstrap | ||||
|                              python-websockets)) | ||||
|      (list #:tests? #f)) | ||||
|     (propagated-inputs (list python-httpx python-sanic-bootstrap)) | ||||
|     (home-page "https://github.com/sanic-org/sanic-testing/") | ||||
|     (synopsis "Test clients for Sanic") | ||||
|     (description "Internal package for @code{python-sanic}, which is | ||||
|  | @ -7106,69 +7155,85 @@ applications.") | |||
| (define-public python-sanic | ||||
|   (package | ||||
|     (name "python-sanic") | ||||
|     ;; We provide the latest LTS version of python-sanic. | ||||
|     (version "21.12.1") | ||||
|     (version "23.12.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "sanic" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0b8mcd1q9qkwcv2qz8nlyaacs0bp7a1l31sdq2m8hhkxykzfq5bg")))) | ||||
|     (build-system python-build-system) | ||||
|          "115vnir4qijv89139g5h0i4l0n4w3bgh1ickgnk8xidxsa0wla15")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (arguments | ||||
|       (list | ||||
|        #:test-flags | ||||
|        '(list "-k" | ||||
|               (string-append | ||||
|                ;; PyPi sources lack examples module. | ||||
|                "not test_gunicorn_" | ||||
|                ;; Does not expect brotli and reordered headers. | ||||
|                " and not test_raw_headers" | ||||
|                ;; These look like buggy testcases. | ||||
|                " and not test_zero_downtime" | ||||
|                " and not test_non_default_uvloop_config_raises_warning" | ||||
|                " and not test_listeners_triggered" | ||||
|                " and not test_keep_alive_connection_context" | ||||
|                " and not test_keep_alive_client_timeout" | ||||
|                ;; Unclear why they fail since core-updates merge. | ||||
|                " and not test_missing_sni" | ||||
|                " and not test_no_matching_cert" | ||||
|                " and not test_wildcards" | ||||
|                ;; These tests fail because subprotocols appear to be | ||||
|                ;; parameterized as None | ||||
|                " and not test_websocket_route_with_subprotocols" | ||||
|                ;; AF_UNIX path too long | ||||
|                " and not test_setup_and_teardown_unix" | ||||
|                " and not test_configure_socket" | ||||
|                ;; Freezes | ||||
|                " and not test_server_run_with_repl")) | ||||
|        #:phases | ||||
|          #~(modify-phases %standard-phases | ||||
|        #~(modify-phases %standard-phases | ||||
|            (replace 'check | ||||
|              (lambda* (#:key tests? #:allow-other-keys) | ||||
|              (lambda* (#:key tests? test-flags #:allow-other-keys) | ||||
|                (when tests? | ||||
|                  (invoke "pytest" "-vv" "./tests" "-k" | ||||
|                          (string-append | ||||
|                            ;; PyPi sources lack examples module. | ||||
|                            "not test_gunicorn_" | ||||
|                            ;; Does not expect brotli and reordered headers. | ||||
|                            " and not test_raw_headers" | ||||
|                            ;; These look like buggy testcases. | ||||
|                            " and not test_zero_downtime" | ||||
|                            " and not test_non_default_uvloop_config_raises_warning" | ||||
|                            " and not test_listeners_triggered" | ||||
|                            " and not test_keep_alive_connection_context" | ||||
|                            " and not test_keep_alive_client_timeout" | ||||
|                            ;; Unclear why they fail since core-updates merge. | ||||
|                            " and not test_missing_sni" | ||||
|                            " and not test_no_matching_cert" | ||||
|                            " and not test_wildcards")))))))) | ||||
|                  (apply invoke "pytest" "-vv" "./tests" | ||||
|                         test-flags))))))) | ||||
|     (propagated-inputs | ||||
|      (list python-aiofiles | ||||
|            python-aioquic | ||||
|            python-html5tagger | ||||
|            python-httptools | ||||
|            python-multidict | ||||
|            python-sanic-routing | ||||
|            python-tracerite | ||||
|            python-typing-extensions | ||||
|            python-ujson | ||||
|            python-uvloop | ||||
|            python-websockets)) | ||||
|     (native-inputs | ||||
|      (list gunicorn | ||||
|            python-bandit | ||||
|      (list python-bandit | ||||
|            python-beautifulsoup4 | ||||
|            python-chardet | ||||
|            python-isort | ||||
|            python-coverage | ||||
|            python-cryptography | ||||
|            python-docutils | ||||
|            python-mypy | ||||
|            python-pygments | ||||
|            python-pytest | ||||
|            python-pytest-benchmark | ||||
|            python-pytest-sanic | ||||
|            python-pytest-sugar | ||||
|            python-pytest-asyncio | ||||
|            python-sanic-testing | ||||
|            python-slotscheck | ||||
|            python-towncrier | ||||
|            python-tox | ||||
|            python-types-ujson | ||||
|            python-uvicorn)) | ||||
|     (home-page | ||||
|      "https://github.com/sanic-org/sanic/") | ||||
|     (synopsis | ||||
|      "Async Python web server/framework") | ||||
|     (home-page "https://github.com/sanic-org/sanic/") | ||||
|     (synopsis "Async Python web server/framework") | ||||
|     (description | ||||
|      "Sanic is a Python web server and web framework | ||||
| that's written to go fast.  It allows the usage of the | ||||
| @code{async/await} syntax added in Python 3.5, which makes | ||||
| your code non-blocking and speedy.") | ||||
|      "Sanic is a Python web server and web framework that's written to go | ||||
| fast.  It allows the usage of the @code{async/await} syntax added in Python | ||||
| 3.5, which makes your code non-blocking and speedy.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public python-sanic-bootstrap | ||||
|  |  | |||
|  | @ -145,7 +145,7 @@ | |||
| ;;; Copyright © c4droid <c4droid@foxmail.com> | ||||
| ;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org> | ||||
| ;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name> | ||||
| ;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com> | ||||
| ;;; Copyright © 2023, 2024 Troy Figiel <troy@troyfigiel.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -2253,25 +2253,21 @@ library.") | |||
|     (version "3.8.0") | ||||
|     (source | ||||
|      (origin | ||||
|       (method url-fetch) | ||||
|       (uri (pypi-uri "h5py" version)) | ||||
|       (sha256 | ||||
|        (base32 | ||||
|         "0pyr6z4h2xqbp49yx2i1401gl6yqh03h771zslwcy0201hpxiskg")))) | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "h5py" version)) | ||||
|        (sha256 | ||||
|         (base32 "0pyr6z4h2xqbp49yx2i1401gl6yqh03h771zslwcy0201hpxiskg")))) | ||||
|     (build-system python-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f ; no test target | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'fix-hdf5-paths | ||||
|           (lambda* (#:key inputs #:allow-other-keys) | ||||
|             (setenv "HDF5_DIR" (assoc-ref inputs "hdf5"))))))) | ||||
|     (propagated-inputs | ||||
|      (list python-six python-numpy)) | ||||
|     (inputs | ||||
|      (list hdf5-1.10)) | ||||
|     (native-inputs | ||||
|      (list python-cython python-pkgconfig pkg-config)) | ||||
|      '(#:phases (modify-phases %standard-phases | ||||
|                   (add-after 'unpack 'fix-hdf5-paths | ||||
|                     (lambda* (#:key inputs #:allow-other-keys) | ||||
|                       (setenv "HDF5_DIR" | ||||
|                               (assoc-ref inputs "hdf5"))))))) | ||||
|     (propagated-inputs (list python-six python-numpy)) | ||||
|     (inputs (list hdf5-1.10)) | ||||
|     (native-inputs (list pkg-config python-cython python-ipython | ||||
|                          python-pkgconfig python-pytest)) | ||||
|     (home-page "https://www.h5py.org/") | ||||
|     (synopsis "Read and write HDF5 files from Python") | ||||
|     (description | ||||
|  | @ -2282,6 +2278,30 @@ access to HDF5 files, datasets and groups using established Python and NumPy | |||
| concepts.") | ||||
|     (license license:bsd-3))) | ||||
| 
 | ||||
| (define-public python-hdf5storage | ||||
|   (package | ||||
|     (name "python-hdf5storage") | ||||
|     (version "0.1.19") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "hdf5storage" version)) | ||||
|        (sha256 | ||||
|         (base32 "11pgxsqap9l7jsf52649q9mpj8a0w6p9im929lpr9s26ynnnn6ks")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (propagated-inputs (list python-h5py python-numpy)) | ||||
|     (native-inputs (list python-nose)) | ||||
|     (home-page "https://github.com/frejanordsiek/hdf5storage") | ||||
|     (synopsis "Read and write Python data types from and to HDF5 files") | ||||
|     (description | ||||
|      "This Python package provides high-level utilities to read and write a | ||||
| variety of Python types from and to @acronym{HDF5, Hierarchical Data Format} | ||||
| formatted files.  This package also provides support for MATLAB MAT v7.3 | ||||
| formatted files, which are HDF5 files with a different extension and some | ||||
| extra metadata.  Because HDF5 and MAT files might need to be read from | ||||
| untrusted sources, pickling is avoided in this package.") | ||||
|     (license license:bsd-2))) | ||||
| 
 | ||||
| (define-public python-hjson | ||||
|   ;; Using commit from master branch as the PyPI version does not contain | ||||
|   ;; the hjson/tests/ directory. | ||||
|  | @ -2577,18 +2597,18 @@ conventions and aliases in the same expression.") | |||
|        (uri (pypi-uri "Wand" version)) | ||||
|        (sha256 | ||||
|         (base32 "1jpwm956vm35hmgjndr2jwrcql0bwvpsl88q5nr0x8ppxa2380gm")))) | ||||
|     (build-system python-build-system) | ||||
|     (build-system pyproject-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'find-magickwand | ||||
|            (lambda* (#:key inputs #:allow-other-keys) | ||||
|              (setenv "MAGICK_HOME" (assoc-ref inputs "imagemagick")) | ||||
|              (setenv "WAND_MAGICK_LIBRARY_SUFFIX" ".Q16"))) | ||||
|          (replace 'check | ||||
|            (lambda* (#:key tests? #:allow-other-keys) | ||||
|              (when tests? | ||||
|                (invoke "pytest" "-vv"))))))) | ||||
|      (list | ||||
|       #:phases | ||||
|       #~(modify-phases %standard-phases | ||||
|           (add-after 'unpack 'hardcode-lib-path | ||||
|             (lambda _ | ||||
|               (substitute* "wand/api.py" | ||||
|                 (("os\\.environ\\.get\\('MAGICK_HOME'\\)") | ||||
|                  (string-append "\"" #$(this-package-input "imagemagick") "\"")) | ||||
|                 (("os\\.environ\\.get\\('WAND_MAGICK_LIBRARY_SUFFIX'\\)") | ||||
|                  "\".Q16\""))))))) | ||||
|     (native-inputs | ||||
|      (list python-pytest)) | ||||
|     (inputs | ||||
|  | @ -10377,6 +10397,67 @@ finding unresolved symbols in Python code and their corresponding imports.") | |||
| class constructs.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public python-jaraco-collections | ||||
|   (package | ||||
|     (name "python-jaraco-collections") | ||||
|     (version "5.0.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "jaraco.collections" version)) | ||||
|        (sha256 | ||||
|         (base32 "0s7y3jr7c173k38pck1b17kxnvx2fl0qh9m9gdf64pr9kz8fi00n")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     ;; Do not test pyproject.toml with python-pytest-checkdocs as it tries to | ||||
|     ;; download dependencies. | ||||
|     (arguments | ||||
|      '(#:test-flags '("-k" "not project"))) | ||||
|     (propagated-inputs (list python-jaraco-text)) | ||||
|     ;; TODO: Add python-pytest-ruff to native-inputs once it has been | ||||
|     ;; packaged. | ||||
|     (native-inputs (list python-pytest | ||||
|                          python-pytest-black | ||||
|                          python-pytest-checkdocs | ||||
|                          python-pytest-cov | ||||
|                          python-pytest-enabler | ||||
|                          python-pytest-mypy)) | ||||
|     (home-page "https://github.com/jaraco/jaraco.collections") | ||||
|     (synopsis "Provides various collection objects") | ||||
|     (description | ||||
|      "This package provides models and classes to supplement the | ||||
| standard library @code{collections} module.  Examples include | ||||
| @itemize | ||||
| @item | ||||
| RangeMap: A mapping that accepts a range of values for keys. | ||||
| @item | ||||
| Projection: A subset over an existing mapping. | ||||
| @item | ||||
| KeyTransformingDict: Generalized mapping with keys transformed by a function. | ||||
| @item | ||||
| FoldedCaseKeyedDict: A dict whose string keys are case-insensitive. | ||||
| @item | ||||
| BijectiveMap: A map where keys map to values and values back to their keys. | ||||
| @item | ||||
| ItemsAsAttributes: A mapping mix-in exposing items as attributes. | ||||
| @item | ||||
| IdentityOverrideMap: A map whose keys map by default to themselves unless overridden. | ||||
| @item | ||||
| FrozenDict: A hashable, immutable map. | ||||
| @item | ||||
| Enumeration: An object whose keys are enumerated. | ||||
| @item | ||||
| Everything: A container that contains all things. | ||||
| @item | ||||
| Least, Greatest: Objects that are always less than or greater than any other. | ||||
| @item | ||||
| pop_all: Return all items from the mutable sequence and remove them from that sequence. | ||||
| @item | ||||
| DictStack: A stack of dicts, great for sharing scopes. | ||||
| @item | ||||
| WeightedLookup: A specialized RangeMap for selecting an item by weights. | ||||
| @end itemize") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| ;;; Variant used to break a cycle with python-pytest-enabler. | ||||
| (define-public python-jaraco-context-bootstrap | ||||
|   (hidden-package | ||||
|  | @ -10541,6 +10622,41 @@ releases.") | |||
|     (description "This package provides testing support by jaraco.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public python-jaraco-text | ||||
|   (package | ||||
|     (name "python-jaraco-text") | ||||
|     (version "3.12.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "jaraco.text" version)) | ||||
|        (sha256 | ||||
|         (base32 "0b2rmx0sa61f75lkkr4nfaj3mkgmn3x9c1akpwarfbmksk42b7iq")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     ;; Do not test pyproject.toml with python-pytest-checkdocs as it tries to | ||||
|     ;; download dependencies. | ||||
|     (arguments | ||||
|      '(#:test-flags '("-k" "not project"))) | ||||
|     (propagated-inputs (list python-autocommand python-inflect | ||||
|                              python-jaraco-context python-jaraco-functools | ||||
|                              python-more-itertools)) | ||||
|     ;; TODO: Add python-pytest-ruff to native-inputs once it has been | ||||
|     ;; packaged. | ||||
|     (native-inputs (list python-pytest | ||||
|                          python-pytest-black | ||||
|                          python-pytest-checkdocs | ||||
|                          python-pytest-cov | ||||
|                          python-pytest-enabler | ||||
|                          python-pytest-mypy)) | ||||
|     (home-page "https://github.com/jaraco/jaraco.text") | ||||
|     (synopsis "Provides various routines for text manipulation") | ||||
|     (description | ||||
|      "This package provides handy routines for dealing with text, | ||||
| such as wrapping, substitution, trimming, stripping, prefix and suffix | ||||
| removal, line continuation, indentation, comment processing, identifier | ||||
| processing, values parsing, case insensitive comparison, and more.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public python-simplegeneric | ||||
|   (package | ||||
|     (name "python-simplegeneric") | ||||
|  | @ -31695,6 +31811,30 @@ graph can be output for rendering by GraphViz or yEd.") | |||
| function implementations based on the types of the arguments.") | ||||
|     (license license:bsd-3))) | ||||
| 
 | ||||
| (define-public python-multimethod | ||||
|   (package | ||||
|     (name "python-multimethod") | ||||
|     (version "1.10") | ||||
|     (source | ||||
|      (origin | ||||
|        ;; No tests in the PyPI tarball. | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/coady/multimethod") | ||||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "07xv92q7f4bkp6dzkqvcv0zxr11729qdak4s3ldmbhdwgsf44g5h")))) | ||||
|     (build-system pyproject-build-system) | ||||
|     (native-inputs (list python-pytest)) | ||||
|     (home-page "https://github.com/coady/multimethod") | ||||
|     (synopsis "Python support for multiple argument dispatching") | ||||
|     (description | ||||
|      "This package provides a decorator for adding multiple argument | ||||
| dispatching to functions.  The decorator creates a multimethod object as | ||||
| needed and registers the function with its annotations.") | ||||
|     (license license:asl2.0))) | ||||
| 
 | ||||
| (define-public python-logical-unification | ||||
|   (package | ||||
|     (name "python-logical-unification") | ||||
|  |  | |||
|  | @ -1893,7 +1893,7 @@ their position, altitude, speed, etc.") | |||
| (define-public rtl-433 | ||||
|   (package | ||||
|     (name "rtl-433") | ||||
|     (version "22.11") | ||||
|     (version "23.11") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -1902,7 +1902,7 @@ their position, altitude, speed, etc.") | |||
|              (commit version))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "0qx89qmf0zn0qa05vraipny4ihx6lm72s830mbfyzw2znyk3wdm8")))) | ||||
|         (base32 "11qigwnaa22vgd43jvzk2byiancahdkhxpsh6cp74q2ywb0wy9x8")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (native-inputs | ||||
|      (list pkg-config)) | ||||
|  | @ -2534,7 +2534,7 @@ transmissions.") | |||
| (define-public dsdcc | ||||
|   (package | ||||
|     (name "dsdcc") | ||||
|     (version "1.9.3") | ||||
|     (version "1.9.5") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -2543,7 +2543,7 @@ transmissions.") | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "0jgzpv4d6ckd0sdq6438rjh3m6knj6gx63627fajch74hxrvclzj")))) | ||||
|         (base32 "1rb9r1m4rfi9x5x4h5frpl65xmk5p2bqyfisnrv6nbmnsgds9h0c")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (inputs | ||||
|      (list mbelib serialdv)) | ||||
|  | @ -2573,7 +2573,7 @@ voice formats.") | |||
| (define-public sdrangel | ||||
|   (package | ||||
|     (name "sdrangel") | ||||
|     (version "7.17.0") | ||||
|     (version "7.17.3") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -2582,7 +2582,7 @@ voice formats.") | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "16hpnfzccpj8a3i24ryli870ym6kjih981sjapcqdc8va0q14qdz")))) | ||||
|         (base32 "1cvs9nqwx3cqsazxwk9jxlq2bys00zpljhrsbp0sdsnc64ya2din")))) | ||||
|     (build-system qt-build-system) | ||||
|     (native-inputs | ||||
|      (list doxygen graphviz pkg-config)) | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr> | ||||
| ;;; Copyright © 2015, 2016, 2018 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2015, 2016, 2018, 2024 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> | ||||
| ;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org> | ||||
|  | @ -9,6 +9,7 @@ | |||
| ;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net> | ||||
| ;;; Copyright © 2022 Marius Bakke <marius@gnu.org> | ||||
| ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2023 Brendan Tildesley <mail@brendan.scot> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -43,6 +44,7 @@ | |||
|   #:use-module (gnu packages compression) | ||||
|   #:use-module (gnu packages curl) | ||||
|   #:use-module (gnu packages cyrus-sasl) | ||||
|   #:use-module (gnu packages datastructures) | ||||
|   #:use-module (gnu packages documentation) | ||||
|   #:use-module (gnu packages dbm) | ||||
|   #:use-module (gnu packages gnupg) | ||||
|  | @ -279,25 +281,17 @@ and triple stores.") | |||
| (define-public serd | ||||
|   (package | ||||
|     (name "serd") | ||||
|     (version "0.30.16") | ||||
|     (version "0.32.0") | ||||
|     (source (origin | ||||
|              (method url-fetch) | ||||
|              (uri (string-append "https://download.drobilla.net/serd-" | ||||
|                                  version ".tar.xz")) | ||||
|              (sha256 | ||||
|               (base32 | ||||
|                "0ilimkczibiwwvc12i14b8zi6ng42hjf9j907g8dik8rlmnlh3zm")))) | ||||
|                "18cwj8xxsaq6iw45kcljbhrral0cqvav80p4mdv2l7g0d2a6ks6i")))) | ||||
|     (build-system meson-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|       #:tests? #f                       ; no check target | ||||
|       #:phases | ||||
|       #~(modify-phases %standard-phases | ||||
|           (add-before 'configure 'set-ldflags | ||||
|             (lambda _ | ||||
|               (setenv "LDFLAGS" | ||||
|                       (string-append "-Wl,-rpath=" #$output "/lib"))))))) | ||||
|     (home-page "https://drobilla.net/software/serd/") | ||||
|     (native-inputs (list python-minimal)) | ||||
|     (home-page "https://drobilla.net/software/serd.html") | ||||
|     (synopsis "Library for RDF syntax supporting Turtle and NTriples") | ||||
|     (description | ||||
|      "Serd is a lightweight C library for RDF syntax which supports reading | ||||
|  | @ -311,31 +305,22 @@ ideal (e.g. in LV2 implementations or embedded applications).") | |||
| (define-public sord | ||||
|   (package | ||||
|     (name "sord") | ||||
|     (version "0.16.14") | ||||
|     (version "0.16.16") | ||||
|     (source (origin | ||||
|              (method url-fetch) | ||||
|              (uri (string-append "https://download.drobilla.net/sord-" | ||||
|                                  version ".tar.xz")) | ||||
|              (sha256 | ||||
|               (base32 | ||||
|                "06vkqk3dnn15zdnzklahib2pvbfspy2zcrnvhmxnw8fbbxyxj3r2")))) | ||||
|                "1l2zjz6gypxbf1z32zyqkljdcn9mz452djc4xq1dlhv1fmnqfzr5")))) | ||||
|     (build-system meson-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|       #:tests? #f                       ; no check target | ||||
|       #:phases | ||||
|       #~(modify-phases %standard-phases | ||||
|           (add-before 'configure 'set-ldflags | ||||
|             (lambda _ | ||||
|               (setenv "LDFLAGS" | ||||
|                       (string-append "-Wl,-rpath=" #$output "/lib"))))))) | ||||
|     (inputs | ||||
|      (list pcre)) | ||||
|     (native-inputs | ||||
|      (list pkg-config)) | ||||
|     (propagated-inputs | ||||
|      (list serd))                 ; required by sord-0.pc | ||||
|     (home-page "https://drobilla.net/software/sord/") | ||||
|      (list serd zix))                 ;required by sord-0.pc | ||||
|     (home-page "https://drobilla.net/software/sord.html") | ||||
|     (synopsis "C library for storing RDF data in memory") | ||||
|     (description | ||||
|      "Sord is a lightweight C library for storing RDF data in memory.") | ||||
|  |  | |||
|  | @ -60,6 +60,7 @@ | |||
|   #:use-module (guix build-system gnu) | ||||
|   #:use-module (guix build-system trivial) | ||||
|   #:use-module (guix download) | ||||
|   #:use-module (guix memoization) | ||||
|   #:use-module (guix git-download) | ||||
|   #:use-module ((guix licenses) #:prefix license:) | ||||
|   #:use-module (guix packages) | ||||
|  | @ -1057,7 +1058,10 @@ exec -a \"$0\" \"~a\" \"$@\"" | |||
|                             (package-native-inputs base-rust)))))) | ||||
| 
 | ||||
| (define*-public (make-rust-sysroot target) | ||||
|   (let ((base-rust rust)) | ||||
|   (make-rust-sysroot/implementation target rust)) | ||||
| 
 | ||||
| (define make-rust-sysroot/implementation | ||||
|   (mlambda (target base-rust) | ||||
|     (package | ||||
|       (inherit base-rust) | ||||
|       (name (string-append "rust-sysroot-for-" target)) | ||||
|  |  | |||
|  | @ -13,6 +13,7 @@ | |||
| ;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net> | ||||
| ;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de> | ||||
| ;;; Copyright © 2023 Adam Faiz <adam.faiz@disroot.org> | ||||
| ;;; Copyright © 2023 David Pflug <david@pflug.io> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -568,14 +569,14 @@ conflict with slocate compatibility.") | |||
| (define-public plocate | ||||
|   (package | ||||
|     (name "plocate") | ||||
|     (version "1.1.19") | ||||
|     (version "1.1.21") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://plocate.sesse.net/download/" | ||||
|                            "plocate-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "0rb15sifsmcm756bifs3y8wj282vp0zzagg6kkvbjyczibpchnyr")))) | ||||
|         (base32 "1b6khw8lf757wic6pc3w2r8wl9i5c4z98cdmp2qxmyspxhxvbrhd")))) | ||||
|     (build-system meson-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|  |  | |||
|  | @ -15,6 +15,8 @@ | |||
| ;;; Copyright © 2023 Alexey Abramov <levenson@mmer.org> | ||||
| ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com> | ||||
| ;;; Copyright © 2023 Vinicius Monego <monego@posteo.net> | ||||
| ;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -219,8 +221,60 @@ such as compact binary encodings, XML, or JSON.") | |||
|      (list doxygen gcc-10 | ||||
|            (package-source cereal))))) | ||||
| 
 | ||||
| (define-public msgpack | ||||
| (define-public msgpack-c | ||||
|   (package | ||||
|     (name "msgpack-c") | ||||
|     (version "6.0.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri | ||||
|         (string-append | ||||
|          "https://github.com/msgpack/msgpack-c/releases/download/" | ||||
|          "c-" version "/" name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "1fmf08babfsjq5qkgw034wk2nw6mayxp1qlkm7h55p2jqvigam1n")) | ||||
|        (snippet | ||||
|         '(let ((p (open-file "msgpack-c.pc.in" "a"))) | ||||
|            (display "Requires: zlib\n" p) | ||||
|            (close-output-port p))))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments (list #:configure-flags #~(list "-DMSGPACK_BUILD_TESTS=ON"))) | ||||
|     (native-inputs (list googletest)) | ||||
|     (propagated-inputs (list zlib))  ;zbuffer.h includes zlib.h | ||||
|     (home-page "https://www.msgpack.org") | ||||
|     (synopsis "Binary serialization library") | ||||
|     (description "Msgpack is a library for C that implements binary | ||||
| serialization.") | ||||
|     (license license:boost1.0))) | ||||
| 
 | ||||
| (define-public msgpack-cxx | ||||
|   (package | ||||
|     (inherit msgpack-c) | ||||
|     (name "msgpack-cxx") | ||||
|     (version "6.1.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri | ||||
|         (string-append | ||||
|          "https://github.com/msgpack/msgpack-c/releases/download/" | ||||
|          "cpp-" version "/" name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "1rrrf3nskcv994z3pbq6a5z2021piz118rccmm1y7zlf7klygv93")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (propagated-inputs (list boost zlib)) ;included in headers | ||||
|     (description "Msgpack is a library for C++ that implements binary | ||||
| serialization."))) | ||||
| 
 | ||||
| ;;; The msgpack package was split into msgpack-c and msgpack-cxx starting from | ||||
| ;;; version 4.0.0. | ||||
| (define-public msgpack | ||||
|   (deprecated-package "msgpack" msgpack-c)) | ||||
| 
 | ||||
| (define-public msgpack-3 | ||||
|   (package | ||||
|     (inherit msgpack-c) | ||||
|     (name "msgpack") | ||||
|     (version "3.3.0") | ||||
|     (source | ||||
|  | @ -234,23 +288,13 @@ such as compact binary encodings, XML, or JSON.") | |||
|         '(let ((p (open-file "msgpack.pc.in" "a"))) | ||||
|            (display | ||||
|             (string-append "Requires: " "zlib" "\n") p) | ||||
|            (close-output-port p) | ||||
|            #t)) | ||||
|            (close-output-port p))) | ||||
|        (sha256 | ||||
|         (base32 "0yzhq50ijvwrfkr97knhvn54lj3f4hr3zy39yq8wpf6xll94s4bf")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (native-inputs | ||||
|      (list googletest-1.8 pkg-config)) | ||||
|     (propagated-inputs | ||||
|      (list zlib)) ;; Msgpack installs two headers (zbuffer.h, | ||||
|     ;; zbuffer.hpp) which #include <zlib.h>.  However, 'guix gc --references' | ||||
|     ;; does not detect a store reference to zlib since these headers are not | ||||
|     ;; compiled. | ||||
|     (home-page "https://www.msgpack.org") | ||||
|     (synopsis "Binary serialization library") | ||||
|     (native-inputs (list googletest-1.8)) | ||||
|     (description "Msgpack is a library for C/C++ that implements binary | ||||
| serialization.") | ||||
|     (license license:boost1.0))) | ||||
| serialization.  This is the legacy version that predates the split into C and | ||||
| C++ specific packages."))) | ||||
| 
 | ||||
| (define-public libmpack | ||||
|   (package | ||||
|  | @ -469,16 +513,16 @@ character limit for implicit keys.") | |||
| (define-public yaml-cpp | ||||
|   (package | ||||
|     (name "yaml-cpp") | ||||
|     (version "0.6.3") | ||||
|     (version "0.8.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/jbeder/yaml-cpp") | ||||
|              (commit (string-append "yaml-cpp-" version)))) | ||||
|              (commit version))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "0ykkxzxcwwiv8l8r697gyqh1nl582krpvi7m7l6b40ijnk4pw30s")))) | ||||
|         (base32 "0whdn6pqa56532ml20h89p6rchcrrazdrvi5fz6zpmrkl15yiki7")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      '(#:configure-flags '("-DYAML_BUILD_SHARED_LIBS=ON"))) | ||||
|  |  | |||
|  | @ -18,6 +18,7 @@ | |||
| ;;; Copyright © 2021 Frank Pursel <frank.pursel@gmail.com> | ||||
| ;;; Copyright © 2022 Simon Tournier <zimon.toutoune@gmail.com> | ||||
| ;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com> | ||||
| ;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -1430,13 +1431,13 @@ R/DBMS implementations.") | |||
| (define-public r-bh | ||||
|   (package | ||||
|     (name "r-bh") | ||||
|     (version "1.81.0-1") | ||||
|     (version "1.84.0-0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (cran-uri "BH" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0r7zjxpbm2paliplprwf9769a57clqaiskiiadiy10gissnqn77m")))) | ||||
|                 "1b7igvvy9f13l969a26j2bdzib2laq3m4w1x0xsxjb2pbxsn1dkg")))) | ||||
|     (build-system r-build-system) | ||||
|     (home-page "https://github.com/eddelbuettel/bh") | ||||
|     (synopsis "R package providing subset of Boost headers") | ||||
|  | @ -1781,13 +1782,13 @@ defined in different packages.") | |||
| (define-public r-rlang | ||||
|   (package | ||||
|     (name "r-rlang") | ||||
|     (version "1.1.2") | ||||
|     (version "1.1.3") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (cran-uri "rlang" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "14l0dz36wav2jbz0dd3w34va68lrhr7fgd9dqf1v4nawdvff23ia")))) | ||||
|                 "02mz53g8lk26yi0js6qq57ijhl1mw7xm82vwbwzbvi62bm5l58r4")))) | ||||
|     (build-system r-build-system) | ||||
|     (home-page "http://rlang.tidyverse.org") | ||||
|     (synopsis "Functions for base types, core R and Tidyverse features") | ||||
|  | @ -3032,13 +3033,13 @@ time-of-day values, based on the @code{difftime} class.") | |||
| (define-public r-readr | ||||
|   (package | ||||
|     (name "r-readr") | ||||
|     (version "2.1.4") | ||||
|     (version "2.1.5") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (cran-uri "readr" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "03gbzf29kdvf4rdqgdq2jm7c9ifjla3qzpiyqzw1x9jgijj4y54q")))) | ||||
|                 "02p1jjal73j39r49ba4jlvbx8bdqmm96nsdp47igyv54w1gmm9hg")))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      (list r-cli | ||||
|  | @ -3047,9 +3048,9 @@ time-of-day values, based on the @code{difftime} class.") | |||
|            r-crayon | ||||
|            r-hms | ||||
|            r-lifecycle | ||||
|            r-tibble | ||||
|            r-r6 | ||||
|            r-rlang | ||||
|            r-tibble | ||||
|            r-tzdb | ||||
|            r-vroom)) | ||||
|     (native-inputs | ||||
|  | @ -3372,13 +3373,13 @@ engine (version 3.8.8.2) is included.") | |||
| (define-public r-rcurl | ||||
|   (package | ||||
|     (name "r-rcurl") | ||||
|     (version "1.98-1.13") | ||||
|     (version "1.98-1.14") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (cran-uri "RCurl" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "01pkmip1sllislmp34c25i9m9mlrid9b48xfjbf93sml55ijz985")))) | ||||
|                 "1kq3ydvm7hvy8pxk9iy13pkq5mxyxqlx4mpjsadzl7a7jj32gbgf")))) | ||||
|     (properties `((upstream-name . "RCurl"))) | ||||
|     (build-system r-build-system) | ||||
|     (arguments | ||||
|  | @ -3392,10 +3393,8 @@ engine (version 3.8.8.2) is included.") | |||
| certs = Sys.getenv(\"CURL_CA_BUNDLE\") | ||||
| if (certs != \"\") { .opts = merge.list(.opts, list(cainfo=certs)) } | ||||
| " m)))))))) | ||||
|     (native-inputs | ||||
|      (list libxml2)) | ||||
|     (inputs | ||||
|      (list curl)) | ||||
|      (list curl libxml2)) | ||||
|     (propagated-inputs | ||||
|      (list r-bitops)) | ||||
|     (home-page "https://www.omegahat.net/RCurl") | ||||
|  | @ -4181,13 +4180,13 @@ computation, bagged clustering, naive Bayes classifier, and more.") | |||
| (define-public r-bigmemory-sri | ||||
|   (package | ||||
|     (name "r-bigmemory-sri") | ||||
|     (version "0.1.6") | ||||
|     (version "0.1.8") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "bigmemory.sri" version)) | ||||
|        (sha256 | ||||
|         (base32 "03468ak0lgd9m0f7synxms2zzr8f7n2nm1gmhcraj3nfcv4nmyiv")))) | ||||
|         (base32 "0wbpk3naipl0ab3wnixnp2n874kazrapv1c31fi3cxm19b94x6h2")))) | ||||
|     (properties | ||||
|      `((upstream-name . "bigmemory.sri"))) | ||||
|     (build-system r-build-system) | ||||
|  | @ -4201,14 +4200,14 @@ bigmemory and synchronicity packages.") | |||
| (define-public r-synchronicity | ||||
|   (package | ||||
|     (name "r-synchronicity") | ||||
|     (version "1.3.5") | ||||
|     (version "1.3.10") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "synchronicity" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1kgsk64aifjm3mfj102y3va7x1abypq2zi0cqbnjhl8fqyzp69hx")))) | ||||
|          "12svf4xzb9s3m1h2ddqgl6q2v57ifsj2p80j8cg2k0543a43pww2")))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      (list r-bh r-bigmemory-sri r-rcpp r-uuid)) | ||||
|  | @ -4223,14 +4222,14 @@ message passing.") | |||
| (define-public r-bigmemory | ||||
|   (package | ||||
|     (name "r-bigmemory") | ||||
|     (version "4.6.1") | ||||
|     (version "4.6.4") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (cran-uri "bigmemory" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0hainqkm7cs8gjm42vkpdrr0284smsbwdfackp34yv7dhxy1avmm")))) | ||||
|          "0b80c2nsgphgr3cnvf75a0z3bzqx4q1a4dplq0h2izc71mn5fgzy")))) | ||||
|     (build-system r-build-system) | ||||
|     (propagated-inputs | ||||
|      (list r-bh r-bigmemory-sri r-rcpp r-uuid)) | ||||
|  | @ -6919,6 +6918,50 @@ files, including Rmarkdown files.") | |||
| popular stats packages like SAS, Stata and SPSS.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public python-pyreadstat | ||||
|   (package | ||||
|     (name "python-pyreadstat") | ||||
|     (version "1.2.4") | ||||
|     ;; No tests in the PyPI tarball. | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/Roche/pyreadstat") | ||||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "0zysrzixvqw2lwwykxqg5yj8a0zyv5s2bmk22x30f4rj2hgvq1pv")) | ||||
|        (patches (search-patches "python-pyreadstat-link-libiconv.patch")))) | ||||
|     (arguments | ||||
|      '(#:phases (modify-phases %standard-phases | ||||
|                   (add-before 'check 'change-home-dir | ||||
|                     (lambda _ | ||||
|                       ;; test_sav_expand and test_sav_write_basic_expanduser need a | ||||
|                       ;; home directory with write permissions. | ||||
|                       (setenv "HOME" "/tmp"))) | ||||
|                   (replace 'check | ||||
|                     (lambda* (#:key tests? #:allow-other-keys) | ||||
|                       (when tests? | ||||
|                         ;; The source also contains tests/test_version.py | ||||
|                         ;; which checks the version in __init__.py against the | ||||
|                         ;; one in setup.py. Since this requires texlive | ||||
|                         ;; dependencies to run and is also not mentioned in | ||||
|                         ;; how_to_test.md, this test is skipped. | ||||
|                         (invoke "python" "tests/test_basic.py"))))))) | ||||
|     (build-system python-build-system) | ||||
|     (propagated-inputs (list python-pandas)) | ||||
|     (inputs (list libiconv zlib)) | ||||
|     (native-inputs (list python-cython-3)) | ||||
|     (home-page "https://github.com/Roche/pyreadstat") | ||||
|     (synopsis | ||||
|      "Read and write SAS, SPSS and Stata files into/from Pandas DataFrames") | ||||
|     (description | ||||
|      "This Python package can be used to read and write SAS, SPSS and Stata | ||||
| files into/from Pandas DataFrames.  It is a wrapper around the C library | ||||
| @code{readstat}.") | ||||
|     (license license:asl2.0))) | ||||
| 
 | ||||
| (define-public r-quantpsyc | ||||
|   (package | ||||
|     (name "r-quantpsyc") | ||||
|  |  | |||
|  | @ -14,6 +14,7 @@ | |||
| ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com> | ||||
| ;;; Copyright © 2022 jgart <jgart@dismail.de> | ||||
| ;;; Copyright © 2022 Antero Mejr <antero@mailbox.org> | ||||
| ;;; Copyright © 2024 Clément Lassieur <clement@lassieur.org> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -1115,7 +1116,7 @@ support.") | |||
| (define-public sfeed | ||||
|   (package | ||||
|     (name "sfeed") | ||||
|     (version "1.6") | ||||
|     (version "2.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -1125,7 +1126,7 @@ support.") | |||
|          (commit version))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "1ax603xxcwvmgizf6ia820fc7fliinx86zv6ggiqj5p59kz75x0r")))) | ||||
|         (base32 "0zmgkvq75a7h4rmk7izpsaxswlqh9zg446wxv7qcw0bh5xdckg0d")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|  |  | |||
|  | @ -79,7 +79,7 @@ you tailor the wrapping process to suit your application.") | |||
|   (package | ||||
|     (inherit swig) | ||||
|     (name "swig") | ||||
|     (version "4.1.1") | ||||
|     (version "4.2.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "mirror://sourceforge/" name "/" name "/" | ||||
|  | @ -87,5 +87,5 @@ you tailor the wrapping process to suit your application.") | |||
|                                  name "-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "16xc767gf5ip40jh698wbdrxrghli5v2c966bkdmrmpwv378mw1a")))) | ||||
|                 "15wwh9215rdkflpr85r7zxr2nmrib03jr4bvh5i0f9lyb3bs4716")))) | ||||
|     (inputs (list pcre2)))) | ||||
|  |  | |||
|  | @ -17,7 +17,7 @@ | |||
| ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> | ||||
| ;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de> | ||||
| ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> | ||||
| ;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2020, 2021, 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> | ||||
| ;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org> | ||||
| ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> | ||||
|  | @ -857,6 +857,75 @@ your calls and messages.") | |||
| Initiation Protocol (SIP) and a multimedia framework.") | ||||
|     (license license:gpl2+))) | ||||
| 
 | ||||
| (define-public pjproject-jami | ||||
|   (let ((commit "d044ad6c5b4221648c555da16196804e4721299c") | ||||
|         (revision "0")) | ||||
|     (package | ||||
|       (inherit pjproject) | ||||
|       (name "pjproject-jami") | ||||
|       ;; The version is taken from | ||||
|       ;; <https://raw.githubusercontent.com/savoirfairelinux/pjproject/master/version.mak>. | ||||
|       (version (git-version "2.13.1" revision commit)) | ||||
|       (source (origin | ||||
|                 (inherit (package-source pjproject)) | ||||
|                 ;; The Jami development team regularly issues patches to | ||||
|                 ;; pjproject to extend the its functionality and fix bugs; | ||||
|                 ;; they are submitted for inclusion upstream but larger | ||||
|                 ;; patches take time to be reviewed and merged, hence this | ||||
|                 ;; forked repository. | ||||
|                 (method git-fetch) | ||||
|                 (uri (git-reference | ||||
|                       (url "https://github.com/savoirfairelinux/pjproject") | ||||
|                       (commit commit))) | ||||
|                 (file-name (git-file-name name version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "0z4d7wdpa2mlaygb283k0j8n3l6q68gn0xqd62b5ngqvkhlaf775")))) | ||||
|       (arguments | ||||
|        (substitute-keyword-arguments (package-arguments pjproject) | ||||
|          ((#:configure-flags _ ''()) | ||||
|           ;; This package is tailored for DhtNet; see how it is built for its | ||||
|           ;; CI in | ||||
|           ;; <https://git.jami.net/savoirfairelinux/dhtnet/-/raw/master/Dockerfile>. | ||||
|           #~(list | ||||
|              ;; Some flags preserved flags from parent package. | ||||
|              "--with-external-srtp" | ||||
|              #$@(if (string-contains (or (%current-system) | ||||
|                                          (%current-target-system)) "linux") | ||||
|                     #~("--enable-epoll") | ||||
|                     #~()) | ||||
|              "--with-gnutls"            ;disable OpenSSL checks | ||||
|              ;; -DNDEBUG is set to prevent pjproject from raising | ||||
|              ;; assertions that aren't critical, crashing | ||||
|              ;; applications as the result. | ||||
|              "CFLAGS=-DNDEBUG" | ||||
|              ;; Specify a runpath reference to itself, which is missing and | ||||
|              ;; causes the validate-runpath phase to fail. | ||||
|              (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib") | ||||
|              "--enable-shared" | ||||
|              "--disable-libyuv"         ;TODO: add missing package | ||||
| 
 | ||||
|              ;; These flags are specific to DhtNet. | ||||
|              "--disable-sound" | ||||
|              "--enable-video" | ||||
|              "--enable-ext-sound" | ||||
|              "--disable-speex-aec" | ||||
|              "--disable-g711-codec" | ||||
|              "--disable-l16-codec" | ||||
|              "--disable-gsm-codec" | ||||
|              "--disable-g722-codec" | ||||
|              "--disable-g7221-codec" | ||||
|              "--disable-speex-codec" | ||||
|              "--disable-ilbc-codec" | ||||
|              "--disable-opencore-amr" | ||||
|              "--disable-silk" | ||||
|              "--disable-sdl" | ||||
|              "--disable-ffmpeg" | ||||
|              "--disable-v4l2" | ||||
|              "--disable-openh264" | ||||
|              "--disable-resample" | ||||
|              "--disable-libwebrtc"))))))) | ||||
| 
 | ||||
| (define-public libtgvoip | ||||
|   (package | ||||
|     (name "libtgvoip") | ||||
|  |  | |||
|  | @ -1289,10 +1289,8 @@ that can be displayed terminal.") | |||
|         (base32 | ||||
|          "0x5c31yq7ansmiy20a0qf59wagba9v3pq97mlkxrqxn4n1gcc6vi")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (inputs | ||||
|      (list libevent libssh msgpack ncurses)) | ||||
|     (native-inputs | ||||
|      (list autoconf automake pkg-config)) | ||||
|     (inputs (list libevent libssh msgpack-3 ncurses)) | ||||
|     (native-inputs (list autoconf automake pkg-config)) | ||||
|     (home-page "https://tmate.io/") | ||||
|     (synopsis "Terminal sharing application") | ||||
|     (description "tmate is a terminal sharing application that allows you to | ||||
|  |  | |||
|  | @ -30,6 +30,7 @@ | |||
| ;;; Copyright © 2023 Eidvilas Markevičius <markeviciuseidvilas@gmail.com> | ||||
| ;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com> | ||||
| ;;; Copyright © 2023 David Pflug <david@pflug.io> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -213,7 +214,7 @@ based command language.") | |||
| (define-public kakoune | ||||
|   (package | ||||
|     (name "kakoune") | ||||
|     (version "2022.10.31") | ||||
|     (version "2023.08.05") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -221,7 +222,7 @@ based command language.") | |||
|                            "releases/download/v" version "/" | ||||
|                            "kakoune-" version ".tar.bz2")) | ||||
|        (sha256 | ||||
|         (base32 "12z5wka649xycclbs94bfy2yyln2172dz0zycxsxr384r5i7ncgv")))) | ||||
|         (base32 "0p6skjrfygg7hakl8v95pd17q9pjmid9p8nnw86m1lyx18g1ai9y")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:make-flags | ||||
|  |  | |||
|  | @ -996,13 +996,13 @@ and Cython.") | |||
| (define-public txt2tags | ||||
|   (package | ||||
|     (name "txt2tags") | ||||
|     (version "3.7") | ||||
|     (version "3.9") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (pypi-uri "txt2tags" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "12hpnvdy7dgarq6ini9jp7dp2zcmvpax04zbl3jb84kd423r75i7")))) | ||||
|                 "0ik7gpr3gymgxnj0p86k8768kyxncbncv93zq67sbak3dbdl8hky")))) | ||||
|     (build-system python-build-system) | ||||
|     (native-inputs (list python-tox)) | ||||
|     (home-page "https://txt2tags.org") | ||||
|  |  | |||
|  | @ -335,7 +335,7 @@ required structures.") | |||
|     ;; This package supersedes the Guile bindings that came with GnuTLS until | ||||
|     ;; version 3.7.8 included. | ||||
|     (name "guile-gnutls") | ||||
|     (version "3.7.12") | ||||
|     (version "3.7.14") | ||||
|     (home-page "https://gitlab.com/gnutls/guile/") | ||||
|     (source (origin | ||||
|               ;; url-fetch is used here to avoid a circular dependency with | ||||
|  | @ -343,12 +343,11 @@ required structures.") | |||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|                     "https://gitlab.com/gnutls/guile/uploads/" | ||||
|                     "3fe12c208bdc6155c5116cf5eac7a2ad" | ||||
|                     "1fdc941351d54cd7affda1bb912b9ca5" | ||||
|                     "/guile-gnutls-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0dp3zsbnwgb4q4p8n6i5vnlwq52v5hp8f5c44ngyag89fcaz2fjx")) | ||||
|               (patches (search-patches "gnutls-cross.patch")))) | ||||
|                 "0ldnxq5qxzy92jd8w5c717bgx4038x9qmi43bzl6kmlkzpagqayy")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|  |  | |||
|  | @ -53,6 +53,7 @@ | |||
|   #:use-module (gnu packages pcre) | ||||
|   #:use-module (gnu packages freedesktop) | ||||
|   #:use-module (gnu packages glib) | ||||
|   #:use-module (gnu packages golang) | ||||
|   #:use-module (gnu packages gnuzilla) | ||||
|   #:use-module (gnu packages pkg-config) | ||||
|   #:use-module (gnu packages python) | ||||
|  | @ -598,14 +599,27 @@ Browser.") | |||
|                 (substitute* | ||||
|                     "toolkit/locales/en-US/toolkit/about/aboutAddons.ftl" | ||||
|                   (("addons.mozilla.org") "gnuzilla.gnu.org")))) | ||||
|             (add-after 'install 'deploy-assets | ||||
|             (add-before 'build 'add-bridges ;see deploy.sh | ||||
|               (lambda _ | ||||
|                 (let ((port (open-file | ||||
|                              "browser/app/profile/000-tor-browser.js" "a"))) | ||||
|                   (display | ||||
|                    "#include ../../../tools/torbrowser/bridges.js" port) | ||||
|                   (newline port) | ||||
|                   (close port)))) | ||||
|             (add-after 'install 'deploy-assets | ||||
|               (lambda* (#:key inputs #:allow-other-keys) | ||||
|                 (let ((assets #$(this-package-input "torbrowser-assets")) | ||||
|                       (lib (in-vicinity #$output "lib/torbrowser")) | ||||
|                       (tor #$(this-package-input "tor-client"))) | ||||
|                   ;; TorBrowser/Data/Tor/torrc-defaults | ||||
|                   (copy-recursively (in-vicinity assets "TorBrowser") | ||||
|                                     (in-vicinity lib "TorBrowser")) | ||||
|                   (substitute* | ||||
|                       (in-vicinity lib "TorBrowser/Data/Tor/torrc-defaults") | ||||
|                     (("exec ./TorBrowser/Tor/PluggableTransports/lyrebird") | ||||
|                      (string-append | ||||
|                       "exec " (search-input-file inputs "bin/lyrebird")))) | ||||
|                   ;; The geoip and geoip6 files are in the same directory as | ||||
|                   ;; torrc-defaults.  (See TorProcess.sys.mjs.) | ||||
|                   (mkdir-p (in-vicinity lib "TorBrowser/Data/Tor")) | ||||
|  | @ -755,6 +769,7 @@ Browser.") | |||
|     (inputs | ||||
|      (modify-inputs (package-inputs icecat-minimal) | ||||
|        (append bash-minimal | ||||
|                go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird | ||||
|                tor-client | ||||
|                torbrowser-assets))) | ||||
|     (propagated-inputs | ||||
|  |  | |||
|  | @ -39,7 +39,7 @@ | |||
| (define-public valgrind | ||||
|   (package | ||||
|     (name "valgrind") | ||||
|     (version "3.20.0") | ||||
|     (version "3.22.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (list (string-append "https://sourceware.org/pub/valgrind" | ||||
|  | @ -48,7 +48,7 @@ | |||
|                                         "/valgrind-" version ".tar.bz2"))) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1ipkp6yi202pml2r0qwflysmq86dkqd8iyi1y51d6y70vcqw0dl5")))) | ||||
|                 "0k1ddnzxfpbng2sp5r31jjxsmp35g977rx6a8jcp4prcvmddn4f8")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (outputs '("doc"                              ;16 MB | ||||
|                "out")) | ||||
|  |  | |||
|  | @ -33,7 +33,7 @@ | |||
| ;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org> | ||||
| ;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de> | ||||
| ;;; Copyright © 2021 Greg Hogan <code@greghogan.com> | ||||
| ;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2021, 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com> | ||||
| ;;; Copyright © 2021 Léo Le Bouter <lle-bout@zaclys.net> | ||||
| ;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org> | ||||
|  | @ -823,6 +823,52 @@ on @command{git}, and use any regular Git hosting service.") | |||
| to GitHub contributions calendar.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public xdiff | ||||
|   (let ((revision "0") | ||||
|         (commit "a137bc7ee6c76618ed1737c257548eaa10ac0089")) | ||||
|     (package | ||||
|       (name "xdiff") | ||||
|       ;; The base version is taken from the CMakeLists.txt file. | ||||
|       (version (git-version "0.1" revision commit)) | ||||
|       (source (origin | ||||
|                 (method git-fetch) | ||||
|                 (uri (git-reference | ||||
|                       (url "https://github.com/libgit2/xdiff") | ||||
|                       (commit commit))) | ||||
|                 (file-name (git-file-name name version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "1rxzpag2pih64qlgq40xg1z6mz0bzvps4baxw7bmykyhjhc2gx75")))) | ||||
|       (build-system cmake-build-system) | ||||
|       (arguments | ||||
|        (list | ||||
|         #:modules '((guix build cmake-build-system) | ||||
|                     (guix build utils) | ||||
|                     (srfi srfi-26)) | ||||
|         #:tests? #f                     ;no test suite | ||||
|         #:phases | ||||
|         #~(modify-phases %standard-phases | ||||
|             (add-after 'unpack 'create-shared-library | ||||
|               (lambda _ | ||||
|                 (substitute* "CMakeLists.txt" | ||||
|                   (("add_library\\(xdiff STATIC") | ||||
|                    "add_library(xdiff SHARED")))) | ||||
|             (replace 'install           ;no install target | ||||
|               (lambda _ | ||||
|                 (with-directory-excursion "../source" | ||||
|                   (for-each (cute install-file <> | ||||
|                                   (string-append #$output "/include")) | ||||
|                             (list "xdiff.h" | ||||
|                                   "git-xdiff.h"))) ;included by xdiff.h | ||||
|                 (install-file "libxdiff.so" | ||||
|                               (string-append #$output "/lib"))))))) | ||||
|       (home-page "https://github.com/libgit2/xdiff") | ||||
|       (synopsis "File differential library used by git") | ||||
|       (description "@code{xdiff} is the file differential library used by git, | ||||
| which has been extracted into a standalone library for compatibility with | ||||
| other git-like projects such as @code{libgit2}.") | ||||
|       (license license:lgpl2.1+)))) | ||||
| 
 | ||||
| (define-public libgit2 | ||||
|   (package | ||||
|     (name "libgit2") | ||||
|  | @ -1072,115 +1118,118 @@ collaboration using typical untrusted file hosts or services.") | |||
|    (license license:gpl3+))) | ||||
| 
 | ||||
| (define-public cgit | ||||
|   (package | ||||
|     (name "cgit") | ||||
|     ;; Update the ‘git-source’ input as well. | ||||
|     (version "1.2.3") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|                     "https://git.zx2c4.com/cgit/snapshot/cgit-" | ||||
|                     version ".tar.xz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "193d990ym10qlslk0p8mjwp2j6rhqa7fq0y1iff65lvbyv914pss")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      (list | ||||
|       #:tests? #f ; XXX: fail to build the in-source git. | ||||
|       #:test-target "test" | ||||
|       #:make-flags #~(list (string-append "CC=" #$(cc-for-target)) | ||||
|                            "SHELL_PATH=sh") | ||||
|       #:phases | ||||
|       #~(modify-phases %standard-phases | ||||
|           (add-after 'unpack 'unpack-git | ||||
|             (lambda* (#:key inputs #:allow-other-keys) | ||||
|               ;; Unpack the source of git into the 'git' directory. | ||||
|               (invoke "tar" "--strip-components=1" "-C" "git" "-xf" | ||||
|                       (assoc-ref inputs "git-source")))) | ||||
|           (add-after 'unpack 'patch-absolute-file-names | ||||
|             (lambda* (#:key inputs #:allow-other-keys) | ||||
|               (define (quoted-file-name input path) | ||||
|                 (string-append "\"" input path "\"")) | ||||
|               (substitute* "ui-snapshot.c" | ||||
|                 (("\"gzip\"") | ||||
|                  (quoted-file-name (assoc-ref inputs "gzip") "/bin/gzip")) | ||||
|                 (("\"bzip2\"") | ||||
|                  (quoted-file-name (assoc-ref inputs "bzip2") "/bin/bzip2")) | ||||
|                 (("\"xz\"") | ||||
|                  (quoted-file-name (assoc-ref inputs "xz") "/bin/xz"))) | ||||
|   (let ((commit "793c420897e18eb3474c751d54cf4e0983f85433") | ||||
|         (rev "1")) | ||||
|     (package | ||||
|       (name "cgit") | ||||
|       ;; Update the ‘git-source’ input as well. | ||||
|       (version (git-version "1.2.3" rev commit)) | ||||
|       (source (origin | ||||
|                 (method git-fetch) | ||||
|                 (uri (git-reference | ||||
|                       (url "https://git.zx2c4.com/cgit") | ||||
|                       (commit commit))) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "1mhrm14wpqvralf9j33ih5ai6naiq3g2jg2z91gnw9dhh8f9ilwz")) | ||||
|                 (file-name (git-file-name name version)))) | ||||
|       (build-system gnu-build-system) | ||||
|       (arguments | ||||
|        (list | ||||
|         #:tests? #f                    ; XXX: fail to build the in-source git. | ||||
|         #:test-target "test" | ||||
|         #:make-flags #~(list (string-append "CC=" #$(cc-for-target)) | ||||
|                              "SHELL_PATH=sh") | ||||
|         #:phases | ||||
|         #~(modify-phases %standard-phases | ||||
|             (add-after 'unpack 'unpack-git | ||||
|               (lambda* (#:key inputs #:allow-other-keys) | ||||
|                 ;; Unpack the source of git into the 'git' directory. | ||||
|                 (invoke "tar" "--strip-components=1" "-C" "git" "-xf" | ||||
|                         (assoc-ref inputs "git-source")))) | ||||
|             (add-after 'unpack 'patch-absolute-file-names | ||||
|               (lambda* (#:key inputs #:allow-other-keys) | ||||
|                 (define (quoted-file-name input path) | ||||
|                   (string-append "\"" input path "\"")) | ||||
|                 (substitute* "ui-snapshot.c" | ||||
|                   (("\"gzip\"") | ||||
|                    (quoted-file-name (assoc-ref inputs "gzip") "/bin/gzip")) | ||||
|                   (("\"bzip2\"") | ||||
|                    (quoted-file-name (assoc-ref inputs "bzip2") "/bin/bzip2")) | ||||
|                   (("\"xz\"") | ||||
|                    (quoted-file-name (assoc-ref inputs "xz") "/bin/xz"))) | ||||
| 
 | ||||
|               (substitute* "filters/about-formatting.sh" | ||||
|                 (("$\\(dirname $0\\)") (string-append (assoc-ref outputs "out") | ||||
|                                                       "/lib/cgit/filters")) | ||||
|                 (("\\| tr") (string-append "| " (which "tr")))) | ||||
|                 (substitute* "filters/about-formatting.sh" | ||||
|                   (("$\\(dirname $0\\)") (string-append (assoc-ref outputs "out") | ||||
|                                                         "/lib/cgit/filters")) | ||||
|                   (("\\| tr") (string-append "| " (which "tr")))) | ||||
| 
 | ||||
|               (substitute* "filters/html-converters/txt2html" | ||||
|                 (("sed") (which "sed"))) | ||||
|                 (substitute* "filters/html-converters/txt2html" | ||||
|                   (("sed") (which "sed"))) | ||||
| 
 | ||||
|               (substitute* "filters/html-converters/man2html" | ||||
|                 (("groff") (which "groff"))) | ||||
|                 (substitute* "filters/html-converters/man2html" | ||||
|                   (("groff") (which "groff"))) | ||||
| 
 | ||||
|               (substitute* "filters/html-converters/rst2html" | ||||
|                 (("rst2html\\.py") (which "rst2html.py"))))) | ||||
|           (delete 'configure) ; no configure script | ||||
|           (add-after 'build 'build-man | ||||
|             (lambda* (#:key make-flags #:allow-other-keys) | ||||
|               (apply invoke "make" "doc-man" make-flags))) | ||||
|           (replace 'install | ||||
|             (lambda* (#:key make-flags outputs #:allow-other-keys) | ||||
|               (let ((out (assoc-ref outputs "out"))) | ||||
|                 (apply invoke | ||||
|                        "make" "install" "install-man" | ||||
|                        (string-append "prefix=" out) | ||||
|                        (string-append "CGIT_SCRIPT_PATH=" out "/share/cgit") | ||||
|                        make-flags) | ||||
|                 ;; Move the platform-dependent 'cgit.cgi' into lib to get it | ||||
|                 ;; stripped. | ||||
|                 (rename-file (string-append out "/share/cgit/cgit.cgi") | ||||
|                              (string-append out "/lib/cgit/cgit.cgi"))))) | ||||
|           (add-after 'install 'wrap-python-scripts | ||||
|             (lambda* (#:key outputs #:allow-other-keys) | ||||
|               (for-each | ||||
|                (lambda (file) | ||||
|                  (wrap-program (string-append (assoc-ref outputs "out") | ||||
|                                               "/lib/cgit/filters/" file) | ||||
|                    `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))))) | ||||
|                '("syntax-highlighting.py" | ||||
|                  "html-converters/md2html"))))))) | ||||
|     (native-inputs | ||||
|      ;; For building manpage. | ||||
|      (list asciidoc)) | ||||
|     (inputs | ||||
|      `(;; Building cgit requires a Git source tree. | ||||
|        ("git-source" | ||||
|         ,(origin | ||||
|            (method url-fetch) | ||||
|            ;; cgit is tightly bound to git.  Use GIT_VER from the Makefile, | ||||
|            ;; which may not match the current (package-version git). | ||||
|            (uri "mirror://kernel.org/software/scm/git/git-2.25.4.tar.xz") | ||||
|            (sha256 | ||||
|             (base32 "11am6s46wmn1yll5614smjhzlghbqq6gysgcs64igjr9y5wzpdxq")))) | ||||
|        ("bash-minimal" ,bash-minimal) | ||||
|        ("openssl" ,openssl) | ||||
|        ("python" ,python) | ||||
|        ("python-docutils" ,python-docutils) | ||||
|        ("python-markdown" ,python-markdown) | ||||
|        ("python-pygments" ,python-pygments) | ||||
|        ("zlib" ,zlib) | ||||
|        ;; bzip2, groff, gzip and xz are inputs (not native inputs) | ||||
|        ;; since they are actually substituted into cgit source and | ||||
|        ;; referenced by the built package output. | ||||
|        ("bzip2" ,bzip2) | ||||
|        ("groff" ,groff) | ||||
|        ("gzip" ,gzip) | ||||
|        ("xz" ,xz))) | ||||
|     (home-page "https://git.zx2c4.com/cgit/") | ||||
|     (synopsis "Web frontend for git repositories") | ||||
|     (description | ||||
|      "CGit is an attempt to create a fast web interface for the Git SCM, using | ||||
|                 (substitute* "filters/html-converters/rst2html" | ||||
|                   (("rst2html\\.py") (which "rst2html.py"))))) | ||||
|             (delete 'configure)         ; no configure script | ||||
|             (add-after 'build 'build-man | ||||
|               (lambda* (#:key make-flags #:allow-other-keys) | ||||
|                 (apply invoke "make" "doc-man" make-flags))) | ||||
|             (replace 'install | ||||
|               (lambda* (#:key make-flags outputs #:allow-other-keys) | ||||
|                 (let ((out (assoc-ref outputs "out"))) | ||||
|                   (apply invoke | ||||
|                          "make" "install" "install-man" | ||||
|                          (string-append "prefix=" out) | ||||
|                          (string-append "CGIT_SCRIPT_PATH=" out "/share/cgit") | ||||
|                          make-flags) | ||||
|                   ;; Move the platform-dependent 'cgit.cgi' into lib to get it | ||||
|                   ;; stripped. | ||||
|                   (rename-file (string-append out "/share/cgit/cgit.cgi") | ||||
|                                (string-append out "/lib/cgit/cgit.cgi"))))) | ||||
|             (add-after 'install 'wrap-python-scripts | ||||
|               (lambda* (#:key outputs #:allow-other-keys) | ||||
|                 (for-each | ||||
|                  (lambda (file) | ||||
|                    (wrap-program (string-append (assoc-ref outputs "out") | ||||
|                                                 "/lib/cgit/filters/" file) | ||||
|                      `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))))) | ||||
|                  '("syntax-highlighting.py" | ||||
|                    "html-converters/md2html"))))))) | ||||
|       (native-inputs | ||||
|        ;; For building manpage. | ||||
|        (list asciidoc)) | ||||
|       (inputs | ||||
|        `( ;; Building cgit requires a Git source tree. | ||||
|          ("git-source" | ||||
|           ,(origin | ||||
|              (method url-fetch) | ||||
|              ;; cgit is tightly bound to git.  Use GIT_VER from the Makefile, | ||||
|              ;; which may not match the current (package-version git). | ||||
|              (uri "mirror://kernel.org/software/scm/git/git-2.43.0.tar.xz") | ||||
|              (sha256 | ||||
|               (base32 "1v3nkfm3gw8wr7595qy86qla8xyjvi85fmly4lfph4frfcz60ijl")))) | ||||
|          ("bash-minimal" ,bash-minimal) | ||||
|          ("openssl" ,openssl) | ||||
|          ("python" ,python) | ||||
|          ("python-docutils" ,python-docutils) | ||||
|          ("python-markdown" ,python-markdown) | ||||
|          ("python-pygments" ,python-pygments) | ||||
|          ("zlib" ,zlib) | ||||
|          ;; bzip2, groff, gzip and xz are inputs (not native inputs) | ||||
|          ;; since they are actually substituted into cgit source and | ||||
|          ;; referenced by the built package output. | ||||
|          ("bzip2" ,bzip2) | ||||
|          ("groff" ,groff) | ||||
|          ("gzip" ,gzip) | ||||
|          ("xz" ,xz))) | ||||
|       (home-page "https://git.zx2c4.com/cgit/") | ||||
|       (synopsis "Web frontend for git repositories") | ||||
|       (description | ||||
|        "CGit is an attempt to create a fast web interface for the Git SCM, using | ||||
| a built-in cache to decrease server I/O pressure.") | ||||
|     (license license:gpl2))) | ||||
|       (license license:gpl2)))) | ||||
| 
 | ||||
| (define-public cgit-pink | ||||
|   (package | ||||
|  |  | |||
Some files were not shown because too many files have changed in this diff Show more
		Reference in a new issue