me
/
guix
Archived
1
0
Fork 0

Merge branch 'master' into gnome-team

master
Liliana Marie Prikler 2024-01-14 17:23:44 +01:00
commit 1682264fda
No known key found for this signature in database
GPG Key ID: 442A84B8C70E2F87
129 changed files with 5970 additions and 1980 deletions

View File

@ -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"

View File

@ -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>

View File

@ -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

View File

@ -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")

View File

@ -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))

View File

@ -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)))))

View File

@ -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)

View File

@ -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 \

View File

@ -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

View File

@ -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

View File

@ -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+)))

View File

@ -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
noiseprotein-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

View File

@ -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))

View File

@ -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)
'())))

View File

@ -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")

View File

@ -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

View File

@ -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

View File

@ -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")

View File

@ -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

View File

@ -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.

View File

@ -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"

View File

@ -4,7 +4,7 @@
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2017-2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 20182021 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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -7,7 +7,7 @@
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017, 2018, 20202022 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

View File

@ -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

View File

@ -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)))

View File

@ -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 _

View File

@ -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

View File

@ -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)

View File

@ -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")

View File

@ -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

View File

@ -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?

View File

@ -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

View File

@ -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")

View File

@ -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))))

View File

@ -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

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -7,7 +7,7 @@
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 20182022 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))

View File

@ -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

View File

@ -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 GromovHausdorff 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")

View File

@ -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")

View File

@ -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")

View File

@ -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

View File

@ -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))

View File

@ -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

View 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

View 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

View 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

View 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" },

View File

@ -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

View 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

View 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);

View 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

View 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

View 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);

View File

@ -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 ########

View File

@ -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

View 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}

View File

@ -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

View 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

View 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;

View 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;

View 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

View 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;

View 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;

View 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()

View 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

View 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,

View 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)))

View 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))]

View 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()

View File

@ -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/")))

View File

@ -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

View File

@ -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

View File

@ -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")

View File

@ -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"

View File

@ -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

View File

@ -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")

View File

@ -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))

View File

@ -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 © 20182021 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.")

View File

@ -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))

View File

@ -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

View File

@ -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")))

View File

@ -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")

View File

@ -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

View File

@ -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))))

View File

@ -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")

View File

@ -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

View File

@ -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

View File

@ -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")

View File

@ -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

View File

@ -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

View File

@ -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"))

View File

@ -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