me
/
guix
Archived
1
0
Fork 0

Merge branch 'master' into emacs-team

master
Liliana Marie Prikler 2024-03-09 07:46:25 +01:00
commit 058532bdd8
No known key found for this signature in database
GPG Key ID: 442A84B8C70E2F87
84 changed files with 3737 additions and 2234 deletions

View File

@ -111,7 +111,7 @@ Copyright @copyright{} 2022 (@*
Copyright @copyright{} 2022 John Kehayias@*
Copyright @copyright{} 20222023 Bruno Victal@*
Copyright @copyright{} 2022 Ivan Vilata-i-Balaguer@*
Copyright @copyright{} 2023 Giacomo Leidi@*
Copyright @copyright{} 2023-2024 Giacomo Leidi@*
Copyright @copyright{} 2022 Antero Mejr@*
Copyright @copyright{} 2023 Karl Hallsby@*
Copyright @copyright{} 2023 Nathaniel Nicandro@*
@ -358,6 +358,7 @@ Foreign Architectures
System Configuration
* Getting Started with the System:: Your first steps.
* Using the Configuration System:: Customizing your GNU system.
* operating-system Reference:: Detail of operating-system declarations.
* File Systems:: Configuring file system mounts.
@ -2879,8 +2880,8 @@ unless your configuration specifies otherwise
@node After System Installation
@section After System Installation
Success, you've now booted into Guix System! From then on, you can update the
system whenever you want by running, say:
Success, you've now booted into Guix System! You can upgrade the system
whenever you want by running:
@example
guix pull
@ -2888,24 +2889,10 @@ sudo guix system reconfigure /etc/config.scm
@end example
@noindent
This builds a new system generation with the latest packages and services
(@pxref{Invoking guix system}). We recommend doing that regularly so that
your system includes the latest security updates (@pxref{Security Updates}).
This builds a new system @dfn{generation} with the latest packages and
services.
@c See <https://lists.gnu.org/archive/html/guix-devel/2019-01/msg00268.html>.
@quotation Note
@cindex sudo vs. @command{guix pull}
Note that @command{sudo guix} runs your user's @command{guix} command and
@emph{not} root's, because @command{sudo} leaves @env{PATH} unchanged. To
explicitly run root's @command{guix}, type @command{sudo -i guix @dots{}}.
The difference matters here, because @command{guix pull} updates
the @command{guix} command and package definitions only for the user it is run
as. This means that if you choose to use @command{guix system reconfigure} in
root's login shell, you'll need to @command{guix pull} separately.
@end quotation
Now, @pxref{Getting Started}, and
Now, @pxref{Getting Started with the System}, and
join us on @code{#guix} on the Libera Chat IRC network or on
@email{guix-devel@@gnu.org} to share your experience!
@ -3159,22 +3146,9 @@ sudo guix system reconfigure /etc/config.scm
@end example
Upon completion, the system runs the latest versions of its software
packages. When you eventually reboot, you'll notice a sub-menu in the
bootloader that reads ``Old system generations'': it's what allows you
to boot @emph{an older generation of your system}, should the latest
generation be ``broken'' or otherwise unsatisfying. Just like for
packages, you can always @emph{roll back} to a previous generation
@emph{of the whole system}:
@example
sudo guix system roll-back
@end example
There are many things you'll probably want to tweak on your system:
adding new user accounts, adding new system services, fiddling with the
configuration of those services, etc. The system configuration is
@emph{entirely} described in the @file{/etc/config.scm} file.
@xref{Using the Configuration System}, to learn how to change it.
packages. Just like for packages, you can always @emph{roll back} to a
previous generation @emph{of the whole system}. @xref{Getting Started
with the System}, to learn how to manage your system.
Now you know enough to get started!
@ -3283,7 +3257,7 @@ out to have a serious bug, users may roll back to the previous instance
of their profile, which was known to work well. Similarly, the global
system configuration on Guix is subject to
transactional upgrades and roll-back
(@pxref{Using the Configuration System}).
(@pxref{Getting Started with the System}).
All packages in the package store may be @emph{garbage-collected}.
Guix can determine which packages are still referenced by user
@ -17101,6 +17075,7 @@ instantiated. Then we show how this mechanism can be extended, for
instance to support new system services.
@menu
* Getting Started with the System:: Your first steps.
* Using the Configuration System:: Customizing your GNU system.
* operating-system Reference:: Detail of operating-system declarations.
* File Systems:: Configuring file system mounts.
@ -17121,14 +17096,222 @@ instance to support new system services.
* Defining Services:: Adding new service definitions.
@end menu
@node Getting Started with the System
@section Getting Started
@cindex system configuration file
@cindex configuration file, of the system
You're reading this section probably because you have just installed
Guix System (@pxref{System Installation}) and would like to know where
to go from here. If you're already familiar with GNU/Linux system
administration, the way Guix System is configured is very different from
what you're used to: you won't install a system service by running
@command{guix install}, you won't configure services by modifying files
under @file{/etc}, and you won't create user accounts by invoking
@command{useradd}; instead, all these aspects are spelled out in a
@dfn{system configuration file}.
The first step with Guix System is thus to write the @dfn{system
configuration file}; luckily, system installation already generated one
for you and stored it under @file{/etc/config.scm}.
@quotation Note
You can store your system configuration file anywhere you like---it
doesn't have to be at @file{/etc/config.scm}. It's a good idea to keep
it under version control, for instance in a
@uref{https://git-scm.com/book/en/, Git repository}.
@end quotation
The @emph{entire} configuration of the system---user accounts, system
services, timezone, locale settings---is declared in this file, which
follows this template:
@lisp
(use-modules (gnu))
(use-package-modules @dots{})
(use-service-modules @dots{})
(operating-system
(host-name @dots{})
(timezone @dots{})
(locale @dots{})
(bootloader @dots{})
(file-systems @dots{})
(users @dots{})
(packages @dots{})
(services @dots{}))
@end lisp
This configuration file is in fact a Scheme program; the first lines
pull in modules providing variables you might need in the rest of the
file---e.g., packages, services, etc. The @code{operating-system} form
declares the system configuration as a @dfn{record} with a number of
@dfn{fields}. @xref{Using the Configuration System}, to view complete
examples and learn what to put in there.
The second step, once you have this configuration file, is to test it.
Of course, you can skip this step if you're feeling lucky---you choose!
To do that, pass your configuration file to @command{guix system vm} (no
need to be root, you can do that as a regular user):
@example
guix system vm /etc/config.scm
@end example
@noindent
This command returns the name of a shell script that starts a virtual
machine (VM) running the system @emph{as described in the configuration
file}:
@example
/gnu/store/@dots{}-run-vm.sh
@end example
@noindent
In this VM, you can log in as @code{root} with no password. That's a
good way to check that your configuration file is correct and that it
gives the expected result, without touching your system. @xref{Invoking
guix system}, for more information.
@quotation Note
When using @command{guix system vm}, aspects tied to your hardware such
as file systems and mapped devices are overridden because they cannot be
meaningfully tested in the VM@. Other aspects such as static network
configuration (@pxref{Networking Setup,
@code{static-networking-service-type}}) are @emph{not} overridden but
they may not work inside the VM@.
@end quotation
@cindex system instantiation
@cindex reconfiguring the system
The third step, once you're happy with your configuration, is to
@dfn{instantiate} it---make this configuration effective on your system.
To do that, run:
@example
sudo guix system reconfigure /etc/config.scm
@end example
@cindex upgrading system services
@cindex system services, upgrading
@noindent
This operation is @dfn{transactional}: either it succeeds and you end up
with an upgraded system, or it fails and nothing has changed. Note that
it does @emph{not} restart system services that were already running.
Thus, to upgrade those services, you have to reboot or to explicitly
restart them; for example, to restart the secure shell (SSH) daemon, you
would run:
@example
sudo herd restart sshd
@end example
@quotation Note
System services are managed by the Shepherd (@pxref{Jump Start,,,
shepherd, The GNU Shepherd Manual}). The @code{herd} command lets you
inspect, start, and stop services. To view the status of services, run:
@example
sudo herd status
@end example
To view detailed information about a given service, add its name to the
command:
@example
sudo herd status sshd
@end example
@xref{Services}, for more information.
@end quotation
@cindex provenance, of the system
The system records its @dfn{provenance}---the configuration file and
channels that were used to deploy it. You can view it like so:
@example
guix system describe
@end example
Additionally, @command{guix system reconfigure} preserves previous
system generations, which you can list:
@example
guix system list-generations
@end example
@noindent
@cindex roll back, for the system
Crucially, that means that you can always @emph{roll back} to an earlier
generation should something go wrong! When you eventually reboot,
you'll notice a sub-menu in the bootloader that reads ``Old system
generations'': it's what allows you to boot @emph{an older generation of
your system}, should the latest generation be ``broken'' or otherwise
unsatisfying. You can also ``permanently'' roll back, like so:
@example
sudo guix system roll-back
@end example
@noindent
Alternatively, you can use @command{guix system switch-generation} to
switch to a specific generation.
Once in a while, you'll want to delete old generations that you do not
need anymore to allow @dfn{garbage collection} to free space
(@pxref{Invoking guix gc}). For example, to remove generations older
than 4 months, run:
@example
sudo guix system delete-generations 4m
@end example
From there on, anytime you want to change something in the system
configuration, be it adding a user account or changing parameters of a
service, you will first update your configuration file and then run
@command{guix system reconfigure} as shown above.
@cindex upgrade, of the system
Likewise, to @emph{upgrade} system software, you first fetch an
up-to-date Guix and then reconfigure your system with that new Guix:
@example
guix pull
sudo guix system reconfigure /etc/config.scm
@end example
@noindent
We recommend doing that regularly so that your system includes the
latest security updates (@pxref{Security Updates}).
@c See <https://lists.gnu.org/archive/html/guix-devel/2019-01/msg00268.html>.
@quotation Note
@cindex sudo vs. @command{guix pull}
@command{sudo guix} runs your user's @command{guix} command and
@emph{not} root's, because @command{sudo} leaves @env{PATH} unchanged.
The difference matters here, because @command{guix pull} updates
the @command{guix} command and package definitions only for the user it is run
as. This means that if you choose to use @command{guix system reconfigure} in
root's login shell, you'll need to @command{guix pull} separately.
@end quotation
That's it! If you're getting started with Guix entirely,
@pxref{Getting Started}. The next sections dive in more detail into the
crux of the matter: system configuration.
@node Using the Configuration System
@section Using the Configuration System
The previous section showed the overall workflow you would follow when
administering a Guix System machine (@pxref{Getting Started with the
System}). Let's now see in more detail what goes into the system
configuration file.
The operating system is configured by providing an
@code{operating-system} declaration in a file that can then be passed to
the @command{guix system} command (@pxref{Invoking guix system}). A
simple setup, with the default Linux-Libre
kernel, initial RAM disk, and a couple of system services added to those
the @command{guix system} command (@pxref{Invoking guix system}), as
we've seen before. A simple setup, with the default Linux-Libre kernel,
initial RAM disk, and a couple of system services added to those
provided by default looks like this:
@findex operating-system
@ -17136,8 +17319,8 @@ provided by default looks like this:
@include os-config-bare-bones.texi
@end lisp
The configuration is declarative and hopefully mostly self-describing.
It is actually code in the Scheme programming language; the whole
The configuration is declarative.
It is code in the Scheme programming language; the whole
@code{(operating-system @dots{})} expression produces a @dfn{record}
with a number of @dfn{fields}.
Some of the fields defined
@ -17146,16 +17329,21 @@ Others, such as @code{packages} and @code{services}, can be omitted, in
which case they get a default value. @xref{operating-system Reference},
for details about all the available fields.
Below we discuss the effect of some of the most important fields,
and how to @dfn{instantiate} the operating system using
@command{guix system}.
Below we discuss the meaning of some of the most important fields.
@quotation Do not panic
@cindex Scheme programming language, getting started
Intimidated by the Scheme language or curious about it? The Cookbook
has a short section to get started that explains the fundamentals, which
you will find helpful when hacking your configuration. @xref{A Scheme
Crash Course,,, guix-cookbook, GNU Guix Cookbook}.
@quotation Troubleshooting
The configuration file is a Scheme program and you might get the syntax
or semantics wrong as you get started. Syntactic issues such as
misplaced parentheses can often be identified by reformatting your file:
@example
guix style -f config.scm
@end example
The Cookbook has a short section to get started with the Scheme
programming language that explains the fundamentals, which you will find
helpful when hacking your configuration. @xref{A Scheme Crash Course,,,
guix-cookbook, GNU Guix Cookbook}.
@end quotation
@unnumberedsubsec Bootloader
@ -17348,18 +17536,70 @@ Alternatively, the @code{modify-services} macro can be used:
(delete avahi-service-type))
@end lisp
@unnumberedsubsec Inspecting Services
@cindex troubleshooting, for system services
@cindex inspecting system services
@cindex system services, inspecting
As you work on your system configuration, you might wonder why some
system service doesn't show up or why the system is not as you expected.
There are several ways to inspect and troubleshoot problems.
@cindex dependency graph, of Shepherd services
First, you can inspect the dependency graph of Shepherd services like
so:
@example
guix system shepherd-graph /etc/config.scm | \
guix shell xdot -- xdot -
@end example
This lets you visualize the Shepherd services as defined in
@file{/etc/config.scm}. Each box is a service as would be shown by
@command{sudo herd status} on the running system, and each arrow denotes
a dependency (in the sense that if service @var{A} depends on @var{B},
then @var{B} must be started before @var{A}).
@cindex extension graph, of services
Not all ``services'' are Shepherd services though, since Guix System
uses a broader definition of the term (@pxref{Services}). To visualize
system services and their relations at a higher level, run:
@example
guix system extension-graph /etc/config.scm | \
guix shell xdot -- xdot -
@end example
This lets you view the @dfn{service extension graph}: how services
``extend'' each other, for instance by contributing to their
configuration. @xref{Service Composition}, to understand the meaning of
this graph.
Last, you may also find it useful to inspect your system configuration
at the REPL (@pxref{Using Guix Interactively}). Here is an example
session:
@example
$ guix repl
scheme@@(guix-user)> ,use (gnu)
scheme@@(guix-user)> (define os (load "config.scm"))
scheme@@(guix-user)> ,pp (map service-kind (operating-system-services os))
$1 = (#<service-type localed cabba93>
@dots{})
@end example
@xref{Service Reference}, to learn about the Scheme interface to
manipulate and inspect services.
@unnumberedsubsec Instantiating the System
@cindex system instantiation
@cindex reconfiguring the system
Assuming the @code{operating-system} declaration
is stored in the @file{my-system-config.scm}
file, the @command{guix system reconfigure my-system-config.scm} command
instantiates that configuration, and makes it the default GRUB boot
entry (@pxref{Invoking guix system}).
@quotation Note
We recommend that you keep this @file{my-system-config.scm} file safe
and under version control to easily track changes to your configuration.
@end quotation
is stored in the @file{config.scm}
file, the @command{sudo guix system reconfigure config.scm} command
instantiates that configuration, and makes it the default boot
entry. @xref{Getting Started with the System}, for an overview.
The normal way to change the system configuration is by updating this
file and re-running @command{guix system reconfigure}. One should never
@ -17369,23 +17609,6 @@ fact, you must avoid that since that would not only void your warranty
but also prevent you from rolling back to previous versions of your
system, should you ever need to.
@cindex roll-back, of the operating system
Speaking of roll-back, each time you run @command{guix system
reconfigure}, a new @dfn{generation} of the system is created---without
modifying or deleting previous generations. Old system generations get
an entry in the bootloader boot menu, allowing you to boot them in case
something went wrong with the latest generation. Reassuring, no? The
@command{guix system list-generations} command lists the system
generations available on disk. It is also possible to roll back the
system via the commands @command{guix system roll-back} and
@command{guix system switch-generation}.
Although the @command{guix system reconfigure} command will not modify
previous generations, you must take care when the current generation is not
the latest (e.g., after invoking @command{guix system roll-back}), since
the operation might overwrite a later generation (@pxref{Invoking guix
system}).
@unnumberedsubsec The Programming Interface
At the Scheme level, the bulk of an @code{operating-system} declaration
@ -44444,17 +44667,42 @@ directory, and some way of automatically deploy changes to their user home.
@cindex Stow-like dot file management
The @code{home-dotfiles-service-type} from @code{(gnu home services dotfiles)}
is designed to ease the way into using Guix Home for this kind of users,
allowing them to point the service to their dotfiles directory, which must
follow the layout suggested by
@uref{https://www.gnu.org/software/stow/, GNU Stow},
and have their dotfiles automatically deployed to their user home, without
allowing them to point the service to their dotfiles directory without
migrating them to Guix native configurations.
The dotfiles directory layout is expected to be structured as follows. Please
keep in mind that it is advisable to keep your dotfiles directories under
Please keep in mind that it is advisable to keep your dotfiles directories under
version control, for example in the same repository where you'd track your
Guix Home configuration.
There are two supported dotfiles directory layouts, for now. The
@code{'plain} layout, which is structured as follows:
@example
~$ tree -a ./dotfiles/
dotfiles/
├── .gitconfig
├── .gnupg
│ ├── gpg-agent.conf
│ └── gpg.conf
├── .guile
├── .config
│ ├── guix
│ │ └── channels.scm
│ └── nixpkgs
│ └── config.nix
├── .nix-channels
├── .tmux.conf
└── .vimrc
@end example
This tree structure is installed as is to the
home directory upon @command{guix home reconfigure}.
The @code{'stow} layout, which must
follow the layout suggested by
@uref{https://www.gnu.org/software/stow/, GNU Stow} presents an additional
application specific directory layer, just like:
@example
~$ tree -a ./dotfiles/
dotfiles/
@ -44484,8 +44732,10 @@ dotfiles/
@end example
For an informal specification please refer to the Stow manual
(@pxref{Top,,, stow, Introduction}). A suitable configuration would then
be:
(@pxref{Top,,, stow, Introduction}). This tree structure is installed following
GNU Stow's logic to the home directory upon @command{guix home reconfigure}.
A suitable configuration with a @code{'plain} layout could be:
@lisp
(home-environment
@ -44493,7 +44743,7 @@ be:
(services
(service home-dotfiles-service-type
(home-dotfiles-configuration
(directories (list "./dotfiles"))))))
(directories '("./dotfiles"))))))
@end lisp
The expected home directory state would then be:
@ -44520,32 +44770,47 @@ Return a service which is very similiar to @code{home-files-service-type}
(and actually extends it), but designed to ease the way into using Guix
Home for users that already track their dotfiles under some kind of version
control. This service allows users to point Guix Home to their dotfiles
directory and have their files automatically deployed to their home directory
just like Stow would, without migrating all of their dotfiles to Guix native
directory and have their files automatically provisioned to their home
directory, without migrating all of their dotfiles to Guix native
configurations.
@end defvar
@c %start of fragment
@deftp {Data Type} home-dotfiles-configuration
Available @code{home-dotfiles-configuration} fields are:
@table @asis
@item @code{source-directory} (default: @code{(current-source-directory)})
The path where dotfile directories are resolved. By default dotfile directories
are resolved relative the source location where
@item @code{source-directory} (default: @code{(current-source-directory)}) (type: string)
The path where dotfile directories are resolved. By default dotfile
directories are resolved relative the source location where
@code{home-dotfiles-configuration} appears.
@item @code{directories} (type: list-of-strings)
The list of dotfiles directories where @code{home-dotfiles-service-type} will
look for application dotfiles.
@item @code{layout} (default: @code{'plain}) (type: symbol)
The intended layout of the specified @code{directory}. It can be either
@code{'stow} or @code{'plain}.
@item @code{exclude} (default: @code{'(".*~" ".*\\.swp" "\\.git" "\\.gitignore")})
The list of file patterns @code{home-dotfiles-service-type} will exclude while
visiting each one of the @code{directories}.
@item @code{directories} (default: @code{'()}) (type: list-of-strings)
The list of dotfiles directories where @code{home-dotfiles-service-type}
will look for application dotfiles.
@item @code{packages} (type: maybe-list-of-strings)
The names of a subset of the GNU Stow package layer directories. When provided
the @code{home-dotfiles-service-type} will only provision dotfiles from this
subset of applications. This field will be ignored if @code{layout} is set
to @code{'plain}.
@item @code{excluded} (default: @code{'(".*~" ".*\\.swp" "\\.git" "\\.gitignore")}) (type: list-of-strings)
The list of file patterns @code{home-dotfiles-service-type} will exclude
while visiting each one of the @code{directories}.
@end table
@end deftp
@c %end of fragment
@defvar home-xdg-configuration-files-service-type
The service is very similar to @code{home-files-service-type} (and
actually extends it), but used for defining files, which will go to

View File

@ -549,8 +549,7 @@ GLib/GIO, GTK, GStreamer and Webkit."
(team 'lxqt
#:name "LXQt team"
#:description "LXQt desktop environment."
#:scope (list "gnu/packages/lxqt.scm"
"gnu/packages/qt.scm")))
#:scope (list "gnu/packages/lxqt.scm")))
(define-team audio
(team 'audio
@ -666,7 +665,7 @@ GLib/GIO, GTK, GStreamer and Webkit."
(define-member (person "宋文武"
"iyzsong@envs.net")
games localization lxqt xfce)
games localization lxqt qt xfce)
(define-member (person "Vagrant Cascadian"
"vagrant@debian.org")
@ -724,6 +723,10 @@ GLib/GIO, GTK, GStreamer and Webkit."
"mhw@netris.org")
mozilla)
(define-member (person "Adam Faiz"
"adam.faiz@disroot.org")
games)
(define (find-team name)
(or (hash-ref %teams (string->symbol name))

View File

@ -20,17 +20,25 @@
(define-module (gnu home services dotfiles)
#:use-module (gnu home services)
#:use-module (gnu services)
#:use-module (gnu services configuration)
#:autoload (guix build utils) (find-files)
#:use-module (guix diagnostics)
#:use-module (guix gexp)
#:use-module (guix records)
#:use-module (guix i18n)
#:use-module ((guix utils) #:select (current-source-directory))
#:use-module (srfi srfi-1)
#:use-module (ice-9 ftw)
#:use-module (ice-9 match)
#:use-module (ice-9 regex)
#:export (home-dotfiles-service-type
home-dotfiles-configuration->files
home-dotfiles-configuration
home-dotfiles-configuration?
home-dotfiles-configuration-fields
home-dotfiles-configuration-layout
home-dotfiles-configuration-source-directory
home-dotfiles-configuration-packages
home-dotfiles-configuration-directories
home-dotfiles-configuration-excluded))
@ -40,26 +48,64 @@
"\\.git"
"\\.gitignore"))
(define-record-type* <home-dotfiles-configuration>
home-dotfiles-configuration make-home-dotfiles-configuration
home-dotfiles-configuration?
(source-directory home-dotfiles-configuration-source-directory
(default (current-source-directory))
(innate))
(directories home-dotfiles-configuration-directories ;list of strings
(default '()))
(excluded home-dotfiles-configuration-excluded ;list of strings
(default %home-dotfiles-excluded)))
(define %home-dotfiles-layouts
'(plain stow))
(define (import-dotfiles directory files)
(define (sanitize-layout value)
(if (member value %home-dotfiles-layouts)
value
(raise
(formatted-message
(G_ "layout field of home-dotfiles-configuration should be either 'plain
or 'stow, but ~a was found.")
value))))
(define list-of-strings?
(list-of string?))
(define-maybe list-of-strings)
(define-configuration/no-serialization home-dotfiles-configuration
(source-directory
(string (current-source-directory))
"The path where dotfile directories are resolved. By default dotfile
directories are resolved relative the source location where
@code{home-dotfiles-configuration} appears.")
(layout
(symbol 'plain)
"The intended layout of the specified @code{directory}. It can be either
@code{'stow} or @code{'plain}."
(sanitizer sanitize-layout))
(directories
(list-of-strings '())
"The list of dotfiles directories where @code{home-dotfiles-service-type}
will look for application dotfiles.")
(packages
(maybe-list-of-strings)
"The names of a subset of the GNU Stow package layer directories. When provided
the @code{home-dotfiles-service-type} will only provision dotfiles from this
subset of applications. This field will be ignored if @code{layout} is set
to @code{'plain}.")
(excluded
(list-of-strings %home-dotfiles-excluded)
"The list of file patterns @code{home-dotfiles-service-type} will exclude
while visiting @code{directory}."))
(define (strip-stow-dotfile file-name directory)
(let ((dotfile-name (string-drop file-name (1+ (string-length directory)))))
(match (string-split dotfile-name #\/)
((package parts ...)
(string-join parts "/")))))
(define (strip-plain-dotfile file-name directory)
(string-drop file-name (+ 1 (string-length directory))))
(define (import-dotfiles directory files strip)
"Return a list of objects compatible with @code{home-files-service-type}'s
value. Each object is a pair where the first element is the relative path
of a file and the second is a gexp representing the file content. Objects are
generated by recursively visiting DIRECTORY and mapping its contents to the
user's home directory, excluding files that match any of the patterns in EXCLUDED."
(define (strip file)
(string-drop file (+ 1 (string-length directory))))
(define (format file)
;; Remove from FILE characters that cannot be used in the store.
(string-append
@ -73,7 +119,7 @@ user's home directory, excluding files that match any of the patterns in EXCLUDE
file)))
(map (lambda (file)
(let ((stripped (strip file)))
(let ((stripped (strip file directory)))
(list stripped
(local-file file (format stripped)
#:recursive? #t))))
@ -81,18 +127,25 @@ user's home directory, excluding files that match any of the patterns in EXCLUDE
(define (home-dotfiles-configuration->files config)
"Return a list of objects compatible with @code{home-files-service-type}'s
value, generated following GNU Stow's algorithm for each of the
directories in CONFIG, excluding files that match any of the patterns configured."
value, excluding files that match any of the patterns configured."
(define stow? (eq? (home-dotfiles-configuration-layout config) 'stow))
(define excluded
(home-dotfiles-configuration-excluded config))
(define exclusion-rx
(make-regexp (string-append "^.*(" (string-join excluded "|") ")$")))
(define (directory-contents directory)
(define* (directory-contents directory #:key (packages #f))
(define (filter-files directory)
(find-files directory
(lambda (file stat)
(not (regexp-exec exclusion-rx
(basename file))))))
(if (and stow? packages (maybe-value-set? packages))
(append-map filter-files
(map (lambda (pkg)
(string-append directory "/" pkg))
packages))
(filter-files directory)))
(define (resolve directory)
;; Resolve DIRECTORY relative to the 'source-directory' field of CONFIG.
@ -103,15 +156,23 @@ directories in CONFIG, excluding files that match any of the patterns configured
(append-map (lambda (directory)
(let* ((directory (resolve directory))
(contents (directory-contents directory)))
(import-dotfiles directory contents)))
(packages
(home-dotfiles-configuration-packages config))
(contents
(directory-contents directory
#:packages packages))
(strip
(if stow? strip-stow-dotfile strip-plain-dotfile)))
(import-dotfiles directory contents strip)))
(home-dotfiles-configuration-directories config)))
(define-public home-dotfiles-service-type
(service-type (name 'home-dotfiles)
(extensions
(list (service-extension home-files-service-type
home-dotfiles-configuration->files)))
(lambda (config)
(when config
(home-dotfiles-configuration->files config))))))
(default-value (home-dotfiles-configuration))
(description "Files that will be put in the user's home directory
following GNU Stow's algorithm, and further processed during activation.")))

View File

@ -1444,7 +1444,6 @@ dist_patch_DATA = \
%D%/packages/patches/http-parser-CVE-2020-8287.patch \
%D%/packages/patches/htslib-for-stringtie.patch \
%D%/packages/patches/hubbub-sort-entities.patch \
%D%/packages/patches/hubbub-maybe-uninitialized.patch \
%D%/packages/patches/hueplusplus-mbedtls.patch \
%D%/packages/patches/hurd-add-without-rump-configure-option.patch \
%D%/packages/patches/hurd-fix-rumpdisk-build.patch \
@ -1514,6 +1513,7 @@ dist_patch_DATA = \
%D%/packages/patches/json-c-0.12-CVE-2020-12762.patch \
%D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \
%D%/packages/patches/julia-Use-MPFR-4.2.patch \
%D%/packages/patches/libcss-check-format.patch \
%D%/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch \
%D%/packages/patches/libgeotiff-fix-tests-with-proj-9.1.1.patch \
%D%/packages/patches/libgeotiff-fix-tests-with-proj-9.3.0.patch \
@ -1610,8 +1610,6 @@ dist_patch_DATA = \
%D%/packages/patches/libtiff-CVE-2022-34526.patch \
%D%/packages/patches/libtirpc-CVE-2021-46828.patch \
%D%/packages/patches/libtirpc-hurd.patch \
%D%/packages/patches/libtommath-fix-linkage.patch \
%D%/packages/patches/libtommath-integer-overflow.patch \
%D%/packages/patches/libtool-grep-compat.patch \
%D%/packages/patches/libtool-skip-tests2.patch \
%D%/packages/patches/libtree-fix-check-non-x86.patch \
@ -1792,6 +1790,7 @@ dist_patch_DATA = \
%D%/packages/patches/plasp-fix-normalization.patch \
%D%/packages/patches/plasp-include-iostream.patch \
%D%/packages/patches/pocketfft-cpp-prefer-preprocessor-if.patch \
%D%/packages/patches/podman-program-lookup.patch \
%D%/packages/patches/pokerth-boost.patch \
%D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch \
%D%/packages/patches/procps-strtod-test.patch \
@ -1822,11 +1821,6 @@ dist_patch_DATA = \
%D%/packages/patches/quodlibet-fix-invalid-glob.patch \
%D%/packages/patches/quodlibet-fix-mtime-tests.patch \
%D%/packages/patches/qxlsx-fix-include-directory.patch \
%D%/packages/patches/scribus-1.5.8-poppler-22.03.0.patch \
%D%/packages/patches/scribus-1.5.8-poppler-22.04.0.patch \
%D%/packages/patches/scribus-1.5.8-poppler-22.09.0.patch \
%D%/packages/patches/scribus-1.5.8-poppler-22.2.0-1.patch \
%D%/packages/patches/scribus-1.5.8-poppler-22.2.0-2.patch \
%D%/packages/patches/sdcc-disable-non-free-code.patch \
%D%/packages/patches/sdl-pango-api_additions.patch \
%D%/packages/patches/sdl-pango-blit_overflow.patch \
@ -1834,6 +1828,7 @@ dist_patch_DATA = \
%D%/packages/patches/sdl-pango-header-guard.patch \
%D%/packages/patches/sdl-pango-matrix_declarations.patch \
%D%/packages/patches/sdl-pango-sans-serif.patch \
%D%/packages/patches/sioyek-fix-build.patch \
%D%/packages/patches/smalltalk-multiplication-overflow.patch \
%D%/packages/patches/sqlite-hurd.patch \
%D%/packages/patches/strace-readlink-tests.patch \
@ -2020,6 +2015,7 @@ dist_patch_DATA = \
%D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \
%D%/packages/patches/s7-flint-3.patch \
%D%/packages/patches/sajson-for-gemmi-numbers-as-strings.patch \
%D%/packages/patches/sajson-build-with-gcc10.patch \
%D%/packages/patches/sbc-fix-build-non-x86.patch \
%D%/packages/patches/sbcl-aserve-add-HTML-5-elements.patch \
%D%/packages/patches/sbcl-aserve-fix-rfe12668.patch \

View File

@ -5188,7 +5188,7 @@ disk utilization, priority, username, state, and exit code.")
`())
(inputs
`(("go-golang-org-x-text" ,go-golang-org-x-text)
("go-github.com-ulikunitz-xz" ,go-github.com-ulikunitz-xz)))
("go-github-com-ulikunitz-xz" ,go-github-com-ulikunitz-xz)))
(synopsis "UEFI image editor")
(description "This package provides a command-line UEFI image editor.")
(home-page "https://github.com/linuxboot/fiano")

View File

@ -6198,20 +6198,21 @@ mapping.")
(define-public r-nebulosa
(package
(name "r-nebulosa")
(version "1.12.0")
(version "1.12.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "Nebulosa" version))
(sha256
(base32
"0kzkdwxrhl7plbcbqr58gnadhhbhx2811ian0s4kds14y4mxl26c"))))
"11wn6l27cshhb1djsgqaqr8d33j4bipy0w0gafp3fkvg7mnpnhps"))))
(properties `((upstream-name . "Nebulosa")))
(build-system r-build-system)
(propagated-inputs (list r-ggplot2
r-ggrastr
r-ks
r-matrix
r-patchwork
r-seurat
r-seuratobject
r-singlecellexperiment
r-summarizedexperiment))
(native-inputs (list r-knitr))
@ -7211,13 +7212,13 @@ self-defined annotation graphics.")
(define-public r-conos
(package
(name "r-conos")
(version "1.5.1")
(version "1.5.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "conos" version))
(sha256
(base32 "01d2knwyf0g2pvqq3dy5vhf0i7mc5f7rzg3a7cbglsw3l9irsixv"))))
(base32 "0p66gb308w2zfsppm0k1vsvgr33kzzhql0vh7l39vlsgayi00skk"))))
(properties `((upstream-name . "conos")))
(build-system r-build-system)
(propagated-inputs
@ -13866,14 +13867,14 @@ data.")
(define-public r-ggtree
(package
(name "r-ggtree")
(version "3.10.0")
(version "3.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ggtree" version))
(sha256
(base32
"12w2l1q0c5aznd5fls04wvgsmjidqhr1kkqj4gajz1abj9f49cqf"))))
"1p475vh567q4szb8hy2qk72pvqh5rlbyqfjcdd0i83fa2y4bi31d"))))
(properties `((upstream-name . "ggtree")))
(build-system r-build-system)
(propagated-inputs
@ -18395,14 +18396,14 @@ manipulation of flow cytometry data.")
(define-public r-ggcyto
(package
(name "r-ggcyto")
(version "1.30.0")
(version "1.30.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ggcyto" version))
(sha256
(base32
"13zc5952drl187fl07v1nh6gv0g6ba11vxpxl4ghvavnknvi5phd"))))
"0ig23b6apyp35rxxiqd5nw46yjm2784njlafsgw98akhl8ck0g7n"))))
(properties `((upstream-name . "ggcyto")))
(build-system r-build-system)
(propagated-inputs
@ -21299,13 +21300,13 @@ routines.")
(define-public r-s4arrays
(package
(name "r-s4arrays")
(version "1.2.0")
(version "1.2.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "S4Arrays" version))
(sha256
(base32
"0x420l98f6b10r3qrdjq5ijs2p0msdcg6d6aghr3yvj1f9g06h8y"))))
"1z6kcgjb5fzslr02vmsvchbilrhwpgh1ghk1zmlq0h0lyzncaapd"))))
(properties `((upstream-name . "S4Arrays")))
(build-system r-build-system)
(propagated-inputs
@ -23015,13 +23016,13 @@ segmented data for individual and multiple arrays.")
(define-public r-snprelate
(package
(name "r-snprelate")
(version "1.36.0")
(version "1.36.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "SNPRelate" version))
(sha256
(base32
"0jw9ziz0a472mnnvmqwas5w646xfgx8dn1bdpwz8c99m663d8ayp"))))
"0d15r7qwwrr6m9saikx4x6hj56kb3p2w3v1awkgm3wfqfgdf1pin"))))
(properties `((upstream-name . "SNPRelate")))
(build-system r-build-system)
(propagated-inputs (list r-gdsfmt))

View File

@ -22484,7 +22484,7 @@ useful for bioinformatic analysis.")
#:tests? #false)) ;require network access
(propagated-inputs
(list go-gopkg-in-check-v1
go-github.com-ulikunitz-xz
go-github-com-ulikunitz-xz
go-github-com-kortschak-utter))
(synopsis "HTS CRAM module for biogo")
(description "This package provides tools for handling CRAM files.")))

View File

@ -574,7 +574,7 @@ features.")
#~(cons "-DGUI=OFF" #$configure-flags))))
(inputs
(modify-inputs (package-inputs base)
(delete "qtsvg-5"))))))
(delete "qtsvg"))))))
(define-public qbittorrent-nox
(deprecated-package "qbittorrent-nox" qbittorrent-no-x))
@ -583,7 +583,7 @@ features.")
(package
(inherit qbittorrent)
(name "qbittorrent-enhanced")
(version "4.6.1.10")
(version "4.6.3.10")
(source
(origin
(method git-fetch)
@ -593,7 +593,7 @@ features.")
(file-name (git-file-name name version))
(sha256
(base32
"101a9n2vk9d6b4vc3schkmpc56l0i0i60fcjh8hwadc6amc2ymvy"))))
"09b8237h0gn6y3s0a7qg247hsdra5f5kg6xhirnhhfvjd8k6qviv"))))
(home-page "https://github.com/c0re100/qBittorrent-Enhanced-Edition")
(description
"qBittorrent Enhanced is a bittorrent client based on qBittorrent with
@ -607,12 +607,15 @@ the following features:
@item Peer whitelist/blacklist
@end itemize")))
(define-public qbittorrent-enhanced-nox
(define-public qbittorrent-enhanced-no-x
(package
(inherit qbittorrent-enhanced)
(name "qbittorrent-enhanced-nox")
(arguments (package-arguments qbittorrent-nox))
(inputs (package-inputs qbittorrent-nox))))
(name "qbittorrent-enhanced-no-x")
(arguments (package-arguments qbittorrent-no-x))
(inputs (package-inputs qbittorrent-no-x))))
(define-public qbittorrent-enhanced-nox
(deprecated-package "qbittorrent-enhanced-nox" qbittorrent-enhanced-no-x))
(define-public deluge
(package

View File

@ -49,6 +49,7 @@
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -609,7 +610,7 @@ pattern.")
(define-public catch2-3
(package
(name "catch2")
(version "3.5.1")
(version "3.5.3")
(home-page "https://github.com/catchorg/Catch2")
(source (origin
(method git-fetch)
@ -619,19 +620,12 @@ pattern.")
(file-name (git-file-name name version))
(sha256
(base32
"0p7rk01n4qfnnm1bgakllyqi83n1kbpz11gh65z1vspfz58hs9iv"))))
"11yla93vm2896fzhm3fz8lk3y3iz5iy7vd6wa7wnwvhsfd2dbfq3"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(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"
#~(list "-DCATCH_DEVELOPMENT_BUILD=ON"
"-DCATCH_ENABLE_WERROR=OFF"
"-DBUILD_SHARED_LIBS=ON")))
(inputs (list python-wrapper))

View File

@ -248,6 +248,46 @@ containers or various tools.")
network namespaces.")
(license license:gpl2+)))
(define-public passt
(package
(name "passt")
(version "2023_12_30.f091893")
(source
(origin
(method url-fetch)
(uri (string-append "https://passt.top/passt/snapshot/passt-" version
".tar.gz"))
(sha256
(base32 "1nyd4h93qlxn1r01ffijpsd7r7ny62phki5j58in8gz021jj4f3d"))))
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
"RLIMIT_STACK_VAL=1024" ; ¯\_ (ツ)_/¯
(string-append "VERSION=" #$version)
(string-append "prefix=" #$output))
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(delete 'configure))))
(home-page "https://passt.top")
(synopsis "Plug A Simple Socket Transport")
(description
"passt implements a thin layer between guest and host, that only
implements what's strictly needed to pretend processes are running locally.
The TCP adaptation doesn't keep per-connection packet buffers, and reflects
observed sending windows and acknowledgements between the two sides. This TCP
adaptation is needed as passt runs without the CAP_NET_RAW capability: it
can't create raw IP sockets on the pod, and therefore needs to map packets at
Layer-2 to Layer-4 sockets offered by the host kernel.
Also provides pasta, which similarly to slirp4netns, provides networking to
containers by creating a tap interface available to processes in the
namespace, and mapping network traffic outside the namespace using native
Layer-4 sockets.")
(license (list license:gpl2+ license:bsd-3))))
(define-public cni-plugins
(package
(name "cni-plugins")
@ -302,7 +342,7 @@ configure network interfaces in Linux containers.")
(define-public podman
(package
(name "podman")
(version "4.4.1")
(version "4.9.3")
(source
(origin
(method git-fetch)
@ -313,8 +353,11 @@ configure network interfaces in Linux containers.")
;; FIXME: Btrfs libraries not detected by these scripts.
(snippet '(substitute* "Makefile"
((".*hack/btrfs.*") "")))
(patches
(search-patches
"podman-program-lookup.patch"))
(sha256
(base32 "0qbr6rbyig3c2hvdvmd94jjkg820hpdz6j7dgyv62dl6wfwvj5jj"))
(base32 "17g7n09ndxhpjr39s9qwxdcv08wavjj0g5nmnrvrkz2wgdqigl1x"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
@ -341,10 +384,11 @@ configure network interfaces in Linux containers.")
(invoke "make" "remotesystem"))))
(add-after 'unpack 'fix-hardcoded-paths
(lambda _
(substitute* (find-files "libpod" "\\.go")
(("exec.LookPath[(][\"]slirp4netns[\"][)]")
(string-append "exec.LookPath(\""
(which "slirp4netns") "\")")))
(substitute* "vendor/github.com/containers/common/pkg/config/config.go"
(("@SLIRP4NETNS_DIR@")
(string-append #$slirp4netns "/bin"))
(("@PASST_DIR@")
(string-append #$passt "/bin")))
(substitute* "hack/install_catatonit.sh"
(("CATATONIT_PATH=\"[^\"]+\"")
(string-append "CATATONIT_PATH=" (which "true"))))
@ -374,11 +418,12 @@ configure network interfaces in Linux containers.")
libassuan
libseccomp
libselinux
passt
slirp4netns))
(native-inputs
(list bats
git
go-1.19
go-1.21
; strace ; XXX debug
pkg-config
python))
@ -387,7 +432,10 @@ configure network interfaces in Linux containers.")
(description
"Podman (the POD MANager) is a tool for managing containers and images,
volumes mounted into those containers, and pods made from groups of
containers.")
containers.
The @code{machine} subcommand is not supported due to gvproxy not being
packaged.")
(license license:asl2.0)))
(define-public buildah

View File

@ -1026,27 +1026,26 @@ axis breaks of a ggplot.")
(define-public r-ggdist
(package
(name "r-ggdist")
(version "3.3.1")
(version "3.3.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggdist" version))
(sha256
(base32 "0agr1l65s7vimdb88a7n3ahr6pp9ng5zf9mypdic26vhaaifh1b7"))))
(base32 "1wc3pqnf2r0324jm0vv1872smriv25h0lx0mni7qp93wrf8k0mpn"))))
(properties `((upstream-name . "ggdist")))
(build-system r-build-system)
(propagated-inputs (list r-cli
r-distributional
r-dplyr
r-ggplot2
r-glue
r-gtable
r-numderiv
r-quadprog
r-rcpp
r-rlang
r-scales
r-tibble
r-tidyselect
r-vctrs
r-withr))
(native-inputs (list r-knitr))
@ -2710,13 +2709,13 @@ respecting the grammar of its graphics paradigm.")
(define-public r-ggside
(package
(name "r-ggside")
(version "0.3.0")
(version "0.3.1")
(source (origin
(method url-fetch)
(uri (cran-uri "ggside" version))
(sha256
(base32
"0mx6j9wi54inklmyydcqm0ahbx0b6c6y4sfh2awqsbgwigc3056p"))))
"1r36hsnha9bqzfb3rhpj11zg307wzacnkn4i6hi627xrx4knj5cl"))))
(properties `((upstream-name . "ggside")))
(build-system r-build-system)
(propagated-inputs
@ -2977,13 +2976,13 @@ functions which can speed up workflow.")
(define-public r-pagoda2
(package
(name "r-pagoda2")
(version "1.0.11")
(version "1.0.12")
(source
(origin
(method url-fetch)
(uri (cran-uri "pagoda2" version))
(sha256
(base32 "13x2l7hcvd6975921c5hba8hm2qijkslviszfizah8wxynhbayy1"))))
(base32 "1kck12ri52nwsrxhjs8ghjji3rv1dxxjy8bxn1kk1hbg30265fsw"))))
(properties `((upstream-name . "pagoda2")))
(build-system r-build-system)
(propagated-inputs
@ -3973,13 +3972,13 @@ scraping tasks, inspired by libraries like @code{BeautifulSoup}.")
(define-public r-secretbase
(package
(name "r-secretbase")
(version "0.3.0")
(version "0.3.0.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "secretbase" version))
(sha256
(base32 "1wgbk16by9w933cff5ybb2sa0ndgj3sv9ahr2r1843vgqiyvx2xi"))))
(base32 "0mhfkkl35g10lgz4llm017f2jbgp7vmgi0g301r4agx1iqj5g51w"))))
(properties `((upstream-name . "secretbase")))
(build-system r-build-system)
(home-page "https://shikokuchuo.net/secretbase/")
@ -4704,13 +4703,13 @@ LaTeX.")
(define-public r-curl
(package
(name "r-curl")
(version "5.2.0")
(version "5.2.1")
(source (origin
(method url-fetch)
(uri (cran-uri "curl" version))
(sha256
(base32
"12gldddkfkdwm6h0lb1pjrcpqc9kmqwfwz18wn9brilzbw8s9nxz"))))
"147smp4am6z23c3j21bd0zcjxsmhnkkssn4wrlpwl6xa1264syja"))))
(properties
`((upstream-name . "curl")
(updater-extra-inputs . ("curl"))))
@ -5824,14 +5823,14 @@ contained in the navigation bar.")
(define-public r-spelling
(package
(name "r-spelling")
(version "2.2.1")
(version "2.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "spelling" version))
(sha256
(base32
"0vr5mgw9grnsnzsc29al72p05z786hnd6b9c6wq0c0dabk5szm2g"))))
"0fxa0wpmmx7bal7xb4yy3134s2bskj98kwhqn25bqga3inzqdm6d"))))
(properties `((upstream-name . "spelling")))
(build-system r-build-system)
(propagated-inputs
@ -7642,13 +7641,13 @@ provides an interactive R manager and worker environment.")
(define-public r-rmumps
(package
(name "r-rmumps")
(version "5.2.1-27")
(version "5.2.1-28")
(source
(origin
(method url-fetch)
(uri (cran-uri "rmumps" version))
(sha256
(base32 "08zvmbhjgcrlgdhfn8ssajy8vnwcyaw90zgc0v1ncn95z310gpl3"))))
(base32 "1cq7zrq730lj1z5xirzk5fvvlvdq101ppg47n0z7c0v17rvs80n6"))))
(properties `((upstream-name . "rmumps")))
(build-system r-build-system)
(inputs (list zlib))
@ -7996,14 +7995,14 @@ those for the gamma distribution in the @code{stats} package.")
(define-public r-bdsmatrix
(package
(name "r-bdsmatrix")
(version "1.3-6")
(version "1.3-7")
(source
(origin
(method url-fetch)
(uri (cran-uri "bdsmatrix" version))
(sha256
(base32
"1g300x11rv56f826mbv7mbb67a5xz3dv74hpjc18jh3q8gap3j7r"))))
"08krrd7454ixqv4nq55hgf3djp1pz1vl3ndslsrh2pkdq1d5wl63"))))
(properties `((upstream-name . "bdsmatrix")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/bdsmatrix/")
@ -8462,17 +8461,22 @@ these progress updates.")
(define-public r-lava
(package
(name "r-lava")
(version "1.7.3")
(version "1.8.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "lava" version))
(sha256
(base32
"023av1mz4hr1lqv8cpbx0j1y3c7ljyns35rm838c618b6pqps22f"))))
"0zz8hzmqd4qa14y52c8gw9hr6gn0d7srffrddxrmhb01rbp9dfcd"))))
(build-system r-build-system)
(propagated-inputs
(list r-future-apply r-numderiv r-progressr r-squarem r-survival))
(list r-cli
r-future-apply
r-numderiv
r-progressr
r-squarem
r-survival))
(native-inputs
(list r-knitr))
(home-page "https://github.com/kkholst/lava")
@ -9549,6 +9553,34 @@ imputations.")
;; Any of these two versions.
(license (list license:gpl2 license:gpl3))))
(define-public r-transformr
(package
(name "r-transformr")
(version "0.1.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "transformr" version))
(sha256
(base32 "125y99wpgvp92qsg7934nzjqy6irjzaj21c0dcq7apqd2hqamfxw"))))
(properties `((upstream-name . "transformr")))
(build-system r-build-system)
(propagated-inputs (list r-cpp11
r-lpsolve
r-rlang
r-sf
r-tweenr
r-vctrs))
(home-page "https://github.com/thomasp85/transformr")
(synopsis "Polygon and path transformations")
(description
"In order to smoothly animate the transformation of polygons and paths,
many aspects needs to be taken into account, such as differing number of
control points, changing center of rotation, etc. The transformr package
provides an extensive framework for manipulating the shapes of polygons and
paths and can be seen as the spatial brother to the tweenr package.")
(license license:expat)))
(define-public r-truncnorm
(package
(name "r-truncnorm")
@ -10739,13 +10771,13 @@ features:
(define-public r-n2r
(package
(name "r-n2r")
(version "1.0.1")
(version "1.0.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "N2R" version))
(sha256
(base32 "12bv7xx6j6222qgpv6g61i68017fz0x6fjg9a9k5yhgw3zk05hpk"))))
(base32 "0bbxl0y36bmsxwi4rs4f6jwhf9bhag2rkvvzcg5669vgm2p4scjr"))))
(properties `((upstream-name . "N2R")))
(build-system r-build-system)
(propagated-inputs
@ -13408,14 +13440,14 @@ those searches and pull data into their R sessions.")
(define-public r-renv
(package
(name "r-renv")
(version "1.0.4")
(version "1.0.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "renv" version))
(sha256
(base32
"0jfrkxslx1bw4b2akkp12bgvpfc58dh2vrm91hgb1xa5xydai7j6"))))
"07y1xqnx5jkgk0cqgf8c4p5vm3qy87zjl31zv6s0jssy3v7amq4p"))))
(properties `((upstream-name . "renv")))
(build-system r-build-system)
(native-inputs
@ -13677,14 +13709,14 @@ Sequence logos can easily be combined with other ggplot2 plots.")
(define-public r-ggsci
(package
(name "r-ggsci")
(version "3.0.0")
(version "3.0.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggsci" version))
(sha256
(base32
"0ag1cj4ycl5xmll8mqmmikyvq94l8yx96pb8m2i853yp2rjk20c9"))))
"030rkjx64mlhy19d74p3blsi92nyjq9vbn33323dvm1rihb8avgi"))))
(build-system r-build-system)
(propagated-inputs
(list r-ggplot2 r-scales))
@ -13847,14 +13879,14 @@ clustering.")
(define-public r-factominer
(package
(name "r-factominer")
(version "2.9")
(version "2.10")
(source
(origin
(method url-fetch)
(uri (cran-uri "FactoMineR" version))
(sha256
(base32
"0c2j3xid85qffsdjwndqiwihclzw6k1nkbpzcc7whhd6k79rh9l8"))))
"1kjb0hk7zck8702inw9ayxrpbi8raq3rldxsq848lk15z3wg9r6w"))))
(properties `((upstream-name . "FactoMineR")))
(build-system r-build-system)
(propagated-inputs
@ -13989,21 +14021,21 @@ results to the user.")
(define-public r-hdf5r
(package
(name "r-hdf5r")
(version "1.3.9")
(version "1.3.10")
(source
(origin
(method url-fetch)
(uri (cran-uri "hdf5r" version))
(sha256
(base32
"1av3pafbfff4wanw9s1iqgwkcdmc5f8c8h3z0byqll9i661kz3pg"))))
"0khj94z6ls6dnc6fpxwf1w93mk6f3z2p39mbihf0lz52jc36wjcj"))))
(build-system r-build-system)
(inputs
(list hdf5 zlib))
(propagated-inputs
(list r-bit64 r-r6))
(native-inputs
(list r-knitr))
(list pkg-config r-knitr))
(home-page "https://hhoeflin.github.io/hdf5r")
(synopsis "Interface to the HDF5 binary data format")
(description
@ -14540,13 +14572,13 @@ tidyverse workflow.")
(define-public r-nodbi
(package
(name "r-nodbi")
(version "0.10.2")
(version "0.10.3")
(source (origin
(method url-fetch)
(uri (cran-uri "nodbi" version))
(sha256
(base32
"1pznlnln0p55qqwy22h9m79ddf3wgnx3vaxx2q39wvgqwj0kk1b0"))))
"17ghgp6sabj4dlmx3cdn9rrhci7050a73cd17fymjksgvy1jbwf6"))))
(properties `((upstream-name . "nodbi")))
(build-system r-build-system)
(propagated-inputs
@ -16173,13 +16205,13 @@ for the reconstruction of gene regulatory networks.")
(define-public r-partr2
(package
(name "r-partr2")
(version "0.9.1")
(version "0.9.2")
(source (origin
(method url-fetch)
(uri (cran-uri "partR2" version))
(sha256
(base32
"06ky0hhrq0mcsn9rwrzvwn0rrjj0l8rxs0hqp10668gdq5hjk8bn"))))
"09x8ykg90y4xq0sqm6zvx41sccgdbglmhpqm9sp3m74a87j4bjly"))))
(properties `((upstream-name . "partR2")))
(build-system r-build-system)
(propagated-inputs (list r-dplyr
@ -19295,14 +19327,14 @@ over-plotting in scatter plots with text.")
(define-public r-colorramps
(package
(name "r-colorramps")
(version "2.3.1")
(version "2.3.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "colorRamps" version))
(sha256
(base32
"12jnkj50yh2hc5l7j56lrrrmn58akrj9dwj98vzf42iq4h42kwb1"))))
"0cq8l6ybhff2q2dj2i73b4cnw6v2c6ql24jbrkh0xrpc9wjsarxj"))))
(properties `((upstream-name . "colorRamps")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/colorRamps")
@ -19985,14 +20017,14 @@ conditional reporting based on the current \"output level\".")
(define-public r-tractor-base
(package
(name "r-tractor-base")
(version "3.3.5.1")
(version "3.4.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "tractor.base" version))
(sha256
(base32
"0fxbzbhpi6l55m14nmww8y3kdxgchzj4mw1yf4xkm2y6s68phvgc"))))
"12mp5x6c7c82a4z7p39cb478kwwf6lkrgbis6ak00yibsd3n6na3"))))
(properties `((upstream-name . "tractor.base")))
(build-system r-build-system)
(propagated-inputs
@ -20342,14 +20374,14 @@ library.")
(define-public r-ontologyindex
(package
(name "r-ontologyindex")
(version "2.11")
(version "2.12")
(source
(origin
(method url-fetch)
(uri (cran-uri "ontologyIndex" version))
(sha256
(base32
"17ndvqvb74b980gpb3hpg9bd68bb5f52k9s1i2kd1f9cdrdjvw97"))))
"0gf0z0vgc1f4f70f2zpwz9bka0gbgbj4w3fcxncv1b7lbrxddrd8"))))
(properties `((upstream-name . "ontologyIndex")))
(build-system r-build-system)
(native-inputs
@ -21634,14 +21666,14 @@ them in distributed compute environments.")
(define-public r-parallelly
(package
(name "r-parallelly")
(version "1.37.0")
(version "1.37.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "parallelly" version))
(sha256
(base32
"19zrfiakg5xg51r9va4r976b4lnnsj5nsk6i6srxsl227q45xra1"))))
"189ngbh9i6mqmfn4z6446in7687ddlpdq6v5rj3hr8zqinqlwznz"))))
(properties `((upstream-name . "parallelly")))
(build-system r-build-system)
(home-page "https://github.com/HenrikBengtsson/parallelly")
@ -23366,14 +23398,14 @@ sampling.")
(define-public r-deldir
(package
(name "r-deldir")
(version "2.0-2")
(version "2.0-4")
(source
(origin
(method url-fetch)
(uri (cran-uri "deldir" version))
(sha256
(base32
"1qzfq47fs3pr0946m53z6cq93pbpkgwwhqkcdgfahxsq1izpigz9"))))
"0ls69b9yynvsiy6madvzafcb0jdvxw66sin7cinpnw63israq66l"))))
(build-system r-build-system)
(native-inputs (list gfortran))
(home-page "https://cran.r-project.org/web/packages/deldir")
@ -23942,13 +23974,13 @@ SELECT or UPDATE queries to an end-point.")
(define-public r-bookdown
(package
(name "r-bookdown")
(version "0.37")
(version "0.38")
(source (origin
(method url-fetch)
(uri (cran-uri "bookdown" version))
(sha256
(base32
"18j8ylaq5wnw1c0lif9a002kbymv04pd0i43ahmqkskkv1b13hdk"))
"1i0z75sxvy3cb582siz544az6b9bs3vk2kyij9zx5jdpc1247fgd"))
;; TODO: there is one more file to replace:
;; inst/resources/gitbook/js/app.min.js
(snippet
@ -24587,14 +24619,14 @@ packages with Rcpp.")
(define-public r-tweenr
(package
(name "r-tweenr")
(version "2.0.2")
(version "2.0.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "tweenr" version))
(sha256
(base32
"1wqzcsxlz1isb1j0v5g6dgvd40q3q9qlahvgcgiq0j4d87nzvfv4"))))
"1glc7ks5yymcm4pi0fjpi1zh7m5d4cz7zy20pa3kfraxlh9fbazg"))))
(build-system r-build-system)
(arguments
(list
@ -24797,28 +24829,27 @@ databases, including ENA, PDB or ChEMBL are also accessible.")
(define-public r-ggraph
(package
(name "r-ggraph")
(version "2.1.0")
(version "2.2.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggraph" version))
(sha256
(base32
"07sw4h94dzbs44dcvvj80g8v8252k4iw8pkmzdrk4qagvhidnvv8"))))
"0zs02xyzvimk8hj1z465zxp1hlca3gfirdcwb3gqriwsmnfhg661"))))
(build-system r-build-system)
(propagated-inputs
(list r-cli
r-digest
r-cpp11
r-dplyr
r-ggforce
r-ggplot2
r-ggrepel
r-graphlayouts
r-gtable
r-igraph
r-lifecycle
r-mass
r-rcpp
r-memoise
r-rlang
r-scales
r-tidygraph
@ -26956,13 +26987,13 @@ guaranteeing well-connected communities.\" <arXiv:1810.08473>.")
(define-public r-leidenalg
(package
(name "r-leidenalg")
(version "1.1.2")
(version "1.1.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "leidenAlg" version))
(sha256
(base32 "0wqay0rf28pgaf88bsvmrwgggzbma93rv9nqbydhjf1lc96ay1lz"))))
(base32 "0g4gs6rrz3wn97ag7wsfr6qa4zgb75i0k9jc1siii4pf6h689d1x"))))
(properties
`((upstream-name . "leidenAlg")
(updater-extra-inputs . ("gmp"))))
@ -28072,14 +28103,14 @@ server-side.")
(define-public r-sysfonts
(package
(name "r-sysfonts")
(version "0.8.8")
(version "0.8.9")
(source
(origin
(method url-fetch)
(uri (cran-uri "sysfonts" version))
(sha256
(base32
"1fq5dn4l09sgrbznfz9cakf4vgc3761zwicvqaazh0s8mzbaicpn"))))
"124zcnw88xnlhx27qjm07mw59f98jiwspmm65v94k815lqs9qiaj"))))
(properties `((upstream-name . "sysfonts")))
(build-system r-build-system)
(inputs
@ -28118,14 +28149,14 @@ package.")
(define-public r-showtext
(package
(name "r-showtext")
(version "0.9-6")
(version "0.9-7")
(source
(origin
(method url-fetch)
(uri (cran-uri "showtext" version))
(sha256
(base32
"0c4cssqk4s27pxfyb7fii97zhy4awzapj7bx9zkbki4va75mkjhf"))))
"12a8j87ca39fd8vn9ixzfgkbffz8ajyslhsx2hqjry1gzbk864i5"))))
(properties `((upstream-name . "showtext")))
(build-system r-build-system)
(inputs
@ -29825,14 +29856,14 @@ variable observed over time.")
(define-public r-fda
(package
(name "r-fda")
(version "6.1.4")
(version "6.1.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "fda" version))
(sha256
(base32
"0595887hv80blx9aq63qnmc9vr022p21zqhgp2wmdjvq1g68x0g2"))))
"00hiz15v31zs5l0bqdkim1fpfd3bjvssv77iczq0si724s4fqxiq"))))
(properties `((upstream-name . "fda")))
(build-system r-build-system)
(propagated-inputs
@ -31332,14 +31363,14 @@ Raftery, Appl.Statistics, 1989); it includes inference and basic methods.")
(define-public r-forecast
(package
(name "r-forecast")
(version "8.21.1")
(version "8.22.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "forecast" version))
(sha256
(base32
"09w1vh96cf9wz071why5f4265cvvwqi2b3wb0khrjvkzgkiaq7l1"))))
"09s5fdyzc6f5l8dy7ynjmd6l5fk3wvz59q0kfv2fd9da5c1mqd8w"))))
(properties `((upstream-name . "forecast")))
(build-system r-build-system)
(propagated-inputs
@ -31925,14 +31956,14 @@ perform @dfn{exploratory mediation} (XMed).")
(define-public r-stanheaders
(package
(name "r-stanheaders")
(version "2.32.5")
(version "2.32.6")
(source
(origin
(method url-fetch)
(uri (cran-uri "StanHeaders" version))
(sha256
(base32
"0wqps6xy2xypxsg3p3grdiw67a0xla3vh9x9hcf2ln03yhgkn4jl"))))
"18p1rch5ipj0f4jdvr8mnlk8pg1l4njjj4cgbp7ni7kcngsn3049"))))
(properties `((upstream-name . "StanHeaders")))
(build-system r-build-system)
(inputs (list pandoc))
@ -32329,14 +32360,14 @@ Latent regression models and plausible value imputation are also supported.")
(define-public r-erm
(package
(name "r-erm")
(version "1.0-4")
(version "1.0-5")
(source
(origin
(method url-fetch)
(uri (cran-uri "eRm" version))
(sha256
(base32
"0rp2lxkwkh09zmv101rzk7x1v1pmscp71qpf8f4chxp3idg6rpid"))))
"0bkivhiy02pibdcvb9z0i0yvc3wz3v33n6slhkkik61gcw1idmf0"))))
(properties `((upstream-name . "eRm")))
(build-system r-build-system)
(propagated-inputs
@ -33047,26 +33078,17 @@ statistics and p-values of the correlation coefficients.")
(define-public r-hrbrthemes
(package
(name "r-hrbrthemes")
(version "0.8.0")
(version "0.8.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "hrbrthemes" version))
(sha256
(base32 "057h60b5p53dcyjyfwlgjc1ry968s9s64dw78p443w8717zk7zpc"))))
(base32 "0vwrwcx3yp5yi1fw45zb5b3rhhbhrmzkl935s5apvf9lwjz2wjas"))))
(properties `((upstream-name . "hrbrthemes")))
(build-system r-build-system)
(propagated-inputs
(list r-extrafont
r-gdtools
r-ggplot2
r-htmltools
r-knitr
r-magrittr
r-rmarkdown
r-scales))
(native-inputs
(list r-knitr))
(list r-extrafont r-gdtools r-ggplot2 r-magrittr r-scales))
(home-page "https://github.com/hrbrmstr/hrbrthemes/")
(synopsis "Additional themes, theme components and utilities for @code{ggplot2}")
(description
@ -34669,14 +34691,14 @@ package.")
(define-public r-spatstat-geom
(package
(name "r-spatstat-geom")
(version "3.2-8")
(version "3.2-9")
(source
(origin
(method url-fetch)
(uri (cran-uri "spatstat.geom" version))
(sha256
(base32
"08q9k7065gpjmwja4xac9q8jv2hdkgmwvdncrnhdk9xkzc0z9mjb"))))
"05ymr4h6g5kp6kinm8qi6mcwi51d2rp671cm3hqgyrhk91k72cx7"))))
(properties `((upstream-name . "spatstat.geom")))
(build-system r-build-system)
(propagated-inputs
@ -34755,13 +34777,13 @@ for spatial data on a linear network.")
(define-public r-spatstat-random
(package
(name "r-spatstat-random")
(version "3.2-2")
(version "3.2-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "spatstat.random" version))
(sha256
(base32 "01rsh7z9prsdrqlbc2761sf54w24z7jzj64ijfzy8l5ca56fxij8"))))
(base32 "19rl757lccr169fj00zmhb1a20bxw4kljzb81hbbr5xhj0za6lp0"))))
(properties `((upstream-name . "spatstat.random")))
(build-system r-build-system)
(propagated-inputs (list r-spatstat-data r-spatstat-geom r-spatstat-utils))
@ -36870,13 +36892,13 @@ other R users.")
(define-public r-seurat
(package
(name "r-seurat")
(version "5.0.1")
(version "5.0.2")
(source (origin
(method url-fetch)
(uri (cran-uri "Seurat" version))
(sha256
(base32
"038mqnavn3gxxx41yzq0q7gfnnx15dizryv8l374zwavpqsb84q7"))))
"1d49a9mhip81lvnkr8i4dznkmzyskdzrpi485w7yw2sr0qbyzg5c"))))
(properties `((upstream-name . "Seurat")))
(build-system r-build-system)
(propagated-inputs
@ -37053,11 +37075,11 @@ goal of enhancing interoperability between Seurat and Scanpy.")
(license license:gpl3))))
(define-public r-seuratdata
(let ((commit "b59556b24d7d6728a5744c9c715dd5f7f32ed7a5")
(let ((commit "4dc08e022f51c324bc7bf785b1b5771d2742701d")
(revision "1"))
(package
(name "r-seuratdata")
(version (git-version "0.2.1" revision commit))
(version (git-version "0.2.2.9001" revision commit))
(source
(origin
(method git-fetch)
@ -37066,7 +37088,7 @@ goal of enhancing interoperability between Seurat and Scanpy.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1xfdmdmgn4r0z6w4cxa98ic6xk8i6qz054r215dvqbjs1vydsbf9"))))
(base32 "1wac1jqh42nbaikkd8v3apr1lwqcn1ppprfkwqfnqs6mvavgqavp"))))
(properties `((upstream-name . "SeuratData")))
(build-system r-build-system)
(arguments
@ -37076,8 +37098,7 @@ goal of enhancing interoperability between Seurat and Scanpy.")
;; the included list of packages.
(add-after 'unpack 'set-HOME
(lambda _ (setenv "HOME" "/tmp"))))))
(propagated-inputs
(list r-cli r-crayon r-rappdirs))
(propagated-inputs (list r-cli r-crayon r-rappdirs r-seurat r-seuratobject))
(home-page "https://github.com/satijalab/seurat-data")
(synopsis "Install and manage Seurat datasets")
(description
@ -37609,13 +37630,13 @@ implemented as @code{R6} classes.")
(define-public r-mlr3
(package
(name "r-mlr3")
(version "0.17.2")
(version "0.18.0")
(source (origin
(method url-fetch)
(uri (cran-uri "mlr3" version))
(sha256
(base32
"0kcny3wxc7qc2538hxxdzs9bw4pq55s4abhlnpf1r13b2gkns323"))))
"0v83lwigpm227dqr8hz5x1khcjqf3q0glqvz812sckbcf74ibhdz"))))
(build-system r-build-system)
(propagated-inputs
(list r-backports
@ -37674,14 +37695,14 @@ vector machines, and gradient boosting.")
(define-public r-bbotk
(package
(name "r-bbotk")
(version "0.7.3")
(version "0.8.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "bbotk" version))
(sha256
(base32
"1ddr5w7n68d3imcrm0ipgk1waml8zj4szi566dmmiqvlpzpgdr3p"))))
"1ggfl1lhvjnnkxib4svqd82agrvjcg1101cbf4g2c0kzgzm1jaj6"))))
(properties `((upstream-name . "bbotk")))
(build-system r-build-system)
(propagated-inputs
@ -37704,13 +37725,13 @@ annealing.")
(define-public r-mlr3tuning
(package
(name "r-mlr3tuning")
(version "0.19.2")
(version "0.20.0")
(source (origin
(method url-fetch)
(uri (cran-uri "mlr3tuning" version))
(sha256
(base32
"1d27m6yzwr7chpf19q6mwpj2fyz9vv8k6nbg8z9615hmbp96lan5"))))
"1y1cqfqdx9v0lfb4619y2hw6clhhjzi7hjwrpwzdpd7ymcx3dgi3"))))
(build-system r-build-system)
(propagated-inputs
(list r-bbotk
@ -39190,14 +39211,14 @@ complex functions.")
(define-public r-gganimate
(package
(name "r-gganimate")
(version "1.0.8")
(version "1.0.9")
(source
(origin
(method url-fetch)
(uri (cran-uri "gganimate" version))
(sha256
(base32
"1jabs9qr0319w508kdsk5nmzfhl6nzykpp1by7l639yfvrfqcbd1"))))
"016nky797h4093qrpynq5rr1p7h4chpv1hyngpcs2csr1064rjmz"))))
(properties `((upstream-name . "gganimate")))
(build-system r-build-system)
(arguments
@ -39212,13 +39233,17 @@ complex functions.")
;; For video output.
(list ffmpeg))
(propagated-inputs
(list r-ggplot2
(list r-cli
r-ggplot2
r-glue
r-lifecycle
r-progress
r-rlang
r-scales
r-stringi
r-transformr
r-tweenr
r-vctrs
;; For GIF/SVG output. gifski is faster, but depends on Rust.
r-magick
;; For HTML output.

View File

@ -41,6 +41,7 @@
;;; Copyright © 2023, 2024 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz>
;;; Copyright © 2024 Suhail Singh <suhail@bayesians.ca>
;;;
;;; This file is part of GNU Guix.
;;;
@ -3909,8 +3910,36 @@ capacity and random or least recently used (LRU) replacement.")
Rust.")
(license (list license:expat license:asl2.0))))
(define-public rust-async-broadcast-0.6
(package
(name "rust-async-broadcast")
(version "0.6.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "async-broadcast" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0d1xk2pr5khk1radkbaf7pp7pbjkb18m43n2rgkfsfxk177pak9k"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-event-listener" ,rust-event-listener-3)
("rust-event-listener-strategy" ,rust-event-listener-strategy-0.1)
("rust-futures-core" ,rust-futures-core-0.3))
#:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
("rust-doc-comment" ,rust-doc-comment-0.3)
("rust-easy-parallel" ,rust-easy-parallel-3)
("rust-futures-lite" ,rust-futures-lite-1)
("rust-futures-util" ,rust-futures-util-0.3))))
(home-page "https://github.com/smol-rs/async-broadcast")
(synopsis "Async broadcast channels")
(description "This package provides async broadcast channels in Rust.")
(license (list license:expat license:asl2.0))))
(define-public rust-async-broadcast-0.5
(package
(inherit rust-async-broadcast-0.6)
(name "rust-async-broadcast")
(version "0.5.1")
(source (origin
@ -3920,7 +3949,6 @@ Rust.")
(sha256
(base32
"0avdqbci1qdlfc4glc3wqrb0wi5ffc7bqv2q1wg14syayvdwqj3w"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-event-listener" ,rust-event-listener-2)
@ -3930,11 +3958,7 @@ Rust.")
("rust-doc-comment" ,rust-doc-comment-0.3)
("rust-easy-parallel" ,rust-easy-parallel-3)
("rust-futures-lite" ,rust-futures-lite-1)
("rust-futures-util" ,rust-futures-util-0.3))))
(home-page "https://github.com/smol-rs/async-broadcast")
(synopsis "Async broadcast channels")
(description "This package provides async broadcast channels in Rust.")
(license (list license:expat license:asl2.0))))
("rust-futures-util" ,rust-futures-util-0.3))))))
(define-public rust-async-channel-2
(package
@ -11700,6 +11724,34 @@ stream of tokens.")
(("rust-clap" ,rust-clap-3)
("rust-snapbox" ,rust-snapbox-0.2))))))
(define-public rust-clap-verbosity-flag-2
(package
(name "rust-clap-verbosity-flag")
(version "2.1.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "clap-verbosity-flag" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "15f419hg1xskf7pwzk5n27cpn05n0ccbd6sbji906ymi47576zxm"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs (("rust-clap" ,rust-clap-4)
("rust-log" ,rust-log-0.4))
#:cargo-development-inputs
(("rust-clap" ,rust-clap-4)
("rust-env-logger" ,rust-env-logger-0.10)
("rust-tracing" ,rust-tracing-0.1)
("rust-tracing-log" ,rust-tracing-log-0.2)
("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
(home-page "https://github.com/clap-rs/clap-verbosity-flag")
(synopsis "Easily add a `--verbose` flag to CLIs using Clap")
(description
"This package provides a way to add a `--verbose` flag to CLIs using
Clap.")
(license (list license:expat license:asl2.0))))
(define-public rust-clearscreen-1
(package
(name "rust-clearscreen")
@ -22343,6 +22395,23 @@ blocking data structures.")
(description "This package provides block and poll on event_listener.")
(license (list license:asl2.0 license:expat))))
(define-public rust-event-listener-strategy-0.1
(package
(inherit rust-event-listener-strategy-0.4)
(name "rust-event-listener-strategy")
(version "0.1.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "event-listener-strategy" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1z99km9lwya36bxhvrz4rsl3nhqhhlnnx7a2gdz4nzpa6177pj8m"))))
(arguments
`(#:cargo-inputs (("rust-event-listener" ,rust-event-listener-3)
("rust-pin-project-lite" ,rust-pin-project-lite-0.2))
#:cargo-development-inputs (("rust-futures-lite" ,rust-futures-lite-1))))))
(define-public rust-executable-path-1
(package
(name "rust-executable-path")

View File

@ -2045,6 +2045,27 @@ transfer coding.")
(description "This package provides an async HTTP/3 implementation.")
(license license:expat)))
(define-public rust-h3-0.0.2
(package
(inherit rust-h3-0.0.3)
(name "rust-h3")
(version "0.0.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "h3" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "17nbmkz6xs848257xv7gdhrnhyhagfb0dbqla82zv1nixr1wmrkd"))))
(arguments
`(#:skip-build? #t
#:cargo-inputs (("rust-bytes" ,rust-bytes-1)
("rust-fastrand" ,rust-fastrand-1)
("rust-futures-util" ,rust-futures-util-0.3)
("rust-http" ,rust-http-0.2)
("rust-tokio" ,rust-tokio-1)
("rust-tracing" ,rust-tracing-0.1))))))
(define-public rust-h3-quinn-0.0.4
(package
(name "rust-h3-quinn")
@ -2071,6 +2092,26 @@ transfer coding.")
"This package provides QUIC transport implementation based on Quinn.")
(license license:expat)))
(define-public rust-h3-quinn-0.0.3
(package
(inherit rust-h3-quinn-0.0.4)
(name "rust-h3-quinn")
(version "0.0.3")
(source
(origin
(method url-fetch)
(uri (crate-uri "h3-quinn" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0kf6bqmm751gwj24dqgb2rrwq8ibhv7z5v7ix4pfiwz4ccbiljid"))))
(arguments
`(#:cargo-inputs (("rust-bytes" ,rust-bytes-1)
("rust-futures" ,rust-futures-0.3)
("rust-h3" ,rust-h3-0.0.2)
("rust-quinn" ,rust-quinn-0.10)
("rust-quinn-proto" ,rust-quinn-proto-0.10)
("rust-tokio-util" ,rust-tokio-util-0.7))))))
(define-public rust-headers-0.3
(package
(name "rust-headers")
@ -2158,6 +2199,304 @@ transfer coding.")
(("rust-bytes" ,rust-bytes-0.4)
("rust-http" ,rust-http-0.1))))))
(define-public rust-hickory-client-0.24
(package
(name "rust-hickory-client")
(version "0.24.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "hickory-client" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0bj6g69h86d7mbclrwaj7cgl1plr6pvllv8qn69xmpgh9h90hgkz"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-test-flags
'("--release" "--lib" "--bins" "--tests" "--"
;; Some tests require network access.
"--skip=client::async_client::tests::async_client")
#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
("rust-data-encoding" ,rust-data-encoding-2)
("rust-futures-channel" ,rust-futures-channel-0.3)
("rust-futures-util" ,rust-futures-util-0.3)
("rust-hickory-proto" ,rust-hickory-proto-0.24)
("rust-once-cell" ,rust-once-cell-1)
("rust-radix-trie" ,rust-radix-trie-0.2)
("rust-rand" ,rust-rand-0.8)
("rust-rustls" ,rust-rustls-0.21)
("rust-serde" ,rust-serde-1)
("rust-thiserror" ,rust-thiserror-1)
("rust-tokio" ,rust-tokio-1)
("rust-tracing" ,rust-tracing-0.1))
#:cargo-development-inputs
(("rust-futures" ,rust-futures-0.3)
("rust-openssl" ,rust-openssl-0.10)
("rust-tokio" ,rust-tokio-1)
("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
(native-inputs
(list openssl pkg-config))
(home-page "https://hickory-dns.org/")
(synopsis "Client library for Hickory DNS, with DNSSEC support")
(description
"Hickory DNS is a safe and secure DNS library. This is the Client
library with DNSSEC support. DNSSEC with NSEC validation for negative
records, is complete. The client supports dynamic DNS with SIG0 authenticated
requests, implementing easy to use high level funtions. Hickory DNS is based
on the Tokio and Futures libraries, which means it should be easily integrated
into other software that also use those libraries.")
(license (list license:expat license:asl2.0))))
(define-public rust-hickory-proto-0.24
(package
(name "rust-hickory-proto")
(version "0.24.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "hickory-proto" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1kxvdzmwwi1d6wsp9bcs91ipmwxcyhpwbvz3an9h0q28ryy6y6h9"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs (("rust-async-trait" ,rust-async-trait-0.1)
("rust-backtrace" ,rust-backtrace-0.3)
("rust-bytes" ,rust-bytes-1)
("rust-cfg-if" ,rust-cfg-if-1)
("rust-data-encoding" ,rust-data-encoding-2)
("rust-enum-as-inner" ,rust-enum-as-inner-0.6)
("rust-futures-channel" ,rust-futures-channel-0.3)
("rust-futures-io" ,rust-futures-io-0.3)
("rust-futures-util" ,rust-futures-util-0.3)
("rust-h2" ,rust-h2-0.3)
("rust-h3" ,rust-h3-0.0.2)
("rust-h3-quinn" ,rust-h3-quinn-0.0.3)
("rust-http" ,rust-http-0.2)
("rust-idna" ,rust-idna-0.4)
("rust-ipnet" ,rust-ipnet-2)
("rust-js-sys" ,rust-js-sys-0.3)
("rust-native-tls" ,rust-native-tls-0.2)
("rust-once-cell" ,rust-once-cell-1)
("rust-openssl" ,rust-openssl-0.10)
("rust-quinn" ,rust-quinn-0.10)
("rust-rand" ,rust-rand-0.8)
("rust-ring" ,rust-ring-0.16)
("rust-rustls" ,rust-rustls-0.21)
("rust-rustls-native-certs" ,rust-rustls-native-certs-0.6)
("rust-rustls-pemfile" ,rust-rustls-pemfile-1)
("rust-serde" ,rust-serde-1)
("rust-socket2" ,rust-socket2-0.5)
("rust-thiserror" ,rust-thiserror-1)
("rust-tinyvec" ,rust-tinyvec-1)
("rust-tokio" ,rust-tokio-1)
("rust-tokio-native-tls" ,rust-tokio-native-tls-0.3)
("rust-tokio-openssl" ,rust-tokio-openssl-0.6)
("rust-tokio-rustls" ,rust-tokio-rustls-0.24)
("rust-tracing" ,rust-tracing-0.1)
("rust-url" ,rust-url-2)
("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
("rust-webpki-roots" ,rust-webpki-roots-0.25))
#:cargo-development-inputs
(("rust-futures-executor" ,rust-futures-executor-0.3)
("rust-openssl" ,rust-openssl-0.10)
("rust-tokio" ,rust-tokio-1)
("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
(native-inputs
(list openssl pkg-config))
(home-page "https://hickory-dns.org/")
(synopsis
"Foundational DNS protocol library for all Hickory DNS projects")
(description
"Hickory DNS is a safe and secure DNS library. This is the foundational
DNS protocol library for all Hickory DNS projects.")
(license (list license:expat license:asl2.0))))
(define-public rust-hickory-recursor-0.24
(package
(name "rust-hickory-recursor")
(version "0.24.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "hickory-recursor" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "146ifrml22hjydrw16qgfw32kv3v9wvvl4dqh45pg6fymxvw8xgi"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs (("rust-async-recursion" ,rust-async-recursion-1)
("rust-async-trait" ,rust-async-trait-0.1)
("rust-bytes" ,rust-bytes-1)
("rust-cfg-if" ,rust-cfg-if-1)
("rust-enum-as-inner" ,rust-enum-as-inner-0.6)
("rust-futures-util" ,rust-futures-util-0.3)
("rust-hickory-proto" ,rust-hickory-proto-0.24)
("rust-hickory-resolver" ,rust-hickory-resolver-0.24)
("rust-lru-cache" ,rust-lru-cache-0.1)
("rust-parking-lot" ,rust-parking-lot-0.12)
("rust-serde" ,rust-serde-1)
("rust-thiserror" ,rust-thiserror-1)
("rust-tokio" ,rust-tokio-1)
("rust-tracing" ,rust-tracing-0.1))
#:cargo-development-inputs
(("rust-tokio" ,rust-tokio-1)
("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
(home-page "https://hickory-dns.org/")
(synopsis
"Hickory DNS Recursor is a DNS recursive resolver with DNSSEC support")
(description
"*WARNING* This library is experimental
Hickory DNS Recursor is a safe and secure DNS recursive resolver with DNSSEC
support. Hickory DNS is based on the Tokio and Futures libraries, which means
it should be easily integrated into other software that also use those
libraries. This library can be used as in the server and binary for
performing recursive lookups.")
(license (list license:expat license:asl2.0))))
(define-public rust-hickory-resolver-0.24
(package
(name "rust-hickory-resolver")
(version "0.24.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "hickory-resolver" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1s3486qczv9gaw8dap06c0bwb2bpqm23a0ihj169hsjf2qhz1f1m"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-test-flags
'("--release" "--lib" "--bins" "--tests" "--"
;; Some tests require network access.
"--skip=async_resolver::tests::test_domain_search"
"--skip=async_resolver::tests::test_fqdn"
"--skip=async_resolver::tests::test_idna"
"--skip=async_resolver::tests::test_large_ndots"
"--skip=async_resolver::tests::test_lookup_cloudflare"
"--skip=async_resolver::tests::test_lookup_google"
"--skip=async_resolver::tests::test_lookup_quad9"
"--skip=async_resolver::tests::test_ndots"
"--skip=async_resolver::tests::test_search_list"
"--skip=hosts::tests::test_read_hosts_conf"
"--skip=name_server::name_server::tests::test_name_server"
"--skip=name_server::name_server_pool::tests::test_multi_use_conns"
"--skip=resolver::tests::test_lookup"
"--skip=system_conf::unix::tests::test_read_resolv_conf")
#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
("rust-futures-util" ,rust-futures-util-0.3)
("rust-hickory-proto" ,rust-hickory-proto-0.24)
("rust-ipconfig" ,rust-ipconfig-0.3)
("rust-lru-cache" ,rust-lru-cache-0.1)
("rust-once-cell" ,rust-once-cell-1)
("rust-parking-lot" ,rust-parking-lot-0.12)
("rust-rand" ,rust-rand-0.8)
("rust-resolv-conf" ,rust-resolv-conf-0.7)
("rust-rustls" ,rust-rustls-0.21)
("rust-rustls-native-certs" ,rust-rustls-native-certs-0.6)
("rust-serde" ,rust-serde-1)
("rust-smallvec" ,rust-smallvec-1)
("rust-thiserror" ,rust-thiserror-1)
("rust-tokio" ,rust-tokio-1)
("rust-tokio-native-tls" ,rust-tokio-native-tls-0.3)
("rust-tokio-openssl" ,rust-tokio-openssl-0.6)
("rust-tokio-rustls" ,rust-tokio-rustls-0.24)
("rust-tracing" ,rust-tracing-0.1)
("rust-webpki-roots" ,rust-webpki-roots-0.25))
#:cargo-development-inputs
(("rust-futures-executor" ,rust-futures-executor-0.3)
("rust-tokio" ,rust-tokio-1)
("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
(home-page "https://hickory-dns.org/")
(synopsis
"Hickory DNS Resolver library built on top of tokio's @code{async-io}")
(description
"Hickory DNS Resolver is a safe and secure DNS library. The Resolver is
intended to be a high-level library for any DNS record resolution, see
@code{Resolver} and @code{AsyncResolver} for supported resolution types. The
@code{Client} can be used for other queries.")
(license (list license:expat license:asl2.0))))
(define-public rust-hickory-server-0.24
(package
(name "rust-hickory-server")
(version "0.24.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "hickory-server" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1dbwsrmxgf9nxkn3cp5fpjw96wywrzihbirjax25dd6wqidv9fsg"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-test-flags
'("--release" "--"
;; Not all files included.
"--skip=store::file::authority::tests::test_load_zone"
"--skip=basic::file::test_a_lookup"
"--skip=basic::file::test_aname"
"--skip=basic::file::test_aname_a_lookup"
"--skip=basic::file::test_aname_chain"
"--skip=basic::file::test_cname"
"--skip=basic::file::test_cname_alias"
"--skip=basic::file::test_cname_chain"
"--skip=basic::file::test_dots_in_name"
"--skip=basic::file::test_invalid_lookup"
"--skip=basic::file::test_mx"
"--skip=basic::file::test_mx_to_null"
"--skip=basic::file::test_ns"
"--skip=basic::file::test_ns_lookup"
"--skip=basic::file::test_soa"
"--skip=basic::file::test_srv"
"--skip=basic::file::test_update_errors"
"--skip=basic::file::test_wildcard"
"--skip=basic::file::test_wildcard_chain"
"--skip=test_all_lines_are_loaded"
"--skip=test_implicit_in_class"
"--skip=test_ttl_wilcard")
#:cargo-inputs (("rust-async-trait" ,rust-async-trait-0.1)
("rust-basic-toml" ,rust-basic-toml-0.1)
("rust-bytes" ,rust-bytes-1)
("rust-cfg-if" ,rust-cfg-if-1)
("rust-enum-as-inner" ,rust-enum-as-inner-0.6)
("rust-futures-util" ,rust-futures-util-0.3)
("rust-h2" ,rust-h2-0.3)
("rust-h3" ,rust-h3-0.0.2)
("rust-h3-quinn" ,rust-h3-quinn-0.0.3)
("rust-hickory-proto" ,rust-hickory-proto-0.24)
("rust-hickory-recursor" ,rust-hickory-recursor-0.24)
("rust-hickory-resolver" ,rust-hickory-resolver-0.24)
("rust-http" ,rust-http-0.2)
("rust-openssl" ,rust-openssl-0.10)
("rust-rusqlite" ,rust-rusqlite-0.29)
("rust-rustls" ,rust-rustls-0.21)
("rust-serde" ,rust-serde-1)
("rust-thiserror" ,rust-thiserror-1)
("rust-time" ,rust-time-0.3)
("rust-tokio" ,rust-tokio-1)
("rust-tokio-openssl" ,rust-tokio-openssl-0.6)
("rust-tokio-rustls" ,rust-tokio-rustls-0.24)
("rust-tokio-util" ,rust-tokio-util-0.7)
("rust-tracing" ,rust-tracing-0.1))
#:cargo-development-inputs
(("rust-futures-executor" ,rust-futures-executor-0.3)
("rust-tokio" ,rust-tokio-1)
("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
(home-page "https://hickory-dns.org/")
(synopsis "Hickory DNS Server is a DNS server with DNSSEC support")
(description
"Hickory DNS Server is a safe and secure DNS server with DNSSEC support.
Eventually this could be a replacement for BIND9. The DNSSEC support allows
for live signing of all records, in it does not currently support records
signed offline. The server supports dynamic DNS with SIG0 authenticated
requests. Hickory DNS is based on the Tokio and Futures libraries, which
means it should be easily integrated into other software that also use those
libraries.")
(license (list license:expat license:asl2.0))))
(define-public rust-http-1
(package
(name "rust-http")

View File

@ -45,7 +45,7 @@
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021, 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021, 2024 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
;;; Copyright © 2021 Pjotr Prins <pjotr.guix@thebird.nl>
@ -62,6 +62,7 @@
;;; Copyright © 2023 Felix Gruber <felgru@posteo.ne
;;; Copyright © 2023 Munyoki Kilyungi <me@bonfacemunyoki.com>
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -110,6 +111,7 @@
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
@ -143,6 +145,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-compression)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
@ -4984,6 +4987,77 @@ implementation, along with tools for interoperability with pandas, NumPy, and
other traditional Python scientific computing packages.")
(license license:asl2.0)))
(define-public python-fastparquet
(package
(name "python-fastparquet")
(version "2024.2.0")
(source
(origin
;; Fastparquet uses setuptools-scm to find the current version. This
;; only works when we use the PyPI tarball, which does not contain
;; tests. Instead, we use the git-fetch method and set the version via
;; envar.
(method git-fetch)
(uri (git-reference
(url "https://github.com/dask/fastparquet")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0f32dj1xvd11l0siznqd33dpjlhg9siylcjcfkcdlqfcy45jfj3v"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "-n" "auto")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "setup.py"
;; Remove dependencies on git.
(("^.*\"git\", \"status\".*$") "")
;; Guix is only compatible with a single version of numpy
;; at a time. We can safely remove this dependency.
(("'oldest-supported-numpy'") ""))))
(add-before 'build 'pretend-version
;; The version string is usually derived via setuptools-scm, but
;; without the git metadata available, the version string is set
;; to '0.0.0'.
(lambda _
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))
(add-before 'check 'build-cython-extensions
;; Cython extensions need to be built for the check phase.
(lambda _
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
(propagated-inputs
(list python-cramjam
python-fsspec
python-lzo
python-numpy
python-packaging
python-pandas))
(native-inputs
(list python-cython
python-pytest-runner
python-pytest-xdist
python-setuptools-scm))
(home-page "https://github.com/dask/fastparquet")
(synopsis "Python implementation of the Parquet file format")
(description
"@code{fastparquet} is a Python implementation of the Parquet file
format. @code{fastparquet} is used implicitly by @code{dask}, @code{pandas}
and @code{intake-parquet}. It supports the following compression algorithms:
@itemize
@item Gzip
@item Snappy
@item Brotli
@item LZ4
@item Zstd
@item LZO (optionally)
@end itemize")
(license license:asl2.0)))
(define-public python-crate
(package
(name "python-crate")
@ -5302,6 +5376,8 @@ compatible with SQLite using a graphical user interface.")
go-github-com-mattn-go-runewidth
go-golang-org-x-xerrors
go-gopkg-in-yaml-v2))
(native-inputs (list go-github-com-google-go-cmp-cmp
go-github-com-k0kubun-pp))
(synopsis "SQL language server written in Go")
(description
"This package implements the @acronym{LSP, Language Server Protocol} for SQL.")

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2022, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2022, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -34,14 +34,14 @@
(define-public dezyne
(package
(name "dezyne")
(version "2.18.0")
(version "2.18.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://dezyne.org/download/dezyne/"
name "-" version ".tar.gz"))
(sha256
(base32 "1lbrxycpvwmvif3gpjnz8iskvlxp7f8bl71k44j7acwqrp8j2szi"))))
(base32 "0i8a8bzsh58mpgrgb0sg0qfszmf144grdmr741qwxwww5b2nsmbj"))))
(propagated-inputs (list boost
guile-json-4
guile-readline

View File

@ -137,6 +137,7 @@
;;; Copyright © 2023 Thanos Apollo <public@thanosapollo.com>
;;; Copyright © 2023 Ian Eure <ian@retrospec.tv>
;;; Copyright © 2024 Suhail Singh <suhail@bayesians.ca>
;;; Copyright © 2024 dan <i@dan.games>
;;;
;;; This file is part of GNU Guix.
;;;
@ -371,14 +372,14 @@
(define-public emacs-activities
(package
(name "emacs-activities")
(version "0.5.1")
(version "0.6")
(source
(origin
(method url-fetch)
(uri (string-append
"https://elpa.gnu.org/packages/activities-" version ".tar"))
(sha256
(base32 "0ng9sgajcpal881s3kavkmz0fc38f2h207hpqj62cf14z7bsk0zk"))))
(base32 "03dc2d9w40qp0qacv5vk49498qyb9y9n6ppd79jbglkpr0a60y21"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-persist))
(home-page "https://github.com/alphapapa/activities.el")
@ -23495,7 +23496,7 @@ according to a parsing expression grammar.")
(define-public emacs-eldev
(package
(name "emacs-eldev")
(version "1.8.2")
(version "1.9")
(source
(origin
(method git-fetch)
@ -23504,7 +23505,7 @@ according to a parsing expression grammar.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "108px7lnf39ngvb8rcqb9qh2amcbs1h22dbwd1q7js2np2nd132y"))))
(base32 "0mhp3m4d5na844nnv107j706552h0q6xs93jkp4rmqiig73kq17w"))))
(build-system emacs-build-system)
(arguments
(list
@ -23842,6 +23843,29 @@ Citar note support:
@end itemize")
(license license:gpl3+)))
(define-public emacs-citar-denote
(package
(name "emacs-citar-denote")
(version "2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pprevos/citar-denote")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0g476awbrdws7k7smk1qasz15df20zilx3wqbi3wj0i1q2dbsi8z"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-citar emacs-denote))
(home-page "https://github.com/pprevos/citar-denote")
(synopsis "Emacs package to create and retrieve bibliography notes with
Citar and Denote")
(description
"@code{citar-denote} is a minor-mode integrating the Emacs Citar and
Denote packages to enable create managing bibliographic notes and citations.")
(license license:gpl3+)))
(define-public emacs-helm-bibtex
(let ((commit "8ebf50d5bd368082d0b7ab79d26a52f372cdef98")
(revision "1"))
@ -33668,22 +33692,7 @@ simple but powerful Org contents.")
(list
#:include #~(cons "^src/" %default-include)
#:tests? #t
;; <https://github.com/emacs-eldev/eldev/issues/99#issuecomment-1912637609>
#:test-command #~(list "eldev" "-X" "-dtTC" "test")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'configure-eldev
(lambda _
(setenv "HOME"
(string-append (getcwd) "/.eldev"))
(with-output-to-file "Eldev-local"
(lambda _
(format #t "~s"
'(dolist (d (split-string (getenv
"EMACSLOADPATH")
":" t))
(ignore-errors
(eldev-use-local-dependency d)))))))))))
#:test-command #~(list "eldev" "--use-emacsloadpath" "-dtTC" "test")))
(native-inputs (list emacs-buttercup emacs-eldev))
(propagated-inputs (list emacs-org))
(home-page "https://github.com/ox-tufte/ox-tufte")

View File

@ -1013,7 +1013,7 @@ for use at smaller text sizes")))
(define-public font-gnu-unifont
(package
(name "font-gnu-unifont")
(version "15.1.01")
(version "15.1.05")
(source
(origin
(method url-fetch)
@ -1023,7 +1023,7 @@ for use at smaller text sizes")))
(string-append "mirror://gnu/unifont/unifont-"
version "/unifont-" version ".tar.gz")))
(sha256
(base32 "1dydcqa2nvmnij5jzj10carrzssd3ar24i8zd18pk4zpl84l4pz1"))
(base32 "1yi33kxlgw7ds99za5bclh537sw8ggl94nrhhq7hwxaq8dgzaxfj"))
(snippet
'(begin
(use-modules (guix build utils))
@ -3280,7 +3280,7 @@ and readability. This package bundles those icons into a font.")
(define-public font-lxgw-wenkai
(package
(name "font-lxgw-wenkai")
(version "1.315")
(version "1.320")
(source (origin
(method url-fetch)
(uri (string-append
@ -3288,7 +3288,7 @@ and readability. This package bundles those icons into a font.")
version "/lxgw-wenkai-v" version ".tar.gz"))
(sha256
(base32
"0isb7rbg8yb6hv8xk1ngngkgzpyb3papkl19jczwrwm373m8bn3f"))))
"1wvab2g2hcy8wqi23zva17rymqfrrfwd7yh0wbhfb67mz18wbjpm"))))
(build-system font-build-system)
(home-page "https://lxgw.github.io/2021/01/28/Klee-Simpchin/")
(synopsis "Simplified Chinese Imitation Song typeface")
@ -3302,7 +3302,7 @@ within GB 2312, standard glyphs for Mainland China is used.")
(package
(inherit font-lxgw-wenkai)
(name "font-lxgw-wenkai-tc")
(version "1.011")
(version "1.320")
(source (origin
(method url-fetch)
(uri (string-append
@ -3310,7 +3310,7 @@ within GB 2312, standard glyphs for Mainland China is used.")
version "/lxgw-wenkai-tc-v" version ".tar.gz"))
(sha256
(base32
"0x83a7zg1w82bpilk84ajlisccf90kl01gz89fipgqji9nii71bv"))))
"0lzfci4zpia62vbnyv22ajlrd8gvwj1ff7iaa0mxs66dbb0p6pq8"))))
(home-page "https://github.com/lxgw/LxgwWenKaitc")
(synopsis "Traditional Chinese Imitation Song typeface")
(description
@ -3321,7 +3321,7 @@ dialects in Hong Kong and Taiwan.")))
(define-public font-chiron-sung-hk
(package
(name "font-chiron-sung-hk")
(version "1.010")
(version "1.011")
(source (origin
(method git-fetch)
(uri (git-reference
@ -3330,8 +3330,22 @@ dialects in Hong Kong and Taiwan.")))
(file-name (git-file-name name version))
(sha256
(base32
"065p1gc5xjwc4kfw8bqpsbhaf1p4w0k4l0j04vjsjhcl4k9vyvfz"))))
"1916bb834y4r4312g14zid7w3pbx1i70jcgkkfbf4z20grrj891m"))))
(build-system font-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(replace 'install
(lambda _
(let ((install (assoc-ref %standard-phases 'install)))
(with-directory-excursion "VAR"
(for-each delete-file (find-files "." "\\.ttf$"))
(install #:outputs `(("out" . ,#$output))))
(with-directory-excursion "OTF"
(install #:outputs `(("out" . ,#$output:otf))))
(with-directory-excursion "TTF"
(install #:outputs `(("out" . ,#$output:ttf))))))))))
(outputs '("out" "otf" "ttf"))
(home-page "https://chiron-fonts.github.io/")
(synopsis "Traditional Chinese Song typeface")
(description
@ -3345,7 +3359,7 @@ prevalent typefaces in Traditional Chinese regions.")
(package
(inherit font-chiron-sung-hk)
(name "font-chiron-hei-hk")
(version "2.508")
(version "2.509")
(source (origin
(method git-fetch)
(uri (git-reference
@ -3354,7 +3368,7 @@ prevalent typefaces in Traditional Chinese regions.")
(file-name (git-file-name name version))
(sha256
(base32
"0drvkqk629z63k62v3ds559phl82dmkyvpx2r8mi99nnsz22a8ps"))))
"0bwx909sijpnc474355hlfjwgxin0m9yxd5k9qwmgxkp2rzqiwnk"))))
(synopsis "Traditional Chinese Gothic typeface")
(description
"Chiron Hei HK is a Traditional Chinese Gothic typeface based on the Hong

View File

@ -30,7 +30,7 @@
;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2017-2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 okapi <okapi@firemail.cc>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2018 Madalin Ionel-Patrascu <madalinionel.patrascu@mdc-berlin.de>
@ -7089,7 +7089,7 @@ fish. The whole game is accompanied by quiet, comforting music.")
(define-public crawl
(package
(name "crawl")
(version "0.30.1")
(version "0.31.0")
(source
(origin
(method git-fetch)
@ -7098,7 +7098,7 @@ fish. The whole game is accompanied by quiet, comforting music.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1rlp8z1n7ziv7aaa3fb4h4nnq24pfz1m23a99c1ra582fh0yx1pl"))
(base32 "0igrl0a9qd2g27q3wr86xjkpqcqs4y7bh3na1saqvpd4vc8mbayk"))
(patches (search-patches "crawl-upgrade-saves.patch"))))
(build-system gnu-build-system)
(inputs

View File

@ -13,6 +13,7 @@
;;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -618,12 +619,12 @@ Go. It also includes runtime support libraries for these languages.")
(define %gcc-11-x86_64-micro-architectures
;; Suitable '-march' values for GCC 11.
(append %gcc-10-x86_64-micro-architectures
'("sapphirerapids" "alterlake" "rocketlake" ;Intel
'("sapphirerapids" "alderlake" "rocketlake" ;Intel
"btver1" "btver2" ;AMD
;; psABI micro-architecture levels
"x86-64-v1" "x86-64-v2" "x86-64-v3" "x86-64-v4")))
"x86-64" "x86-64-v2" "x86-64-v3" "x86-64-v4")))
;; Suitable '-march' values for GCC 12.
(define %gcc-12-aarch64-micro-architectures
@ -672,6 +673,7 @@ It also includes runtime support libraries for these languages.")
`((compiler-cpu-architectures
("aarch64" ,@%gcc-7.5-aarch64-micro-architectures)
("armhf" ,@%gcc-7.5-armhf-micro-architectures)
("i686" ,@%gcc-7.5-x86_64-micro-architectures)
("x86_64" ,@%gcc-7.5-x86_64-micro-architectures))
,@(package-properties gcc-6)))))
@ -728,6 +730,7 @@ It also includes runtime support libraries for these languages.")
`((compiler-cpu-architectures
("aarch64" ,@%gcc-10-aarch64-micro-architectures)
("armhf" ,@%gcc-10-armhf-micro-architectures)
("i686" ,@%gcc-10-x86_64-micro-architectures)
("x86_64" ,@%gcc-10-x86_64-micro-architectures))
,@(package-properties gcc-8)))))
@ -763,6 +766,7 @@ It also includes runtime support libraries for these languages.")
`((compiler-cpu-architectures
("aarch64" ,@%gcc-11-aarch64-micro-architectures)
("armhf" ,@%gcc-11-armhf-micro-architectures)
("i686" ,@%gcc-11-x86_64-micro-architectures)
("x86_64" ,@%gcc-11-x86_64-micro-architectures))
,@(package-properties gcc-8)))))
@ -785,6 +789,7 @@ It also includes runtime support libraries for these languages.")
`((compiler-cpu-architectures
("aarch64" ,@%gcc-12-aarch64-micro-architectures)
("armhf" ,@%gcc-12-armhf-micro-architectures)
("i686" ,@%gcc-12-x86_64-micro-architectures)
("x86_64" ,@%gcc-12-x86_64-micro-architectures))
,@(package-properties gcc-11)))))
@ -807,6 +812,7 @@ It also includes runtime support libraries for these languages.")
`((compiler-cpu-architectures
("aarch64" ,@%gcc-13-aarch64-micro-architectures)
("armhf" ,@%gcc-13-armhf-micro-architectures)
("i686" ,@%gcc-13-x86_64-micro-architectures)
("x86_64" ,@%gcc-13-x86_64-micro-architectures))
,@(package-properties gcc-11)))))

View File

@ -38,6 +38,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages documentation)
@ -175,7 +176,7 @@ of a larger interface.")
(define-public babl
(package
(name "babl")
(version "0.1.96")
(version "0.1.108")
(source (origin
(method url-fetch)
(uri (list (string-append "https://download.gimp.org/pub/babl/"
@ -189,12 +190,11 @@ of a larger interface.")
"/babl-" version ".tar.xz")))
(sha256
(base32
"1xj5hlmm834lb84rpjlfxbqnm5piswgzhjas4h8z90x9b7j3yrrk"))))
"0x8lxvnhfpssj84x47y3y06vsvhd5afb9jknw38c8ymbxafzxpi6"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
(list "-Denable-gir=false"
"-Dwith-docs=false")))
(list "-Dwith-docs=false")))
(native-inputs
(list gobject-introspection pkg-config vala))
(propagated-inputs
@ -215,7 +215,7 @@ provided, as well as a framework to add new color models and data types.")
(define-public gegl
(package
(name "gegl")
(version "0.4.42")
(version "0.4.48")
(source
(origin
(method url-fetch)
@ -229,12 +229,10 @@ provided, as well as a framework to add new color models and data types.")
(version-major+minor version)
"/gegl-" version ".tar.xz")))
(sha256
(base32 "0bg0vlmj4n9x1291b9fsjqxsal192zlg48pa57f6xid6p863ma5b"))))
(base32 "0iw2wag3sls7va4c3dmczisbs9na4ml0rppnk1ymv0789gcjd321"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
(list "-Dintrospection=false")
#:phases
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'extend-test-time-outs
(lambda _
@ -288,7 +286,7 @@ buffers.")
(define-public gimp
(package
(name "gimp")
(version "2.10.32")
(version "2.10.36")
(source
(origin
(method url-fetch)
@ -296,7 +294,7 @@ buffers.")
(version-major+minor version)
"/gimp-" version ".tar.bz2"))
(sha256
(base32 "09csp2d8bzf012n7hvbbwngwr9phv3rnip768qdwqpdgah2wf59z"))))
(base32 "1cnvgkni2q4psv8syyl5yd9kk84fv5g3imd2kgm3mnsbkb3c6frx"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 9 MiB of gtk-doc HTML
@ -370,6 +368,52 @@ as well as specialized ones. It features a highly customizable interface
that is extensible via a plugin system.")
(license license:gpl3+))) ; some files are lgplv3
(define-public gimp-next
(package
(inherit gimp)
(name "gimp-next")
(version "2.99.18")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.gimp.org/pub/gimp/v"
(version-major+minor version)
"/gimp-" version ".tar.xz"))
(sha256
(base32 "0vnvdl7x88njyyxkbgdbhz6jwz1qasrxh0fpwk6x1m609alvf6wc"))))
(build-system meson-build-system)
(arguments
(list #:modules `((ice-9 popen)
(ice-9 rdelim)
(guix build meson-build-system)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-gcc-reference
;; Avoid reference to GCC.
(lambda _
(let* ((port (open-input-pipe "gcc -v 2>&1 | tail -n 1"))
(cc-version (read-line port)))
(close-pipe port)
(substitute* "app/gimp-version.c"
(("CC_VERSION") (string-append "\"" cc-version "\""))))))
(add-after 'install 'move-doc
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
(mkdir-p (string-append doc "/share"))
(rename-file (string-append out "/share/doc")
(string-append doc "/share/doc"))))))))
(inputs (modify-inputs (package-inputs gimp)
(replace "gtk+" gtk+)
(prepend libxmu libxt)
(prepend python gjs)
(prepend libxslt)))
(native-inputs (modify-inputs (package-native-inputs gimp)
(prepend appstream-glib
gi-docgen
libarchive)))))
(define-public gimp-fourier
(package
(name "gimp-fourier")

View File

@ -5583,6 +5583,9 @@ file.")
"-Dlocalstatedir=/var"
"-Dman=false"
"-Dsystemd=false") ;no systemd
;; Apparently the tests are known to fail on big-endian systems.
#:tests? (not (or (%current-target-system)
(not (target-little-endian?))))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-problematic-tests

View File

@ -4,6 +4,7 @@
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2022 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -84,6 +85,30 @@ the @code{c2go} tool at
compression format.")
(license license:bsd-3)))
(define-public go-github-com-hhrutter-lzw
(package
(name "go-github-com-hhrutter-lzw")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hhrutter/lzw")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1n13qhf8ih08jzm10wprdvjy56ylmy6fhakyqrddm6nszf397wch"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/hhrutter/lzw"))
(home-page "https://github.com/hhrutter/lzw")
(synopsis "Extended version of @code{compress/lzw}")
(description
"This package provides an enhanced version of the @code{compress/lzw}
library included in the stdlib, and supports GIF, TIFF and PDF.")
(license license:bsd-3)))
(define-public go-github-com-klauspost-compress
(package
(name "go-github-com-klauspost-compress")
@ -115,9 +140,32 @@ compression format.")
(description "@code{compress} provides various compression algorithms.")
(license license:bsd-3)))
(define-public go-github.com-ulikunitz-xz
(define-public go-github-com-nwaples-rardecode-v2
(package
(name "go-github.com-ulikunitz-xz")
(name "go-github-com-nwaples-rardecode-v2")
(version "2.0.0-beta.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nwaples/rardecode")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1344mxfdgs5fps6mqxk6352arrfszi33kmq394rgmqpf4394f1y7"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/nwaples/rardecode"))
(home-page "https://github.com/nwaples/rardecode")
(synopsis "Reading RAR archives in Go")
(description
"This package provides a library for reading RAR archives with Golang.")
(license license:bsd-2)))
(define-public go-github-com-ulikunitz-xz
(package
(name "go-github-com-ulikunitz-xz")
(version "0.5.8")
(source
(origin

View File

@ -1216,6 +1216,34 @@ which produce colorized output using github.com/fatih/color.")
(description "OpenTracing-Go is a Go implementation of the OpenTracing API.")
(license license:asl2.0)))
(define-public go-github-com-pkg-sftp
(package
(name "go-github-com-pkg-sftp")
(version "1.13.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pkg/sftp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0n35lzfrnrffjqy34ny6gxs27kq81s67ply6q8s1g19mhfzm6my7"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/pkg/sftp"))
(propagated-inputs (list go-golang-org-x-crypto go-github-com-kr-fs))
(native-inputs (list go-github-com-stretchr-testify))
(home-page "https://github.com/pkg/sftp")
(synopsis "SFTP implementation for Go")
(description
"This package provides an @acronym{SFTP, SSH File Transfer Protocol}
implementation, as described in
@url{https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt},
for Go.")
(license license:bsd-2)))
(define-public go-github-com-pquerna-cachecontrol
(package
(name "go-github-com-pquerna-cachecontrol")
@ -1394,6 +1422,38 @@ an interface to implement any other minifier.")
sockets.")
(license license:expat))))
(define-public go-github-com-ugorji-go-codec
(package
(name "go-github-com-ugorji-go-codec")
(version "1.2.12")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ugorji/go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "11j0sd7kli2bh2npfr2znnvdjsk118rs8khqzfdp6pb5jm0l20ib"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/ugorji/go/codec"
#:unpack-path "github.com/ugorji/go"
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'remove-benchmarks
(lambda* (#:key import-path #:allow-other-keys)
(delete-file-recursively (string-append "src/"
import-path
"/bench")))))))
(propagated-inputs (list go-golang-org-x-tools))
(home-page "https://github.com/ugorji/go")
(synopsis "Codec and encoding library for various serialization formats")
(description
"This package provides a high performance and feature rich codec and
encoding library for the MessagePack, CBOR, JSON and the Binc formats.")
(license license:expat)))
(define-public go-github-com-valyala-fasthttp
(package
(name "go-github-com-valyala-fasthttp")

View File

@ -1,20 +1,26 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018, 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020, 2021 raingloom <raingloom@riseup.net>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2021, 2023, 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2022 Dominic Martinez <dom@dominicm.dev>
;;; Copyright © 2023 Benjamin <benjamin@uvy.fr>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2023 Thomas Ieong <th.ieong@free.fr>
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
;;; Copyright © 2023, 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -44,7 +50,8 @@
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-compression)
#:use-module (gnu packages golang-crypto))
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages linux))
;;; Commentary:
;;;
@ -348,6 +355,35 @@ quantiles over an unbounded data stream within low memory and CPU bounds.")
similar to Go's standard library @code{json} and @code{xml} package.")
(license license:expat)))
(define-public go-github-com-cheggaaa-pb-v3
(package
(name "go-github-com-cheggaaa-pb-v3")
(version "3.0.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cheggaaa/pb/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0d701s2niy39r650d1phjw19h4l27b1yfc2ih6s31f56b3zzqspx"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/cheggaaa/pb/v3"
#:unpack-path "github.com/cheggaaa/pb"))
(propagated-inputs
(list go-github-com-fatih-color
go-github-com-mattn-go-colorable
go-github-com-mattn-go-isatty
go-github-com-mattn-go-runewidth
go-github-com-vividcortex-ewma))
(home-page "https://github.com/cheggaaa/pb/")
(synopsis "Console progress bar for Go")
(description
"This package is a Go library that draws progress bars on the terminal.")
(license license:bsd-3)))
(define-public go-github-com-coocood-freecache
(package
(name "go-github-com-coocood-freecache")
@ -503,6 +539,31 @@ its C API.")))
(description "Go bindings to systemd for (de)serialization and comparison
of unit files.")))
(define-public go-github-com-cskr-pubsub
(package
(name "go-github-com-cskr-pubsub")
(version "2.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cskr/pubsub")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "18kqfdzkfs7z8266a5q5wldwkcvnhc7yw09b9vr8r0s7svy8d5s6"))))
(build-system go-build-system)
(arguments
(list
#:tests? #t ; Tests require network interface access
#:go go-1.18
#:import-path "github.com/cskr/pubsub"))
(home-page "https://github.com/cskr/pubsub")
(synopsis "Simple pubsub package for go")
(description
"Package @code{pubsub} implements a simple multi-topic pub-sub library.")
(license license:bsd-2)))
(define-public go-github-com-cyberdelia-go-metrics-graphite
(package
(name "go-github-com-cyberdelia-go-metrics-graphite")
@ -529,6 +590,29 @@ of unit files.")))
metrics to Graphite.")
(license license:bsd-2)))
(define-public go-github-com-dave-jennifer
(package
(name "go-github-com-dave-jennifer")
(version "1.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dave/jennifer")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "01sgafbds8n5zs61qf057whn06yj6avz30xgxk6pllf22528558m"))))
(build-system go-build-system)
(arguments
(list
#:go go-1.20
#:import-path "github.com/dave/jennifer"))
(home-page "https://github.com/dave/jennifer")
(synopsis "Code generator for Go")
(description "This package provides functionality to generate Go code.")
(license license:expat)))
(define-public go-github-com-dimchansky-utfbom
(package
(name "go-github-com-dimchansky-utfbom")
@ -686,6 +770,223 @@ Differentiation between text and binary files}.
@end itemize")
(license license:expat)))
(define-public go-github-com-hashicorp-errwrap
(package
(name "go-github-com-hashicorp-errwrap")
(version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hashicorp/errwrap")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0p5wdz8p7dmwphmb33gwhy3iwci5k9wkfqmmfa6ay1lz0cqjwp7a"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/hashicorp/errwrap"))
(home-page "https://github.com/hashicorp/errwrap")
(synopsis "Wrapping and querying errors for Golang")
(description
"@code{errwrap} is a package for Go that formalizes the pattern of
wrapping errors and checking if an error contains another error.")
(license license:mpl2.0)))
(define-public go-github-com-hashicorp-hcl
(package
(name "go-github-com-hashicorp-hcl")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hashicorp/hcl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/hashicorp/hcl"))
(native-inputs
(list go-github-com-davecgh-go-spew))
(synopsis "Go implementation of HashiCorp Configuration Language V1")
(description
"This package contains the main implementation of the @acronym{HCL,
HashiCorp Configuration Language}. HCL is designed to be a language for
expressing configuration which is easy for both humans and machines to read.")
(home-page "https://github.com/hashicorp/hcl")
(license license:mpl2.0)))
(define-public go-github-com-hashicorp-hcl-v2
(package
(name "go-github-com-hashicorp-hcl-v2")
(version "2.11.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hashicorp/hcl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0f9flmmkj7fr1337fc56cqy73faq87ix375hnz3id4wc023przv1"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/hashicorp/hcl/v2"))
(native-inputs
(list go-github-com-davecgh-go-spew))
(inputs
(list go-github-com-agext-levenshtein
go-github-com-apparentlymart-go-textseg-v13
go-github-com-mitchellh-go-wordwrap
go-github-com-zclconf-go-cty))
(synopsis "Go implementation of HashiCorp Configuration Language V2")
(description
"This package contains the main implementation of the @acronym{HCL,
HashiCorp Configuration Language}. HCL is designed to be a language for
expressing configuration which is easy for both humans and machines to read.")
(home-page "https://github.com/hashicorp/hcl")
(license license:mpl2.0)))
(define-public go-github-com-hashicorp-go-multierror
(package
(name "go-github-com-hashicorp-go-multierror")
(version "1.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hashicorp/go-multierror")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0l4s41skdpifndn9s8y6s9vzgghdzg4z8z0lld9qjr28888wzp00"))))
(build-system go-build-system)
(inputs (list go-github-com-hashicorp-errwrap))
(arguments
(list
#:import-path "github.com/hashicorp/go-multierror"))
(home-page "https://github.com/hashicorp/go-multierror")
(synopsis "Representing a errors list as a single error for Golang")
(description
"@code{go-multierror} is Golang module providing a mechanism for
representing a list of @code{error} values as a single @code{error}. It is
fully compatible with the standard @code{errors} package, including
the functions @code{As}, @code{Is}, and @code{Unwrap}. This provides a
standardized approach for introspecting on error values.")
(license license:mpl2.0)))
(define-public go-github-com-hashicorp-go-syslog
(package
(name "go-github-com-hashicorp-go-syslog")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hashicorp/go-syslog")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"09vccqggz212cg0jir6vv708d6mx0f9w5bxrcdah3h6chgmal6v1"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/hashicorp/go-syslog"))
(home-page "https://github.com/hashicorp/go-syslog")
(synopsis "Golang syslog wrapper, cross-compile friendly")
(description
"This package is a very simple wrapper around log/syslog")
(license license:expat)))
(define-public go-github-com-hashicorp-go-uuid
(package
(name "go-github-com-hashicorp-go-uuid")
(version "1.0.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hashicorp/go-uuid")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0wd4maaq20alxwcvfhr52rzfnwwpmc2a698ihyr0vfns2sl7gkzk"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/hashicorp/go-uuid"))
(home-page "https://github.com/hashicorp/go-uuid")
(synopsis "Generate UUID-format strings")
(description
"This package generates UUID-format strings using high quality bytes.
It is not intended to be RFC compliant, merely to use a well-understood string
representation of a 128-bit value. It can also parse UUID-format strings into
their component bytes.")
(license license:mpl2.0)))
(define-public go-github-com-hashicorp-go-version
(package
(name "go-github-com-hashicorp-go-version")
(version "1.6.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hashicorp/go-version")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0fw6hwvjadpbfj10yk7f64ypw8lmv5s5ny3s4ria0nv6xam1wpai"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/hashicorp/go-version"))
(home-page "https://github.com/hashicorp/go-version")
(synopsis "Go library for parsing and verifying versions and version
constraints")
(description
"This package is a library for parsing versions and version
constraints, and verifying versions against a set of constraints. It can sort
a collection of versions properly, handles prerelease/beta versions, can
increment versions.")
(license license:mpl2.0)))
(define-public go-github-com-hhrutter-tiff
(package
(name "go-github-com-hhrutter-tiff")
(version "1.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hhrutter/tiff")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "09fzgvxwkd34izbfd26ln8vdbhc4j9gxpar3s7h9h125psrjvg0k"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/hhrutter/tiff"))
(propagated-inputs (list go-golang-org-x-image go-github-com-hhrutter-lzw))
(home-page "https://github.com/hhrutter/tiff")
(synopsis "Extended version of @code{golang.org/x/image/tiff}")
(description "This package is an enhanced version of the
@code{golang.org/x/image/tiff} library featuring:
@itemize
@item Read support for CCITT Group3/4 compressed images.
@item Read/write support for LZW compressed images.
@item Read/write support for the CMYK color model.
@end itemize")
(license license:bsd-3)))
(define-public go-github-com-jinzhu-copier
(package
(name "go-github-com-jinzhu-copier")
@ -709,6 +1010,33 @@ Differentiation between text and binary files}.
struct to another.")
(license license:expat)))
(define-public go-github-com-k0kubun-pp
(package
(name "go-github-com-k0kubun-pp")
(version "3.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/k0kubun/pp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1vpp5n3kdazk4s1ljhwbrhz3kilzvdvx5hya922bg0q9vnjqqvvc"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/k0kubun/pp"))
(propagated-inputs (list go-github-com-mattn-go-colorable
go-golang-org-x-text))
(home-page "https://github.com/k0kubun/pp")
(synopsis "Colored pretty-printer for Go")
(description
"This package provides a pretty-printer for Go. The functions defined by
@code{pp} follow an API similar to @code{fmt} and its configuration can be
customized globally.")
(license license:expat)))
(define-public go-github-com-matryer-try
(package
(name "go-github-com-matryer-try")
@ -1092,6 +1420,78 @@ Metrics library.")
(home-page "https://github.com/rcrowley/go-metrics")
(license license:bsd-2))))
(define-public go-github-com-shirou-gopsutil
(package
(name "go-github-com-shirou-gopsutil")
(version "2.21.11")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/shirou/gopsutil")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0gpb10xkdwfimn1sp4jhrvzz4p3zgmdb78q8v23nap3yi6v4bff5"))))
(build-system go-build-system)
(arguments
(list
#:go go-1.18
#:import-path "github.com/shirou/gopsutil"
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'remove-v3
(lambda* (#:key import-path #:allow-other-keys)
;; We remove the separately included v3 module.
(delete-file-recursively (string-append "src/"
import-path
"/v3"))))
(add-before 'check 'remove-failing-tests
(lambda* (#:key import-path #:allow-other-keys)
(delete-file-recursively
;; host_test.go tries to access files such as
;; /var/run/utmp that do not exist in the build
;; environment.
(string-append "src/" import-path "/host/host_test.go")))))))
(propagated-inputs
(list go-github-com-tklauser-go-sysconf go-golang-org-x-sys))
(native-inputs
(list go-github-com-stretchr-testify procps))
(synopsis "Process and system monitoring in Go")
(description
"This package provides a library for retrieving information
on running processes and system utilization (CPU, memory, disks, network,
sensors).")
(home-page "https://github.com/shirou/gopsutil")
(license license:bsd-3)))
(define-public go-github-com-shirou-gopsutil-v3
(package
(inherit go-github-com-shirou-gopsutil)
(name "go-github-com-shirou-gopsutil-v3")
(version "3.24.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/shirou/gopsutil")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xlfcx6giqaxdah2m02q2i8ynwlzar953wr8wqx1j3004xdgaivd"))))
(arguments
(list
#:go go-1.18
#:import-path "github.com/shirou/gopsutil"
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'remove-failing-tests
(lambda* (#:key import-path #:allow-other-keys)
(delete-file-recursively
;; host_test.go tries to access files such as
;; /var/run/utmp that do not exist in the build
;; environment.
(string-append "src/" import-path "/host/host_test.go")))))))))
(define-public go-github-com-skip2-go-qrcode
(package
(name "go-github-com-skip2-go-qrcode")
@ -1189,6 +1589,102 @@ Use waterutil with it to work with TUN/TAP packets/frames.")
(home-page "https://github.com/stathat/go")
(license license:expat))))
(define-public go-github-com-tklauser-go-sysconf
(package
(name "go-github-com-tklauser-go-sysconf")
(version "0.3.13")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tklauser/go-sysconf")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "07vkimncnmh89706s49599h2w9gwa6jyrv70f8ifw90nsh766km9"))))
(build-system go-build-system)
(arguments
(list
#:go go-1.18
#:import-path "github.com/tklauser/go-sysconf"
#:phases #~(modify-phases %standard-phases
(add-before 'check 'remove-failing-tests
(lambda* (#:key import-path #:allow-other-keys)
(delete-file-recursively
;; sysconf_test.go (among others) tries to read the
;; number of online CPUs using /proc/stat and
;; /sys/devices/system/cpu/online. These files are not
;; accessible in the test environment.
(string-append "src/" import-path
"/cgotest/sysconf_test.go")))))))
(propagated-inputs (list go-golang-org-x-sys
go-github-com-tklauser-numcpus))
(home-page "https://github.com/tklauser/go-sysconf")
(synopsis "Go implementation of @code{sysconf}")
(description
"This package implements @code{sysconf} and provides the associated
@code{SC_*} constants to query system configuration values at run time.")
(license license:bsd-3)))
(define-public go-github-com-tklauser-numcpus
(package
(name "go-github-com-tklauser-numcpus")
(version "0.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tklauser/numcpus")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xcwk42zr6q72zvkqdd9nbyhvq11rmwm2164mr2rvbb9z7alkff8"))))
(build-system go-build-system)
(arguments
(list
#:go go-1.18
#:import-path "github.com/tklauser/numcpus"
#:phases #~(modify-phases %standard-phases
(add-before 'check 'remove-failing-tests
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/"
import-path)
(for-each delete-file-recursively
;; These tests try to access
;; /sys/devices/system/cpu, which is not
;; available in the test environment.
'("numcpus_test.go" "numcpus_linux_test.go"))))))))
(propagated-inputs (list go-golang-org-x-sys))
(home-page "https://github.com/tklauser/numcpus")
(synopsis "Provides information about the number of CPUs in the system")
(description
"This package provides both library functions and a command-line tool to
query information regarding the number of CPUs available to the system.")
(license license:asl2.0)))
(define-public go-github-com-vividcortex-ewma
(package
(name "go-github-com-vividcortex-ewma")
(version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/VividCortex/ewma")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0whx516l9nm4n41spagb605ry7kfnz1qha96mcshnfjlahhnnylq"))))
(build-system go-build-system)
(arguments '(#:import-path "github.com/VividCortex/ewma"))
(home-page "https://github.com/VividCortex/ewma")
(synopsis "Exponentially Weighted Moving Average algorithms for Go")
(description
"This package implements algorithms for
@url{https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average,exponentially
weighted moving averages}.")
(license license:expat)))
(define-public go-go-uber-org-automaxprocs
(package
(name "go-go-uber-org-automaxprocs")
@ -1214,6 +1710,39 @@ Use waterutil with it to work with TUN/TAP packets/frames.")
CPU quota.")
(license license:expat)))
(define-public go-go-uber-org-zap
(package
(name "go-go-uber-org-zap")
(version "1.24.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/uber-go/zap")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0lzbbs87fvixzbyv4wpl3s70vm2m0jz2jgdvrviiksc2al451qgs"))))
(build-system go-build-system)
(arguments
'(#:import-path "go.uber.org/zap"
#:tests? #f)) ; TODO: Fix tests
(native-inputs
(list go-github-com-stretchr-testify
go-golang-org-x-lint
go-honnef-co-go-tools))
(propagated-inputs
(list go-github-com-pkg-errors
go-go-uber-org-atomic
go-go-uber-org-multierr
go-gopkg-in-yaml-v2))
(home-page "https://go.uber.org/zap")
(synopsis "Logging library for Go")
(description
"This package provides a library for fast, structured, leveled logging in
Go.")
(license license:expat)))
(define-public go-gopkg-in-op-go-logging-v1
(package
(inherit go-github-com-op-go-logging)
@ -1227,6 +1756,20 @@ CPU quota.")
;;; Executables:
;;;
(define-public go-numcpus
(package
(inherit go-github-com-tklauser-numcpus)
(name "go-numcpus")
(arguments
(list
#:go go-1.18
#:import-path "github.com/tklauser/numcpus/cmd/numcpus"
#:unpack-path "github.com/tklauser/numcpus"
#:install-source? #f))
(description
"This package provides a CLI build from the
go-github-com-tklauser-numcpus source.")))
(define-public go-pixelmatch
(package
(inherit go-github-com-orisano-pixelmatch)

View File

@ -870,7 +870,8 @@ in the style of communicating sequential processes (@dfn{CSP}).")
("powerpc64le" ,@%go-1.17-powerpc64le-micro-architectures))))))
(define %go-1.18-x86_64-micro-architectures
(list "x86_64-v1" "x86_64-v2" "x86_64-v3" "x86_64-v4"))
;; GOAMD defaults to 'v1' so we match the default elsewhere.
(list "x86-64" "x86-64-v2" "x86-64-v3" "x86-64-v4"))
(define-public go-1.18
(package
@ -3304,64 +3305,6 @@ command-line parsers.")
(home-page "https://github.com/tj/docopt")
(license license:expat)))
(define-public go-github-com-hashicorp-hcl
(package
(name "go-github-com-hashicorp-hcl")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hashicorp/hcl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/hashicorp/hcl"))
(native-inputs
(list go-github-com-davecgh-go-spew))
(synopsis "Go implementation of HashiCorp Configuration Language V1")
(description
"This package contains the main implementation of the @acronym{HCL,
HashiCorp Configuration Language}. HCL is designed to be a language for
expressing configuration which is easy for both humans and machines to read.")
(home-page "https://github.com/hashicorp/hcl")
(license license:mpl2.0)))
(define-public go-github-com-hashicorp-hcl-v2
(package
(name "go-github-com-hashicorp-hcl-v2")
(version "2.11.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hashicorp/hcl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0f9flmmkj7fr1337fc56cqy73faq87ix375hnz3id4wc023przv1"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/hashicorp/hcl/v2"))
(native-inputs
(list go-github-com-davecgh-go-spew))
(inputs
(list go-github-com-agext-levenshtein go-github-com-mitchellh-go-wordwrap
go-github-com-zclconf-go-cty
go-github-com-apparentlymart-go-textseg-v13))
(synopsis "Go implementation of HashiCorp Configuration Language V2")
(description
"This package contains the main implementation of the @acronym{HCL,
HashiCorp Configuration Language}. HCL is designed to be a language for
expressing configuration which is easy for both humans and machines to read.")
(home-page "https://github.com/hashicorp/hcl")
(license license:mpl2.0)))
(define-public govulncheck
(package
(name "govulncheck")
@ -3500,61 +3443,6 @@ editor.")
spec in Go.")
(license license:bsd-3))))
(define-public go-github-com-hashicorp-go-uuid
(package
(name "go-github-com-hashicorp-go-uuid")
(version "1.0.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hashicorp/go-uuid")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0wd4maaq20alxwcvfhr52rzfnwwpmc2a698ihyr0vfns2sl7gkzk"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/hashicorp/go-uuid"))
(home-page "https://github.com/hashicorp/go-uuid")
(synopsis "Generate UUID-format strings")
(description
"This package generates UUID-format strings using high quality bytes.
It is not intended to be RFC compliant, merely to use a well-understood string
representation of a 128-bit value. It can also parse UUID-format strings into
their component bytes.")
(license license:mpl2.0)))
(define-public go-github-com-hashicorp-go-version
(let ((commit
"03c5bf6be031b6dd45afec16b1cf94fc8938bc77")
(revision "0"))
(package
(name "go-github-com-hashicorp-go-version")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hashicorp/go-version")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0sjq57gpfznaqdrbyb2p0bn90g9h661cvr0jrk6ngags4pbw14ik"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/hashicorp/go-version"))
(home-page
"https://github.com/hashicorp/go-version")
(synopsis "Go library for parsing and verifying versions and version
constraints")
(description "This package is a library for parsing versions and version
constraints, and verifying versions against a set of constraints. It can sort
a collection of versions properly, handles prerelease/beta versions, can
increment versions.")
(license license:mpl2.0))))
(define-public go-github-com-jpillora-backoff
(let ((commit
"06c7a16c845dc8e0bf575fafeeca0f5462f5eb4d")
@ -3781,8 +3669,7 @@ containers.")
(build-system go-build-system)
(arguments
`(#:import-path "github.com/spf13/afero"))
(propagated-inputs
`(("golang.org/x/text" ,go-golang-org-x-text)))
(propagated-inputs (list go-github-com-pkg-sftp go-golang-org-x-text))
(home-page "https://github.com/spf13/afero")
(synopsis "File system abstraction for Go")
(description
@ -3914,21 +3801,21 @@ GNU extensions} to the POSIX recommendations for command-line options.")
"099n2g7fg6r8hqyszqw2axr775qyhyvwhsykvgw0f0s16ql48h5c"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/spf13/viper"))
(list
#:import-path "github.com/spf13/viper"))
(propagated-inputs
`(("github.com/spf13/afero" ,go-github-com-spf13-afero)
("github.com/spf13/cast" ,go-github-com-spf13-cast)
("github.com/spf13/pflag" ,go-github-com-spf13-pflag)
("github.com/spf13/jwalterweatherman" ,go-github-com-spf13-jwalterweatherman)
("github.com/fsnotify/fsnotify" ,go-github-com-fsnotify-fsnotify)
("github.com/hashicorp/hcl" ,go-github-com-hashicorp-hcl)
("github.com/magiconair/properties" ,go-github-com-magiconair-properties)
("github.com/mitchellh/mapstructure" ,go-github-com-mitchellh-mapstructure)
("github.com/pelletier/go-toml" ,go-github-com-pelletier-go-toml)
("github.com/subosito/gotenv" ,go-github-com-subosito-gotenv)
("gopkg.in/ini.v1" ,go-gopkg-in-ini-v1)
("gopkg.in/yaml.v2" ,go-gopkg-in-yaml-v2)))
(list go-github-com-fsnotify-fsnotify
go-github-com-hashicorp-hcl
go-github-com-magiconair-properties
go-github-com-mitchellh-mapstructure
go-github-com-pelletier-go-toml
go-github-com-spf13-afero
go-github-com-spf13-cast
go-github-com-spf13-jwalterweatherman
go-github-com-spf13-pflag
go-github-com-subosito-gotenv
go-gopkg-in-ini-v1
go-gopkg-in-yaml-v2))
(native-inputs
(list go-github-com-stretchr-testify))
(home-page "https://github.com/spf13/viper")
@ -6337,31 +6224,6 @@ and aid debugging.")
a cron spec parser and job runner.")
(license license:expat)))
(define-public go-github-com-shirou-gopsutil
(let ((commit "47ef3260b6bf6ead847e7c8fc4101b33c365e399")
(revision "0"))
(package
(name "go-github-com-shirou-gopsutil")
(version (git-version "v2.19.7" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/shirou/gopsutil")
(commit commit))) ; XXX
(file-name (git-file-name name version))
(sha256
(base32
"0x1g4r32q4201nr2b754xnrrndmwsrhfr7zg37spya86qrmijnws"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/shirou/gopsutil"))
(synopsis "Process and system monitoring in Go")
(description "This package provides a library for retrieving information
on running processes and system utilization (CPU, memory, disks, network,
sensors).")
(home-page "https://github.com/shirou/gopsutil")
(license license:bsd-3))))
(define-public go-github-com-danwakefield-fnmatch
(let ((commit "cbb64ac3d964b81592e64f957ad53df015803288")
(revision "0"))
@ -8779,42 +8641,6 @@ error messages.")
inspired by the causal messaging system in the Pony programming language.")
(license license:expat))))
(define-public go-github-com-cheggaaa-pb-v3
(package
(name "go-github-com-cheggaaa-pb-v3")
(version "3.0.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cheggaaa/pb/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0d701s2niy39r650d1phjw19h4l27b1yfc2ih6s31f56b3zzqspx"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/cheggaaa/pb/v3"
;; XXX: it does have tests but I'm not sure how to run them.
;; go-build-system is looking in the wrong directory.
#:tests? #f))
(propagated-inputs
(list go-golang-org-x-sys
go-github-com-rivo-uniseg
go-github-com-mattn-go-runewidth
go-github-com-mattn-go-isatty
go-github-com-mattn-go-colorable
go-github-com-fatih-color
go-github-com-vividcortex-ewma))
(home-page "https://github.com/cheggaaa/pb/")
(synopsis "Console progress bar for Go")
(description "This package is a Go library that draws progress bars on
the terminal.")
(license license:bsd-3)))
(define-public go-github-com-cheggaaa-pb
(deprecated-package "go-github-com-cheggaaa-pb" go-github-com-cheggaaa-pb-v3))
(define-public go-github-com-gologme-log
;; this is the same as v1.2.0, only the LICENSE file changed
(let ((commit "720ba0b3ccf0a91bc6018c9967a2479f93f56a55"))
@ -8843,28 +8669,6 @@ is unchanged. This package contains a series of small enhancements and
additions.")
(license license:bsd-3))))
(define-public go-github-com-hashicorp-go-syslog
(package
(name "go-github-com-hashicorp-go-syslog")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hashicorp/go-syslog")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"09vccqggz212cg0jir6vv708d6mx0f9w5bxrcdah3h6chgmal6v1"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/hashicorp/go-syslog"))
(home-page "https://github.com/hashicorp/go-syslog")
(synopsis "Golang syslog wrapper, cross-compile friendly")
(description "This package is a very simple wrapper around log/syslog")
(license license:expat)))
(define-public go-golang-zx2c4-com-wireguard
(package
(name "go-golang-zx2c4-com-wireguard")
@ -9381,36 +9185,6 @@ be used as both a binary and a library.")
(native-inputs '())
(inputs '())))
(define-public go-go-uber-org-zap
(package
(name "go-go-uber-org-zap")
(version "1.16.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/uber-go/zap")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05ix5wg1r8pgi7fb6084lg4x7mrkvzkh1nxa7zj337w5b9xj0myr"))))
(build-system go-build-system)
(arguments
'(#:import-path "go.uber.org/zap"
#:tests? #f)) ; TODO: Fix tests
(native-inputs
(list go-github-com-stretchr-testify go-golang-org-x-lint
go-honnef-co-go-tools))
(propagated-inputs
(list go-github-com-pkg-errors go-go-uber-org-atomic
go-go-uber-org-multierr go-gopkg-in-yaml-v2))
(home-page "https://go.uber.org/zap")
(synopsis "Logging library for Go")
(description
"This package provides a library for fast, structured, leveled logging in
Go.")
(license license:expat)))
(define-public go-github-com-davecgh-go-xdr
(package
(name "go-github-com-davecgh-go-xdr")
@ -9617,28 +9391,6 @@ programming language.")
parser.")
(license license:bsd-2)))
(define-public go-github-com-vividcortex-ewma
(package
(name "go-github-com-vividcortex-ewma")
(version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/VividCortex/ewma")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0whx516l9nm4n41spagb605ry7kfnz1qha96mcshnfjlahhnnylq"))))
(build-system go-build-system)
(arguments '(#:import-path "github.com/vividcortex/ewma"))
(home-page "https://github.com/VividCortex/ewma")
(synopsis "Exponentially Weighted Moving Average algorithms for Go")
(description
"This package implements algorithms for exponentially weighted moving
averages.")
(license license:expat)))
(define-public go-github-com-rivo-uniseg
(package
(name "go-github-com-rivo-uniseg")

View File

@ -9,7 +9,7 @@
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2020-2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2020-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Fabian Harfert <fhmgufs@web.de>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016 Patrick Hetu <patrick.hetu@auf.org>
@ -2124,7 +2124,7 @@ and routines to assist in editing internationalized text.")
(define-public girara
(package
(name "girara")
(version "0.3.7")
(version "0.4.2")
(source
(origin
(method git-fetch)
@ -2133,7 +2133,7 @@ and routines to assist in editing internationalized text.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0k93pi0lkf941vanvh1habm6n5wl1n63726j5kqxh34wdlv4mv4s"))))
(base32 "11fi7yy28rv6clj9gkvz58gd8zph95khq9jjia4c5skq03m67npz"))))
(native-inputs `(("pkg-config" ,pkg-config)
("check" ,check)
("gettext" ,gettext-minimal)

View File

@ -2895,7 +2895,7 @@ See http://minikanren.org/ for more on miniKanren generally.")
(define-public guile-irregex
(package
(name "guile-irregex")
(version "0.9.6")
(version "0.9.11")
(source (origin
(method url-fetch)
(uri (string-append
@ -2903,24 +2903,45 @@ See http://minikanren.org/ for more on miniKanren generally.")
version ".tar.gz"))
(sha256
(base32
"1ia3m7dp3lcxa048q0gqbiwwsyvn99baw6xkhb4bhhzn4k7bwyqq"))))
"026kzl96pmwbjqdc7kh8rdh8ng813sjvdsik0dag5acza20sjm19"))))
(build-system guile-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'move-files-around
(lambda _
;; Move the relevant source files to src/ and create the
;; Copy the relevant source files to src/ and create the
;; rx/ directory to match the expected module hierarchy.
(mkdir-p "src/rx/source")
(rename-file "irregex-guile.scm"
(copy-file "irregex-guile.scm"
"src/rx/irregex.scm")
(rename-file "irregex.scm"
(copy-file "irregex.scm"
"src/rx/source/irregex.scm")
;; Not really reachable via guile's packaging system,
;; but nice to have around.
(rename-file "irregex-utils.scm"
"src/rx/source/irregex-utils.scm")
#t)))
(mkdir-p "src/rx/irregex")
(copy-file "irregex-utils-guile.scm"
"src/rx/irregex/utils.scm")
(copy-file "irregex-utils.scm"
"src/rx/source/irregex-utils.scm")))
(add-after 'build 'check
(lambda _
(for-each (lambda (f)
(invoke "guile" "--no-auto-compile" "-L" "." "-s" f))
(find-files "tests" "^guile-.*\\.scm"))))
(add-after 'install 'check-installed
(lambda _
(define-values (scm go) (target-guile-scm+go #$output))
(for-each
(lambda (f)
(substitute* f
(("\\(load-from-path \"irregex\"\\)")
"(use-modules (rx irregex))")
(("\\(load-from-path \"irregex-utils\"\\)")
"(use-modules (rx irregex utils))"))
(invoke "guile" "-L" scm "-C" go "-L" "tests" f))
(delete "tests/guile-cset.scm" ; Tests non-exported API
(find-files "tests" "^guile-.*\\.scm"))))))
#:source-directory "src"))
(native-inputs
(list guile-3.0))
@ -2936,6 +2957,27 @@ inspired by the SCSH regular expression system.")
(package
(inherit guile-irregex)
(name "guile2.0-irregex")
(arguments
(substitute-keyword-arguments (package-arguments guile-irregex)
((#:phases phases)
#~(modify-phases #$phases
;; For some reason guile 2.0 cannot load foo.scm using
;; (load-from-path "foo"). So create symlinks to work around it.
(add-before 'check 'create-symlinks
(lambda _
(use-modules (ice-9 regex))
(for-each
(lambda (f)
(symlink (regexp-substitute #f (string-match "/([^/]+)$" f)
1 ".scm")
f))
'("tests/guile/test-support"
"tests/test-cset"
"tests/test-irregex"
"tests/test-irregex-from-gauche"
"tests/test-irregex-pcre"
"tests/test-irregex-scsh"
"tests/test-irregex-utf8"))))))))
(native-inputs (list guile-2.0))))
(define-public guile2.2-irregex

View File

@ -294,7 +294,7 @@ to @code{cabal repl}).")
(define-public git-annex
(package
(name "git-annex")
(version "10.20230926")
(version "10.20240227")
(source
(origin
;; hackage release doesn't include everything needed for extra bits.
@ -304,7 +304,7 @@ to @code{cabal repl}).")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0zsq686b0q7mlkybm1xrc0kpl32ymvf0ybar01p68wx800031b2b"))))
(base32 "023gk1v01ks367h4zz67ksn2xaw6pgcfhmniay6ipkncfqv8rsra"))))
(build-system haskell-build-system)
(properties '((upstream-name . "git-annex")))
(arguments

View File

@ -767,7 +767,7 @@ displayed in a terminal.")
(define-public imv
(package
(name "imv")
(version "4.4.0")
(version "4.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -775,7 +775,7 @@ displayed in a terminal.")
(commit (string-append "v" version))))
(sha256
(base32
"1zlds43z17jrnsrfz3rf3sb3pa5gkmxaibq87509ikc7p1p09c9c"))
"0988rpgzyhb27sbhrh5f2zqccqirmq7xb0naqh9nbl8j1dg897b8"))
(file-name (git-file-name name version))))
(build-system meson-build-system)
(arguments
@ -792,13 +792,15 @@ displayed in a terminal.")
(("imv") (string-append bin "/imv")))))))))
(native-inputs
(list asciidoc
cmocka
pkg-config))
(inputs
(list freeimage
glu
libheif
libjpeg-turbo
libinih
libjpeg-turbo
libjxl
libnsgif
(librsvg-for-system)
libtiff

View File

@ -227,7 +227,7 @@ written in Go.")
(define-public kubo
(package
(name "kubo")
(version "0.19.0")
(version "0.22.0")
(source
(origin
(method url-fetch/tarbomb)
@ -235,7 +235,7 @@ written in Go.")
"https://dist.ipfs.io/kubo/v" version
"/kubo-source.tar.gz"))
(sha256
(base32 "0k0mw44fq6306pmfp6v4wawgigry9plnl2ij8i5f46606j55c31w"))
(base32 "0p8iaa56lnac1lxnbzp4fbjqzps50z5yqs34szcp53xjq8rmjzjd"))
(file-name (string-append name "-" version "-source"))
(modules '((guix build utils)))
(snippet '(for-each delete-file-recursively

View File

@ -19,6 +19,7 @@
;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024 Paul A. Patience <paul@apatience.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -13578,14 +13579,14 @@ network protocols, and core version control algorithms.")
":"
share "abcl-contrib.jar")))
(display (string-append
"#!" (which "sh") "\n"
"#!" (which "bash") "\n"
"if [[ -z $CLASSPATH ]]; then\n"
" cp=\"" classpath "\"\n"
"else\n"
" cp=\"" classpath ":$CLASSPATH\"\n"
"fi\n"
"exec " (which "java")
" -cp $cp org.armedbear.lisp.Main $@\n")))))
" -cp \"$cp\" org.armedbear.lisp.Main \"$@\"\n")))))
(chmod (string-append bin "abcl") #o755)
#t))))))
(home-page "https://abcl.org/")

View File

@ -4,7 +4,7 @@
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020, 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2020, 2023, 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2022 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;;
@ -1787,7 +1787,7 @@ the KDE Plasma 5 desktop.")
qtdeclarative-5
qtquickcontrols-5
qtquickcontrols2-5
qtwayland
qtwayland-5
qtx11extras
wayland
wayland-protocols

View File

@ -43,6 +43,7 @@
;;; Copyright © 2023 Raven Hallsby <karl@hallsby.com>
;;; Copyright © 2024 Michal Atlas <michal_atlas+git@posteo.net>
;;; Copyright © 2024 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2024 Nik Gaffney <nik@fo.am>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1221,6 +1222,43 @@ Features:
(define-public ecl-coleslaw
(sbcl-package->ecl-package sbcl-coleslaw))
(define-public sbcl-cl-all
(let ((commit "4ce1ea9d9f33c0dd6212044e7952a0c854757ace")
(revision "0"))
(package
(name "sbcl-cl-all")
(version (git-version "1.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/cl-all")
(commit commit)))
(file-name (git-file-name "cl-all" version))
(sha256
(base32 "0n4sjarj373zpxn78m32rmhxnsnr8qahdslrd9vrkkwjpzar2bwp"))))
(build-system asdf-build-system/sbcl)
(outputs '("out" "bin"))
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'create-asdf-configuration 'build-program
(lambda* (#:key outputs #:allow-other-keys)
(build-program
(string-append (assoc-ref outputs "bin") "/bin/cl-all")
outputs
#:entry-program '((cl-all:toplevel arguments))
#:compress? #t))))))
(home-page "https://github.com/Shinmera/cl-all")
(synopsis "Evaluate Common Lisp expressions in multiple implementations")
(description "@samp{cl-all} is a library and script for evaluating Common
Lisp expressions in multiple implementations.")
(license license:zlib))))
(define-public cl-all
(sbcl-package->cl-source-package sbcl-cl-all))
(define-public sbcl-tripod
(let ((commit "b019a27cd7eb895870f84b0eb6c3edc5d7b05928")
(revision "1"))
@ -17839,8 +17877,8 @@ compression/decompression using bindings to the libzstd C library.")
(sbcl-package->ecl-package sbcl-zstd))
(define-public sbcl-agnostic-lizard
(let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
(revision "1"))
(let ((commit "fe1a1d7d80c8b56163754e0e5b3653fd750ad298")
(revision "2"))
(package
(name "sbcl-agnostic-lizard")
(version (git-version "0.0.0" revision commit))
@ -17850,9 +17888,9 @@ compression/decompression using bindings to the libzstd C library.")
(uri (git-reference
(url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
(commit commit)))
(file-name (git-file-name name version))
(file-name (git-file-name "cl-agnostic-lizard" version))
(sha256
(base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
(base32 "0amzshh6v3mp24j0h2cinv4zvdlg4kih04md5biakwhnmcw4j4pr"))))
(build-system asdf-build-system/sbcl)
(synopsis "Almost correct portable code walker for Common Lisp")
(description
@ -25694,11 +25732,11 @@ Common Lisp.")
(sbcl-package->ecl-package sbcl-cl-collider))
(define-public sbcl-osc
(let ((commit "9f0a9d3da310a3a0f654f48af0203816f3f371ad")
(let ((commit "f647738ccc22925ed740a8ca9132fda76a05baeb")
(revision "0"))
(package
(name "sbcl-osc")
(version (git-version "0.7" revision commit))
(version (git-version "0.9" revision commit))
(source
(origin
(method git-fetch)
@ -25707,16 +25745,18 @@ Common Lisp.")
(commit commit)))
(file-name (git-file-name "cl-osc" version))
(sha256
(base32 "0gh29zcl9pmy3xlmwzpf9www2z06ah6b4jk06sj2cvxbc15nblqa"))))
(base32 "1x4cavspaxcr604g0hwak1ncy4m9cqq03ji4v56g2h1443n7h48a"))))
(build-system asdf-build-system/sbcl)
(inputs (list sbcl-usocket))
(native-inputs (list sbcl-fiveam))
(inputs (list sbcl-ieee-floats))
(synopsis "Implementation of the Open Sound Control protocol")
(description "This package provides a common lisp implementation
of the Open Sound Control Protocol aka OSC. The code should be close
to the ansi standard, and does not rely on any external code/ffi/etc+
to do the basic encoding and decoding of packets.")
(description "This is a lisp implementation of the Open Sound Control
protocol (or more accurately data transport specification or
encoding). The code should be close to ANSI standard common lisp and
provides self contained code for encoding and decoding of OSC data, messages,
and bundles.")
(home-page "https://github.com/zzkt/osc/")
(license (list license:gpl3 license:llgpl)))))
(license license:gpl3+))))
(define-public cl-osc
(sbcl-package->cl-source-package sbcl-osc))

View File

@ -482,67 +482,72 @@ code analysis tools.")
(define (clang-properties version)
"Return package properties for Clang VERSION."
`((compiler-cpu-architectures
("powerpc64le"
;; This list was obtained from clang/test/Misc/target-invalid-cpu-note.c
;; and then trimmed down.
,@(if (version>=? version "11.0")
'("power8" "power9" "power10" "powerpc64le")))
("x86_64"
;; This list was obtained by running:
;;
;; guix shell clang -- llc -march=x86-64 -mattr=help
;;
;; filtered from uninteresting entries such as "i686" and "pentium".
,@(if (version>=? version "10.0") ;TODO: refine
'("atom"
"barcelona"
"bdver1"
"bdver2"
"bdver3"
"bdver4"
"bonnell"
"broadwell"
"btver1"
"btver2"
"c3"
"c3-2"
"cannonlake"
"cascadelake"
"cooperlake"
"core-avx-i"
"core-avx2"
"core2"
"corei7"
"corei7-avx"
"generic"
"geode"
"goldmont"
"goldmont-plus"
"haswell"
"icelake-client"
"icelake-server"
"ivybridge"
"k8"
"k8-sse3"
"knl"
"knm"
"lakemont"
"nehalem"
"nocona"
"opteron"
"opteron-sse3"
"sandybridge"
"silvermont"
"skx"
"skylake"
"skylake-avx512"
"slm"
"tigerlake"
"tremont"
"westmere"
"x86-64"
"x86-64-v2"
"x86-64-v3"
"x86-64-v4"
"znver1"
"znver2"
"znver3")
'())))))
;; This list was obtained from clang/test/Misc/target-invalid-cpu-note.c
,@(cond
((version>=? version "17.0")
'("nocona" "core2" "penryn" "bonnell" "atom" "silvermont" "slm"
"goldmont" "goldmont-plus" "tremont" "nehalem" "corei7" "westmere"
"sandybridge" "corei7-avx" "ivybridge" "core-avx-i" "haswell"
"core-avx2" "broadwell" "skylake" "skylake-avx512" "skx"
"cascadelake" "cooperlake" "cannonlake" "icelake-client"
"rocketlake" "icelake-server" "tigerlake" "sapphirerapids"
"alderlake" "raptorlake" "meteorlake" "sierraforest" "grandridge"
"graniterapids" "graniterapids-d" "emeraldrapids" "knl" "knm" "k8"
"athlon64" "athlon-fx" "opteron" "k8-sse3" "athlon64-sse3"
"opteron-sse3" "amdfam10" "barcelona" "btver1" "btver2" "bdver1"
"bdver2" "bdver3" "bdver4" "znver1" "znver2" "znver3" "znver4"
"x86-64" "x86-64-v2" "x86-64-v3" "x86-64-v4"))
((version>=? version "16.0")
'("nocona" "core2" "penryn" "bonnell" "atom" "silvermont" "slm"
"goldmont" "goldmont-plus" "tremont" "nehalem" "corei7" "westmere"
"sandybridge" "corei7-avx" "ivybridge" "core-avx-i" "haswell"
"core-avx2" "broadwell" "skylake" "skylake-avx512" "skx"
"cascadelake" "cooperlake" "cannonlake" "icelake-client"
"rocketlake" "icelake-server" "tigerlake" "sapphirerapids"
"alderlake" "raptorlake" "meteorlake" "sierraforest" "grandridge"
"graniterapids" "emeraldrapids" "knl" "knm" "k8" "athlon64"
"athlon-fx" "opteron" "k8-sse3" "athlon64-sse3" "opteron-sse3"
"amdfam10" "barcelona" "btver1" "btver2" "bdver1" "bdver2"
"bdver3" "bdver4" "znver1" "znver2" "znver3" "znver4" "x86-64"
"x86-64-v2" "x86-64-v3" "x86-64-v4"))
((version>=? version "15.0")
'("nocona" "core2" "penryn" "bonnell" "atom" "silvermont" "slm"
"goldmont" "goldmont-plus" "tremont" "nehalem" "corei7" "westmere"
"sandybridge" "corei7-avx" "ivybridge" "core-avx-i" "haswell"
"core-avx2" "broadwell" "skylake" "skylake-avx512" "skx"
"cascadelake" "cooperlake" "cannonlake" "icelake-client"
"rocketlake" "icelake-server" "tigerlake" "sapphirerapids"
"alderlake" "knl" "knm" "k8" "athlon64" "athlon-fx" "opteron"
"k8-sse3" "athlon64-sse3" "opteron-sse3" "amdfam10" "barcelona"
"btver1" "btver2" "bdver1" "bdver2" "bdver3" "bdver4" "znver1"
"znver2" "znver3" "x86-64" "x86-64-v2" "x86-64-v3" "x86-64-v4"))
((version>=? version "13.0")
'("nocona" "core2" "penryn" "bonnell" "atom" "silvermont" "slm"
"goldmont" "goldmont-plus" "tremont" "nehalem" "corei7" "westmere"
"sandybridge" "corei7-avx" "ivybridge" "core-avx-i" "haswell"
"core-avx2" "broadwell" "skylake" "skylake-avx512" "skx"
"cascadelake" "cooperlake" "cannonlake" "icelake-client"
"rocketlake" "icelake-server" "tigerlake" "sapphirerapids"
"alderlake" "knl" "knm" "k8" "athlon64" "athlon-fx" "opteron"
"k8-sse3" "athlon64-sse3" "opteron-sse3" "amdfam10" "barcelona"
"btver1" "btver2" "bdver1" "bdver2" "bdver3" "bdver4" "znver1"
"znver2" "znver3" "x86-64" "x86-64-v2" "x86-64-v3" "x86-64-v4"))
((version>=? version "9.0")
'("atom" "silvermont" "slm" "goldmont" "goldmont-plus" "tremont"
"nehalem" "corei7" "westmere" "sandybridge" "corei7-avx"
"ivybridge" "core-avx-i" "haswell" "core-avx2" "broadwell"
"skylake" "skylake-avx512" "skx" "cascadelake" "cooperlake"
"cannonlake" "icelake-client" "icelake-server" "knl" "knm" "k8"
"athlon64" "athlon-fx" "opteron" "k8-sse3" "athlon64-sse3"
"opteron-sse3" "amdfam10" "barcelona" "btver1" "btver2" "bdver1"
"bdver2" "bdver3" "bdver4" "znver1" "znver2" "x86-64"))
(else '()))))))
(define-public (make-clang-toolchain clang libomp)
(package

View File

@ -1233,7 +1233,7 @@ enabled.")
(define-public fennel
(package
(name "fennel")
(version "1.3.1")
(version "1.4.2")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1242,7 +1242,7 @@ enabled.")
(file-name (git-file-name name version))
(sha256
(base32
"12zm3rd0vvkqazv1cv5bhwk6igsj18im2qakqw7cf4a20rc9wpmx"))))
"1h1i87jx889n1wczw5jvqmkx0jmlrq83pjspyd9v27j360d9fcik"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags #~(list (string-append "PREFIX="

View File

@ -26,6 +26,7 @@
;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2024 David Pflug <david@pflug.io>
;;; Copyright © 2024 Timothee Mathieu <timothee.mathieu@inria.fr>
;;; Copyright © 2024 Spencer King <spencer.king@geneoscopy.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -523,8 +524,8 @@ Performance is achieved by using the LLVM JIT compiler.")
(deprecated-package "guile-aiscm-next" guile-aiscm))
(define-public llama-cpp
(let ((commit "f31b5397143009d682db90fd2a6cde83f1ef00eb")
(revision "0"))
(let ((commit "03bf161eb6dea6400ee49c6dc6b69bdcfa9fd3fc")
(revision "1"))
(package
(name "llama-cpp")
(version (git-version "0.0.0" revision commit))
@ -533,10 +534,10 @@ Performance is achieved by using the LLVM JIT compiler.")
(method git-fetch)
(uri (git-reference
(url "https://github.com/ggerganov/llama.cpp")
(commit (string-append "master-" (string-take commit 7)))))
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0ys6n53n032zq1ll9f3vgxk8sw0qq7x3fi7awsyy13adzp3hn08p"))))
(base32 "1ag1jash84hasz10h0piw72a8ginm8kzvhihbzzljz96gq2kjm88"))))
(build-system cmake-build-system)
(arguments
(list
@ -563,8 +564,10 @@ Performance is achieved by using the LLVM JIT compiler.")
(get-string-all input))))))
(chmod (string-append bin script) #o555)))
(mkdir-p bin)
(make-script "convert-pth-to-ggml")
(make-script "convert-hf-to-gguf")
(make-script "convert-llama-ggml-to-gguf")
(make-script "convert-lora-to-ggml")
(make-script "convert-persimmon-to-gguf")
(make-script "convert"))))
(add-after 'install-python-scripts 'wrap-python-scripts
(assoc-ref python:%standard-phases 'wrap))
@ -1782,6 +1785,29 @@ scikit-learn inclusion criteria, for instance due to their novelty or lower
citation number.")
(license license:bsd-3))))
(define-public python-mord
(package
(name "python-mord")
(version "0.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "mord" version))
(sha256
(base32 "1cvv9b9w69v0inq0zgcw0vmkiq3zn9q9r6clkynpzjik9rrh405n"))))
(build-system pyproject-build-system)
;; v0.7 does not provide any test cases
;; v0.6 relies on deprecated scikit-learn functionality
(arguments `(#:tests? #f))
(inputs (list python-numpy python-scipy python-scikit-learn))
(home-page "https://pypi.org/project/mord/")
(synopsis "Ordinal regression models for scikit-learn")
(description
"This package provides a collection of ordinal regression models for
machine learning in Python. They are intended to be used with scikit-learn
and are compatible with its API.")
(license license:bsd-3)))
(define-public python-thinc
(package
(name "python-thinc")

View File

@ -333,7 +333,7 @@ convert HTML to Markdown.")
(define-public cmark
(package
(name "cmark")
(version "0.30.3")
(version "0.31.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -342,7 +342,7 @@ convert HTML to Markdown.")
(file-name (git-file-name name version))
(sha256
(base32
"07d30s5v893nb1m7qbam5c3x9b3d84m80kzlj7fmkwhgjrlz7d7z"))))
"0llj68l9rxdhral0zyv0bz6yzqsxgq8d3730082sl3kx78lsq5qq"))))
(build-system cmake-build-system)
(arguments
'(#:test-target "test"))

View File

@ -30,7 +30,7 @@
;;; Copyright © 2018 Eric Brown <brown@fastmail.com>
;;; Copyright © 2018, 2021, 2024 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018 Amin Bandali <bandali@gnu.org>
;;; Copyright © 2019, 2021-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2019, 2021-2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com>
;;; Copyright © 2019 Robert Smith <robertsmith@posteo.net>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
@ -425,13 +425,13 @@ programming language.")
(define-public units
(package
(name "units")
(version "2.22")
(version "2.23")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/units/units-" version
".tar.gz"))
(sha256 (base32
"0j2q2a9sgldqwcifsnb7qagsmp8fvj91vfh6v4k7gzi1fwhf24sx"))))
"0w3kl58y7fq9paaq8ayn5gwylc4n8jbk6lf42kkcj9ar4i8v8myr"))))
(build-system gnu-build-system)
(inputs
`(("readline" ,readline)
@ -8735,7 +8735,7 @@ management via the GIMPS project's Primenet server.")
(define-public nauty
(package
(name "nauty")
(version "2.8.6")
(version "2.8.8")
(source
(origin
(method url-fetch)
@ -8743,7 +8743,7 @@ management via the GIMPS project's Primenet server.")
"https://pallini.di.uniroma1.it/"
"nauty" (string-join (string-split version #\.) "_") ".tar.gz"))
(sha256
(base32 "1yp6wpz2drq0viww8px1vl4pw919nq3xgxrmrrdhycx8bhi9ikpj"))))
(base32 "1ki9z60qcyx3va68hp7iv6451n5d86v1xmhc850b4sqah5b2378m"))))
(build-system gnu-build-system)
(outputs '("out" "lib"))
(arguments

View File

@ -40,14 +40,14 @@
(define-public mc
(package
(name "mc")
(version "4.8.30")
(version "4.8.31")
(source
(origin
(method url-fetch)
(uri (string-append "https://ftp.osuosl.org/pub/midnightcommander/mc-"
version ".tar.xz"))
(sha256
(base32 "1py7jm620lsas7rcv5j69608gdshmp25d9gx958hr5sb2jr3rg2y"))))
(base32 "06mbnhxd2k29jah4wp1ciicw1gb51a5d3af43zivhxbncvw1q694"))))
(build-system gnu-build-system)
(arguments
(list
@ -68,7 +68,6 @@
(list "lib/utilunix.c"
"src/filemanager/ext.c"
"src/usermenu.c"
"src/vfs/fish/fish.c"
;; This file hard-codes other shells, but they're never
;; tried after mc's first choice (bash) is found.
"lib/shell.c")

View File

@ -40,6 +40,7 @@
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
;;; Copyright © 2024 Carlo Zancanaro <carlo@zancanaro.id.au>
;;;
;;; This file is part of GNU Guix.
;;;
@ -143,6 +144,7 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system go)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
@ -1577,11 +1579,18 @@ system on which to rapidly develop added functionality, or prototype new
protocols.")
(license license:x11)))
(define-public prosody-http-upload
(let ((changeset "765735bb590b")
(revision "1"))
(define (prosody-module module-name)
(let ((changeset "fba64b043c52")
(revision "2")
(package-name (string-append
"prosody-"
(string-replace-substring
(if (string-prefix? "mod_" module-name)
(substring module-name 4)
module-name)
"_" "-"))))
(package
(name "prosody-http-upload")
(name package-name)
(version (string-append "0-" revision "." (string-take changeset 7)))
(source (origin
(method hg-fetch)
@ -1591,56 +1600,37 @@ protocols.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"142wrcism70nf8ffahhd961cqg2pi1h7ic8adfs3zwh0j3pnf41f"))))
(build-system trivial-build-system)
"1nvka8s3zqs97jqsknhp2q956rrdga1qaxa1y3i0h8zx3g9vgdch"))))
(build-system copy-build-system)
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((out (assoc-ref %outputs "out"))
(source (assoc-ref %build-inputs "source")))
(with-directory-excursion (in-vicinity source "mod_http_upload")
(install-file "mod_http_upload.lua" out))
#t))))
(home-page "https://modules.prosody.im/mod_http_upload.html")
(synopsis "XEP-0363: Allow clients to upload files over HTTP")
(description "This module implements XEP-0363: it allows clients to
upload files over HTTP.")
`(#:install-plan '((,(string-append module-name "/") "."))))
(home-page (string-append "https://modules.prosody.im/"
module-name ".html"))
(synopsis #f)
(description #f)
(license (package-license prosody)))))
(define-public prosody-smacks
(let ((changeset "67f1d1f22625")
(revision "1"))
(define-public prosody-http-upload
(package
(name "prosody-smacks")
(version (string-append "0-" revision "." (string-take changeset 7)))
(source (origin
(method hg-fetch)
(uri (hg-reference
(url "https://hg.prosody.im/prosody-modules/")
(changeset changeset)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"020ngpax30fgarah98yvlj0ni8rcdwq60if03a9hqdw8mic0nxxs"))))
(build-system trivial-build-system)
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((out (assoc-ref %outputs "out"))
(source (assoc-ref %build-inputs "source")))
(with-directory-excursion (in-vicinity source "mod_smacks")
(install-file "mod_smacks.lua" out))
#t))))
(home-page "https://modules.prosody.im/mod_smacks.html")
(inherit (prosody-module "mod_http_upload"))
(synopsis "XEP-0363: Allow clients to upload files over HTTP")
(description "This module implements XEP-0363: it allows clients to
upload files over HTTP.")))
(define-public prosody-smacks
(package
(inherit (prosody-module "mod_smacks"))
(synopsis "XEP-0198: Reliability and fast reconnects for XMPP")
(description "This module implements XEP-0198: when supported by both
the client and server, it can allow clients to resume a disconnected session,
and prevent message loss.")
(license (package-license prosody)))))
and prevent message loss.")))
(define-public prosody-vcard-muc
(package
(inherit (prosody-module "mod_vcard_muc"))
(synopsis "Support for MUC vCards and avatars")
(description "This module adds the ability to set vCard for MUC rooms. One
of the most common use cases is to define avatars for MUC rooms.")))
(define-public libtoxcore
(let ((revision "2")

View File

@ -455,7 +455,7 @@ number generators, public key cryptography and a plethora of other routines.")
(define-public libtommath
(package
(name "libtommath")
(version "1.2.0")
(version "1.2.1")
(outputs '("out" "static"))
(source
(origin
@ -464,8 +464,7 @@ number generators, public key cryptography and a plethora of other routines.")
"download/v" version "/ltm-" version ".tar.xz"))
(sha256
(base32
"1c8q1qy88cjhdjlk3g24mra94h34c1ldvkjz0n2988c0yvn5xixp"))
(patches (search-patches "libtommath-integer-overflow.patch"))))
"07qdxnmp5bhfw5za6mr2l2w0vb7494v9zs9h5vp6y9vlngbjaq4q"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@ -476,13 +475,11 @@ number generators, public key cryptography and a plethora of other routines.")
;; We want the shared library by default so force it to be the
;; default makefile target.
(delete-file "makefile")
(symlink "makefile.shared" "makefile")
#t))
(symlink "makefile.shared" "makefile")))
(add-after 'install 'remove-static-library
(lambda* (#:key outputs #:allow-other-keys)
(delete-file (string-append (assoc-ref outputs "out")
"/lib/libtommath.a"))
#t))
"/lib/libtommath.a"))))
(replace 'check
(lambda* (#:key tests? test-target make-flags #:allow-other-keys)
(when tests?
@ -504,48 +501,6 @@ number generators, public key cryptography and a plethora of other routines.")
integer library written entirely in C. It's designed to provide an API that is
simple to work with that provides fairly efficient routines that build out of
the box without configuration.")
(properties `((upstream-name . "ltm")
(lint-hidden-cve . ("CVE-2023-36328"))))
(license unlicense)))
(define-public libtommath-1.1
(package
(inherit libtommath)
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/libtom/libtommath/releases/"
"download/v" version "/ltm-" version ".tar.xz"))
(sha256
(base32
"1bbyagqzfdbg37k1n08nsqzdf44z8zsnjjinqbsyj7rxg246qilh"))
(patches (search-patches "libtommath-fix-linkage.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments libtommath)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'patch-coreutils-call
(lambda _
;; Don't pull in coreutils.
(substitute* "makefile_include.mk"
(("arch") "uname -m"))
#t))))
((#:test-target _) "test_standalone")))))
(define-public libtommath-1.0
(package
(inherit libtommath-1.1)
(version "1.0.1")
(outputs '("out"))
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/libtom/libtommath/releases/"
"download/v" version "/ltm-" version ".tar.xz"))
(sha256
(base32
"0sbccdwbkfc680id2fi0x067j23biqcjqilwkk7y9339knrjy0s7"))))
(arguments
(substitute-keyword-arguments (package-arguments libtommath-1.1)
((#:phases phases)
`(modify-phases ,phases
(delete 'install-static-library)))))))

View File

@ -9,7 +9,7 @@
;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2018, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2019-2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
@ -120,6 +120,7 @@
#:use-module (gnu packages xorg)
#:use-module (gnu packages version-control)
#:autoload (guix build-system channel) (channel-build-system)
#:use-module (guix build-system copy)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system guile)
@ -682,15 +683,12 @@ overridden by setting the 'current-guix-package' parameter."
(define-public guix-icons
(package
(inherit guix)
(name "guix-icons")
(version "0.1")
(source %artwork-repository)
(build-system trivial-build-system)
(native-inputs
(list imagemagick))
(inputs
'())
(arguments
`(#:modules ((guix build utils)
(gnu build svg))
@ -738,10 +736,29 @@ overridden by setting the 'current-guix-package' parameter."
#:width size
#:height size)))
sizes))))))
(home-page "https://www.gnu.org/software/guix/")
(synopsis "GNU Guix icons")
(description "This package contains GNU Guix icons organized according to
the Icon Theme Specification. They can be used by applications querying the
GTK icon cache for instance.")))
GTK icon cache for instance.")
(license license:cc-by-sa4.0)))
(define-public guix-backgrounds
(package
(name "guix-backgrounds")
(version "0.1")
(source %artwork-repository)
(build-system copy-build-system)
(arguments
(list #:install-plan
#~'(("backgrounds" "share/backgrounds/guix" #:exclude ("README")))))
(home-page "https://www.gnu.org/software/guix/")
(synopsis "Background images for GNU Guix")
(description "The SVG files in this directory are intended to be used as
backgrounds for different components of the GNU system like login managers and
desktop environments. The backgrounds are available in different aspect ratios
which are indicated in the file name.")
(license (list license:public-domain license:cc-by-sa4.0))))
(define-public guix-modules
(package
@ -974,8 +991,8 @@ transactions from C or Python.")
(license license:gpl2+)))
(define-public bffe
(let ((commit "1c12da4e6f3c7d3ab557781769fb848354362748")
(revision "3"))
(let ((commit "006b96a9ff41f5d8e639f93f81eeab87d204bd89")
(revision "4"))
(package
(name "bffe")
(version (git-version "0" revision commit))
@ -986,7 +1003,7 @@ transactions from C or Python.")
(commit commit)))
(sha256
(base32
"0qa63mssv85g38m3bcblgp3yscywgz0hrg4lc84dxx99b07pmfc3"))
"1ai3dzwp5ddn5i7xzvg0qcj0nbip03jx0d3vhvxqr1vnlr71rzvh"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(native-inputs
@ -1001,7 +1018,7 @@ transactions from C or Python.")
guix
guix-data-service
guix-build-coordinator
guile-fibers-1.3
guile-fibers
guile-prometheus
guile-lib))
(propagated-inputs
@ -1010,7 +1027,7 @@ transactions from C or Python.")
guix
guix-data-service
guix-build-coordinator
guile-fibers-1.3
guile-fibers
guile-prometheus
guile-lib))
(home-page "https://git.cbaines.net/guix/bffe")
@ -1513,8 +1530,8 @@ environments.")
"0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc")))))))
(define-public guix-build-coordinator
(let ((commit "9f1545b15269523eac109b54e1a62f4c0cda837e")
(revision "97"))
(let ((commit "1c80525d21f183ed2556def6fcd021f6ea9a88a4")
(revision "98"))
(package
(name "guix-build-coordinator")
(version (git-version "0" revision commit))
@ -1525,7 +1542,7 @@ environments.")
(commit commit)))
(sha256
(base32
"1h35jjpvl7lipbys8q7ivx13cffkya6n0jpc91ckag3z2vb09iwp"))
"0krw4v04ynp8v12zgc87cx6d3rldr13b48kix9rzq4z17x7f39yc"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments

View File

@ -1,40 +0,0 @@
From 69d81a8a4d4c223aad67cde0fdf64d64351b9802 Mon Sep 17 00:00:00 2001
From: Andy Tai <atai@atai.org>
Date: Sat, 27 May 2023 00:01:34 -0700
Subject: [PATCH] prevent -Werror=maybe-uninitialized build failure with gcc 11
when building tests tokeniser2 and tokeniser3
---
test/tokeniser2.c | 2 +-
test/tokeniser3.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/test/tokeniser2.c b/test/tokeniser2.c
index c8ab9c0..4caae38 100644
--- a/test/tokeniser2.c
+++ b/test/tokeniser2.c
@@ -438,7 +438,7 @@ hubbub_error token_handler(const hubbub_token *token, void *pw)
/* Expected token only contained part of the data
* Calculate how much is left, then try again with
* the next expected token */
- hubbub_token t;
+ hubbub_token t = { 0 };
t.type = HUBBUB_TOKEN_CHARACTER;
t.data.character.ptr += len;
diff --git a/test/tokeniser3.c b/test/tokeniser3.c
index e33d018..b3be901 100644
--- a/test/tokeniser3.c
+++ b/test/tokeniser3.c
@@ -447,7 +447,7 @@ hubbub_error token_handler(const hubbub_token *token, void *pw)
/* Expected token only contained part of the data
* Calculate how much is left, then try again with
* the next expected token */
- hubbub_token t;
+ hubbub_token t = { 0 };
t.type = HUBBUB_TOKEN_CHARACTER;
t.data.character.ptr += len;
--
2.40.1

View File

@ -0,0 +1,13 @@
Submitted upstream at https://bugs.netsurf-browser.org/mantis/view.php?id=2870
--- libcss-0.9.2/test/dump.h.orig
+++ libcss-0.9.2/test/dump.h
@@ -131,7 +131,7 @@ void dump_rule_media(css_rule_media *s, char **buf, size_t *buflen)
char *ptr = *buf;
css_rule *rule;
- ptr += sprintf(ptr, "| @media %s%03lx",
+ ptr += sprintf(ptr, "| @media %s%03" PRIx64,
s->media->negate_type ? "not " : "",
s->media->type);

View File

@ -1,55 +0,0 @@
https://github.com/libtom/libtommath/commit/93dea3a4162527346cd8856bfda6f17ffe98ab04.patch
From 93dea3a4162527346cd8856bfda6f17ffe98ab04 Mon Sep 17 00:00:00 2001
From: Steffen Jaeckel <s@jaeckel.eu>
Date: Thu, 31 Jan 2019 14:12:03 +0100
Subject: [PATCH] makefile.shared: fix compilation and linkage
---
makefile.shared | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/makefile.shared b/makefile.shared
index 3955f830..870b18d1 100644
--- a/makefile.shared
+++ b/makefile.shared
@@ -18,6 +18,7 @@ ifndef LIBTOOL
endif
endif
LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC)
+LTLINK = $(LIBTOOL) --mode=link --tag=CC $(CC)
LCOV_ARGS=--directory .libs --directory .
@@ -59,7 +60,7 @@ objs: $(OBJECTS)
LOBJECTS = $(OBJECTS:.o=.lo)
$(LIBNAME): $(OBJECTS)
- $(LIBTOOL) --mode=link --tag=CC $(CC) $(LDFLAGS) $(LOBJECTS) -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION_SO) $(LIBTOOLFLAGS)
+ $(LTLINK) $(LDFLAGS) $(LOBJECTS) -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION_SO) $(LIBTOOLFLAGS)
install: $(LIBNAME)
install -d $(DESTDIR)$(LIBPATH)
@@ -76,16 +77,16 @@ uninstall:
rm $(DESTDIR)$(LIBPATH)/pkgconfig/libtommath.pc
test: $(LIBNAME) demo/demo.o
- $(CC) $(CFLAGS) -c demo/demo.c -o demo/demo.o
- $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o test demo/demo.o $(LIBNAME)
+ $(LTCOMPILE) $(CFLAGS) -c demo/demo.c -o demo/demo.o
+ $(LTLINK) $(LDFLAGS) -o test demo/demo.o $(LIBNAME)
test_standalone: $(LIBNAME) demo/demo.o
- $(CC) $(CFLAGS) -c demo/demo.c -o demo/demo.o
- $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o test demo/demo.o $(LIBNAME)
+ $(LTCOMPILE) $(CFLAGS) -c demo/demo.c -o demo/demo.o
+ $(LTLINK) $(LDFLAGS) -o test demo/demo.o $(LIBNAME)
.PHONY: mtest
mtest:
- cd mtest ; $(CC) $(CFLAGS) $(LDFLAGS) mtest.c -o mtest
+ cd mtest ; $(CC) $(CFLAGS) -O0 mtest.c $(LDFLAGS) -o mtest
timing: $(LIBNAME) demo/timing.c
- $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -DTIMER demo/timing.c $(LIBNAME) -o timing
+ $(LTLINK) $(CFLAGS) $(LDFLAGS) -DTIMER demo/timing.c $(LIBNAME) -o timing

View File

@ -1,140 +0,0 @@
This patch is from upstream:
https://github.com/libtom/libtommath/pull/546
From beba892bc0d4e4ded4d667ab1d2a94f4d75109a9 Mon Sep 17 00:00:00 2001
From: czurnieden <czurnieden@gmx.de>
Date: Tue, 9 May 2023 17:17:12 +0200
Subject: [PATCH] Fix possible integer overflow
---
bn_mp_2expt.c | 4 ++++
bn_mp_grow.c | 4 ++++
bn_mp_init_size.c | 5 +++++
bn_mp_mul_2d.c | 4 ++++
bn_s_mp_mul_digs.c | 4 ++++
bn_s_mp_mul_digs_fast.c | 4 ++++
bn_s_mp_mul_high_digs.c | 4 ++++
bn_s_mp_mul_high_digs_fast.c | 4 ++++
8 files changed, 33 insertions(+)
diff --git a/bn_mp_2expt.c b/bn_mp_2expt.c
index 0ae3df1bf..23de0c3c5 100644
--- a/bn_mp_2expt.c
+++ b/bn_mp_2expt.c
@@ -12,6 +12,10 @@ mp_err mp_2expt(mp_int *a, int b)
{
mp_err err;
+ if (b < 0) {
+ return MP_VAL;
+ }
+
/* zero a as per default */
mp_zero(a);
diff --git a/bn_mp_grow.c b/bn_mp_grow.c
index 9e904c547..2b1682651 100644
--- a/bn_mp_grow.c
+++ b/bn_mp_grow.c
@@ -9,6 +9,10 @@ mp_err mp_grow(mp_int *a, int size)
int i;
mp_digit *tmp;
+ if (size < 0) {
+ return MP_VAL;
+ }
+
/* if the alloc size is smaller alloc more ram */
if (a->alloc < size) {
/* reallocate the array a->dp
diff --git a/bn_mp_init_size.c b/bn_mp_init_size.c
index d62268721..99573833f 100644
--- a/bn_mp_init_size.c
+++ b/bn_mp_init_size.c
@@ -6,6 +6,11 @@
/* init an mp_init for a given size */
mp_err mp_init_size(mp_int *a, int size)
{
+
+ if (size < 0) {
+ return MP_VAL;
+ }
+
size = MP_MAX(MP_MIN_PREC, size);
/* alloc mem */
diff --git a/bn_mp_mul_2d.c b/bn_mp_mul_2d.c
index 87354de20..bfeaf2eb2 100644
--- a/bn_mp_mul_2d.c
+++ b/bn_mp_mul_2d.c
@@ -9,6 +9,10 @@ mp_err mp_mul_2d(const mp_int *a, int b, mp_int *c)
mp_digit d;
mp_err err;
+ if (b < 0) {
+ return MP_VAL;
+ }
+
/* copy */
if (a != c) {
if ((err = mp_copy(a, c)) != MP_OKAY) {
diff --git a/bn_s_mp_mul_digs.c b/bn_s_mp_mul_digs.c
index 64509d4cb..3682b4980 100644
--- a/bn_s_mp_mul_digs.c
+++ b/bn_s_mp_mul_digs.c
@@ -16,6 +16,10 @@ mp_err s_mp_mul_digs(const mp_int *a, const mp_int *b, mp_int *c, int digs)
mp_word r;
mp_digit tmpx, *tmpt, *tmpy;
+ if (digs < 0) {
+ return MP_VAL;
+ }
+
/* can we use the fast multiplier? */
if ((digs < MP_WARRAY) &&
(MP_MIN(a->used, b->used) < MP_MAXFAST)) {
diff --git a/bn_s_mp_mul_digs_fast.c b/bn_s_mp_mul_digs_fast.c
index b2a287b02..3c4176a87 100644
--- a/bn_s_mp_mul_digs_fast.c
+++ b/bn_s_mp_mul_digs_fast.c
@@ -26,6 +26,10 @@ mp_err s_mp_mul_digs_fast(const mp_int *a, const mp_int *b, mp_int *c, int digs)
mp_digit W[MP_WARRAY];
mp_word _W;
+ if (digs < 0) {
+ return MP_VAL;
+ }
+
/* grow the destination as required */
if (c->alloc < digs) {
if ((err = mp_grow(c, digs)) != MP_OKAY) {
diff --git a/bn_s_mp_mul_high_digs.c b/bn_s_mp_mul_high_digs.c
index 2bb2a5098..c9dd355f8 100644
--- a/bn_s_mp_mul_high_digs.c
+++ b/bn_s_mp_mul_high_digs.c
@@ -15,6 +15,10 @@ mp_err s_mp_mul_high_digs(const mp_int *a, const mp_int *b, mp_int *c, int digs)
mp_word r;
mp_digit tmpx, *tmpt, *tmpy;
+ if (digs < 0) {
+ return MP_VAL;
+ }
+
/* can we use the fast multiplier? */
if (MP_HAS(S_MP_MUL_HIGH_DIGS_FAST)
&& ((a->used + b->used + 1) < MP_WARRAY)
diff --git a/bn_s_mp_mul_high_digs_fast.c b/bn_s_mp_mul_high_digs_fast.c
index a2c4fb692..4ce7f590c 100644
--- a/bn_s_mp_mul_high_digs_fast.c
+++ b/bn_s_mp_mul_high_digs_fast.c
@@ -19,6 +19,10 @@ mp_err s_mp_mul_high_digs_fast(const mp_int *a, const mp_int *b, mp_int *c, int
mp_digit W[MP_WARRAY];
mp_word _W;
+ if (digs < 0) {
+ return MP_VAL;
+ }
+
/* grow the destination as required */
pa = a->used + b->used;
if (c->alloc < pa) {

View File

@ -1,5 +1,5 @@
--- netsurf-3.8/utils/split-messages.pl.orig 1969-12-31 18:00:00.000000000 -0600
+++ netsurf-3.8/utils/split-messages.pl 2018-08-30 00:18:58.158367530 -0500
--- netsurf-3.11/tools/split-messages.pl.orig
+++ netsurf-3.11/tools/split-messages.pl
@@ -238,7 +238,7 @@
if( $opt{gzip} )

View File

@ -0,0 +1,120 @@
From 914aed3e04f71453fbdc30f4287e13ca3ce63a36 Mon Sep 17 00:00:00 2001
From: Tomas Volf <~@wolfsden.cz>
Date: Wed, 14 Feb 2024 20:02:03 +0100
Subject: [PATCH] Modify search for binaries to fit Guix model
Podman basically looked into the $PATH and into its libexec. That does not fit
Guix's model very well, to an additional option to specify additional
directories during compilation was added.
* pkg/rootless/rootless_linux.go
(tryMappingTool): Also check /run/setuid-programs.
* vendor/github.com/containers/common/pkg/config/config.go
(extraGuixDir): New function.
(FindHelperBinary): Use it.
* vendor/github.com/containers/storage/pkg/unshare/unshare_linux.go
(guixLookupSetuidPath): New function.
(Start): Use it.
---
pkg/rootless/rootless_linux.go | 3 +++
.../containers/common/pkg/config/config.go | 23 +++++++++++++++++++
.../storage/pkg/unshare/unshare_linux.go | 14 +++++++++--
3 files changed, 38 insertions(+), 2 deletions(-)
diff --git a/pkg/rootless/rootless_linux.go b/pkg/rootless/rootless_linux.go
index d303c8b..0191d90 100644
--- a/pkg/rootless/rootless_linux.go
+++ b/pkg/rootless/rootless_linux.go
@@ -102,6 +102,9 @@ func tryMappingTool(uid bool, pid int, hostID int, mappings []idtools.IDMap) err
idtype = "setgid"
}
path, err := exec.LookPath(tool)
+ if err != nil {
+ path, err = exec.LookPath("/run/setuid-programs/" + tool)
+ }
if err != nil {
return fmt.Errorf("command required for rootless mode with multiple IDs: %w", err)
}
diff --git a/vendor/github.com/containers/common/pkg/config/config.go b/vendor/github.com/containers/common/pkg/config/config.go
index 75b917f..ed2f131 100644
--- a/vendor/github.com/containers/common/pkg/config/config.go
+++ b/vendor/github.com/containers/common/pkg/config/config.go
@@ -1102,6 +1102,24 @@ func findBindir() string {
return bindirCached
}
+func extraGuixDir(bin_name string) string {
+ if (bin_name == "slirp4netns") {
+ return "@SLIRP4NETNS_DIR@";
+ } else if (bin_name == "pasta") {
+ return "@PASST_DIR@";
+ } else if (strings.HasPrefix(bin_name, "qemu-")) {
+ return "@QEMU_DIR@";
+ } else if (bin_name == "gvproxy") {
+ return "@GVPROXY_DIR@";
+ } else if (bin_name == "netavark") {
+ return "@NETAVARK_DIR@";
+ } else if (bin_name == "aardvark-dns") {
+ return "@AARDVARK_DNS_DIR@";
+ } else {
+ return "";
+ }
+}
+
// FindHelperBinary will search the given binary name in the configured directories.
// If searchPATH is set to true it will also search in $PATH.
func (c *Config) FindHelperBinary(name string, searchPATH bool) (string, error) {
@@ -1109,6 +1127,11 @@ func (c *Config) FindHelperBinary(name string, searchPATH bool) (string, error)
bindirPath := ""
bindirSearched := false
+ if dir := extraGuixDir(name); dir != "" {
+ /* If there is a Guix dir, skip the PATH search. */
+ dirList = append([]string{dir}, dirList...)
+ }
+
// If set, search this directory first. This is used in testing.
if dir, found := os.LookupEnv("CONTAINERS_HELPER_BINARY_DIR"); found {
dirList = append([]string{dir}, dirList...)
diff --git a/vendor/github.com/containers/storage/pkg/unshare/unshare_linux.go b/vendor/github.com/containers/storage/pkg/unshare/unshare_linux.go
index a8dc1ba..0b0d755 100644
--- a/vendor/github.com/containers/storage/pkg/unshare/unshare_linux.go
+++ b/vendor/github.com/containers/storage/pkg/unshare/unshare_linux.go
@@ -26,6 +26,16 @@ import (
"github.com/syndtr/gocapability/capability"
)
+func guixLookupSetuidPath(prog string) (string, error) {
+ path, err := exec.LookPath(prog)
+ if err != nil {
+ path, err = exec.LookPath("/run/setuid-programs/" + prog)
+ }
+ return path, err
+}
+
+
+
// Cmd wraps an exec.Cmd created by the reexec package in unshare(), and
// handles setting ID maps and other related settings by triggering
// initialization code in the child.
@@ -237,7 +247,7 @@ func (c *Cmd) Start() error {
gidmapSet := false
// Set the GID map.
if c.UseNewgidmap {
- path, err := exec.LookPath("newgidmap")
+ path, err := guixLookupSetuidPath("newgidmap")
if err != nil {
return fmt.Errorf("finding newgidmap: %w", err)
}
@@ -297,7 +307,7 @@ func (c *Cmd) Start() error {
uidmapSet := false
// Set the UID map.
if c.UseNewuidmap {
- path, err := exec.LookPath("newuidmap")
+ path, err := guixLookupSetuidPath("newuidmap")
if err != nil {
return fmt.Errorf("finding newuidmap: %w", err)
}
--
2.41.0

View File

@ -1,52 +0,0 @@
From f19410ac3b27e33dd62105746784e61e85b90a1d Mon Sep 17 00:00:00 2001
From: Jean Ghali <jghali@libertysurf.fr>
Date: Wed, 2 Mar 2022 22:22:53 +0000
Subject: [PATCH] #16764: Build break with poppler 22.03.0
git-svn-id: svn://scribus.net/trunk/Scribus@24982 11d20701-8431-0410-a711-e3c959e3b870
---
scribus/plugins/import/pdf/importpdf.cpp | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/scribus/plugins/import/pdf/importpdf.cpp b/scribus/plugins/import/pdf/importpdf.cpp
index 154e58a3f0..392dcd9e64 100644
--- a/scribus/plugins/import/pdf/importpdf.cpp
+++ b/scribus/plugins/import/pdf/importpdf.cpp
@@ -89,7 +89,11 @@ QImage PdfPlug::readThumbnail(const QString& fName)
#endif
globalParams->setErrQuiet(gTrue);
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0)
+ PDFDoc pdfDoc{ std::make_unique<GooString>(fname) };
+#else
PDFDoc pdfDoc{fname, nullptr, nullptr, nullptr};
+#endif
if (!pdfDoc.isOk() || pdfDoc.getErrorCode() == errEncrypted)
return QImage();
@@ -342,7 +346,11 @@ bool PdfPlug::convert(const QString& fn)
globalParams->setErrQuiet(gTrue);
// globalParams->setPrintCommands(gTrue);
QList<OptionalContentGroup*> ocgGroups;
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0)
+ auto pdfDoc = std::make_unique<PDFDoc>(std::make_unique<GooString>(fname));
+#else
auto pdfDoc = std::unique_ptr<PDFDoc>(new PDFDoc(fname, nullptr, nullptr, nullptr));
+#endif
if (pdfDoc)
{
if (pdfDoc->getErrorCode() == errEncrypted)
@@ -361,8 +369,13 @@ bool PdfPlug::convert(const QString& fn)
#else
auto fname = new GooString(QFile::encodeName(fn).data());
#endif
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0)
+ std::optional<GooString> userPW(std::in_place, text.toLocal8Bit().data());
+ pdfDoc.reset(new PDFDoc(std::make_unique<GooString>(fname), userPW, userPW, nullptr));
+#else
auto userPW = new GooString(text.toLocal8Bit().data());
pdfDoc.reset(new PDFDoc(fname, userPW, userPW, nullptr));
+#endif
qApp->changeOverrideCursor(QCursor(Qt::WaitCursor));
}
if ((!pdfDoc) || (pdfDoc->getErrorCode() != errNone))

View File

@ -1,291 +0,0 @@
https://bugs.gentoo.org/843287
https://github.com/scribusproject/scribus/commit/f2237b8f0b5cf7690e864a22ef7a63a6d769fa36.patch
From f2237b8f0b5cf7690e864a22ef7a63a6d769fa36 Mon Sep 17 00:00:00 2001
From: Jean Ghali <jghali@libertysurf.fr>
Date: Fri, 1 Apr 2022 23:52:32 +0000
Subject: [PATCH] Fix build with poppler 22.04.0
git-svn-id: svn://scribus.net/trunk/Scribus@25074 11d20701-8431-0410-a711-e3c959e3b870
---
scribus/plugins/import/pdf/slaoutput.cpp | 123 ++++++++++++++---------
1 file changed, 78 insertions(+), 45 deletions(-)
diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
index e20a81f99e..5626fe3477 100644
--- a/scribus/plugins/import/pdf/slaoutput.cpp
+++ b/scribus/plugins/import/pdf/slaoutput.cpp
@@ -174,8 +174,13 @@ void AnoOutputDev::drawString(GfxState *state, POPPLER_CONST GooString *s)
int shade = 100;
currColorText = getColor(state->getFillColorSpace(), state->getFillColor(), &shade);
fontSize = state->getFontSize();
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
+ if (state->getFont() && state->getFont()->getName())
+ fontName = new GooString(state->getFont()->getName().value());
+#else
if (state->getFont())
fontName = state->getFont()->getName()->copy();
+#endif
itemText = s->copy();
}
@@ -357,7 +362,12 @@ std::unique_ptr<LinkAction> SlaOutputDev::SC_getAdditionalAction(const char *key
GBool SlaOutputDev::annotations_callback(Annot *annota, void *user_data)
{
SlaOutputDev *dev = (SlaOutputDev*)user_data;
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
+ const PDFRectangle& annotRect = annota->getRect();;
+ const PDFRectangle* box = &annotRect;
+#else
PDFRectangle *box = annota->getRect();
+#endif
double xCoor = dev->m_doc->currentPage()->xOffset() + box->x1 - dev->cropOffsetX;
double yCoor = dev->m_doc->currentPage()->yOffset() + dev->m_doc->currentPage()->height() - box->y2 + dev->cropOffsetY;
double width = box->x2 - box->x1;
@@ -684,7 +694,12 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
if (apa || !achar)
{
AnoOutputDev *annotOutDev = new AnoOutputDev(m_doc, m_importedColors);
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
+ const PDFRectangle& annotaRect = annota->getRect();
+ Gfx* gfx = new Gfx(pdfDoc, annotOutDev, pdfDoc->getPage(m_actPage)->getResourceDict(), &annotaRect, nullptr);
+#else
Gfx *gfx = new Gfx(pdfDoc, annotOutDev, pdfDoc->getPage(m_actPage)->getResourceDict(), annota->getRect(), nullptr);
+#endif
ano->draw(gfx, false);
if (!bgFound)
m_currColorFill = annotOutDev->currColorFill;
@@ -2916,22 +2931,27 @@ void SlaOutputDev::markPoint(POPPLER_CONST char *name, Dict *properties)
void SlaOutputDev::updateFont(GfxState *state)
{
- GfxFont *gfxFont;
-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
+ std::optional<GfxFontLoc> fontLoc;
+ std::string fileName;
+ std::unique_ptr<FoFiTrueType> ff;
+ std::optional<std::vector<unsigned char>> tmpBuf;
+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
std::optional<GfxFontLoc> fontLoc;
const GooString * fileName = nullptr;
std::unique_ptr<FoFiTrueType> ff;
+ char* tmpBuf = nullptr;
#else
GfxFontLoc * fontLoc = nullptr;
GooString * fileName = nullptr;
FoFiTrueType * ff = nullptr;
+ char* tmpBuf = nullptr;
#endif
GfxFontType fontType;
SlaOutFontFileID *id;
SplashFontFile *fontFile;
SplashFontSrc *fontsrc = nullptr;
Object refObj, strObj;
- char *tmpBuf = nullptr;
int tmpBufLen = 0;
int *codeToGID = nullptr;
const double *textMat = nullptr;
@@ -2943,7 +2963,11 @@ void SlaOutputDev::updateFont(GfxState *state)
m_font = nullptr;
- gfxFont = state->getFont();
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
+ GfxFont* gfxFont = state->getFont().get();
+#else
+ GfxFont* gfxFont = state->getFont();
+#endif
if (!gfxFont)
goto err1;
@@ -2968,15 +2992,23 @@ void SlaOutputDev::updateFont(GfxState *state)
if (fontLoc->locType == gfxFontLocEmbedded)
{
// if there is an embedded font, read it to memory
- tmpBuf = gfxFont->readEmbFontFile(xref, &tmpBufLen);
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
+ tmpBuf = gfxFont->readEmbFontFile((xref) ? xref : pdfDoc->getXRef());
if (! tmpBuf)
goto err2;
+#else
+ tmpBuf = gfxFont->readEmbFontFile(xref, &tmpBufLen);
+ if (!tmpBuf)
+ goto err2;
+#endif
// external font
}
else
{ // gfxFontLocExternal
-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
+ fileName = fontLoc->path;
+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
fileName = fontLoc->pathAsGooString();
#else
fileName = fontLoc->path;
@@ -2985,52 +3017,54 @@ void SlaOutputDev::updateFont(GfxState *state)
}
fontsrc = new SplashFontSrc;
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
+ if (!fileName.empty())
+ fontsrc->setFile(fileName);
+ else
+ fontsrc->setBuf(std::move(tmpBuf.value()));
+#else
if (fileName)
fontsrc->setFile(fileName, gFalse);
else
fontsrc->setBuf(tmpBuf, tmpBufLen, gTrue);
+#endif
// load the font file
switch (fontType) {
case fontType1:
- if (!(fontFile = m_fontEngine->loadType1Font(
- id,
- fontsrc,
- (const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
+ if (!(fontFile = m_fontEngine->loadType1Font(id, fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
{
- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
goto err2;
}
break;
case fontType1C:
- if (!(fontFile = m_fontEngine->loadType1CFont(
- id,
- fontsrc,
- (const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
+ if (!(fontFile = m_fontEngine->loadType1CFont(id, fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
{
- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
goto err2;
}
break;
case fontType1COT:
- if (!(fontFile = m_fontEngine->loadOpenTypeT1CFont(
- id,
- fontsrc,
- (const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
+ if (!(fontFile = m_fontEngine->loadOpenTypeT1CFont(id, fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
{
- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
goto err2;
}
break;
case fontTrueType:
case fontTrueTypeOT:
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
+ if (!fileName.empty())
+ ff = FoFiTrueType::load(fileName.c_str());
+ else
+ ff = FoFiTrueType::make(fontsrc->buf.data(), fontsrc->buf.size());
+#else
if (fileName)
ff = FoFiTrueType::load(fileName->getCString());
else
ff = FoFiTrueType::make(tmpBuf, tmpBufLen);
+#endif
if (ff)
{
#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
@@ -3047,24 +3081,17 @@ void SlaOutputDev::updateFont(GfxState *state)
codeToGID = nullptr;
n = 0;
}
- if (!(fontFile = m_fontEngine->loadTrueTypeFont(
- id,
- fontsrc,
- codeToGID, n)))
+ if (!(fontFile = m_fontEngine->loadTrueTypeFont(id, fontsrc, codeToGID, n)))
{
- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
goto err2;
}
break;
case fontCIDType0:
case fontCIDType0C:
- if (!(fontFile = m_fontEngine->loadCIDFont(
- id,
- fontsrc)))
+ if (!(fontFile = m_fontEngine->loadCIDFont(id, fontsrc)))
{
- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
goto err2;
}
break;
@@ -3080,10 +3107,7 @@ void SlaOutputDev::updateFont(GfxState *state)
codeToGID = nullptr;
n = 0;
}
- if (!(fontFile = m_fontEngine->loadOpenTypeCFFFont(
- id,
- fontsrc,
- codeToGID, n)))
+ if (!(fontFile = m_fontEngine->loadOpenTypeCFFFont(id, fontsrc, codeToGID, n)))
{
error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
@@ -3105,10 +3129,17 @@ void SlaOutputDev::updateFont(GfxState *state)
}
else
{
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
+ if (!fileName.empty())
+ ff = FoFiTrueType::load(fileName.c_str());
+ else
+ ff = FoFiTrueType::make(fontsrc->buf.data(), fontsrc->buf.size());
+#else
if (fileName)
ff = FoFiTrueType::load(fileName->getCString());
else
ff = FoFiTrueType::make(tmpBuf, tmpBufLen);
+#endif
if (! ff)
goto err2;
#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
@@ -3119,13 +3150,9 @@ void SlaOutputDev::updateFont(GfxState *state)
delete ff;
#endif
}
- if (!(fontFile = m_fontEngine->loadTrueTypeFont(
- id,
- fontsrc,
- codeToGID, n, faceIndex)))
+ if (!(fontFile = m_fontEngine->loadTrueTypeFont(id, fontsrc, codeToGID, n, faceIndex)))
{
- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
goto err2;
}
break;
@@ -3269,9 +3296,15 @@ void SlaOutputDev::drawChar(GfxState* state, double x, double y, double dx, doub
GBool SlaOutputDev::beginType3Char(GfxState *state, double x, double y, double dx, double dy, CharCode code, POPPLER_CONST_082 Unicode *u, int uLen)
{
// qDebug() << "beginType3Char";
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
GfxFont *gfxFont;
+ if (!(gfxFont = state->getFont().get()))
+ return gTrue;
+#else
+ GfxFont* gfxFont;
if (!(gfxFont = state->getFont()))
return gTrue;
+#endif
if (gfxFont->getType() != fontType3)
return gTrue;
F3Entry f3e;

View File

@ -1,20 +0,0 @@
--- a/scribus/plugins/import/pdf/slaoutput.cpp
+++ b/scribus/plugins/import/pdf/slaoutput.cpp
@@ -3741,9 +3741,16 @@ void SlaOutputDev::getPenState(GfxState *state)
break;
}
double lw = state->getLineWidth();
- double *dashPattern;
int dashLength;
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 9, 0)
+ const double *dashPattern;
+ const std::vector<double> &dash = state->getLineDash(&DashOffset);
+ dashPattern = dash.data();
+ dashLength = dash.size();
+#else
+ double *dashPattern;
state->getLineDash(&dashPattern, &dashLength, &DashOffset);
+#endif
QVector<double> pattern(dashLength);
for (int i = 0; i < dashLength; ++i)
{

View File

@ -1,129 +0,0 @@
From 85c0dff3422fa3c26fbc2e8d8561f597ec24bd92 Mon Sep 17 00:00:00 2001
From: Jean Ghali <jghali@libertysurf.fr>
Date: Wed, 2 Feb 2022 23:12:52 +0000
Subject: [PATCH] #16734: Build break with poppler 22.2.0
git-svn-id: svn://scribus.net/trunk/Scribus@24884 11d20701-8431-0410-a711-e3c959e3b870
---
scribus/plugins/import/pdf/slaoutput.cpp | 47 +++++++++++++++++++-----
1 file changed, 37 insertions(+), 10 deletions(-)
diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
index 5894bf2ad6..3650c96f52 100644
--- a/scribus/plugins/import/pdf/slaoutput.cpp
+++ b/scribus/plugins/import/pdf/slaoutput.cpp
@@ -7,6 +7,11 @@ for which a new license (GPL+exception) is in place.
#include "slaoutput.h"
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
+#include <memory>
+#include <optional>
+#endif
+
#include <poppler/GlobalParams.h>
#include <poppler/poppler-config.h>
#include <poppler/FileSpec.h>
@@ -3027,18 +3032,24 @@ void SlaOutputDev::markPoint(POPPLER_CONST char *name, Dict *properties)
void SlaOutputDev::updateFont(GfxState *state)
{
GfxFont *gfxFont;
- GfxFontLoc *fontLoc;
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
+ std::optional<GfxFontLoc> fontLoc;
+ const GooString * fileName = nullptr;
+ std::unique_ptr<FoFiTrueType> ff;
+#else
+ GfxFontLoc * fontLoc = nullptr;
+ GooString * fileName = nullptr;
+ FoFiTrueType * ff = nullptr;
+#endif
GfxFontType fontType;
SlaOutFontFileID *id;
SplashFontFile *fontFile;
SplashFontSrc *fontsrc = nullptr;
- FoFiTrueType *ff;
Object refObj, strObj;
- GooString *fileName;
- char *tmpBuf;
+ char *tmpBuf = nullptr;
int tmpBufLen = 0;
- int *codeToGID;
- const double *textMat;
+ int *codeToGID = nullptr;
+ const double *textMat = nullptr;
double m11, m12, m21, m22, fontSize;
SplashCoord mat[4];
int n = 0;
@@ -3046,9 +3057,6 @@ void SlaOutputDev::updateFont(GfxState *state)
SplashCoord matrix[6];
m_font = nullptr;
- fileName = nullptr;
- tmpBuf = nullptr;
- fontLoc = nullptr;
gfxFont = state->getFont();
if (!gfxFont)
@@ -3083,7 +3091,11 @@ void SlaOutputDev::updateFont(GfxState *state)
}
else
{ // gfxFontLocExternal
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
+ fileName = fontLoc->pathAsGooString();
+#else
fileName = fontLoc->path;
+#endif
fontType = fontLoc->fontType;
}
@@ -3136,9 +3148,14 @@ void SlaOutputDev::updateFont(GfxState *state)
ff = FoFiTrueType::make(tmpBuf, tmpBufLen);
if (ff)
{
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
+ codeToGID = ((Gfx8BitFont*) gfxFont)->getCodeToGIDMap(ff.get());
+ ff.reset();
+#else
codeToGID = ((Gfx8BitFont *)gfxFont)->getCodeToGIDMap(ff);
- n = 256;
delete ff;
+#endif
+ n = 256;
}
else
{
@@ -3209,8 +3226,13 @@ void SlaOutputDev::updateFont(GfxState *state)
ff = FoFiTrueType::make(tmpBuf, tmpBufLen);
if (! ff)
goto err2;
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
+ codeToGID = ((GfxCIDFont*) gfxFont)->getCodeToGIDMap(ff.get(), &n);
+ ff.reset();
+#else
codeToGID = ((GfxCIDFont *)gfxFont)->getCodeToGIDMap(ff, &n);
delete ff;
+#endif
}
if (!(fontFile = m_fontEngine->loadTrueTypeFont(
id,
@@ -3247,14 +3269,19 @@ void SlaOutputDev::updateFont(GfxState *state)
mat[3] = -m22;
m_font = m_fontEngine->getFont(fontFile, mat, matrix);
+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(22, 2, 0)
delete fontLoc;
+#endif
if (fontsrc && !fontsrc->isFile)
fontsrc->unref();
return;
err2:
delete id;
+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(22, 2, 0)
delete fontLoc;
+#endif
+
err1:
if (fontsrc && !fontsrc->isFile)
fontsrc->unref();

View File

@ -1,28 +0,0 @@
From f75c1613db67f4067643d0218a2db3235e42ec9f Mon Sep 17 00:00:00 2001
From: Jean Ghali <jghali@libertysurf.fr>
Date: Thu, 3 Feb 2022 19:46:13 +0000
Subject: [PATCH] Small update vs latest code in poppler
git-svn-id: svn://scribus.net/trunk/Scribus@24885 11d20701-8431-0410-a711-e3c959e3b870
---
scribus/plugins/import/pdf/slaoutput.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
index 3650c96f52..a6f4e00fa9 100644
--- a/scribus/plugins/import/pdf/slaoutput.cpp
+++ b/scribus/plugins/import/pdf/slaoutput.cpp
@@ -3072,10 +3072,10 @@ void SlaOutputDev::updateFont(GfxState *state)
delete id;
else
{
- if (!(fontLoc = gfxFont->locateFont(xref, nullptr)))
+ fontLoc = gfxFont->locateFont((xref) ? xref : pdfDoc->getXRef(), nullptr);
+ if (!fontLoc)
{
- error(errSyntaxError, -1, "Couldn't find a font for '{0:s}'",
- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
+ error(errSyntaxError, -1, "Couldn't find a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
goto err2;
}

View File

@ -0,0 +1,82 @@
Patch fetched from https://git.alpinelinux.org/aports/tree/community/sioyek/mupdf-0.23.0.patch
From 86e913eccf19b97a16f25d9b6cdf0f50232f1226 Mon Sep 17 00:00:00 2001
From: ptrcnull <git@ptrcnull.me>
Date: Fri, 25 Aug 2023 22:44:26 +0200
Subject: community/sioyek: fix build with mupdf-0.23.0
---
diff --git a/pdf_viewer/document_view.cpp b/pdf_viewer/document_view.cpp
index f48d05e..0bc3855 100644
--- a/pdf_viewer/document_view.cpp
+++ b/pdf_viewer/document_view.cpp
@@ -1121,7 +1121,7 @@ std::vector<DocumentPos> DocumentView::find_line_definitions() {
std::optional<PdfLink> pdf_link = current_document->get_link_in_page_rect(get_center_page_number(), line_rects[line_index]);
if (pdf_link.has_value()) {
- auto parsed_uri = parse_uri(mupdf_context, pdf_link.value().uri);
+ auto parsed_uri = parse_uri(mupdf_context, current_document->doc, pdf_link.value().uri);
result.push_back({ parsed_uri.page - 1, parsed_uri.x, parsed_uri.y });
return result;
}
diff --git a/pdf_viewer/main_widget.cpp b/pdf_viewer/main_widget.cpp
index 19b568b..335a93f 100644
--- a/pdf_viewer/main_widget.cpp
+++ b/pdf_viewer/main_widget.cpp
@@ -170,7 +170,7 @@ void MainWidget::set_overview_position(int page, float offset) {
void MainWidget::set_overview_link(PdfLink link) {
- auto [page, offset_x, offset_y] = parse_uri(mupdf_context, link.uri);
+ auto [page, offset_x, offset_y] = parse_uri(mupdf_context, doc()->doc, link.uri);
if (page >= 1) {
set_overview_position(page - 1, offset_y);
}
@@ -3178,7 +3178,7 @@ void MainWidget::handle_pending_text_command(std::wstring text) {
open_web_url(utf8_decode(selected_link->uri));
}
else{
- auto [page, offset_x, offset_y] = parse_uri(mupdf_context, selected_link->uri);
+ auto [page, offset_x, offset_y] = parse_uri(mupdf_context, doc()->doc, selected_link->uri);
long_jump_to_destination(page-1, offset_y);
}
}
@@ -3863,7 +3863,7 @@ void MainWidget::handle_link_click(const PdfLink& link) {
return;
}
- auto [page, offset_x, offset_y] = parse_uri(mupdf_context, link.uri);
+ auto [page, offset_x, offset_y] = parse_uri(mupdf_context, doc()->doc, link.uri);
// convert one indexed page to zero indexed page
page--;
diff --git a/pdf_viewer/utils.cpp b/pdf_viewer/utils.cpp
index 22d4265..3150e66 100644
--- a/pdf_viewer/utils.cpp
+++ b/pdf_viewer/utils.cpp
@@ -116,8 +116,9 @@ bool rects_intersect(fz_rect rect1, fz_rect rect2) {
return range_intersects(rect1.x0, rect1.x1, rect2.x0, rect2.x1) && range_intersects(rect1.y0, rect1.y1, rect2.y0, rect2.y1);
}
-ParsedUri parse_uri(fz_context* mupdf_context, std::string uri) {
- fz_link_dest dest = pdf_parse_link_uri(mupdf_context, uri.c_str());
+ParsedUri parse_uri(fz_context* mupdf_context, fz_document* fz_doc, std::string uri) {
+ pdf_document* doc = pdf_document_from_fz_document(mupdf_context, fz_doc);
+ fz_link_dest dest = pdf_resolve_link_dest(mupdf_context, doc, uri.c_str());
return { dest.loc.page + 1, dest.x, dest.y };
}
diff --git a/pdf_viewer/utils.h b/pdf_viewer/utils.h
index 2a12211..643b030 100644
--- a/pdf_viewer/utils.h
+++ b/pdf_viewer/utils.h
@@ -55,7 +55,7 @@ void get_flat_toc(const std::vector<TocNode*>& roots, std::vector<std::wstring>&
int mod(int a, int b);
bool range_intersects(float range1_start, float range1_end, float range2_start, float range2_end);
bool rects_intersect(fz_rect rect1, fz_rect rect2);
-ParsedUri parse_uri(fz_context* mupdf_context, std::string uri);
+ParsedUri parse_uri(fz_context* mupdf_context, fz_document* fz_doc, std::string uri);
char get_symbol(int key, bool is_shift_pressed, const std::vector<char>&special_symbols);
template<typename T>

View File

@ -301,7 +301,7 @@ GiB).")
(define-public meld
(package
(name "meld")
(version "3.22.0")
(version "3.22.1")
(source
(origin
(method url-fetch)
@ -309,7 +309,7 @@ GiB).")
(version-major+minor version)
"/meld-" version ".tar.xz"))
(sha256
(base32 "03f4j27amyi28flkks8i9bhqzd6xhm6d3c6jzxc57rzniv4hgh9z"))))
(base32 "0dk8j27jlqhxcjrkc8pa3rl7fz7pfwvrbyrhfsx1ld6lvcrbvlvd"))))
(build-system meson-build-system)
(native-inputs
(list desktop-file-utils

View File

@ -25,6 +25,7 @@
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2023 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2024 dan <i@dan.games>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1710,3 +1711,62 @@ python library.
Keywords: html2pdf, htmltopdf")
(license license:bsd-3)))
(define-public sioyek
(package
(name "sioyek")
(version "2.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ahrm/sioyek")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1vmmp2s032ygh1byz77pg9aljmp8hx745fr7mmz11831f96mlmhq"))
(modules '((guix build utils)))
;; libmupdf-third.so no longer available since mupdf 1.18.0.
(snippet '(substitute* "pdf_viewer_build_config.pro"
(("-lmupdf-third") "")))
;; XXX: Fix build with mupdf-0.23.0+.
;; See also: https://github.com/ahrm/sioyek/issues/804
(patches (search-patches "sioyek-fix-build.patch"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list (string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda _
(substitute* "pdf_viewer/main.cpp"
(("/usr/share")
(string-append #$output "/share"))
(("/etc")
(string-append #$output "/etc")))))
(replace 'configure
(lambda* (#:key configure-flags #:allow-other-keys)
(apply invoke "qmake" configure-flags)))
(add-after 'install 'instal-man-page
(lambda _
(install-file "resources/sioyek.1"
(string-append #$output "/share/man/man1")))))))
(inputs
(list freetype
gumbo-parser
harfbuzz
jbig2dec
libjpeg-turbo
mujs
mupdf
openjpeg
qt3d-5
qtbase-5
zlib))
(home-page "https://sioyek.info/")
(synopsis "PDF viewer with a focus on technical books and research papers")
(description
"Sioyek is a PDF viewer with a focus on textbooks and research papers.")
(license license:gpl3+)))

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019, 2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -22,27 +23,28 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix build-system perl)
#:use-module (guix build-system rakudo)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages tls))
(define-public moarvm
(package
(name "moarvm")
(version "2019.03")
(version "2022.04")
(source
(origin
(method url-fetch)
(uri (string-append "https://moarvm.org/releases/MoarVM-"
version ".tar.gz"))
(sha256
(base32
"017w1zvr6yl0cgjfc1b3ddlc6vjw9q8p7alw1vvsckw95190xc14"))
(base32 "0128fxqaz7cwjf6amaz2cgd7xl52zvi5fr7bwnj229snll5za1mf"))
(modules '((guix build utils)))
(snippet
'(begin
@ -52,18 +54,24 @@
(delete-file-recursively "3rdparty/libatomicops")
(delete-file-recursively "3rdparty/libuv")
(delete-file-recursively "3rdparty/libtommath")
(delete-file-recursively "3rdparty/msinttypes")
#t))))
(delete-file-recursively "3rdparty/msinttypes")))))
(build-system perl-build-system)
(arguments
'(#:phases
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-build
(lambda _
(substitute* "build/Makefile.in"
(("^ +3rdparty/freebsd/.*") ""))))
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(pkg-config (assoc-ref inputs "pkg-config")))
(setenv "CFLAGS" "-fcommon")
(setenv "LDFLAGS" (string-append "-Wl,-rpath=" out "/lib"))
(setenv "LDFLAGS"
,@(if (target-ppc32?)
`((string-append "-Wl,-rpath=" out "/lib" " -latomic"))
`((string-append "-Wl,-rpath=" out "/lib"))))
(invoke "perl" "Configure.pl"
"--prefix" out
"--pkgconfig" (string-append pkg-config "/bin/pkg-config")
@ -72,11 +80,11 @@
"--has-libffi"
"--has-libuv")))))))
(home-page "https://moarvm.org/")
;; These should be inputs but moar.h can't find them when building rakudo
(propagated-inputs
(list libatomic-ops libffi libtommath-1.0 libuv))
(native-inputs
(list pkg-config))
;; These should be inputs but moar.h can't find them when building Rakudo.
(propagated-inputs
(list libatomic-ops libffi libtommath libuv))
(synopsis "VM for NQP And Rakudo Perl 6")
(description
"Short for \"Metamodel On A Runtime\", MoarVM is a modern virtual machine
@ -96,48 +104,100 @@ with native libraries.
@end itemize")
(license license:artistic2.0)))
(define-public nqp
(define-public nqp-configure
(let ((commit "9b98931e0bfb8c4aac61590edf5074e63aa8ea4b"))
(package
(name "nqp")
(version "2019.03")
(name "nqp-configure")
;; NQP and Rakudo use the same version of nqp-configure.
;; We may as well set nqp-configure's version to the same as theirs.
(version "2022.04")
(source
(origin
(method url-fetch)
(uri (string-append "https://rakudo.perl6.org/downloads/nqp/nqp-"
version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/Raku/nqp-configure")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"183zhll13fx416s3hkg4bkvib77kyr857h0nydgrl643fpacxp83"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "3rdparty") #t))))
(base32 "1vc1q11kjb964jal9dhgf5vwp371a3rfw7gj987n33kzli7a10n0"))))
(build-system perl-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'create-makefile-and-manifest
(lambda _
(call-with-output-file "Makefile.PL"
(lambda (port)
(format port "
use ExtUtils::MakeMaker;
WriteMakefile(NAME => 'NQP::Config');\n")))
(call-with-output-file "MANIFEST"
(lambda (port)
(format port "
LICENSE
MANIFEST
Makefile.PL
README.md
bin/make.nqp
doc/Macros.md
doc/NQP-Config.md
lib/NQP/Config.pm
lib/NQP/Config/Test.pm
lib/NQP/Macros.pm
t/10-config.t
t/20-macros.t
t/30-if-macro.t\n")))))
(add-after 'patch-source-shebangs 'patch-more-shebangs
(lambda _
(substitute* '("tools/build/install-jvm-runner.pl.in"
(substitute* '("bin/make.nqp"
"lib/NQP/Config.pm")
(("/bin/sh") (which "sh"))))))))
(home-page "https://github.com/Raku/nqp-configure")
(synopsis "Configuration and build modules for NQP")
(description "This library provides support modules for NQP and Rakudo
@file{Configure.pl} scripts.")
(license license:artistic2.0))))
(define-public nqp
(package
(name "nqp")
(version "2022.04")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/Raku/nqp/releases/download/"
version "/nqp-" version ".tar.gz"))
(sha256
(base32 "1777shxr8qw6m2492ckb0r301qdx5gls6kphz554dh6k4n74avam"))
(modules '((guix build utils)))
(snippet
'(delete-file-recursively "3rdparty"))))
(build-system perl-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-calls-to-git
(lambda _
(invoke "perl" "-ni" "-e"
"print if not /^BEGIN {/ .. /^}/"
"Configure.pl")))
(add-after 'remove-calls-to-git 'fix-paths
(lambda _
(substitute* "tools/build/gen-version.pl"
(("catfile\\(\\$libdir, 'MAST', \\$_\\)")
(string-append "catfile('"
(assoc-ref %build-inputs "moarvm")
"/share/nqp/lib"
"', 'MAST', $_)")))))
(add-after 'patch-source-shebangs 'patch-more-shebangs
(lambda _
(substitute* '("t/nqp/111-spawnprocasync.t"
"t/nqp/113-run-command.t"
"tools/build/gen-js-cross-runner.pl"
"tools/build/gen-js-runner.pl"
"tools/build/install-js-runner.pl"
"tools/build/install-moar-runner.pl"
"tools/build/gen-moar-runner.pl"
"t/nqp/111-spawnprocasync.t"
"t/nqp/113-run-command.t")
(("/bin/sh") (which "sh")))
#t))
(add-after 'unpack 'patch-source-date
(lambda _
(substitute* "tools/build/gen-version.pl"
(("gmtime") "gmtime(0)"))
#t))
(add-after 'unpack 'remove-failing-test
;; One subtest fails for unknown reasons
(lambda _
(delete-file "t/nqp/019-file-ops.t")
#t))
"tools/build/install-jvm-runner.pl.in")
(("/bin/sh") (which "sh")))))
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
@ -146,69 +206,93 @@ with native libraries.
"--backends=moar"
"--with-moar" (string-append moar "/bin/moar")
"--prefix" out)))))))
(native-inputs
(list nqp-configure))
(inputs
(list moarvm))
(home-page "https://github.com/perl6/nqp")
(home-page "https://github.com/Raku/nqp")
(synopsis "Not Quite Perl")
(description "This is \"Not Quite Perl\" -- a lightweight Perl 6-like
environment for virtual machines. The key feature of NQP is that it's designed
to be a very small environment (as compared with, say, perl6 or Rakudo) and is
focused on being a high-level way to create compilers and libraries for virtual
machines like MoarVM, the JVM, and others.
(description "This is \"Not Quite Perl\" -- a lightweight Raku-like
environment for virtual machines. The key feature of NQP is that it's
designed to be a very small environment (as compared with, say, Rakudo) and is
focused on being a high-level way to create compilers and libraries for
virtual machines like MoarVM, the JVM, and others.
Unlike a full-fledged implementation of Perl 6, NQP strives to have as small a
runtime footprint as it can, while still providing a Perl 6 object model and
Unlike a full-fledged implementation of Raku, NQP strives to have as small a
runtime footprint as it can, while still providing a Raku object model and
regular expression engine for the virtual machine.")
(license license:artistic2.0)))
(define-public rakudo
(package
(name "rakudo")
(version "2019.03.1")
(version "2022.04")
(source
(origin
(method url-fetch)
(uri (string-append "https://rakudo.perl6.org/downloads/rakudo/rakudo-"
version ".tar.gz"))
(uri (string-append "https://github.com/rakudo/rakudo/releases/download/"
version "/rakudo-" version ".tar.gz"))
(sha256
(base32
"1nllf69v8xr6v3kkj7pmryg11n5m3ajfkr7j72pvhrgnjy8lv3r1"))))
(base32 "0x0w5b8g5kna1mlvsli9dqmnwvqalrar3cgpixmyiyvyjb6ah4vy"))
(modules '((guix build utils)))
(snippet
'(delete-file-recursively "3rdparty"))))
(build-system perl-build-system)
(arguments
'(#:phases
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-source-date
(add-after 'unpack 'remove-calls-to-git
(lambda _
(substitute* "tools/build/gen-version.pl"
(("gmtime") "gmtime(0)"))
#t))
(invoke "perl" "-ni" "-e" "print if not /^BEGIN {/ .. /^}/"
"Configure.pl")))
(add-after 'remove-calls-to-git 'fix-paths
(lambda _
(substitute* "tools/templates/Makefile-common-macros.in"
(("NQP_CONFIG_DIR = .*")
(string-append "NQP_CONFIG_DIR = "
(assoc-ref %build-inputs "nqp-configure")
"/lib/perl5/site_perl/"
,(package-version perl)
"\n")))))
;; These tests pass when run manually.
(add-after 'fix-paths 'disable-failing-tests
(lambda _
(substitute* "t/02-rakudo/repl.t"
(("^plan 47;\n") "plan 46;\n"))
(invoke "perl" "-ni" "-e"
"printf if not /^ \\(temp %\\*ENV\\)/ .. /^ }/"
"t/02-rakudo/repl.t")
(substitute* "t/09-moar/01-profilers.t"
(("^plan 12;\n") "plan 10;\n")
(("^ok \\$htmlpath\\.IO\\.f, .*") "")
(("^ok \\(try \\$htmlpath\\.IO\\.s .*") ""))))
(add-after 'patch-source-shebangs 'patch-more-shebangs
(lambda _
(substitute* '("tools/build/create-js-runner.pl"
"tools/build/create-moar-runner.p6"
"tools/build/create-jvm-runner.pl"
"src/core/Proc.pm6")
(("/bin/sh") (which "sh")))
#t))
(substitute* '("src/core.c/Proc.pm6"
"t/spec/S29-os/system.t"
"tools/build/create-js-runner.pl"
"tools/build/create-jvm-runner.pl")
(("/bin/sh") (which "sh")))))
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(nqp (assoc-ref inputs "nqp")))
(invoke "perl" "./Configure.pl"
(invoke "perl" "Configure.pl"
"--backend=moar"
"--with-nqp" (string-append nqp "/bin/nqp")
"--prefix" out))))
;; This is the recommended tool for distro maintainers to install perl6
;; This is the recommended tool for distro maintainers to install Raku
;; modules systemwide. See: https://github.com/ugexe/zef/issues/117
(add-after 'install 'install-dist-tool
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(dest (string-append out "/share/perl6/tools")))
(install-file "tools/install-dist.p6" dest)
(substitute* (string-append dest "/install-dist.p6")
(("/usr/bin/env perl6")
(string-append out "/bin/perl6"))))
#t)))))
(install-file "tools/install-dist.raku" dest)
(substitute* (string-append dest "/install-dist.raku")
(("/usr/bin/env raku")
(string-append out "/bin/raku")))))))))
(native-inputs
(list nqp-configure))
(inputs
(list moarvm nqp openssl))
(home-page "https://rakudo.org/")
@ -219,13 +303,36 @@ regular expression engine for the virtual machine.")
(files '("share/perl6/lib"
"share/perl6/site/lib"
"share/perl6/vendor/lib")))))
(synopsis "Perl 6 Compiler")
(description "Rakudo Perl is a compiler that implements the Perl 6
specification and runs on top of several virtual machines.")
(synopsis "Raku Compiler")
(description "Rakudo is a compiler that implements the Raku specification
and runs on top of several virtual machines.")
(license license:artistic2.0)))
(define-public perl6-format-lisp
(let ((commit "1ae31e2a9366b287a83a9d451295fc9e3fb6d36f")
(revision "0"))
(package
(name "perl6-format-lisp")
(version (git-version "0.0.2" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/raku-community-modules/Format-Lisp")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1rhkd11xdyw99vl6ickjin0x7nhlgkq3qhpf8zp9jky0k711gxmr"))))
(build-system rakudo-build-system)
(arguments '(#:with-zef? #f))
(home-page "https://github.com/raku-community-modules/Format-Lisp")
(synopsis "Common Lisp's format call in Raku")
(description "This Raku module implements Common Lisp's @code{format}
language.")
(license license:artistic2.0))))
(define-public perl6-grammar-debugger
;; Last commit was September 2017
;; Last commit was September 2017.
(let ((commit "0375008027c8caa216bd869476ce59ae09b2a702")
(revision "1"))
(package
@ -239,13 +346,12 @@ specification and runs on top of several virtual machines.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0y826z3m276n7ia810hgcb3div67nxmx125m2fzlc16994zd5vm5"))))
(base32 "0y826z3m276n7ia810hgcb3div67nxmx125m2fzlc16994zd5vm5"))))
(build-system rakudo-build-system)
(propagated-inputs
(list perl6-terminal-ansicolor))
(home-page "https://github.com/jnthn/grammar-debugger")
(synopsis "Simple tracing and debugging support for Perl 6 grammars")
(synopsis "Simple tracing and debugging support for Raku grammars")
(description "This module provides a simple debugger for grammars. Just
@code{use} it: use @code{Grammar::Debugger;} and any grammar in the lexical
scope of the use statement will automatically have debugging enabled. The
@ -254,7 +360,7 @@ prompt.")
(license license:artistic2.0))))
(define-public perl6-grammar-profiler-simple
;; Last commit was June 2017
;; Last commit was June 2017.
(let ((commit "c0aca5fab323b2974821dabd6b89330c609e0b7d")
(revision "1"))
(package
@ -268,19 +374,20 @@ prompt.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1qcsa4lmcilp3vp0jng0hrgzyzxin9ayg2wjvkcd0k6h7djx9dff"))))
(base32 "1qcsa4lmcilp3vp0jng0hrgzyzxin9ayg2wjvkcd0k6h7djx9dff"))))
(build-system rakudo-build-system)
(arguments '(#:with-zef? #f))
(home-page "https://github.com/perlpilot/Grammar-Profiler-Simple")
(synopsis "Simple rule profiling for Perl 6 grammars")
(description "This module provides a simple profiler for Perl 6 grammars.
(synopsis "Simple rule profiling for Raku grammars")
(description "This module provides a simple profiler for Raku grammars.
To enable profiling simply add use @code{Grammar::Profiler::Simple;} to your
code. Any grammar in the lexical scope of the use statement will automatically
have profiling information collected when the grammar is used.")
(license license:artistic2.0))))
(define-public perl6-json
;; The commit where 1.0 was “tagged”.
(let ((commit "a5ef8c179350dae44ce7fb1abb684fc62c1c2b99"))
(package
(name "perl6-json")
(version "1.0")
@ -289,24 +396,22 @@ have profiling information collected when the grammar is used.")
(method git-fetch)
(uri (git-reference
(url "https://github.com/moritz/json")
;; The commit where 1.0 was "tagged"
(commit "a5ef8c179350dae44ce7fb1abb684fc62c1c2b99")))
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1kzryxkqyr129rcckd4jh0dfxdgzv71qx8dpkpm1divbfjyknlay"))))
(base32 "1kzryxkqyr129rcckd4jh0dfxdgzv71qx8dpkpm1divbfjyknlay"))))
(build-system rakudo-build-system)
(arguments '(#:with-zef? #f))
(home-page "https://github.com/moritz/json")
(synopsis "Minimal JSON (de)serializer")
(description "This module is a simple Perl 6 module for serializing and
(description "This module is a simple Raku module for serializing and
deserializing JSON.")
(license license:artistic2.0)))
(license license:artistic2.0))))
(define-public perl6-json-class
(package
(name "perl6-json-class")
(version "0.0.12")
(version "0.0.18")
(source
(origin
(method git-fetch)
@ -315,21 +420,20 @@ deserializing JSON.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1zyzajc57j3m8q0nr72h9pw4w2nx92rafywlvysgphc5q9sb8np2"))))
(base32 "0686qpcb6p5isjcsksrgsr1rh926cnhs6r091p5p3lh2fd575g1d"))))
(build-system rakudo-build-system)
(propagated-inputs
(list perl6-json-marshal perl6-json-unmarshal))
(native-inputs
(list perl6-json-fast))
(propagated-inputs
(list perl6-json-marshal perl6-json-unmarshal))
(home-page "https://github.com/jonathanstowe/JSON-Class")
(synopsis "Provide simple serialisation/deserialisation of objects to/from JSON")
(synopsis "Provide simple serialization/deserialization of objects to/from JSON")
(description "This is a simple role that provides methods to instantiate a
class from a JSON string that (hopefully,) represents it, and to serialise an
class from a JSON string that (hopefully) represents it, and to serialize an
object of the class to a JSON string. The JSON created from an instance
should round trip to a new instance with the same values for the public
attributes. Private attributes (that is ones without accessors,) will be
ignored for both serialisation and de-serialisation. The exact behaviour
ignored for both serialization and deserialization. The exact behaviour
depends on that of @code{JSON::Marshal} and @code{JSON::Unmarshal}
respectively.")
(license license:artistic2.0)))
@ -337,7 +441,7 @@ respectively.")
(define-public perl6-json-fast
(package
(name "perl6-json-fast")
(version "0.10")
(version "0.17")
(source
(origin
(method git-fetch)
@ -346,21 +450,21 @@ respectively.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1g8hr1mdrxwdpzc7hvs9l5r12phvba6y6a5chgkj90ing77ji4b2"))))
(base32 "1gckca9m6jkz6s59rpwf59721q6icfm45jj49sw3vdjr6jh2dgdb"))))
(build-system rakudo-build-system)
(arguments '(#:with-zef? #f))
(home-page "https://github.com/timo/json_fast")
(synopsis "Perl6 json parser")
(description "A naive imperative json parser in pure perl6 (but with direct
(synopsis "Raku JSON parser")
(description "A naive imperative JSON parser in pure Raku (but with direct
access to @code{nqp::} ops), to evaluate performance against @code{JSON::Tiny}.
It is a drop-in replacement for @code{JSON::Tiny}'s from-json and to-json subs,
but it offers a few extra features.")
It is a drop-in replacement for @code{JSON::Tiny}'s @code{from-json} and
@code{to-json} subs, but it offers a few extra features.")
(license license:artistic2.0)))
(define-public perl6-json-marshal
(package
(name "perl6-json-marshal")
(version "0.0.16")
(version "0.0.23")
(source
(origin
(method git-fetch)
@ -369,15 +473,14 @@ but it offers a few extra features.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0qy7j83h6gjzyyv74ncd92cd9h45rv8diaz3vldiv3b6fqwz4c6i"))))
(base32 "057xmdadhy5wkbhr6w1iybv2j7qf4bf8d4cp8m4qdcgk6pqzpkgc"))))
(build-system rakudo-build-system)
(propagated-inputs
(list perl6-json-fast perl6-json-name))
(native-inputs
(list perl6-json-fast))
(propagated-inputs
(list perl6-json-fast perl6-json-name))
(home-page "https://github.com/jonathanstowe/JSON-Marshal")
(synopsis "Simple serialisation of objects to JSON")
(synopsis "Simple serialization of objects to JSON")
(description "This library provides a single exported subroutine to create
a JSON representation of an object. It should round trip back into an object
of the same class using @code{JSON::Unmarshal}.")
@ -386,7 +489,7 @@ of the same class using @code{JSON::Unmarshal}.")
(define-public perl6-json-name
(package
(name "perl6-json-name")
(version "0.0.3")
(version "0.0.6")
(source
(origin
(method git-fetch)
@ -395,22 +498,46 @@ of the same class using @code{JSON::Unmarshal}.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"130qwdpbj5qdlsdz05y0rksd79lzbq79scy47n6lnf21b0hz1qjc"))))
(base32 "0fbwp3av4kh7zlbrmgbka4x6s3d6fsw2qxafi9hyq0y896wsaf94"))))
(build-system rakudo-build-system)
(arguments '(#:with-zef? #f))
(propagated-inputs
(list perl6-json-optin))
(home-page "https://github.com/jonathanstowe/JSON-Name")
(synopsis "Provides a trait to store an alternative JSON Name")
(synopsis "Provide a trait to store an alternative JSON name")
(description "This is released as a dependency of @code{JSON::Marshal} and
@code{JSON::Unmarshal} in order to save duplication, it is intended to store a
separate JSON name for an attribute where the name of the JSON attribute might be
changed, either for aesthetic reasons or the name is not a valid Perl identifier.
It will of course also be needed in classes thar are going to use
@code{JSON::Marshal} or @code{JSON::Unmarshal} for serialisation/de-serialisation.")
@code{JSON::Marshal} or @code{JSON::Unmarshal} for serialization/deserialization.")
(license license:artistic2.0)))
(define-public perl6-json-optin
(package
(name "perl6-json-optin")
(version "0.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jonathanstowe/JSON-OptIn")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0iz1wd3rfcb3kdc8cylwfxr8p02bpivk7kcf3dmm2l4mmdhyk7np"))))
(build-system rakudo-build-system)
(arguments '(#:with-zef? #f))
(home-page "https://github.com/jonathanstowe/JSON-OptIn")
(synopsis "Provide a trait and role to identify opt-in JSON serialization")
(description "This provides a trait and a role for the identification of
`opt in' serializable attributes in, e.g., @code{JSON::Marshal}. It's
probably not necessary to use this directly as it will be required by, e.g.,
@code{JSON::Name}, but it's just more convenient to package it separately.")
(license license:artistic2.0)))
(define-public perl6-json-unmarshal
;; Last commit was May 2017
;; Last commit was May 2017.
(let ((commit "e1b6288c5f3165058f36c0f4e171cdf2dfd640da")
(revision "1"))
(package
@ -424,8 +551,7 @@ It will of course also be needed in classes thar are going to use
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"14azsmzmwdn8k0gqcpvballharcvzylmlyrx2wmv4kpqfnz29fjc"))))
(base32 "14azsmzmwdn8k0gqcpvballharcvzylmlyrx2wmv4kpqfnz29fjc"))))
(build-system rakudo-build-system)
(propagated-inputs
(list perl6-json-fast perl6-json-name))
@ -438,7 +564,7 @@ create an object from a JSON representation of an object.")
(define-public perl6-license-spdx
(package
(name "perl6-license-spdx")
(version "3.4.0")
(version "3.16.0")
(source
(origin
(method git-fetch)
@ -447,8 +573,7 @@ create an object from a JSON representation of an object.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0dl263c3fbxk001gm5fisrzqz1dx182ipaa0x2qva2gxvl075xm8"))))
(base32 "0sv9rrrfn437crynmbs3aks5xcqchjkbr1k31fq0dphfaw88k5v3"))))
(build-system rakudo-build-system)
(propagated-inputs
(list perl6-json-class))
@ -463,7 +588,7 @@ licences therein.")
(define-public perl6-meta6
(package
(name "perl6-meta6")
(version "0.0.23")
(version "0.0.26")
(source
(origin
(method git-fetch)
@ -472,69 +597,65 @@ licences therein.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1xnlaamfbdlfb2zidim3bbc4mawsrg6qxhxi6gbld46z1cyry1cw"))))
(base32 "1jg8z0y29df9sy6za285jy38c3v6dl54ar54dp6marzcih02payx"))))
(build-system rakudo-build-system)
(propagated-inputs
(list perl6-json-class))
(native-inputs
(list perl6-json-fast))
(propagated-inputs
(list perl6-json-class))
(home-page "https://github.com/jonathanstowe/META6")
(synopsis "Do things with Perl 6 [META files]")
(description "This provides a representation of the Perl 6 META files
specification - the META file data can be read, created, parsed and written in a
manner that is conformant with the specification.
(synopsis "Do things with Raku META files")
(description "This provides a representation of the Raku META files
specification -- the META file data can be read, created, parsed and written
in a manner that is conformant with the specification.
Where they are known about it also makes allowance for customary usage in
existing software (such as installers and so forth.)
Where they are known about, it also makes allowance for customary usage in
existing software (such as installers and so forth).
The intent of this is allow the generation and testing of META files for
module authors, so it can provide meta-information whether the attributes are
mandatory as per the spec and where known the places that customary attributes
are used.")
The intent of this is to allow the generation and testing of META files for
module authors, so it can provide meta-information about whether the
attributes are mandatory as per the spec and, where known, the places that
customary attributes are used.")
(license license:artistic2.0)))
(define-public perl6-mime-base64
(package
(name "perl6-mime-base64")
(version "1.2.1")
(version "1.2.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/perl6/Perl6-MIME-Base64")
(commit (string-append "v" version))))
(url "https://github.com/raku-community-modules/MIME-Base64")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0l67m8mvz3gxml425sd1ggfnhzh4lf754k7w8fngfr453s6lsza1"))))
(base32 "19bndwbjr05gg8rrq2msmw1ik8xw2r3gbd77vxrp8l6c674zgy95"))))
(build-system rakudo-build-system)
(arguments '(#:with-zef? #f))
(home-page "https://github.com/perl6/Perl6-MIME-Base64")
(home-page "https://github.com/raku-community-modules/MIME-Base64")
(synopsis "Encoding and decoding Base64 ASCII strings")
(description "This Perl 6 module implements encoding and decoding to and
(description "This Raku module implements encoding and decoding to and
from base64.")
(license license:artistic2.0)))
(define-public perl6-oo-monitors
(package
(name "perl6-oo-monitors")
(version "1.1")
(version "1.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jnthn/oo-monitors")
;; The commit where 1.1 was "tagged"
(commit "494db3a3852854f30a80c9bd1489a7d5e429e7c5")))
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1sbw2x54wwjjanghjnc7ipmplaw1srvbrphsdv4ym6cipnbmbj9x"))))
(base32 "1aqb0x2vnmpi3knkf5v5aix6h29ln80gpxwa181i8kwfpxs8ir9f"))))
(build-system rakudo-build-system)
(arguments '(#:with-zef? #f))
(home-page "https://github.com/jnthn/oo-monitors")
(synopsis "Monitors with condition variables for Perl 6")
(synopsis "Monitors with condition variables for Raku")
(description "A monitor provides per-instance mutual exclusion for objects.
This means that for a given object instance, only one thread can ever be inside
its methods at a time. This is achieved by a lock being associated with each
@ -543,7 +664,7 @@ monitor. Condition variables are also supported.")
(license license:artistic2.0)))
(define-public perl6-svg
;; Latest commit, basically unchanged since August 2015
;; Latest commit, basically unchanged since August 2015.
(let ((commit "07190c0602aa276e5319f06aa0012452dbff3582")
(revision "1"))
(package
@ -557,21 +678,20 @@ monitor. Condition variables are also supported.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0mkjdhg7ajksdn61n8fqhyzfd7ly9myazsvpsm02a5c2q73hdygg"))))
(base32 "0mkjdhg7ajksdn61n8fqhyzfd7ly9myazsvpsm02a5c2q73hdygg"))))
(build-system rakudo-build-system)
(propagated-inputs
(list perl6-xml-writer))
(home-page "https://github.com/moritz/svg")
(synopsis "Perl 6 module to generate SVG")
(description "This is a Perl 6 module that makes it easy to write
(synopsis "Raku module to generate SVG")
(description "This is a Raku module that makes it easy to write
@dfn{Scalable Vector Graphic files} (SVG). Right now it is a shallow wrapper
around @code{XML::Writer}, adding only the xmlns attributes that identifies an
XML file as SVG.")
around @code{XML::Writer}, adding only the @samp{xmlns} attributes that
identify an XML file as SVG.")
(license license:artistic2.0))))
(define-public perl6-svg-plot
;; Latest commit
;; Latest commit.
(let ((commit "062570a78fd38c3c6baba29dfe2fbb8ca014f4de")
(revision "1"))
(package
@ -585,14 +705,13 @@ XML file as SVG.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"095ga5hbg92jnmczxvhk1hjz14yr334zyf8cph4w5w5frcza44my"))))
(base32 "095ga5hbg92jnmczxvhk1hjz14yr334zyf8cph4w5w5frcza44my"))))
(build-system rakudo-build-system)
(propagated-inputs
(list perl6-svg))
(home-page "https://github.com/moritz/svg-plot")
(synopsis "Perl 6 charting and plotting library that produces SVG output")
(description "@code{SVG::Plot} is a simple 2D chart plotter for Perl 6.
(synopsis "Raku charting and plotting library that produces SVG output")
(description "@code{SVG::Plot} is a simple 2D chart plotter for Raku.
It currently supports bars, stacked bars, lines and points (both equally spaced
with optional labels, or xy plots).")
(license license:artistic2.0))))
@ -600,17 +719,16 @@ with optional labels, or xy plots).")
(define-public perl6-tap-harness
(package
(name "perl6-tap-harness")
(version "0.0.7")
(version "0.3.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/perl6/tap-harness6")
(commit (string-append "v" version))))
(url "https://github.com/Raku/tap-harness6")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1lig8i0my3fgqvlay9532xslbf3iis2d7wz89gniwvwqffi2kh6r"))))
(base32 "162crdy8g6xhnry26pjma2panm0c79n26igmljg79al4bqj9lyc9"))))
(build-system rakudo-build-system)
(arguments
'(#:with-zef? #f
@ -619,15 +737,17 @@ with optional labels, or xy plots).")
(modify-phases %standard-phases
(replace 'check
(lambda _
(invoke "perl6" "-Ilib" "bin/prove6" "-l" "t"))))))
(home-page "https://github.com/perl6/tap-harness6/")
(synopsis "TAP harness for perl6")
(apply invoke "raku" "-MTAP" "-Ilib" (find-files "t" "\\.t$")))))))
(home-page "https://github.com/Raku/tap-harness6")
(synopsis "TAP harness for Raku")
(description "This module provides the @command{prove6} command which runs a
TAP based test suite and prints a report. The @command{prove6} command is a
minimal wrapper around an instance of this module.")
(license license:artistic2.0)))
(define-public perl6-terminal-ansicolor
;; The commit where 0.5 was “tagged”.
(let ((commit "edded4a7116ce11cbc9fb5a83669c7ba119d0212"))
(package
(name "perl6-terminal-ansicolor")
(version "0.5")
@ -636,23 +756,21 @@ minimal wrapper around an instance of this module.")
(method git-fetch)
(uri (git-reference
(url "https://github.com/tadzik/Terminal-ANSIColor")
;; The commit where 0.5 was "tagged"
(commit "edded4a7116ce11cbc9fb5a83669c7ba119d0212")))
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1apm999azkyg5s35gid12wq019aqnvzrkz7qjmipd74mdxgr00x7"))))
(base32 "1apm999azkyg5s35gid12wq019aqnvzrkz7qjmipd74mdxgr00x7"))))
(build-system rakudo-build-system)
(arguments '(#:with-zef? #f))
(home-page "https://github.com/tadzik/Terminal-ANSIColor")
(synopsis "Colorize terminal output")
(description "This is a @code{Terminal::ANSIColor} module for Perl 6.")
(license license:expat)))
(description "This is a @code{Terminal::ANSIColor} module for Raku.")
(license license:expat))))
(define-public perl6-test-meta
(package
(name "perl6-test-meta")
(version "0.0.14")
(version "0.0.17")
(source
(origin
(method git-fetch)
@ -661,32 +779,31 @@ minimal wrapper around an instance of this module.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1mzrglb7lbiy5h9dlc7dyhvv9gppxmdmpmrv6nzbd695jzr38bri"))))
(base32 "0kd4yixx6lac240lcx0f5pfswspvpp43034mq2vs65zxghsvvcmf"))))
(build-system rakudo-build-system)
(propagated-inputs
(list perl6-meta6 perl6-uri))
(list perl6-license-spdx perl6-meta6 perl6-uri))
(home-page "https://github.com/jonathanstowe/Test-META")
(synopsis "Test a distributions META file")
(synopsis "Test a distribution's META file")
(description "This provides a simple mechanism for module authors to have
some confidence that they have a working distribution META description file.")
(license license:artistic2.0)))
(define-public perl6-test-mock
(let ((commit "1130427f4d9f3866fa39e113251bb142d7fa5cc8")
(revision "0"))
(package
(name "perl6-test-mock")
(version "1.5")
(version (git-version "1.5" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jnthn/test-mock")
;; The commit where 1.5 was "tagged"
(commit "6eddb42f73f40b9ac29c14badb41ce4a04d876f2")))
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"07yr3qimc8fl29p23562ayj2j9h53madcnf9sgqvgf2kcprh0zd2"))))
(base32 "03qq6z9ilw0ak3dx9i24ygr4c21wf4xvli8px02hmshpkhavclj5"))))
(build-system rakudo-build-system)
(propagated-inputs
(list perl6-oo-monitors))
@ -695,33 +812,34 @@ some confidence that they have a working distribution META description file.")
(description "@code{Test::Mock} is a module that works alongside the
standard Test module to help you write tests when you want to verify what
methods are called on an object, while still having calls to undefined methods
die. You get started just as normal with the test file, but also add a use
statement for @code{Test::Mock}.")
(license license:artistic2.0)))
die. You get started just as normal with the test file, but also add a
@code{use} statement for @code{Test::Mock}.")
(license license:artistic2.0))))
(define-public perl6-uri
;; The commit where 0.3.5 was “tagged”.
(let ((commit "2e62d0f117c95a43e61ddb018dcacba8036aa3d5"))
(package
(name "perl6-uri")
(version "0.1.5")
(version "0.3.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/perl6-community-modules/uri")
(commit version)))
(url "https://github.com/raku-community-modules/URI")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0h318g75jqn2ckw051g35iqyfxz1mps0jyg5z6pd857y3kacbkpl"))))
(base32 "1a03r80zxpvnsjf2z5r8lk434v2ysrpaymqa6xq975l4124gckkx"))))
(build-system rakudo-build-system)
(arguments '(#:with-zef? #f))
(home-page "https://github.com/perl6-community-modules/uri")
(synopsis "URI implementation using Perl 6")
(description "A URI implementation using Perl 6 grammars to implement RFC
(home-page "https://github.com/raku-community-modules/URI")
(synopsis "URI implementation using Raku")
(description "A URI implementation using Raku grammars to implement RFC
3986 BNF. Currently only implements parsing. Includes @code{URI::Escape} to
(un?)escape characters that aren't otherwise allowed in a URI with % and a hex
character numbering.")
(license license:artistic2.0)))
(license license:artistic2.0))))
(define-public perl6-xml-writer
;; Last commit was May 2017
@ -738,19 +856,18 @@ character numbering.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1kwrf7akp70kyzw1b90khp71a6hpilihwndy2jsjpffcd4hd4m4z"))))
(base32 "1kwrf7akp70kyzw1b90khp71a6hpilihwndy2jsjpffcd4hd4m4z"))))
(build-system rakudo-build-system)
(arguments '(#:with-zef? #f))
(home-page "https://github.com/masak/xml-writer")
(synopsis "Perl 6 module to generate XML")
(description "@code{XML::Writer} is a module for creating XML in Perl 6.")
(synopsis "Raku module to generate XML")
(description "@code{XML::Writer} is a module for creating XML in Raku.")
(license license:artistic2.0))))
(define-public perl6-zef
(package
(name "perl6-zef")
(version "0.6.7")
(version "0.13.8")
(source
(origin
(method git-fetch)
@ -759,8 +876,7 @@ character numbering.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"07n7g1xw2c4g860rs890gx85vyhdq0ysgwbrnzw6q905jph2bkv7"))))
(base32 "0zmx2gavi975811kskv5j4j2zsysnxfklwx0azn8rffraadnhscm"))))
(build-system rakudo-build-system)
(arguments
'(#:with-zef? #f
@ -769,11 +885,11 @@ character numbering.")
(replace 'check
(lambda _
(setenv "HOME" "/tmp")
(invoke "perl6" "-I." "bin/zef" "--debug"
(invoke "raku" "-I." "bin/zef" "--debug"
"--tap-harness" "test" "."))))))
(home-page "https://github.com/ugexe/zef")
(synopsis "Perl6 Module Management")
(description "Zef is a Perl 6 package (module) manager. It can be used to
download and install Perl 6 modules in your home directory or as a system-wide
(synopsis "Raku Module Management")
(description "Zef is a Raku package (module) manager. It can be used to
download and install Raku modules in your home directory or as a system-wide
module.")
(license license:artistic2.0)))

View File

@ -530,7 +530,7 @@ photographic equipment.")
(define-public darktable
(package
(name "darktable")
(version "4.6.0")
(version "4.6.1")
(source
(origin
(method url-fetch)
@ -538,7 +538,7 @@ photographic equipment.")
"https://github.com/darktable-org/darktable/releases/"
"download/release-" version "/darktable-" version ".tar.xz"))
(sha256
(base32 "1hmcib37b5v8893d69i2qgvmbkmils8a0gn5dpg2462d43ijfjvj"))))
(base32 "1zbsrx5cfyifzbi657izw8rfkgd9pm4hx8afv8y2sgi9f2hc1v8n"))))
(build-system cmake-build-system)
(arguments
(list

View File

@ -7,7 +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>
;;; Copyright © 2023, 2024 Troy Figiel <troy@troyfigiel.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -30,12 +30,14 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix build-system cargo)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (gnu packages)
#:use-module (gnu packages libffi)
#:use-module (gnu packages compression)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages check)
#:use-module (gnu packages maths)
#:use-module (gnu packages pkg-config)
@ -44,6 +46,7 @@
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rust-apps)
#:use-module (gnu packages sphinx))
(define-public python-multivolumefile
@ -73,6 +76,81 @@ file-object abstraction, making it possible to use multiple files as if they
were a single file.")
(license license:lgpl2.1+)))
(define-public python-cramjam
(package
(name "python-cramjam")
(version "2.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cramjam" version))
(sha256
(base32 "1b69qlr0q7q3spa7zy55xc1dr5pjgsdavxx8ijhv2j60xqjbg7sp"))))
(build-system cargo-build-system)
(arguments
(list
#:imported-modules `(,@%cargo-build-system-modules
,@%pyproject-build-system-modules)
#:modules '((guix build cargo-build-system)
((guix build pyproject-build-system)
#:prefix py:)
(guix build utils))
#:phases #~(modify-phases %standard-phases
;; We use Maturin to build the project.
(replace 'build
(assoc-ref py:%standard-phases
'build))
;; Before being able to run Python tests, we need to
;; install the module and add it to PYTHONPATH.
(delete 'install)
(add-after 'build 'install
(assoc-ref py:%standard-phases
'install))
(add-after 'install 'add-install-to-pythonpath
(assoc-ref py:%standard-phases
'add-install-to-pythonpath))
;; Finally run the tests. Only Python tests are provided.
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(when tests?
;; Without the CI variable, tests are run in "local"
;; mode, which sets a deadline for hypothesis. For a
;; deterministic build, we need to set CI.
(setenv "CI" "1")
(invoke "pytest" "-vv" "tests")))))
#:cargo-inputs `(("rust-brotli" ,rust-brotli-3)
("rust-bzip2" ,rust-bzip2-0.4)
("rust-flate2" ,rust-flate2-1)
("rust-lz4" ,rust-lz4-1)
("rust-pyo3" ,rust-pyo3-0.18)
("rust-snap" ,rust-snap-1)
("rust-zstd" ,rust-zstd-0.11))
#:install-source? #f))
(native-inputs (list maturin
python-pytest
python-pytest-xdist
python-numpy
python-hypothesis
python-wrapper))
(home-page "https://github.com/milesgranger/cramjam")
(synopsis "Python bindings to compression algorithms in Rust")
(description
"This package provides thin Python bindings to compression and
decomporession algorithms implemented in Rust. This allows for using
algorithms such as Snappy without additional system dependencies. The
following algorithms are available:
@itemize
@item Snappy
@item Brotli
@item Bzip2
@item LZ4
@item Gzip
@item Deflate
@item Zstd
@end itemize")
(license license:expat)))
(define-public python-pybcj
(package
(name "python-pybcj")

View File

@ -147,6 +147,7 @@
;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2023, 2024 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024 Timothee Mathieu <timothee.mathieu@inria.fr>
;;; Copyright © 2024 Ian Eure <ian@retrospec.tv>
;;;
;;; This file is part of GNU Guix.
;;;
@ -25936,6 +25937,43 @@ cases, generating additional test cases, testing for your code, and
submitting it.")
(license license:expat)))
(define-public python-mpv-jsonipc
(package
(name "python-mpv-jsonipc")
(version "1.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-mpv-jsonipc" version))
(sha256
(base32 "0ymdwrx544a6gn6wm9dixpgzbfrbpxvcj5ys7m41cgb4lvpvx691"))))
(build-system pyproject-build-system)
(home-page "https://github.com/iwalton3/python-mpv-jsonipc")
(synopsis "Python API to control MPV using JSON IPC")
(description "Python MPV JSONIPC implements an interface similar to
python-mpv, but it uses the JSON IPC protocol instead of the C API.")
(license license:asl2.0)))
(define-public python-jellyfin-apiclient
(package
(name "python-jellyfin-apiclient")
(version "1.9.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "jellyfin-apiclient-python" version))
(sha256
(base32 "0r67cp9nizvn3cbslgi30zpd3mw4a6zal0ygik3jv5lni1xdkk5w"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-certifi python-requests python-urllib3
python-websocket-client))
(home-page "https://github.com/jellyfin/jellyfin-apiclient-python")
(synopsis "Python API client for Jellyfin")
(description "The Jellyfin ApiClient Python package makes it possible
to use the Jellyfin API from Python. It was extracted from the Jellyfin
Kodi plugin.")
(license license:gpl3+)))
(define-public python-parso
(package
(name "python-parso")
@ -31819,6 +31857,41 @@ handling those variations.")
Qt applications.")
(license license:expat)))
(define-public python-pystray
(package
(name "python-pystray")
(version "0.19.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/moses-palmer/pystray")
(commit "1907f8681d6d421517c63d94f425f9cdd74d0034")))
(file-name (git-file-name name version))
(sha256
(base32 "1vj6c8s7rbc7xc4bi5brx5629ls1ri9prcw9290v85hagilmp609"))))
(build-system python-build-system)
(arguments
(list
;; The test suite requires user interaction, there are no automated
;; tests.
#:tests? #false
#:phases #~(modify-phases %standard-phases
(add-before 'sanity-check 'use-dummy-backend
(lambda _
;; Without setting this, pystray tries to connect to
;; X11 on import.
(setenv "PYSTRAY_BACKEND" "dummy"))))))
(native-inputs (list python-sphinx))
(propagated-inputs (list python-pillow python-six python-xlib))
(home-page "https://github.com/moses-palmer/pystray")
(synopsis "Create a system tray icon")
(description "This library allows you to create a system tray icon.
It makes it possible to specify an icon, a title and a callback for when
the icon is activated. The icon and title can be changed after the icon
has been created, and the visibility of the icon can be toggled.")
(license license:lgpl3+)))
(define-public python-bitstring
(package
(name "python-bitstring")

View File

@ -63,6 +63,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gps)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gstreamer)
@ -790,7 +791,7 @@ used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).")
(define-public gnuradio
(package
(name "gnuradio")
(version "3.10.3.0")
(version "3.10.8.0")
(source
(origin
(method git-fetch)
@ -799,7 +800,7 @@ used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0xdhb2blzajxpi0f2ch23hh6bzdwz5q7syi3bmiqzdjlj2yjfzd4"))))
(base32 "11p08qrbfh5dz6l5n4c2g8c2gv1qq8aiydq91ryzfzgp49r0j6p0"))))
(build-system cmake-build-system)
(native-inputs
(list doxygen

View File

@ -30,6 +30,7 @@
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz>
;;; Copyright © 2024 Suhail Singh <suhail@bayesians.ca>
;;;
;;; This file is part of GNU Guix.
;;;
@ -71,6 +72,7 @@
#:use-module (gnu packages crates-windows)
#:use-module (gnu packages curl)
#:use-module (gnu packages documentation)
#:use-module (gnu packages emacs)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages haskell-xyz)
@ -99,6 +101,40 @@
#:use-module (gnu packages webkit)
#:use-module (gnu packages xorg))
(define-public aardvark-dns
(package
(name "aardvark-dns")
(version "1.10.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "aardvark-dns" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0ldqv9v3v9a1m2kka660d5v15y2zasy5z7m4fh5hif74r089cx6x"))))
(build-system cargo-build-system)
(arguments
`(#:install-source? #f
#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
("rust-async-broadcast" ,rust-async-broadcast-0.6)
("rust-chrono" ,rust-chrono-0.4)
("rust-clap" ,rust-clap-4)
("rust-futures-util" ,rust-futures-util-0.3)
("rust-hickory-client" ,rust-hickory-client-0.24)
("rust-hickory-proto" ,rust-hickory-proto-0.24)
("rust-hickory-server" ,rust-hickory-server-0.24)
("rust-libc" ,rust-libc-0.2)
("rust-log" ,rust-log-0.4)
("rust-nix" ,rust-nix-0.27)
("rust-resolv-conf" ,rust-resolv-conf-0.7)
("rust-signal-hook" ,rust-signal-hook-0.3)
("rust-syslog" ,rust-syslog-6)
("rust-tokio" ,rust-tokio-1))))
(home-page "https://github.com/containers/aardvark-dns")
(synopsis "Container-focused DNS server")
(description "This package provides a container-focused DNS server.")
(license license:asl2.0)))
(define-public agate
(package
(name "agate")
@ -468,6 +504,43 @@ Features include:
@end enumerate\n")
(license license:gpl3)))
(define-public emacs-lsp-booster
(package
(name "emacs-lsp-booster")
(version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/blahgeek/emacs-lsp-booster")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xx32ms3mpi1clxf74mx7nanj0iw9qkmhi0a53fx8fkz0jw2fq8f"))))
(build-system cargo-build-system)
(arguments
(list
#:cargo-inputs `(("rust-anyhow" ,rust-anyhow-1)
("rust-clap" ,rust-clap-4)
("rust-clap-verbosity-flag" ,rust-clap-verbosity-flag-2)
("rust-lazy-static" ,rust-lazy-static-1)
("rust-log" ,rust-log-0.4)
("rust-serde" ,rust-serde-1)
("rust-serde-json" ,rust-serde-json-1)
("rust-smallvec" ,rust-smallvec-1)
("rust-env-logger" ,rust-env-logger-0.10))
#:cargo-development-inputs `(("rust-emacs" ,rust-emacs-0.18)
("rust-tempfile" ,rust-tempfile-3))
#:install-source? #f))
(native-inputs (list emacs)) ; Not emacs-minimal
(home-page "https://github.com/blahgeek/emacs-lsp-booster")
(synopsis "Emacs LSP performance booster")
(description
"@code{emacs-lsp-booster} improves the performance of @code{lsp-mode} and
@code{eglot} Emacs packages using a wrapper executable. See the home-page for
configuration instructions.")
(license license:expat)))
(define-public eza
(package
(name "eza")

View File

@ -50,20 +50,14 @@
(define-public scribus
(package
(name "scribus")
(version "1.5.8")
(version "1.6.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/scribus/scribus-devel/"
version "/scribus-" version ".tar.xz"))
(uri (string-append "mirror://sourceforge/scribus/scribus/"
version "/scribus-" version ".tar.gz"))
(sha256
(base32 "0x3bw58v920akca8jxvsfwf468pzjyglk93ay67ph1bdry7nx0a7"))
(patches
(search-patches "scribus-1.5.8-poppler-22.2.0-1.patch"
"scribus-1.5.8-poppler-22.2.0-2.patch"
"scribus-1.5.8-poppler-22.03.0.patch"
"scribus-1.5.8-poppler-22.04.0.patch"
"scribus-1.5.8-poppler-22.09.0.patch"))))
(base32 "1kqqffx5xz35mwd422s4i110794zzx9sc2bn2mg77rz02hrxdhxg"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no test target

View File

@ -547,14 +547,14 @@ ksh, and tcsh.")
(define-public xonsh
(package
(name "xonsh")
(version "0.14.2")
(version "0.15.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xonsh" version))
(sha256
(base32
"0fddxzd45zvfr687mvd90f5s376yz0a8ln7qbpl94q89z7l0y77k"))
"0427mimr4k75myg5mnig564kq7xbb5f5hws2ly3gxxl6g8mk79il"))
(modules '((guix build utils)))
(snippet
#~(begin
@ -861,7 +861,7 @@ Shell (pdksh).")
(define-public oil
(package
(name "oil")
(version "0.17.0")
(version "0.20.0")
(source
;; oil's sources contain a modified version of CPython 2.7.13.
;; According to https://www.oilshell.org/blog/2017/05/05.html
@ -874,7 +874,7 @@ Shell (pdksh).")
(uri (string-append "https://www.oilshell.org/download/oil-"
version ".tar.gz"))
(sha256
(base32 "01b67dq56iam44d7c81ba9w62jjnjx2z7wm928rkc1ff6bacm37r"))))
(base32 "1jpxhixwq29ik01jx372g9acib59wmww8lrdlcypq7jpg5b0b7pi"))))
(build-system gnu-build-system)
(arguments
(list #:strip-binaries? #f ; strip breaks the binary

View File

@ -223,7 +223,7 @@ This package also provides @command{xls2csv} to export Excel files to CSV.")
(define r-with-tests
(package
(name "r-with-tests")
(version "4.3.2")
(version "4.3.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cran/src/base/R-"
@ -231,7 +231,7 @@ This package also provides @command{xls2csv} to export Excel files to CSV.")
version ".tar.gz"))
(sha256
(base32
"0aj51j34q2b28y28xvlf0dwdj8vpnhjwpvqf7xm05s7fq857dxdk"))))
"0c03abq3kqg6d2yhrijy9j3fsl77har3k7pffwwbz19v74qi51c0"))))
(build-system gnu-build-system)
(arguments
(list
@ -1328,14 +1328,14 @@ agnes cluster diagrams.")
(define-public r-gdtools
(package
(name "r-gdtools")
(version "0.3.6")
(version "0.3.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "gdtools" version))
(sha256
(base32
"1d1sidm2qi1nrp1hhf010xji66aj8sn833fv4a39gli2c560p4i6"))))
"155ky9fdi023b5fjk1gh3607xlgm3hymq232fq03ip2aaywc74nj"))))
(build-system r-build-system)
(native-inputs
(list pkg-config))
@ -1994,14 +1994,14 @@ side.")
(define-public r-locfit
(package
(name "r-locfit")
(version "1.5-9.8")
(version "1.5-9.9")
(source
(origin
(method url-fetch)
(uri (cran-uri "locfit" version))
(sha256
(base32
"1qqxw69p42l4szr2fl73bdydpcbxn68iyxyyjy7qy3p56bxrn2hd"))))
"1m7ji1ykvffqvs9ly1pzadiwhwxcyv4xivziikmahp0w0sv45lck"))))
(build-system r-build-system)
(propagated-inputs
(list r-lattice))
@ -2033,13 +2033,13 @@ times.")
(define-public r-data-table
(package
(name "r-data-table")
(version "1.15.0")
(version "1.15.2")
(source (origin
(method url-fetch)
(uri (cran-uri "data.table" version))
(sha256
(base32
"0qhh4ii10b6rbimhh83160gsax82gbrm3hqbqqddkzknpifxpdrr"))))
"04pfcm3pyl997rpyj5zdmbhi4ndaai81vfgv4whjp8rhqzjk7i6j"))))
(properties `((upstream-name . "data.table")))
(build-system r-build-system)
(inputs
@ -3179,13 +3179,13 @@ well as additional utilities such as panel and axis annotation functions.")
(define-public r-rcpparmadillo
(package
(name "r-rcpparmadillo")
(version "0.12.8.0.0")
(version "0.12.8.1.0")
(source (origin
(method url-fetch)
(uri (cran-uri "RcppArmadillo" version))
(sha256
(base32
"0pkn4334dh4k6hqfx4xln2nfvajyxdbfnfddajb8875il0f7kp0x"))))
"0ax4812dm33c67ckd902qabis3dgqmpkchk4s30bshnfv4fxx1z2"))))
(properties `((upstream-name . "RcppArmadillo")))
(build-system r-build-system)
(propagated-inputs
@ -5861,13 +5861,13 @@ groupings.")
(define-public r-vgam
(package
(name "r-vgam")
(version "1.1-9")
(version "1.1-10")
(source
(origin
(method url-fetch)
(uri (cran-uri "VGAM" version))
(sha256
(base32 "1l5gn6495k8vqp2b4hj4g5ani7j4cli2p7n8fwkw7bmc42q13m6l"))))
(base32 "04yy5rxid3fwn42sak9rjbxd1h4d7iigiznpbrvwxl06b1xficyb"))))
(properties `((upstream-name . "VGAM")))
(build-system r-build-system)
(native-inputs
@ -5928,14 +5928,14 @@ based on an interface to Fortran implementations by M. J. D. Powell.")
(define-public r-rcppeigen
(package
(name "r-rcppeigen")
(version "0.3.3.9.4")
(version "0.3.4.0.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "RcppEigen" version))
(sha256
(base32
"1faz1phvg7g14bchi88vizn5mfhgiwmsjg7jzkyf1yjg0f6vpsj1"))))
"0djiyimgka7g3kfakb6mfaq7cxna9kn6kgib59x9p7qj24ha1m18"))))
(properties `((upstream-name . "RcppEigen")))
(build-system r-build-system)
(propagated-inputs
@ -6891,6 +6891,8 @@ Java package that provides routines for various statistical distributions.")
"ess-eval-line-test"
"ess-eval-region-test"
"ess-mock-remote-process"
"ess-r-eval-sink-freeze-test"
"ess-r-eval-ns-env-roxy-tracebug-test"
"ess-r-load-ESSR-github-fetch-no"
"ess-r-load-ESSR-github-fetch-yes"
"ess-set-working-directory-test"
@ -7291,22 +7293,23 @@ normal model.")
(define-public r-naniar
(package
(name "r-naniar")
(version "1.0.0")
(version "1.1.0")
(source (origin
(method url-fetch)
(uri (cran-uri "naniar" version))
(sha256
(base32
"1x4ljc6yji7312g6cg1shc85jqv5kaf2zlf5q7sdmqh3wryskvf2"))))
"0i3gijr1l7hbcp75cyj26pxmm493lnvasl8aba9vv4w8lz1lck59"))))
(build-system r-build-system)
(propagated-inputs
(list r-cli
r-dplyr
r-norm
r-forcats
r-ggplot2
r-glue
r-lifecycle
r-magrittr
r-norm
r-purrr
r-rlang
r-tibble
@ -7355,14 +7358,14 @@ Michael Lim & Trevor Hastie (2015)")
(define-public r-datasaurus
(package
(name "r-datasaurus")
(version "0.1.6")
(version "0.1.8")
(source
(origin
(method url-fetch)
(uri (cran-uri "datasauRus" version))
(sha256
(base32
"0vgylf3bab0xcfg08xwvfq9yhxy6w0fxi7wp4kkxfyjb0pw15qxk"))))
"08yx87k4kl3i9g3m1j9532whvs4l0l3v5gwj8sk7qlb3m3wajakr"))))
(properties `((upstream-name . "datasauRus")))
(build-system r-build-system)
(native-inputs (list r-knitr))

View File

@ -4,6 +4,7 @@
;;; Copyright © 2023 Saku Laesvuori <saku@laesvuori.fi>
;;; Copyright © 2023 Lu Hui <luhux76@gmail.com>
;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net>
;;; Copyright © 2024 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -613,17 +614,18 @@ formerly a part of telegram-cli, but now being maintained separately.")
(base32 "0cf5s7ygslb5klg1qv9qdc3hivhspmvh3zkacyyhd2yyikb5p0f9"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No target
(list
#:tests? #f ; No target
#:imported-modules
((guix build copy-build-system)
`((guix build copy-build-system)
,@%gnu-build-system-modules)
#:modules
(((guix build copy-build-system)
'(((guix build copy-build-system)
#:prefix copy:)
(guix build gnu-build-system)
(guix build utils))
#:configure-flags
(list
'(list
;; Use gcrypt instead of openssl.
"--disable-openssl"
;; Enable extended queries system.
@ -631,11 +633,10 @@ formerly a part of telegram-cli, but now being maintained separately.")
;; Include libevent-based net and timers.
"--enable-libevent")
#:phases
(modify-phases %standard-phases
'(modify-phases %standard-phases
(add-after 'unpack 'trigger-bootstrap
(lambda _
(delete-file "configure")
#t))
(delete-file "configure")))
(add-after 'trigger-bootstrap 'patch-tl-parser
(lambda _
(delete-file "Makefile.tl-parser")
@ -643,8 +644,11 @@ formerly a part of telegram-cli, but now being maintained separately.")
(("include \\$\\{srcdir\\}/Makefile\\.tl-parser")
"")
(("\\$\\{EXE\\}/tl-parser")
"tl-parser"))
#t))
"tl-parser"))))
(add-after 'unpack 'remove-Werror
(lambda _
(substitute* "Makefile.in"
(("-Werror") ""))))
(replace 'install
(lambda args
(apply (assoc-ref copy:%standard-phases 'install)
@ -683,25 +687,29 @@ formerly a part of telegram-cli, but now being maintained separately.")
(base32 "0c1w7jgska71jjbvg1y09v52549pwa4zkdjly18yxywn7gayd2p6"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No target
(list
#:tests? #f ; No target
#:imported-modules
((guix build copy-build-system)
`((guix build copy-build-system)
,@%gnu-build-system-modules)
#:modules
(((guix build copy-build-system)
'(((guix build copy-build-system)
#:prefix copy:)
(guix build gnu-build-system)
(guix build utils))
#:configure-flags
(list
'(list
;; Use gcrypt instead of openssl.
"--disable-openssl")
#:phases
(modify-phases %standard-phases
'(modify-phases %standard-phases
(add-after 'unpack 'remove-Werror
(lambda _
(substitute* "Makefile.in"
(("-Werror") "-fcommon"))))
(add-after 'unpack 'trigger-bootstrap
(lambda _
(delete-file "configure")
#t))
(delete-file "configure")))
(add-after 'trigger-bootstrap 'patch-tgl-and-tlparser
(lambda* (#:key inputs #:allow-other-keys)
(for-each delete-file
@ -721,8 +729,7 @@ formerly a part of telegram-cli, but now being maintained separately.")
"/include/tgl/auto"))
(("LIB=libs")
(string-append "LIB=" (assoc-ref inputs "tgl")
"/lib/tgl")))
#t))
"/lib/tgl")))))
(replace 'install
(lambda args
(apply (assoc-ref copy:%standard-phases 'install)

View File

@ -1548,14 +1548,14 @@ highlighting for dozens of languages. Jed is very small and fast.")
(define-public xnedit
(package
(name "xnedit")
(version "1.5.2")
(version "1.5.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/xnedit/" name "-"
version ".tar.gz"))
(sha256
(base32
"09424qj03p7v7ih2gi3jnpm5iilr24ssab8rkijcjh6n9qn7izl0"))))
"10pw0yylhfmpcmhs74i3ikgsd8jq4dsy64zp9v14wj5s4qrac4c5"))))
(build-system gnu-build-system)
(arguments

View File

@ -40,6 +40,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages time)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
@ -549,6 +550,30 @@ datetime type.")
"This package contains a library for parsing ISO 8601 datetime strings.")
(license bsd-3)))
(define-public rdate
(let ((commit "91d84610e3695e90a884e2953908e95a856a9b74")
(revision "1"))
(package
(name "rdate")
(version (git-version "1.4" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/njh/rdate")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "002ryjq8gj1ml5la4v6dr3bh1zw5kxwy65rpziq8d2ccccarhv59"))))
(build-system gnu-build-system)
(native-inputs (list autoconf automake))
(synopsis "Get date and time based on RFC 868")
(description
"@code{rdate} connects to an RFC 868 time server over a TCP/IP network,
printing the returned time and/or setting the system clock.")
(home-page "https://www.aelius.com/njh/rdate/")
(license gpl2+))))
(define-public datefudge
(package
(name "datefudge")

View File

@ -149,16 +149,16 @@
;; We copy the official build id, which can be found there:
;; https://aus1.torproject.org/torbrowser/update_3/release/.
(define %torbrowser-build-date "20240213172118")
(define %torbrowser-build-date "20240305132801")
;; To find the last version, look at https://www.torproject.org/download/.
(define %torbrowser-version "13.0.10")
(define %torbrowser-version "13.0.11")
;; To find the last Firefox version, browse
;; https://archive.torproject.org/tor-package-archive/torbrowser/<%torbrowser-version>
;; There should be only one archive that starts with
;; "src-firefox-tor-browser-".
(define %torbrowser-firefox-version "115.8.0esr-13.0-1-build1")
(define %torbrowser-firefox-version "115.8.0esr-13.0-1-build2")
;; See tor-browser-build/projects/translation/config.
;; If Tor Browser and Mullvad Browser updates are not synchronized, maybe this
@ -168,11 +168,11 @@
(method git-fetch)
(uri (git-reference
(url "https://gitlab.torproject.org/tpo/translation.git")
(commit "cbd9b6c415ec2edb99237ef67ccd4f033a7b9c2a")))
(commit "16211a4b8524d71525f0ea73c07771c634132b30")))
(file-name "translation-base-browser")
(sha256
(base32
"103dj1zzc68gxzjxwcpc4sbc6qca4zg8kkhdivzpq37ma07sp9sf"))))
"1452lpzbx0a049ksw84q7fj93bldfpllpp86aa4kggiv7vb3dqxk"))))
;; See tor-browser-build/projects/translation/config.
(define translation-tor-browser
@ -180,11 +180,11 @@
(method git-fetch)
(uri (git-reference
(url "https://gitlab.torproject.org/tpo/translation.git")
(commit "a50fa943d7428ebe6e4e6b09f175e098a97eec63")))
(commit "012f643d2d6b04ebf868bf62cdb7ad5b727734f5")))
(file-name "translation-tor-browser")
(sha256
(base32
"0kvjdkgfdl0sh413wrli9pn7ygv9idrq5yvsi5q8c4bmnnxfig7c"))))
"1253zrpl59bwy6s71ip3f84k46m2wwid7ixgf72pzqrkkh5lcnkn"))))
(define torbrowser-assets
;; This is a prebuilt Torbrowser from which we take the assets we need.
@ -200,7 +200,7 @@
version "/tor-browser-linux-x86_64-" version ".tar.xz"))
(sha256
(base32
"1v4jbgzw640lnsyxk275w62xdyqbw0p0fwvkzfawpg4d3pqp7fpw"))))
"0qcl9yqndnaqkvgmmb6f5rrzvwdr323l3r4s3hd9mwv9q1x41h3b"))))
(arguments
(list
#:install-plan
@ -236,7 +236,7 @@ Browser.")
".tar.xz"))
(sha256
(base32
"0lbarj4i21f6jkpk2ji1cmgv625yhqyjksln97zgbbki43bx09v6"))))
"0c7jfliznxfdfs5xrwwgib486vgpmpcvq4s54rxxcxfk633kgz67"))))
(build-system mozilla-build-system)
(inputs
(list go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird

View File

@ -1131,8 +1131,8 @@ collaboration using typical untrusted file hosts or services.")
(license license:gpl3+)))
(define-public cgit
(let ((commit "793c420897e18eb3474c751d54cf4e0983f85433")
(rev "1"))
(let ((commit "8905003cba637e5b18069e625cd4f4c05ac30251")
(rev "2"))
(package
(name "cgit")
;; Update the git-source input as well.
@ -1144,7 +1144,7 @@ collaboration using typical untrusted file hosts or services.")
(commit commit)))
(sha256
(base32
"1mhrm14wpqvralf9j33ih5ai6naiq3g2jg2z91gnw9dhh8f9ilwz"))
"1ha8d2n59mv89vv4bqgg3dk82n1rqh8kd8y654vqx7v1v7m645qz"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@ -1220,9 +1220,9 @@ collaboration using typical untrusted file hosts or services.")
(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")
(uri "mirror://kernel.org/software/scm/git/git-2.44.0.tar.xz")
(sha256
(base32 "1v3nkfm3gw8wr7595qy86qla8xyjvi85fmly4lfph4frfcz60ijl"))))
(base32 "1qqxd3pdsca6m93lxxkz9s06xs1sq0ah02lhrr0a6pjvrf6p6n73"))))
("bash-minimal" ,bash-minimal)
("openssl" ,openssl)
("python" ,python)
@ -2900,13 +2900,13 @@ based on a manifest file published by servers.")
(define-public patatt
(package
(name "patatt")
(version "0.4.9")
(version "0.6.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "patatt" version))
(sha256
(base32 "0fpbkmdlnz9s1lakw11jlrzpz4mb6f4dksdiir9g1ppq0g34sy58"))))
(base32 "0a0a5ndlnv7dk2smn8algss6q17gbd6mc7yacz17c9cxabv2c24q"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ; No tests.
(propagated-inputs

View File

@ -162,6 +162,7 @@
#:use-module (gnu packages man)
#:use-module (gnu packages markup)
#:use-module (gnu packages maths)
#:use-module (gnu packages messaging)
#:use-module (gnu packages music)
#:use-module (gnu packages mp3)
#:use-module (gnu packages multiprecision)
@ -2751,6 +2752,78 @@ possibility to play Youtube videos, download subtitles, remember
the last played position, etc.")
(license license:gpl2+)))
(define-public jellyfin-mpv-shim
(package
(name "jellyfin-mpv-shim")
(version "2.6.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "jellyfin-mpv-shim" version))
(sha256
(base32 "1cy2sfv84k5nw8bqy4aa7v0hdawp7gk5s7wq850xizqk0sz7cipp"))))
(build-system python-build-system)
(arguments
(list
;; There is no test suite, but the code is ill-behaved and tries
;; to open network connections at module import time, which makes
;; `python setup.py test' fail.
#:tests? #f
#:phases
#~(modify-phases %standard-phases
;; sanity-check loads console_scripts endpoints, which launches
;; the program, which makes the build hang. Disable it.
(delete 'sanity-check)
(add-after 'unpack 'disable-updates
(lambda _
(substitute* "jellyfin_mpv_shim/conf.py"
(("check_updates: bool = True")
"check_updates: bool = False")
(("notify_updates: bool = True")
"notify_updates: bool = False"))))
(add-after 'install 'install-desktop-file
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(apps (string-append out "/share/applications"))
(desktop-base "jellyfin_mpv_shim/integration/")
(package-id
"com.github.iwalton3.jellyfin-mpv-shim"))
(for-each (lambda (size)
(install-file (format #f
"~ajellyfin-~a.png"
desktop-base size) apps))
'(256 128 64 48 32 16))
(install-file (string-append desktop-base package-id
".appdata.xml") apps)
(install-file (string-append desktop-base package-id
".desktop") apps)))))))
(inputs (list `(,python "tk")
python-jellyfin-apiclient
python-jinja2
python-mpv
python-mpv-jsonipc
python-pypresence
python-pystray
python-requests))
(home-page "https://github.com/jellyfin/jellyfin-mpv-shim")
(synopsis "Cast media from Jellyfin Mobile and Web apps to MPV")
(description "Jellyfin MPV Shim is a cross-platform cast client for
Jellyfin. It has support for various media files without transcoding.")
(license (list
;; jellyfin-mpv-shim
license:gpl3
;; jellyfin-mpv-shim, and Anime4K, FSRCNNX, NVIDIA Image
;; Scaling, AMD FidelityFX Super Resolution, AMD
;; FidelityFX Contrast Adaptive Sharpening shaders.
license:expat
;; Static Grain shader.
license:public-domain
;; KrigBilatera, SSimDownscaler, and NNEDI3 shaders.
license:lgpl3+))))
(define-public gallery-dl
(package
(name "gallery-dl")

View File

@ -86,7 +86,7 @@
(define-public vim
(package
(name "vim")
(version "9.1.0059")
(version "9.1.0146")
(source (origin
(method git-fetch)
(uri (git-reference
@ -95,7 +95,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"146zhwhagdsbsh3h7f8h7izbzrwh3hgry4cx2lalq9s275qy3hzb"))))
"05lz8ai39p9ypk22n7qc7g21868m08pl12sn4028jshx5nxwy2zn"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@ -116,7 +116,8 @@
(("/bin/sh") (which "sh")))
(substitute* "src/testdir/test_autocmd.vim"
(("/bin/kill") (which "kill")))
(substitute* "src/if_cscope.c"
(substitute* '("runtime/syntax/sh.vim"
"src/if_cscope.c")
(("/bin/sh") (search-input-file inputs "/bin/sh")))))
(add-before 'check 'set-environment-variables
(lambda* (#:key inputs #:allow-other-keys)

View File

@ -3,10 +3,10 @@
;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de>
;;; Copyright © 2014-2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015-2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015-2024 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Raoul Jean Pierre Bonnal <ilpuccio.febo@gmail.com>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2015-2020, 2024 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org>
@ -4893,9 +4893,40 @@ their web site.")
"1p5i8wsi8q5fpq63i7n7ri1w1lnh4gpn17f88vhkbh14aah5wxj1"))))
(properties '(("upstream-name" . "python-lambda-4dn")))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-pip-install
(lambda _
(substitute* "aws_lambda/aws_lambda.py"
;; This package uses pip to install Python packages, wrap them
;; up, and push them to AWS Lambda. We need to reset
;; GUIX_PYTHONPATH to avoid introducing package conflicts that
;; would cause pip to fail.
(("(subprocess.call\\(\\[sys.executable.*'--no-cache-dir'\\])\\)" _ m)
(string-append m ", env={\"GUIX_PYTHONPATH\":\""
#$(this-package-input "python")
"/lib/python"
#$(version-major+minor
(package-version (this-package-input "python")))
"/site-packages/\"})"))
;; Zipfile uses the mtime of the temporary directory to build
;; a zip file. But the temp directory has a timestamp of 0,
;; and zipfile refuses to build a zip archive dated before
;; 1980. So we reset the mtime of all temp files before they
;; are added to the zip archive.
(("^( +)arcname = os.path.join" line indent)
(string-append indent
"os.utime(os.path.join(root, file), (315619200, 315619200))\n"
line))))))))
(inputs (list python))
(propagated-inputs
(list python-boto3 python-botocore python-docutils
python-six))
(list python-boto3
python-botocore
python-docutils
python-six
python-virtualenv))
(home-page "https://github.com/4dn-dcic/python-lambda")
(synopsis
"Toolkit for developing and deploying Python code in AWS Lambda")
@ -4967,8 +4998,8 @@ Cloud.")
(license license:expat)))
(define-public guix-data-service
(let ((commit "e13febc81706fbfb7f073bc4e9ce73fbc80d5180")
(revision "44"))
(let ((commit "5f80856ad1587aea38ee4e7b54db558cdb43f6b7")
(revision "45"))
(package
(name "guix-data-service")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
@ -4980,7 +5011,7 @@ Cloud.")
(file-name (git-file-name name version))
(sha256
(base32
"0pk86b44zg2yn73sxlcd9pqbz8xwprwzaib2npnq80y3yzc6qc22"))))
"18m002d9pkh0qn4xn4n6lijl541m9z7c3lbapl7m6zi41p3dywww"))))
(build-system gnu-build-system)
(arguments
(list
@ -5428,7 +5459,7 @@ tools they trust (e.g. wget).")
(define netsurf-buildsystem
(package
(name "netsurf-buildsystem")
(version "1.9")
(version "1.10")
(source
(origin
(method url-fetch)
@ -5436,7 +5467,7 @@ tools they trust (e.g. wget).")
"buildsystem-" version ".tar.gz"))
(sha256
(base32
"0alsmaig9ln8dgllb3z63gq90fiz75jz0ic71fi0k0k898qix14k"))))
"0yadmrpgvl9r08b56qiy5f77jracc7g9n4krn727fip4d7akjgix"))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)))
(arguments
@ -5467,7 +5498,7 @@ libraries.")
(define-public libparserutils
(package
(name "libparserutils")
(version "0.2.4")
(version "0.2.5")
(source
(origin
(method url-fetch)
@ -5475,7 +5506,7 @@ libraries.")
name "-" version "-src.tar.gz"))
(sha256
(base32
"1n2794y2l0c8nv8z2pxwfnbn882987ifmxjv60zdxkhcndhswarj"))))
"0ffi5q1jlcdl66nk3cax0mnzvhrjvvjvlx0rfasjfygi333xazii"))))
(build-system gnu-build-system)
(native-inputs
(list netsurf-buildsystem pkg-config perl)) ;for test harness
@ -5490,7 +5521,7 @@ C. It is developed as part of the NetSurf project.")
(define-public hubbub
(package
(name "hubbub")
(version "0.3.7")
(version "0.3.8")
(source
(origin
(method url-fetch)
@ -5498,15 +5529,14 @@ C. It is developed as part of the NetSurf project.")
"libhubbub-" version "-src.tar.gz"))
(sha256
(base32
"1dimfyblmym98qa1b80c5jslv2zk8r44xbdrgrsrw1n9wr9y4yly"))
(patches (search-patches
"hubbub-sort-entities.patch"
"hubbub-maybe-uninitialized.patch"))))
"19fm5h8arnsgxd4w5vr9s2fcb422acciffar3la0b36lygsydhca"))
(patches (search-patches "hubbub-sort-entities.patch"))))
(build-system gnu-build-system)
(native-inputs
(list netsurf-buildsystem
pkg-config
doxygen
gperf
json-c-0.12 ; check whether json-c-0.12 can be removed
perl))
(propagated-inputs
@ -5674,7 +5704,7 @@ developed as part of the Netsurf project.")
(define-public libcss
(package
(name "libcss")
(version "0.9.1")
(version "0.9.2")
(source
(origin
(method url-fetch)
@ -5682,13 +5712,8 @@ developed as part of the Netsurf project.")
"libcss-" version "-src.tar.gz"))
(sha256
(base32
"1p66sdiiqm7w4jkq23hsf08khsnmq93hshh9f9m8sbirjdpf3p6j"))
(modules '((guix build utils)))
(snippet
'(begin
;; This can be removed with the next release.
(substitute* "src/select/computed.c"
(("css_unit unit;") "css_unit unit = CSS_UNIT_PX;"))))))
"0khmf5bdpkc09fpsgwzi23sihpadvyr02jx0q5h1vm9lxjxibwid"))
(patches (search-patches "libcss-check-format.patch"))))
(build-system gnu-build-system)
(native-inputs
(list netsurf-buildsystem pkg-config perl))
@ -5705,7 +5730,7 @@ written in C. It is developed as part of the NetSurf project.")
(define-public libdom
(package
(name "libdom")
(version "0.4.1")
(version "0.4.2") ;TODO include patch for additional tags?
(source
(origin
(method url-fetch)
@ -5713,7 +5738,7 @@ written in C. It is developed as part of the NetSurf project.")
"libdom-" version "-src.tar.gz"))
(sha256
(base32
"0jpg5hx3y0mdxk5szd47dyijqimd2321brbqk2620pp5f4j0gvlq"))))
"0g0gqcglk8f8gbygbcq5ylcx84zsf0vczbm3n3118w2l2splapnh"))))
(build-system gnu-build-system)
(native-inputs
(list netsurf-buildsystem
@ -5740,7 +5765,7 @@ developed as part of the NetSurf project.")
(define-public libsvgtiny
(package
(name "libsvgtiny")
(version "0.1.7")
(version "0.1.8")
(source
(origin
(method url-fetch)
@ -5748,7 +5773,7 @@ developed as part of the NetSurf project.")
name "-" version "-src.tar.gz"))
(sha256
(base32
"10bpkmvfpydj74im3r6kqm9vnvgib6afy0alx71q5n0w5yawy39c"))))
"0750q884ax8wygl64wq03zdjj8h838ch3f8jdfkv4gz809zj4my3"))))
(build-system gnu-build-system)
(native-inputs
(list netsurf-buildsystem pkg-config gperf-3.0))
@ -5769,7 +5794,7 @@ project.")
(define-public libnsbmp
(package
(name "libnsbmp")
(version "0.1.6")
(version "0.1.7")
(source
(origin
(method url-fetch)
@ -5777,7 +5802,7 @@ project.")
name "-" version "-src.tar.gz"))
(sha256
(base32
"0krjg69a2amxjsahdgm3wmy9ngnyr3gfs2a1zhdlbvb0z1jr7i3r"))))
"14r2v1ich4lxn3sdwpiwq5adydrd1qlhbd8mbamalaqj59laf1sl"))))
(build-system gnu-build-system)
(native-inputs
(list netsurf-buildsystem))
@ -5825,7 +5850,7 @@ operations.")
(define-public libnsgif
(package
(name "libnsgif")
(version "0.2.1")
(version "1.0.0")
(source
(origin
(method url-fetch)
@ -5833,7 +5858,7 @@ operations.")
name "-" version "-src.tar.gz"))
(sha256
(base32
"0jwshypgmx16xlsbx3d8njk8a5khazlplca5mxd3rdbhrlsabbly"))))
"06q69hn0nz3c6hnwmzfcldyrppkvimx3s97ql3sx4m0lyr1ch530"))))
(build-system gnu-build-system)
(native-inputs
(list netsurf-buildsystem))
@ -5876,7 +5901,7 @@ client applications. It is developed as part of the NetSurf project.")
(define-public libnsutils
(package
(name "libnsutils")
(version "0.1.0")
(version "0.1.1")
(source
(origin
(method url-fetch)
@ -5884,7 +5909,7 @@ client applications. It is developed as part of the NetSurf project.")
name "-" version "-src.tar.gz"))
(sha256
(base32
"1w5fyy2i60a3v3if3iqcn9sy9sycx6966rcx53v85gja6hb6a33r"))))
"14pakllwf7a205d0dkvyg8jhmqfbi5sh5riw840d13j5dr9b952n"))))
(build-system gnu-build-system)
(native-inputs
(list netsurf-buildsystem))
@ -5899,7 +5924,7 @@ developed as part of the NetSurf project.")
(define-public libnspsl
(package
(name "libnspsl")
(version "0.1.6")
(version "0.1.7")
(source
(origin
(method url-fetch)
@ -5907,7 +5932,7 @@ developed as part of the NetSurf project.")
"libnspsl-" version "-src.tar.gz"))
(sha256
(base32
"02q28n5i6fwqcz1nn167rb71k1q95mx38mfah6zi1lvqrc2q5ifk"))))
"105cjkb622wz11z26il4j1n4ydyrrgv0nglr67aawpam5z1wx11n"))))
(build-system gnu-build-system)
(native-inputs
(list netsurf-buildsystem))
@ -5922,7 +5947,7 @@ Public Suffix List. It is developed as part of the NetSurf project.")
(define-public nsgenbind
(package
(name "nsgenbind")
(version "0.8")
(version "0.9")
(source
(origin
(method url-fetch)
@ -5930,7 +5955,7 @@ Public Suffix List. It is developed as part of the NetSurf project.")
"nsgenbind-" version "-src.tar.gz"))
(sha256
(base32
"1cqwgwca49jvmijwiyaab2bwxicgxdrnlpinf8kp3nha02nm73ad"))))
"0p9q9ffn9hf1qrphz2qxq2xvyysn5kg2dbl8cbnkwb5wdkvf0b13"))))
(build-system gnu-build-system)
(native-inputs
(list netsurf-buildsystem bison flex))
@ -5948,7 +5973,7 @@ w3c webidl files and a binding configuration file.")
(define-public netsurf
(package
(name "netsurf")
(version "3.10")
(version "3.11")
(source
(origin
(method url-fetch)
@ -5956,7 +5981,7 @@ w3c webidl files and a binding configuration file.")
"releases/source/netsurf-" version "-src.tar.gz"))
(sha256
(base32
"0plra64c5xyiw12yx2q13brxsv8apmany97zqa2lcqckw4ll8j1n"))
"1chw40nx7krpy7m14bajfrcj88h98if8py0k7c2qshpfxxm652n2"))
(patches (search-patches "netsurf-system-utf8proc.patch"
"netsurf-y2038-tests.patch"
"netsurf-longer-test-timeout.patch"
@ -6007,7 +6032,7 @@ w3c webidl files and a binding configuration file.")
(add-after 'unpack 'remove-timestamps
;; Avoid embedding timestamp for reproducible builds
(lambda _
(substitute* "utils/git-testament.pl"
(substitute* "tools/git-testament.pl"
(("WT_COMPILEDATE ..$compiledate")
"WT_COMPILEDATE \\\""))))
(add-after 'build 'adjust-welcome
@ -6017,12 +6042,7 @@ w3c webidl files and a binding configuration file.")
(("<(img|input)([^>]*)>" _ tag contents)
(string-append "<" tag contents " />"))
;; Increase freedom.
((" open source") ", free software")
;; Prefer a more privacy-respecting default search engine.
(("www.google.co.uk") "www.duckduckgo.com/html")
(("Google Search") "DuckDuckGo Search")
(("name=\"btnG\"") ""))
;; Remove default links so it doesn't seem we're endorsing them.
((" open source") ", free software"))
(with-atomic-file-replacement "frontends/gtk/res/welcome.html"
(lambda (in out)
;; Leave the DOCTYPE header as is.
@ -6037,8 +6057,23 @@ w3c webidl files and a binding configuration file.")
;; We'd like to use sxml-match here, but it can't
;; match against generic tag symbols...
(match sxml
;; Remove default links so it doesn't seem we're
;; endorsing them.
(`(div (@ (class "links")) . ,rest)
'())
;; Prefer a more privacy-respecting default search
;; engine.
(`(form . ,rest)
`(form (@ (action "https://lite.duckduckgo.com/lite/")
(method "post"))
(div (@ (class "websearch"))
(input (@ (type "text")
(size "42")
(name "q")
(autocomplete "off")
(value "")))
(input (@ (type "submit")
(value "DuckDuckGo Search"))))))
(`(ENTITY ,ent)
`(*ENTITY* ,ent))
((x ...)

View File

@ -127,13 +127,20 @@ engine that uses Wayland for graphics output.")
(define-public webkitgtk
(package
(name "webkitgtk")
(version "2.42.4")
(version "2.42.5")
(source (origin
(method url-fetch)
(uri (string-append "https://www.webkitgtk.org/releases/"
name "-" version ".tar.xz"))
(sha256
(base32 "11pdcwmdj3i9aarrf7wsfvadi6jnkaf6zf7c5i2768x2plq8na2j"))
(base32 "0jg7c7z572afywwrnvdj3m5agaviv0vkqmzznnzzv30byb0phhmn"))
(snippet
#~(begin
(use-modules (guix build utils))
;; https://bugs.webkit.org/show_bug.cgi?id=268739
;; Fix a FTBFS on i686, powerpc64le.
(substitute* "Source/JavaScriptCore/llint/LowLevelInterpreter.cpp"
(("UNUSED_VARIABLE\\(t[67]\\);") ""))))
(patches (search-patches
"webkitgtk-adjust-bubblewrap-paths.patch"))))
(build-system cmake-build-system)

View File

@ -1762,7 +1762,7 @@ modules for building a Wayland compositor.")
(define-public sway
(package
(name "sway")
(version "1.8.1")
(version "1.9")
(source
(origin
(method git-fetch)
@ -1771,27 +1771,23 @@ modules for building a Wayland compositor.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1y7brfrsjnm9gksijgnr6zxqiqvn06mdiwsk5j87ggmxazxd66av"))))
(base32 "1n36vgpi4bg2gkiq4fam4khly1z9bjinmjclzq5vfx0z8h7a5bzz"))))
(build-system meson-build-system)
(arguments
`(;; elogind is propagated by wlroots -> libseat
(list
;; elogind is propagated by wlroots -> libseat
;; and would otherwise shadow basu.
#:configure-flags '("-Dsd-bus-provider=basu")
#:configure-flags
#~'("-Dsd-bus-provider=basu")
#:phases
(modify-phases %standard-phases
#~(modify-phases %standard-phases
(add-before 'configure 'hardcode-paths
(lambda* (#:key inputs #:allow-other-keys)
;; Hardcode path to swaybg.
(substitute* "sway/config.c"
(("strdup..swaybg..")
(string-append "strdup(\"" (assoc-ref inputs "swaybg")
"/bin/swaybg\")")))
;; Hardcode path to scdoc.
(substitute* "meson.build"
(("scdoc.get_pkgconfig_variable..scdoc..")
(string-append "'" (assoc-ref inputs "scdoc")
"/bin/scdoc'")))
#t)))))
(format #f "strdup(\"~a\")"
(search-input-file inputs "bin/swaybg")))))))))
(inputs (list basu
cairo
gdk-pixbuf
@ -1803,7 +1799,7 @@ modules for building a Wayland compositor.")
pcre2
swaybg
wayland
wlroots-0.16))
wlroots))
(native-inputs
(cons* linux-pam mesa pkg-config scdoc wayland-protocols
(if (%current-target-system)

View File

@ -2032,7 +2032,7 @@ by name.")
(package
(inherit rofi)
(name "rofi-wayland")
(version "1.7.5+wayland2")
(version "1.7.5+wayland3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/lbonn/rofi"
@ -2040,7 +2040,7 @@ by name.")
"/rofi-" version ".tar.xz"))
(sha256
(base32
"0l6rf8qwvawyh938pinl9fkwzjnq72xpa9a7lwk9jrr5lkk3h8yj"))))
"11xiksh3m7yf3270kqf1jranlfh9q6rr8i99jvx4ak4azn4pwhpw"))))
(build-system meson-build-system)
(inputs
(modify-inputs (package-inputs base)

View File

@ -13,6 +13,7 @@
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -45,9 +46,11 @@
#:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu))
#:use-module (guix build-system gnu)
#:use-module (guix gexp))
(define-public libogg
(package
@ -97,6 +100,8 @@ a fully open, non-proprietary, patent-and-royalty-free, general-purpose
compressed audio format for mid to high quality (8kHz-48.0kHz, 16+ bit,
polyphonic) audio and music at fixed and variable bitrates from 16 to
128 kbps/channel.")
;; This package shows a sizable speed increase when tuned.
(properties `((tunable? . #t)))
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))
(home-page "https://xiph.org/vorbis/")))
@ -115,7 +120,26 @@ polyphonic) audio and music at fixed and variable bitrates from 16 to
(patches (search-patches "libtheora-config-guess.patch"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")))
(append
(if (and (target-riscv64?)
(%current-target-system))
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'update-config
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(for-each (lambda (file)
(install-file
(search-input-file
(or native-inputs inputs)
(string-append "/bin/" file)) "."))
'("config.guess" "config.sub"))))))
'())
(list #:configure-flags #~'("--disable-static"))))
(native-inputs
(if (and (target-riscv64?)
(%current-target-system))
(list config)
'()))
(inputs (list libvorbis))
;; The .pc files refer to libogg.
(propagated-inputs (list libogg))
@ -345,6 +369,8 @@ is unmatched for interactive speech and music transmission over the Internet,
but is also intended for storage and streaming applications. It is
standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which
incorporated technology from Skype's SILK codec and Xiph.Org's CELT codec.")
;; This package shows a sizable speed increase when tuned.
(properties `((tunable? . #t)))
(license license:bsd-3)
(home-page "https://www.opus-codec.org")))

View File

@ -1220,10 +1220,13 @@ authpriv.*;auth.info /var/log/secure
;; pre-initialized /etc/guix/acl file in the VM. Thus,
;; clear 'authorize-key?' so that it's not overridden
;; at activation time.
;; Since it's used for offloading, disable substitutes
;; (this avoids network issues).
(guix-service-type config =>
(guix-configuration
(inherit config)
(authorize-key? #f)))
(authorize-key? #f)
(use-substitutes? #f)))
(syslog-service-type config =>
(syslog-configuration
(config-file

View File

@ -132,15 +132,27 @@ MODULES and taken from LINUX."
#~(begin
(use-modules (gnu build linux-modules)
(guix build utils)
(rnrs io ports)
(srfi srfi-1)
(srfi srfi-26))
(define module-dir
(string-append #$linux "/lib/modules"))
(define builtin-modules
(call-with-input-file
(first (find-files module-dir "modules.builtin$"))
(lambda (port)
(map file-name->module-name
(string-tokenize
(get-string-all port))))))
(define modules-to-lookup
(lset-difference string=? '#$modules builtin-modules))
(define modules
(let* ((lookup (cut find-module-file module-dir <>))
(modules (map lookup '#$modules)))
(modules (map lookup modules-to-lookup)))
(append modules
(recursive-module-dependencies
modules

View File

@ -187,6 +187,12 @@ installed; this is useful for files that are meant to be included."
(let ((source-files
(with-directory-excursion source-directory
(find-files "." scheme-file-regexp))))
(for-each
(lambda (file)
(install-file (string-append source-directory "/" file)
(string-append module-dir
"/" (dirname file))))
source-files)
(invoke-each
(filter-map (lambda (file)
(and (or (not not-compiled-file-regexp)
@ -202,21 +208,14 @@ installed; this is useful for files that are meant to be included."
flags)))
source-files)
#:max-processes (parallel-job-count)
#:report-progress report-build-progress)
(for-each
(lambda (file)
(install-file (string-append source-directory "/" file)
(string-append module-dir
"/" (dirname file))))
source-files))
#:report-progress report-build-progress))
#t))
(define* (install-documentation #:key outputs
(documentation-file-regexp
%documentation-file-regexp)
#:allow-other-keys)
"Install files that mactch DOCUMENTATION-FILE-REGEXP."
"Install files that match DOCUMENTATION-FILE-REGEXP."
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/"
(strip-store-file-name out))))

View File

@ -36,7 +36,11 @@
(define* (check #:key tests? inputs with-prove6? #:allow-other-keys)
(if (and tests? (assoc-ref inputs "perl6-tap-harness"))
;(if (and tests? with-prove6?)
(invoke "prove6" "-I=lib" "t/")
(let ((test-files (find-files "t/" "\\.(rakutest|t|t6)$")))
(invoke "raku" "-MTAP" "-e"
(string-append
"my @tests = <" (string-join test-files " ") ">; "
"TAP::Harness.new().run(@tests);")))
(format #t "test suite not run~%"))
#t)
@ -59,7 +63,7 @@
#t)
(begin
(let ((inst (string-append (assoc-ref inputs "rakudo")
"/share/perl6/tools/install-dist.p6")))
"/share/perl6/tools/install-dist.raku")))
(setenv "RAKUDO_RERESOLVE_DEPENDENCIES" "0")
(setenv "RAKUDO_MODULE_DEBUG" "1") ; be verbose while building
(invoke inst (string-append "--to=" perl6) "--for=site"))))))

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2022, 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2022-2024 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -113,7 +113,7 @@
"Return the architecture name, suitable for GCC's '-march' flag, that
corresponds to CPU, a record as returned by 'current-cpu'."
(match (cpu-architecture cpu)
("x86_64"
((or "x86_64" "i686")
;; Transcribed from GCC's 'host_detect_local_cpu' in driver-i386.cc.
(letrec-syntax ((if-flags (syntax-rules (=>)
((_)
@ -128,18 +128,21 @@ corresponds to CPU, a record as returned by 'current-cpu'."
(or (and (equal? "GenuineIntel" (cpu-vendor cpu))
(= 6 (cpu-family cpu)) ;the "Pentium Pro" family
(if-flags ("avx" "raoint" => "grandridge")
("avx" "amx_fp16" => "graniterapids")
(if-flags ("avx512f" "amx_complex" => "graniterapids-d")
("avx512f" "amx_fp16" => "graniterapids")
("avx512f" "avx512vp2intersect" => "tigerlake")
("avx512f" "tsxldtrk" => "sapphirerapids")
("avx512f" "avx512bf16" => "cooperlake")
("avx512f" "wbnoinvd" => "icelake-server")
("avx512f" "avx512bitalg" => "icelake-client")
("avx512f" "avx512vbmi" => "cannonlake")
("avx512f" "avx5124vnniw" => "knm")
("avx512f" "avx512er" => "knl")
("avx512f" => "skylake-avx512")
("avx" "prefetchi" => "pantherlake")
("avx" "user_msr" => "clearwaterforest")
("avx" "sm3" => "arrowlake-s")
("avx" "avxvnniint8" => "sierraforest")
("avx" "avx512vp2intersect" => "tigerlake")
("avx" "tsxldtrk" => "sapphirerapids")
("avx" "avx512bf16" => "cooperlake")
("avx" "wbnoinvd" => "icelake-server")
("avx" "avx512bitalg" => "icelake-client")
("avx" "avx512vbmi" => "cannonlake")
("avx" "avx5124vnniw" => "knm")
("avx" "avx512er" => "knl")
("avx" "avx512f" => "skylake-avx512")
("avx" "serialize" => "alderlake")
("avx" "clflushopt" => "skylake")
("avx" "adx" => "broadwell")
@ -190,10 +193,16 @@ corresponds to CPU, a record as returned by 'current-cpu'."
(= #x3b (cpu-model cpu)))
"lujiazui"
(cpu->micro-architecture-level cpu))
(if (and (= 7 (cpu-family cpu))
(>= #x5b (cpu-model cpu)))
"yongfeng"
(cpu->micro-architecture-level cpu))
;; TODO: Recognize CENTAUR/CYRIX/NSC?
"x86_64")))
(match (cpu-architecture cpu)
("x86_64" "x86-64")
(_ "generic")))))
("aarch64"
;; Transcribed from GCC's list of aarch64 processors in aarch64-cores.def
;; What to do with big.LITTLE cores?
@ -210,7 +219,9 @@ corresponds to CPU, a record as returned by 'current-cpu'."
(#xd15
"armv8-r")
((or #xd46 #xd47 #xd4d #xd48 #xd4e #xd49 #xd4f)
"armv9-a")))
"armv9-a")
((or #xd80 #xd81)
"armv9.2-a")))
("0x42"
"armv8.1-a")
("0x43"
@ -241,8 +252,14 @@ corresponds to CPU, a record as returned by 'current-cpu'."
"armv8-a")
("0x68"
"armv8-a")
("0x6d"
"armv9-a")
("0xC0"
(match (cpu-model cpu)
((or #xac3 #xac4)
"armv8.6-a")
(#xac5
"armv8.7-a")))
("0xC00"
"armv8-a")
(_
@ -275,12 +292,12 @@ correspond roughly to CPU, a record as returned by 'current-cpu'."
;; v2: CMPXCHG16B, LAHF, SAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3
("avx512f" "avx512bw" "abx512cd" "abx512dq" "avx512vl"
"avx" "avx2" "bmi1" "bmi2" "f16c" "fma" "movbe"
"popcnt" "sse3" "sse4_1" "sse4_2" "ssse3" => "x86_64-v4")
"popcnt" "sse3" "sse4_1" "sse4_2" "ssse3" => "x86-64-v4")
("avx" "avx2" "bmi1" "bmi2" "f16c" "fma" "movbe"
"popcnt" "sse3" "sse4_1" "sse4_2" "ssse3" => "x86_64-v3")
("popcnt" "sse3" "sse4_1" "sse4_2" "ssse3" => "x86_64-v2")
(_ => "x86_64-v1")))
"x86_64-v1"))
"popcnt" "sse3" "sse4_1" "sse4_2" "ssse3" => "x86-64-v3")
("popcnt" "sse3" "sse4_1" "sse4_2" "ssse3" => "x86-64-v2")
(_ => "x86-64")))
"x86-64"))
(architecture
;; TODO: More architectures
architecture)))
@ -289,19 +306,22 @@ correspond roughly to CPU, a record as returned by 'current-cpu'."
"Return a matching psABI micro-architecture, allowing optimizations for x86_64
CPUs for compilers which don't allow for more focused optimizing."
;; Matching gcc-architectures isn't an easy task, with the rule-of-thumb being
;; 'Haswell and higher' qualify for x86_64-v3.
;; AVX512F+ for x86-64-v4, AVX+ for x86-64-v3.
;; https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex
(match gcc-architecture
((or "grandridge" "graniterapids" "sierraforest" "tigerlake"
"sapphirerapids" "cooperlake" "icelake-server" "icelake-client"
"cannonlake" "knm" "knl" "skylake-avx512" "alderlake" "skylake"
"broadwell" "haswell"
"znver4" "znver3" "znver2" "znver1" "bdver4")
"x86_64-v3")
((or "graniterapids-d" "graniterapids" "tigerlake" "sapphirerapids"
"cooperlake" "icelake-server" "icelake-client" "cannonlake" "knm"
"knl" "skylake-avx512"
"znver4")
"x86-64-v4")
((or "pantherlake" "clearwaterforest" "arrowlake-s" "sierraforest"
"alderlake" "skylake" "broadwell" "haswell"
"znver3" "znver2" "znver1" "bdver4")
"x86-64-v3")
((or "sandybridge" "tremont" "goldmont-plus" "goldmont" "silvermont"
"nehalem" "bonnell" "core2"
"btver2" "athalon" "k8-sse3" "k8" "bdver3" "bdver2" "bdver1" "btver1"
"amdfam10"
"lujiazui" "x86-64")
"x86_64-v1")
"lujiazui" "yongfeng" "x86-64")
"x86-64")
(_ gcc-architecture)))

View File

@ -418,6 +418,7 @@ empty list when the FIELD cannot be found."
"none"
"rtools"
"unix"
"use_c17"
"windows"
"xcode"
"xquartz"))

View File

@ -104,7 +104,7 @@ Import the latest package named PACKAGE-NAME from an ELPA repository.\n"))
#:repo (assoc-ref opts 'repo)))
((or #f '())
(leave (G_ "failed to download meta-data for package '~a'~%") package-name))
(('package etc ...) `(package ,etc))
(('package etc ...) `(package ,@etc))
((? list? sexps) (map
(match-lambda
((and ('package ('name name) . rest) pkg)