Merge branch 'master' into gnome-team
commit
2ee5451319
459
doc/guix.texi
459
doc/guix.texi
|
@ -111,7 +111,7 @@ Copyright @copyright{} 2022 (@*
|
|||
Copyright @copyright{} 2022 John Kehayias@*
|
||||
Copyright @copyright{} 2022–2023 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
|
||||
|
@ -44479,17 +44702,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/
|
||||
|
@ -44519,8 +44767,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
|
||||
|
@ -44528,7 +44778,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:
|
||||
|
@ -44555,32 +44805,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
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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.")))
|
||||
|
|
14
gnu/local.mk
14
gnu/local.mk
|
@ -1295,7 +1295,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/gdm-remove-hardcoded-xwayland-path.patch \
|
||||
%D%/packages/patches/gdm-wayland-session-wrapper-from-env.patch \
|
||||
%D%/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch \
|
||||
%D%/packages/patches/gegl-compatibility-old-librsvg.patch \
|
||||
%D%/packages/patches/gemmi-fix-pegtl-usage.patch \
|
||||
%D%/packages/patches/gemmi-fix-sajson-types.patch \
|
||||
%D%/packages/patches/genimage-mke2fs-test.patch \
|
||||
|
@ -1450,7 +1449,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 \
|
||||
|
@ -1521,6 +1519,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \
|
||||
%D%/packages/patches/julia-Use-MPFR-4.2.patch \
|
||||
%D%/packages/patches/libcall-ui-make-it-installable.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 \
|
||||
|
@ -1617,8 +1616,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 \
|
||||
|
@ -1798,6 +1795,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 \
|
||||
|
@ -1805,6 +1803,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/prusa-slicer-fix-tests.patch \
|
||||
%D%/packages/patches/prusa-slicer-with-cereal-1.3.1.patch \
|
||||
%D%/packages/patches/pthreadpool-system-libraries.patch \
|
||||
%D%/packages/patches/python-3.12-fix-tests.patch \
|
||||
%D%/packages/patches/python-accupy-use-matplotx.patch \
|
||||
%D%/packages/patches/python-accupy-fix-use-of-perfplot.patch \
|
||||
%D%/packages/patches/python-chai-drop-python2.patch \
|
||||
|
@ -1828,11 +1827,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 \
|
||||
|
@ -1840,6 +1834,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 \
|
||||
|
@ -2026,6 +2021,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 \
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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.")))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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.")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
@ -23494,7 +23495,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)
|
||||
|
@ -23503,7 +23504,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
|
||||
|
@ -23841,6 +23842,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"))
|
||||
|
@ -33667,22 +33691,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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)))))
|
||||
|
||||
|
|
|
@ -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.46")
|
||||
(version "0.4.48")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -228,15 +228,11 @@ provided, as well as a framework to add new color models and data types.")
|
|||
(string-append "ftp://ftp.gtk.org/pub/gegl/"
|
||||
(version-major+minor version)
|
||||
"/gegl-" version ".tar.xz")))
|
||||
(patches
|
||||
(search-patches "gegl-compatibility-old-librsvg.patch"))
|
||||
(sha256
|
||||
(base32 "14p8n6vily0yp6gqafl2xy7d2rh1j48pcj0a7mglqxy83d4b5cyh"))))
|
||||
(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 _
|
||||
|
@ -287,8 +283,27 @@ buffers.")
|
|||
;; application and GUI binary gegl is licensed under GPL.
|
||||
(license (list license:lgpl3+ license:gpl3+))))
|
||||
|
||||
;; gnome-photos does not build against gegl 0.4.46 yet.
|
||||
;; gnome-photos does not build against gegl 0.4.46 or newer yet.
|
||||
;; See also <https://gitlab.gnome.org/GNOME/gnome-photos/-/issues/214>.
|
||||
(define-public babl-0.1.96
|
||||
(package
|
||||
(inherit babl)
|
||||
(version "0.1.96")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append "https://download.gimp.org/pub/babl/"
|
||||
(version-major+minor version)
|
||||
"/babl-" version ".tar.xz")
|
||||
(string-append "https://ftp.gtk.org/pub/babl/"
|
||||
(version-major+minor version)
|
||||
"/babl-" version ".tar.xz")
|
||||
(string-append "ftp://ftp.gtk.org/pub/babl/"
|
||||
(version-major+minor version)
|
||||
"/babl-" version ".tar.xz")))
|
||||
(sha256
|
||||
(base32 "1xj5hlmm834lb84rpjlfxbqnm5piswgzhjas4h8z90x9b7j3yrrk"))))))
|
||||
|
||||
(define-public gegl-0.4.44
|
||||
(package
|
||||
(inherit gegl)
|
||||
|
@ -306,12 +321,15 @@ buffers.")
|
|||
(version-major+minor version)
|
||||
"/gegl-" version ".tar.xz")))
|
||||
(sha256
|
||||
(base32 "09k1sn4h0bakgmq2hgd1iamprngpr81ky3fd9446lh2ycd0xnk0a"))))))
|
||||
(base32 "09k1sn4h0bakgmq2hgd1iamprngpr81ky3fd9446lh2ycd0xnk0a"))))
|
||||
(propagated-inputs
|
||||
(modify-inputs (package-propagated-inputs gegl)
|
||||
(replace "babl" babl-0.1.96)))))
|
||||
|
||||
(define-public gimp
|
||||
(package
|
||||
(name "gimp")
|
||||
(version "2.10.34")
|
||||
(version "2.10.36")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -319,7 +337,7 @@ buffers.")
|
|||
(version-major+minor version)
|
||||
"/gimp-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "18vscmy293q6wq78almv0m7r8jh4j8szvmrw56j9icsisd14c044"))))
|
||||
(base32 "1cnvgkni2q4psv8syyl5yd9kk84fv5g3imd2kgm3mnsbkb3c6frx"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out"
|
||||
"doc")) ; 9 MiB of gtk-doc HTML
|
||||
|
@ -393,6 +411,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")
|
||||
|
|
|
@ -5602,6 +5602,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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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/")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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="
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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>
|
||||
|
@ -426,13 +426,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)
|
||||
|
@ -8736,7 +8736,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)
|
||||
|
@ -8744,7 +8744,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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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)))))))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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);
|
||||
|
|
@ -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
|
|
@ -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) {
|
|
@ -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} )
|
||||
|
|
|
@ -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
|
||||
|
|
@ -0,0 +1,334 @@
|
|||
From f0698133e7d6c353a3e6ae0fc62e57ba558a9bc0 Mon Sep 17 00:00:00 2001
|
||||
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
Date: Wed, 28 Oct 2020 22:55:05 -0400
|
||||
Subject: [PATCH] Skip problematic Python 3 tests in Guix.
|
||||
|
||||
A subset of the hunks in this patch is tracked upstream at
|
||||
https://bugs.python.org/issue38845, which was contributed by Tanguy Le
|
||||
Carrour <tanguy@bioneland.org>.
|
||||
|
||||
diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py
|
||||
index e42c7ab4bd..8087c84dab 100644
|
||||
--- a/Lib/test/_test_multiprocessing.py
|
||||
+++ b/Lib/test/_test_multiprocessing.py
|
||||
@@ -1695,6 +1695,7 @@ def _test_wait_result(cls, c, pid):
|
||||
if pid is not None:
|
||||
os.kill(pid, signal.SIGINT)
|
||||
|
||||
+ @unittest.skipIf(True, "This fails for unknown reasons on Guix")
|
||||
def test_wait_result(self):
|
||||
if isinstance(self, ProcessesMixin) and sys.platform != 'win32':
|
||||
pid = os.getpid()
|
||||
@@ -4150,6 +4151,7 @@ def test_shared_memory_across_processes(self):
|
||||
sms.close()
|
||||
|
||||
@unittest.skipIf(os.name != "posix", "not feasible in non-posix platforms")
|
||||
+ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
|
||||
def test_shared_memory_SharedMemoryServer_ignores_sigint(self):
|
||||
# bpo-36368: protect SharedMemoryManager server process from
|
||||
# KeyboardInterrupt signals.
|
||||
diff --git a/Lib/test/test_asyncio/test_base_events.py b/Lib/test/test_asyncio/test_base_events.py
|
||||
index 85c8152d49..e35cfffe84 100644
|
||||
--- a/Lib/test/test_asyncio/test_base_events.py
|
||||
+++ b/Lib/test/test_asyncio/test_base_events.py
|
||||
@@ -1377,6 +1377,8 @@ def test_create_connection_no_inet_pton(self, m_socket):
|
||||
self._test_create_connection_ip_addr(m_socket, False)
|
||||
|
||||
@patch_socket
|
||||
+ @unittest.skipUnless(support.is_resource_enabled('network'),
|
||||
+ 'network is not enabled')
|
||||
def test_create_connection_service_name(self, m_socket):
|
||||
m_socket.getaddrinfo = socket.getaddrinfo
|
||||
sock = m_socket.socket.return_value
|
||||
diff --git a/Lib/test/test_ctypes/test_find.py b/Lib/test/test_ctypes/test_find.py
|
||||
index a41e94971d..1291af3057 100644
|
||||
--- a/Lib/test/test_ctypes/test_find.py
|
||||
+++ b/Lib/test/test_ctypes/test_find.py
|
||||
@@ -117,6 +117,7 @@ def test_find_library_with_gcc(self):
|
||||
with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None):
|
||||
self.assertNotEqual(find_library('c'), None)
|
||||
|
||||
+ @unittest.skipIf(True, 'Fails on Guix.')
|
||||
def test_find_library_with_ld(self):
|
||||
with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None), \
|
||||
unittest.mock.patch("ctypes.util._findLib_gcc", lambda *args: None):
|
||||
diff --git a/Lib/test/test_generators.py b/Lib/test/test_generators.py
|
||||
index 1ee9958445..ab6b41befe 100644
|
||||
--- a/Lib/test/test_generators.py
|
||||
+++ b/Lib/test/test_generators.py
|
||||
@@ -34,6 +34,7 @@ def generator2(self):
|
||||
else:
|
||||
return "FAILED"
|
||||
|
||||
+ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment')
|
||||
def test_raise_and_yield_from(self):
|
||||
gen = self.generator1()
|
||||
gen.send(None)
|
||||
diff --git a/Lib/test/test_pathlib.py b/Lib/test/test_pathlib.py
|
||||
index ec105ae1a0..ae4c5b672e 100644
|
||||
--- a/Lib/test/test_pathlib.py
|
||||
+++ b/Lib/test/test_pathlib.py
|
||||
@@ -3069,6 +3069,7 @@ def test_rglob(self):
|
||||
'pwd module does not expose getpwall()')
|
||||
@unittest.skipIf(sys.platform == "vxworks",
|
||||
"no home directory on VxWorks")
|
||||
+ @unittest.skipIf(True, "Guix builder home is '/' which causes trouble for these tests")
|
||||
def test_expanduser(self):
|
||||
P = self.cls
|
||||
import_helper.import_module('pwd')
|
||||
diff --git a/Lib/test/test_pdb.py b/Lib/test/test_pdb.py
|
||||
index 51b844262e..004d3133cf 100644
|
||||
--- a/Lib/test/test_pdb.py
|
||||
+++ b/Lib/test/test_pdb.py
|
||||
@@ -1580,6 +1580,7 @@ def test_pdb_next_command_subiterator():
|
||||
(Pdb) continue
|
||||
"""
|
||||
|
||||
+@unittest.skipIf(True, 'Fails on Guix… but skipIf not taken into account?!')
|
||||
def test_pdb_issue_20766():
|
||||
"""Test for reference leaks when the SIGINT handler is set.
|
||||
|
||||
@@ -1598,11 +1599,11 @@ def test_pdb_issue_20766():
|
||||
> <doctest test.test_pdb.test_pdb_issue_20766[0]>(6)test_function()
|
||||
-> print('pdb %d: %s' % (i, sess._previous_sigint_handler))
|
||||
(Pdb) continue
|
||||
- pdb 1: <built-in function default_int_handler>
|
||||
+ pdb 1: 1
|
||||
> <doctest test.test_pdb.test_pdb_issue_20766[0]>(6)test_function()
|
||||
-> print('pdb %d: %s' % (i, sess._previous_sigint_handler))
|
||||
(Pdb) continue
|
||||
- pdb 2: <built-in function default_int_handler>
|
||||
+ pdb 2: 1
|
||||
"""
|
||||
|
||||
def test_pdb_issue_43318():
|
||||
diff --git a/Lib/test/test_regrtest.py b/Lib/test/test_regrtest.py
|
||||
index 2ab6f6a986..8cf6b4d1c8 100644
|
||||
--- a/Lib/test/test_regrtest.py
|
||||
+++ b/Lib/test/test_regrtest.py
|
||||
@@ -1049,6 +1049,7 @@ def test_fromfile(self):
|
||||
output = self.run_tests('--fromfile', filename)
|
||||
self.check_executed_tests(output, tests, stats=stats)
|
||||
|
||||
+ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment.')
|
||||
def test_interrupted(self):
|
||||
code = TEST_INTERRUPTED
|
||||
test = self.create_test('sigint', code=code)
|
||||
@@ -1066,6 +1067,7 @@ def test_slowest(self):
|
||||
% (self.TESTNAME_REGEX, len(tests)))
|
||||
self.check_line(output, regex)
|
||||
|
||||
+ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment.')
|
||||
def test_slowest_interrupted(self):
|
||||
# Issue #25373: test --slowest with an interrupted test
|
||||
code = TEST_INTERRUPTED
|
||||
diff --git a/Lib/test/test_resource.py b/Lib/test/test_resource.py
|
||||
index 317e7ca8f8..7f272daf24 100644
|
||||
--- a/Lib/test/test_resource.py
|
||||
+++ b/Lib/test/test_resource.py
|
||||
@@ -151,6 +151,7 @@ def test_freebsd_contants(self):
|
||||
|
||||
@unittest.skipUnless(hasattr(resource, 'prlimit'), 'no prlimit')
|
||||
@support.requires_linux_version(2, 6, 36)
|
||||
+ @unittest.skipIf(True, "Bug: the PermissionError is not raised")
|
||||
def test_prlimit(self):
|
||||
self.assertRaises(TypeError, resource.prlimit)
|
||||
self.assertRaises(ProcessLookupError, resource.prlimit,
|
||||
diff --git a/Lib/test/test_shutil.py b/Lib/test/test_shutil.py
|
||||
index bf60f37934..5e3a96380a 100644
|
||||
--- a/Lib/test/test_shutil.py
|
||||
+++ b/Lib/test/test_shutil.py
|
||||
@@ -1743,6 +1743,7 @@ def test_make_archive(self):
|
||||
base_name = os.path.join(tmpdir, 'archive')
|
||||
self.assertRaises(ValueError, make_archive, base_name, 'xxx')
|
||||
|
||||
+ @unittest.skipIf(True, "The Guix build container has no root user")
|
||||
@support.requires_zlib()
|
||||
def test_make_archive_owner_group(self):
|
||||
# testing make_archive with owner and group, with various combinations
|
||||
@@ -1771,6 +1772,7 @@ def test_make_archive_owner_group(self):
|
||||
self.assertTrue(os.path.isfile(res))
|
||||
|
||||
|
||||
+ @unittest.skipIf(True, "The Guix build container has no root user")
|
||||
@support.requires_zlib()
|
||||
@unittest.skipUnless(UID_GID_SUPPORT, "Requires grp and pwd support")
|
||||
def test_tarfile_root_owner(self):
|
||||
diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py
|
||||
index 637a0ca3b3..2fb804e340 100644
|
||||
--- a/Lib/test/test_signal.py
|
||||
+++ b/Lib/test/test_signal.py
|
||||
@@ -160,6 +160,7 @@ def test_valid_signals(self):
|
||||
self.assertLess(signum, signal.NSIG)
|
||||
|
||||
@unittest.skipUnless(sys.executable, "sys.executable required.")
|
||||
+ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
|
||||
@support.requires_subprocess()
|
||||
def test_keyboard_interrupt_exit_code(self):
|
||||
"""KeyboardInterrupt triggers exit via SIGINT."""
|
||||
@@ -211,6 +212,7 @@ def test_issue9324(self):
|
||||
signal.signal(7, handler)
|
||||
|
||||
@unittest.skipUnless(sys.executable, "sys.executable required.")
|
||||
+ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
|
||||
@support.requires_subprocess()
|
||||
def test_keyboard_interrupt_exit_code(self):
|
||||
"""KeyboardInterrupt triggers an exit using STATUS_CONTROL_C_EXIT."""
|
||||
@@ -1407,6 +1409,7 @@ def cycle_handlers():
|
||||
|
||||
class RaiseSignalTest(unittest.TestCase):
|
||||
|
||||
+ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
|
||||
def test_sigint(self):
|
||||
with self.assertRaises(KeyboardInterrupt):
|
||||
signal.raise_signal(signal.SIGINT)
|
||||
@@ -1452,6 +1455,7 @@ def __del__(self):
|
||||
|
||||
class PidfdSignalTest(unittest.TestCase):
|
||||
|
||||
+ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
|
||||
@unittest.skipUnless(
|
||||
hasattr(signal, "pidfd_send_signal"),
|
||||
"pidfd support not built in",
|
||||
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
|
||||
index 4eb5af99d6..9c7b8f6dbc 100644
|
||||
--- a/Lib/test/test_socket.py
|
||||
+++ b/Lib/test/test_socket.py
|
||||
@@ -1016,6 +1016,8 @@ def testHostnameRes(self):
|
||||
if not fqhn in all_host_names:
|
||||
self.fail("Error testing host resolution mechanisms. (fqdn: %s, all: %s)" % (fqhn, repr(all_host_names)))
|
||||
|
||||
+ @unittest.skipUnless(support.is_resource_enabled('network'),
|
||||
+ 'network is not enabled')
|
||||
def test_host_resolution(self):
|
||||
for addr in [socket_helper.HOSTv4, '10.0.0.1', '255.255.255.255']:
|
||||
self.assertEqual(socket.gethostbyname(addr), addr)
|
||||
@@ -1161,6 +1163,8 @@ def testNtoHErrors(self):
|
||||
self.assertRaises(OverflowError, socket.ntohl, k)
|
||||
self.assertRaises(OverflowError, socket.htonl, k)
|
||||
|
||||
+ @unittest.skipUnless(os.path.exists("/etc/services"),
|
||||
+ "getservbyname uses /etc/services, which is not in the chroot")
|
||||
def testGetServBy(self):
|
||||
eq = self.assertEqual
|
||||
# Find one service that exists, then check all the related interfaces.
|
||||
@@ -1521,6 +1525,8 @@ def test_sio_loopback_fast_path(self):
|
||||
raise
|
||||
self.assertRaises(TypeError, s.ioctl, socket.SIO_LOOPBACK_FAST_PATH, None)
|
||||
|
||||
+ @unittest.skipUnless(os.path.exists("/etc/gai.conf"),
|
||||
+ "getaddrinfo() will fail")
|
||||
def testGetaddrinfo(self):
|
||||
try:
|
||||
socket.getaddrinfo('localhost', 80)
|
||||
@@ -1653,6 +1659,8 @@ def test_getnameinfo(self):
|
||||
# only IP addresses are allowed
|
||||
self.assertRaises(OSError, socket.getnameinfo, ('mail.python.org',0), 0)
|
||||
|
||||
+ @unittest.skipUnless(os.path.exists("/etc/gai.conf"),
|
||||
+ "getaddrinfo() will fail")
|
||||
@unittest.skipUnless(support.is_resource_enabled('network'),
|
||||
'network is not enabled')
|
||||
def test_idna(self):
|
||||
diff --git a/Lib/test/test_spwd.py b/Lib/test/test_spwd.py
|
||||
index 50766c2548..0c7eb7a83a 100644
|
||||
--- a/Lib/test/test_spwd.py
|
||||
+++ b/Lib/test/test_spwd.py
|
||||
@@ -9,8 +9,7 @@
|
||||
spwd = import_helper.import_module('spwd')
|
||||
|
||||
|
||||
-@unittest.skipUnless(hasattr(os, 'geteuid') and os.geteuid() == 0,
|
||||
- 'root privileges required')
|
||||
+@unittest.skipUnless(os.path.exists("/etc/shadow"), 'spwd tests require /etc/shadow')
|
||||
class TestSpwdRoot(unittest.TestCase):
|
||||
|
||||
def test_getspall(self):
|
||||
@@ -60,8 +59,7 @@ def test_getspnam(self):
|
||||
self.assertRaises(TypeError, spwd.getspnam, bytes_name)
|
||||
|
||||
|
||||
-@unittest.skipUnless(hasattr(os, 'geteuid') and os.geteuid() != 0,
|
||||
- 'non-root user required')
|
||||
+@unittest.skipUnless(os.path.exists("/etc/shadow"), 'spwd tests require /etc/shadow')
|
||||
class TestSpwdNonRoot(unittest.TestCase):
|
||||
|
||||
def test_getspnam_exception(self):
|
||||
diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py
|
||||
index 71489ea493..33351919fe 100644
|
||||
--- a/Lib/test/test_tarfile.py
|
||||
+++ b/Lib/test/test_tarfile.py
|
||||
@@ -2911,9 +2911,12 @@ def root_is_uid_gid_0():
|
||||
import pwd, grp
|
||||
except ImportError:
|
||||
return False
|
||||
- if pwd.getpwuid(0)[0] != 'root':
|
||||
- return False
|
||||
- if grp.getgrgid(0)[0] != 'root':
|
||||
+ try:
|
||||
+ if pwd.getpwuid(0)[0] != 'root':
|
||||
+ return False
|
||||
+ if grp.getgrgid(0)[0] != 'root':
|
||||
+ return False
|
||||
+ except KeyError:
|
||||
return False
|
||||
return True
|
||||
|
||||
diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py
|
||||
index 00d9e591c7..2515603715 100644
|
||||
--- a/Lib/test/test_threading.py
|
||||
+++ b/Lib/test/test_threading.py
|
||||
@@ -1962,6 +1962,7 @@ def check_interrupt_main_noerror(self, signum):
|
||||
# Restore original handler
|
||||
signal.signal(signum, handler)
|
||||
|
||||
+ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build container.')
|
||||
def test_interrupt_main_subthread(self):
|
||||
# Calling start_new_thread with a function that executes interrupt_main
|
||||
# should raise KeyboardInterrupt upon completion.
|
||||
@@ -1973,6 +1974,8 @@ def call_interrupt():
|
||||
t.join()
|
||||
t.join()
|
||||
|
||||
+
|
||||
+ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build container.')
|
||||
def test_interrupt_main_mainthread(self):
|
||||
# Make sure that if interrupt_main is called in main thread that
|
||||
# KeyboardInterrupt is raised instantly.
|
||||
diff --git a/Lib/test/test_tools/test_freeze.py b/Lib/test/test_tools/test_freeze.py
|
||||
index 0e7ed67de7..6539a2983b 100644
|
||||
--- a/Lib/test/test_tools/test_freeze.py
|
||||
+++ b/Lib/test/test_tools/test_freeze.py
|
||||
@@ -23,6 +23,7 @@
|
||||
'test is too slow with PGO')
|
||||
class TestFreeze(unittest.TestCase):
|
||||
|
||||
+ @unittest.skipIf(True, 'Fails on Guix.')
|
||||
@support.requires_resource('cpu') # Building Python is slow
|
||||
def test_freeze_simple_script(self):
|
||||
script = textwrap.dedent("""
|
||||
diff --git a/Lib/test/test_unicodedata.py b/Lib/test/test_unicodedata.py
|
||||
index 515c3840cb..a96dfad0fe 100644
|
||||
--- a/Lib/test/test_unicodedata.py
|
||||
+++ b/Lib/test/test_unicodedata.py
|
||||
@@ -342,6 +342,7 @@ def test_linebreak_7643(self):
|
||||
self.assertEqual(len(lines), 1,
|
||||
r"\u%.4x should not be a linebreak" % i)
|
||||
|
||||
+@requires_resource('network')
|
||||
class NormalizationTest(unittest.TestCase):
|
||||
@staticmethod
|
||||
def check_version(testfile):
|
||||
diff --git a/Tools/scripts/run_tests.py b/Tools/scripts/run_tests.py
|
||||
index 445a34ae3e..8f750537c3 100644
|
||||
--- a/Tools/scripts/run_tests.py
|
||||
+++ b/Tools/scripts/run_tests.py
|
||||
@@ -69,7 +69,7 @@ def main(regrtest_args):
|
||||
else:
|
||||
args.extend(['-j', '0']) # Use all CPU cores
|
||||
if not any(is_resource_use_flag(arg) for arg in regrtest_args):
|
||||
- args.extend(['-u', 'all,-largefile,-audio,-gui'])
|
||||
+ args.extend(['-u', 'all,-largefile,-audio,-gui,-network'])
|
||||
|
||||
if cross_compile and hostrunner:
|
||||
# If HOSTRUNNER is set and -p/--python option is not given, then
|
|
@ -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))
|
|
@ -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;
|
|
@ -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)
|
||||
{
|
|
@ -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();
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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>
|
|
@ -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
|
||||
|
|
|
@ -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+)))
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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.
|
||||
;;;
|
||||
|
@ -25956,6 +25957,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")
|
||||
|
@ -31885,6 +31923,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")
|
||||
|
|
|
@ -55,7 +55,7 @@
|
|||
;;; Copyright © 2018, 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com>
|
||||
;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
|
||||
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
|
||||
;;; Copyright © 2019, 2024 Tanguy Le Carrour <tanguy@bioneland.org>
|
||||
;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com>
|
||||
;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com>
|
||||
|
@ -596,6 +596,391 @@ data types.")
|
|||
(variable "PYTHONTZPATH")
|
||||
(files (list "share/zoneinfo")))))))
|
||||
|
||||
(define-public python-3.12
|
||||
(package
|
||||
(name "python-next")
|
||||
(version "3.12.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.python.org/ftp/python/" version
|
||||
"/Python-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0w6qyfhc912xxav9x9pifwca40b4l49vy52wai9j0gc1mhni2a5y"))
|
||||
(patches (search-patches "python-3-deterministic-build-info.patch"
|
||||
"python-3.12-fix-tests.patch"
|
||||
"python-3-hurd-configure.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(begin
|
||||
;; Delete the bundled copy of libexpat.
|
||||
(delete-file-recursively "Modules/expat")
|
||||
(substitute* "Modules/Setup"
|
||||
;; Link Expat instead of embedding the bundled one.
|
||||
(("^#pyexpat.*")
|
||||
"pyexpat pyexpat.c -lexpat\n"))
|
||||
;; Delete windows binaries
|
||||
(for-each delete-file
|
||||
(find-files "Lib/distutils/command" "\\.exe$"))))))
|
||||
(outputs '("out" "tk" ;tkinter; adds 50 MiB to the closure
|
||||
"idle")) ;programming environment; weighs 5MB
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
#:configure-flags (list "--enable-shared" ;allow embedding
|
||||
"--with-system-expat" ;for XML support
|
||||
"--with-system-ffi" ;build ctypes
|
||||
"--with-ensurepip=install" ;install pip and setuptools
|
||||
"--with-computed-gotos" ;main interpreter loop optimization
|
||||
"--enable-unicode=ucs4"
|
||||
"--without-static-libpython"
|
||||
|
||||
;; FIXME: These flags makes Python significantly faster,
|
||||
;; but leads to non-reproducible binaries.
|
||||
;; "--with-lto" ;increase size by 20MB, but 15% speedup
|
||||
;; "--enable-optimizations"
|
||||
|
||||
;; Prevent the installed _sysconfigdata.py from retaining
|
||||
;; a reference to coreutils.
|
||||
"INSTALL=install -c"
|
||||
"MKDIR_P=mkdir -p"
|
||||
|
||||
;; Disable runtime check failing if cross-compiling, see:
|
||||
;; https://lists.yoctoproject.org/pipermail/poky/2013-June/008997.html
|
||||
,@(if (%current-target-system)
|
||||
'("ac_cv_buggy_getaddrinfo=no"
|
||||
"ac_cv_file__dev_ptmx=no"
|
||||
"ac_cv_file__dev_ptc=no")
|
||||
'())
|
||||
;; -fno-semantic-interposition reinstates some
|
||||
;; optimizations by gcc leading to around 15% speedup.
|
||||
;; This is the default starting from python 3.10.
|
||||
"CFLAGS=-fno-semantic-interposition"
|
||||
(string-append "LDFLAGS=-Wl,-rpath="
|
||||
(assoc-ref %outputs "out")
|
||||
"/lib"
|
||||
" -fno-semantic-interposition"))
|
||||
;; With no -j argument tests use all available cpus, so provide one.
|
||||
#:make-flags (list (string-append (format #f "TESTOPTS=-j~d"
|
||||
(parallel-job-count))
|
||||
;; those tests fail on low-memory systems
|
||||
" --exclude test_mmap test_socket test_threading test_asyncio"
|
||||
,@(if (system-hurd?)
|
||||
'(" test_posix" ;multiple errors
|
||||
" test_time"
|
||||
" test_pty"
|
||||
" test_shutil"
|
||||
" test_tempfile" ;chflags: invalid argument:
|
||||
;; tbv14c9t/dir0/dir0/dir0/test0.txt
|
||||
" test_os" ;stty: 'standard input':
|
||||
;; Inappropriate ioctl for device
|
||||
" test_openpty" ;No such file or directory
|
||||
" test_selectors" ;assertEqual(NUM_FDS // 2, len(fds))
|
||||
;; 32752 != 4
|
||||
" test_compileall" ;multiple errors
|
||||
" test_poll" ;list index out of range
|
||||
" test_subprocess" ;runs over 10min
|
||||
" test_asyncore" ;multiple errors
|
||||
" test_threadsignals"
|
||||
" test_eintr" ;Process return code is -14
|
||||
" test_io" ;multiple errors
|
||||
" test_logging"
|
||||
" test_signal"
|
||||
" test_flags" ;ERROR
|
||||
" test_bidirectional_pty"
|
||||
" test_create_unix_connection"
|
||||
" test_unix_sock_client_ops"
|
||||
" test_open_unix_connection"
|
||||
" test_open_unix_connection_error"
|
||||
" test_read_pty_output"
|
||||
" test_write_pty"
|
||||
" test_concurrent_futures" ;freeze
|
||||
" test_venv" ;freeze
|
||||
" test_multiprocessing_forkserver" ;runs over 10min
|
||||
" test_multiprocessing_spawn" ;runs over 10min
|
||||
" test_builtin"
|
||||
" test_capi"
|
||||
" test_dbm_ndbm"
|
||||
" test_exceptions"
|
||||
" test_faulthandler"
|
||||
" test_getopt"
|
||||
" test_importlib"
|
||||
" test_json"
|
||||
" test_multiprocessing_fork"
|
||||
" test_multiprocessing_main_handling"
|
||||
" test_pdb "
|
||||
" test_regrtest"
|
||||
" test_sqlite")
|
||||
'())))
|
||||
|
||||
#:modules ((ice-9 ftw)
|
||||
(ice-9 match)
|
||||
(guix build utils)
|
||||
(guix build gnu-build-system))
|
||||
|
||||
#:phases (modify-phases %standard-phases
|
||||
,@(if (system-hurd?)
|
||||
`((add-after 'unpack
|
||||
'disable-multi-processing
|
||||
(lambda _
|
||||
(substitute* "Makefile.pre.in"
|
||||
(("-j0")
|
||||
"-j1")))))
|
||||
'())
|
||||
(add-before 'configure 'patch-lib-shells
|
||||
(lambda _
|
||||
;; This variable is used in setup.py to enable cross compilation
|
||||
;; specific switches. As it is not set properly by configure
|
||||
;; script, set it manually.
|
||||
,@(if (%current-target-system)
|
||||
'((setenv "_PYTHON_HOST_PLATFORM" ""))
|
||||
'())
|
||||
;; Filter for existing files, since some may not exist in all
|
||||
;; versions of python that are built with this recipe.
|
||||
(substitute* (filter file-exists?
|
||||
'("Lib/subprocess.py"
|
||||
"Lib/popen2.py"
|
||||
"Lib/distutils/tests/test_spawn.py"
|
||||
"Lib/test/support/__init__.py"
|
||||
"Lib/test/test_subprocess.py"))
|
||||
(("/bin/sh")
|
||||
(which "sh")))))
|
||||
(add-before 'configure 'do-not-record-configure-flags
|
||||
(lambda* (#:key configure-flags #:allow-other-keys)
|
||||
;; Remove configure flags from the installed '_sysconfigdata.py'
|
||||
;; and 'Makefile' so we don't end up keeping references to the
|
||||
;; build tools.
|
||||
;;
|
||||
;; Preserve at least '--with-system-ffi' since otherwise the
|
||||
;; thing tries to build libffi, fails, and we end up with a
|
||||
;; Python that lacks ctypes.
|
||||
(substitute* "configure"
|
||||
(("^CONFIG_ARGS=.*$")
|
||||
(format #f "CONFIG_ARGS='~a'\n"
|
||||
(if (member "--with-system-ffi"
|
||||
configure-flags)
|
||||
"--with-system-ffi" ""))))))
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
;; 'Lib/test/test_site.py' needs a valid $HOME
|
||||
(setenv "HOME"
|
||||
(getcwd))))
|
||||
(add-after 'unpack 'set-source-file-times-to-1980
|
||||
;; XXX One of the tests uses a ZIP library to pack up some of the
|
||||
;; source tree, and fails with "ZIP does not support timestamps
|
||||
;; before 1980". Work around this by setting the file times in the
|
||||
;; source tree to sometime in early 1980.
|
||||
(lambda _
|
||||
(let ((circa-1980 (* 10 366 24 60 60)))
|
||||
(ftw "."
|
||||
(lambda (file stat flag)
|
||||
(utime file circa-1980 circa-1980) #t)))))
|
||||
(add-after 'unpack 'remove-windows-binaries
|
||||
(lambda _
|
||||
;; Delete .exe from embedded .whl (zip) files
|
||||
(for-each (lambda (whl)
|
||||
(let ((dir "whl-content")
|
||||
(circa-1980 (* 10 366 24 60 60)))
|
||||
(mkdir-p dir)
|
||||
(with-directory-excursion dir
|
||||
(let ((whl (string-append "../" whl)))
|
||||
(invoke "unzip" whl)
|
||||
(for-each delete-file
|
||||
(find-files "." "\\.exe$"))
|
||||
(delete-file whl)
|
||||
;; Reset timestamps to prevent them from ending
|
||||
;; up in the Zip archive.
|
||||
(ftw "."
|
||||
(lambda (file stat flag)
|
||||
(utime file circa-1980
|
||||
circa-1980) #t))
|
||||
(apply invoke "zip" "-X" whl
|
||||
(find-files "."
|
||||
#:directories? #t))))
|
||||
(delete-file-recursively dir)))
|
||||
(find-files "Lib/ensurepip" "\\.whl$"))))
|
||||
(add-after 'install 'remove-tests
|
||||
;; Remove 25 MiB of unneeded unit tests. Keep test_support.*
|
||||
;; because these files are used by some libraries out there.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(match (scandir (string-append out "/lib")
|
||||
(lambda (name)
|
||||
(string-prefix? "python" name)))
|
||||
((pythonX.Y)
|
||||
(let ((testdir (string-append out "/lib/" pythonX.Y
|
||||
"/test")))
|
||||
(with-directory-excursion testdir
|
||||
(for-each delete-file-recursively
|
||||
(scandir testdir
|
||||
(match-lambda
|
||||
((or "." "..")
|
||||
#f)
|
||||
("support" #f)
|
||||
(file (not (string-prefix?
|
||||
"test_support."
|
||||
file))))))
|
||||
(call-with-output-file "__init__.py"
|
||||
(const #t))))
|
||||
(let ((libdir (string-append out "/lib/" pythonX.Y)))
|
||||
(for-each (lambda (directory)
|
||||
(let ((dir (string-append libdir "/"
|
||||
directory)))
|
||||
(when (file-exists? dir)
|
||||
(delete-file-recursively dir))))
|
||||
'("email/test" "ctypes/test"
|
||||
"unittest/test"
|
||||
"tkinter/test"
|
||||
"sqlite3/test"
|
||||
"bsddb/test"
|
||||
"lib-tk/test"
|
||||
"json/tests"
|
||||
"distutils/tests"))))))))
|
||||
(add-after 'remove-tests 'move-tk-inter
|
||||
(lambda* (#:key outputs inputs #:allow-other-keys)
|
||||
;; When Tkinter support is built move it to a separate output so
|
||||
;; that the main output doesn't contain a reference to Tcl/Tk.
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(tk (assoc-ref outputs "tk")))
|
||||
(when tk
|
||||
(match (find-files out "tkinter.*\\.so")
|
||||
((tkinter.so)
|
||||
;; The .so is in OUT/lib/pythonX.Y/lib-dynload, but we
|
||||
;; want it under TK/lib/pythonX.Y/site-packages.
|
||||
(let* ((len (string-length out))
|
||||
(target (string-append tk "/"
|
||||
(string-drop (dirname
|
||||
(dirname
|
||||
tkinter.so))
|
||||
len)
|
||||
"/site-packages")))
|
||||
(install-file tkinter.so target)
|
||||
(delete-file tkinter.so))))
|
||||
;; Remove explicit store path references.
|
||||
(let ((tcl (assoc-ref inputs "tcl"))
|
||||
(tk (assoc-ref inputs "tk")))
|
||||
(substitute* (find-files (string-append out "/lib")
|
||||
"^(_sysconfigdata_.*\\.py|Makefile)$")
|
||||
(((string-append "-L" tk "/lib"))
|
||||
"")
|
||||
(((string-append "-L" tcl "/lib"))
|
||||
"")))))))
|
||||
(add-after 'move-tk-inter 'move-idle
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; when idle is built, move it to a separate output to save some
|
||||
;; space (5MB)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(idle (assoc-ref outputs "idle")))
|
||||
(when idle
|
||||
(for-each (lambda (file)
|
||||
(let ((target (string-append idle
|
||||
"/bin/"
|
||||
(basename
|
||||
file))))
|
||||
(install-file file
|
||||
(dirname target))
|
||||
(delete-file file)))
|
||||
(find-files (string-append out "/bin")
|
||||
"^idle"))
|
||||
(match (find-files out "^idlelib$"
|
||||
#:directories? #t)
|
||||
((idlelib)
|
||||
(let* ((len (string-length out))
|
||||
(target (string-append idle "/"
|
||||
(string-drop
|
||||
idlelib len)
|
||||
"/site-packages")))
|
||||
(mkdir-p (dirname target))
|
||||
(rename-file idlelib target))))))))
|
||||
(add-after 'move-idle 'rebuild-bytecode
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
;; Disable hash randomization to ensure the generated .pycs
|
||||
;; are reproducible.
|
||||
(setenv "PYTHONHASHSEED" "0")
|
||||
|
||||
(for-each (lambda (output)
|
||||
;; XXX: Delete existing pycs generated by the build
|
||||
;; system beforehand because the -f argument does
|
||||
;; not necessarily overwrite all files, leading to
|
||||
;; indeterministic results.
|
||||
(for-each (lambda (pyc)
|
||||
(delete-file pyc))
|
||||
(find-files output "\\.pyc$"))
|
||||
|
||||
(apply invoke
|
||||
`(,,(if (%current-target-system)
|
||||
"python3"
|
||||
'(string-append out
|
||||
"/bin/python3")) "-m"
|
||||
"compileall"
|
||||
"-o"
|
||||
"0"
|
||||
"-o"
|
||||
"1"
|
||||
"-o"
|
||||
"2"
|
||||
"-f" ;force rebuild
|
||||
"--invalidation-mode=unchecked-hash"
|
||||
;; Don't build lib2to3, because it's
|
||||
;; Python 2 code.
|
||||
"-x"
|
||||
"lib2to3/.*"
|
||||
,output)))
|
||||
(map cdr outputs)))))
|
||||
(add-before 'check 'set-TZDIR
|
||||
(lambda* (#:key inputs native-inputs #:allow-other-keys)
|
||||
;; test_email requires the Olson time zone database.
|
||||
(setenv "TZDIR"
|
||||
(string-append (assoc-ref (or native-inputs
|
||||
inputs) "tzdata")
|
||||
"/share/zoneinfo"))))
|
||||
(add-after 'install 'install-sitecustomize.py
|
||||
,(customize-site version)))))
|
||||
(inputs (list bzip2
|
||||
expat
|
||||
gdbm
|
||||
libffi ;for ctypes
|
||||
sqlite ;for sqlite extension
|
||||
openssl
|
||||
readline
|
||||
zlib
|
||||
tcl
|
||||
tk)) ;for tkinter
|
||||
(native-inputs `(("tzdata" ,tzdata-for-tests)
|
||||
("unzip" ,unzip)
|
||||
("zip" ,(@ (gnu packages compression) zip))
|
||||
("pkg-config" ,pkg-config)
|
||||
("sitecustomize.py" ,(local-file (search-auxiliary-file
|
||||
"python/sitecustomize.py")))
|
||||
;; When cross-compiling, a native version of Python itself is needed.
|
||||
,@(if (%current-target-system)
|
||||
`(("python" ,this-package)
|
||||
("which" ,which))
|
||||
'())))
|
||||
(native-search-paths
|
||||
(list (guix-pythonpath-search-path version)
|
||||
;; Used to locate tzdata by the zoneinfo module introduced in
|
||||
;; Python 3.9.
|
||||
(search-path-specification
|
||||
(variable "PYTHONTZPATH")
|
||||
(files (list "share/zoneinfo")))))
|
||||
(home-page "https://www.python.org")
|
||||
(synopsis "High-level, dynamically-typed programming language")
|
||||
(description
|
||||
"Python is a remarkably powerful dynamic programming language that
|
||||
is used in a wide variety of application domains. Some of its key
|
||||
distinguishing features include: clear, readable syntax; strong
|
||||
introspection capabilities; intuitive object orientation; natural
|
||||
expression of procedural code; full modularity, supporting hierarchical
|
||||
packages; exception-based error handling; and very high level dynamic
|
||||
data types.")
|
||||
(properties '((cpe-name . "python")))
|
||||
(license license:psfl)))
|
||||
|
||||
|
||||
;; Next 3.x version.
|
||||
(define-public python-next python-3.12)
|
||||
|
||||
;; Current 3.x version.
|
||||
(define-public python-3 python-3.10)
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -1555,14 +1555,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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -150,16 +150,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
|
||||
|
@ -169,11 +169,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
|
||||
|
@ -181,11 +181,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.
|
||||
|
@ -201,7 +201,7 @@
|
|||
version "/tor-browser-linux-x86_64-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1v4jbgzw640lnsyxk275w62xdyqbw0p0fwvkzfawpg4d3pqp7fpw"))))
|
||||
"0qcl9yqndnaqkvgmmb6f5rrzvwdr323l3r4s3hd9mwv9q1x41h3b"))))
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
|
@ -237,7 +237,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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 ...)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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")))
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -37,6 +37,7 @@ revision identifier. Return #t on success, else throw an exception."
|
|||
(invoke bzr-command "-Ossl.cert_reqs=none" "checkout"
|
||||
"--lightweight" "-r" revision url directory)
|
||||
(with-directory-excursion directory
|
||||
(delete-file-recursively ".bzr")))
|
||||
(delete-file-recursively ".bzr"))
|
||||
#t)
|
||||
|
||||
;;; bzr.scm ends here
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017, 2019, 2020, 2024 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -57,9 +57,9 @@ ITEM."
|
|||
(restore-file decompressed-port
|
||||
item))))
|
||||
|
||||
(define (download-nar item)
|
||||
"Download and extract the normalized archive for ITEM. Return #t on
|
||||
success, #f otherwise."
|
||||
(define* (download-nar item #:optional (output item))
|
||||
"Download and extract to OUTPUT the normalized archive for ITEM, a store
|
||||
item. Return #t on success, #f otherwise."
|
||||
;; Let progress reports go through.
|
||||
(setvbuf (current-error-port) 'none)
|
||||
(setvbuf (current-output-port) 'none)
|
||||
|
@ -96,10 +96,10 @@ success, #f otherwise."
|
|||
#:download-size size)))
|
||||
(if (string-contains url "/lzip")
|
||||
(restore-lzipped-nar port-with-progress
|
||||
item
|
||||
output
|
||||
size)
|
||||
(restore-file port-with-progress
|
||||
item)))
|
||||
output)))
|
||||
(newline)
|
||||
#t))))
|
||||
(()
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012-2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012-2022, 2024 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2021 Timothy Sample <samplet@ngyro.com>
|
||||
|
@ -40,7 +40,10 @@
|
|||
#:autoload (guix swh) (swh-download-directory %verify-swh-certificate?)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 format)
|
||||
#:export (open-socket-for-uri
|
||||
#:export (%download-methods
|
||||
download-method-enabled?
|
||||
|
||||
open-socket-for-uri
|
||||
open-connection-for-uri
|
||||
http-fetch
|
||||
%x509-certificate-directory
|
||||
|
@ -622,6 +625,20 @@ true, verify HTTPS certificates; otherwise simply ignore them."
|
|||
(lambda (key . args)
|
||||
(print-exception (current-error-port) #f key args))))
|
||||
|
||||
(define %download-methods
|
||||
;; Either #f (the default) or a list of symbols denoting the sequence of
|
||||
;; download methods to be used--e.g., '(swh nar upstream).
|
||||
(make-parameter
|
||||
(and=> (getenv "GUIX_DOWNLOAD_METHODS")
|
||||
(lambda (str)
|
||||
(map string->symbol (string-tokenize str))))))
|
||||
|
||||
(define (download-method-enabled? method)
|
||||
"Return true if METHOD (a symbol such as 'swh) is enabled as part of the
|
||||
download fallback sequence."
|
||||
(or (not (%download-methods))
|
||||
(memq method (%download-methods))))
|
||||
|
||||
(define (uri-vicinity dir file)
|
||||
"Concatenate DIR, slash, and FILE, keeping only one slash in between.
|
||||
This is required by some HTTP servers."
|
||||
|
@ -788,18 +805,28 @@ otherwise simply ignore them."
|
|||
hashes)))
|
||||
disarchive-mirrors))
|
||||
|
||||
(define initial-uris
|
||||
(append (if (download-method-enabled? 'upstream)
|
||||
uri
|
||||
'())
|
||||
(if (download-method-enabled? 'content-addressed-mirrors)
|
||||
content-addressed-uris
|
||||
'())
|
||||
(if (download-method-enabled? 'internet-archive)
|
||||
(match uri
|
||||
((first . _)
|
||||
(or (and=> (internet-archive-uri first) list)
|
||||
'()))
|
||||
(() '()))
|
||||
'())))
|
||||
|
||||
;; Make this unbuffered so 'progress-report/file' works as expected. 'line
|
||||
;; means '\n', not '\r', so it's not appropriate here.
|
||||
(setvbuf (current-output-port) 'none)
|
||||
|
||||
(setvbuf (current-error-port) 'line)
|
||||
|
||||
(let try ((uri (append uri content-addressed-uris
|
||||
(match uri
|
||||
((first . _)
|
||||
(or (and=> (internet-archive-uri first) list)
|
||||
'()))
|
||||
(() '())))))
|
||||
(let try ((uri initial-uris))
|
||||
(match uri
|
||||
((uri tail ...)
|
||||
(or (fetch uri file)
|
||||
|
@ -807,9 +834,10 @@ otherwise simply ignore them."
|
|||
(()
|
||||
;; If we are looking for a software archive, one last thing we
|
||||
;; can try is to use Disarchive to assemble it.
|
||||
(or (disarchive-fetch/any disarchive-uris file
|
||||
(or (and (download-method-enabled? 'disarchive)
|
||||
(disarchive-fetch/any disarchive-uris file
|
||||
#:verify-certificate? verify-certificate?
|
||||
#:timeout timeout)
|
||||
#:timeout timeout))
|
||||
(begin
|
||||
(format (current-error-port) "failed to download ~s from ~s~%"
|
||||
file url)
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
|
||||
(define-module (guix build git)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module ((guix build download)
|
||||
#:select (download-method-enabled?))
|
||||
#:autoload (guix build download-nar) (download-nar)
|
||||
#:autoload (guix swh) (%verify-swh-certificate?
|
||||
swh-download
|
||||
|
@ -92,25 +94,30 @@ fetched, recursively. Return #t on success, #f otherwise."
|
|||
|
||||
|
||||
(define* (git-fetch-with-fallback url commit directory
|
||||
#:key (git-command "git")
|
||||
#:key (item directory)
|
||||
(git-command "git")
|
||||
hash hash-algorithm
|
||||
lfs? recursive?)
|
||||
"Like 'git-fetch', fetch COMMIT from URL into DIRECTORY, but fall back to
|
||||
alternative methods when fetching from URL fails: attempt to download a nar,
|
||||
and if that also fails, download from the Software Heritage archive. When
|
||||
HASH and HASH-ALGORITHM are provided, they are interpreted as the nar hash of
|
||||
the directory of interested and are used as its content address at SWH."
|
||||
(or (git-fetch url commit directory
|
||||
alternative methods when fetching from URL fails: attempt to download a nar
|
||||
for ITEM, and if that also fails, download from the Software Heritage archive.
|
||||
When HASH and HASH-ALGORITHM are provided, they are interpreted as the nar
|
||||
hash of the directory of interested and are used as its content address at
|
||||
SWH."
|
||||
(or (and (download-method-enabled? 'upstream)
|
||||
(git-fetch url commit directory
|
||||
#:lfs? lfs?
|
||||
#:recursive? recursive?
|
||||
#:git-command git-command)
|
||||
(download-nar directory)
|
||||
#:git-command git-command))
|
||||
(and (download-method-enabled? 'nar)
|
||||
(download-nar item directory))
|
||||
|
||||
;; As a last resort, attempt to download from Software Heritage.
|
||||
;; Disable X.509 certificate verification to avoid depending
|
||||
;; on nss-certs--we're authenticating the checkout anyway.
|
||||
;; XXX: Currently recursive checkouts are not supported.
|
||||
(and (not recursive?)
|
||||
(download-method-enabled? 'swh)
|
||||
(parameterize ((%verify-swh-certificate? #f))
|
||||
(format (current-error-port)
|
||||
"Trying to download from Software Heritage...~%")
|
||||
|
|
|
@ -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))))
|
||||
|
|
|
@ -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"))))))
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2024 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -23,7 +24,7 @@
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix records)
|
||||
#:use-module (guix store)
|
||||
|
||||
#:use-module (ice-9 match)
|
||||
#:export (bzr-reference
|
||||
bzr-reference?
|
||||
bzr-reference-url
|
||||
|
@ -57,14 +58,40 @@
|
|||
"Return a fixed-output derivation that fetches REF, a <bzr-reference>
|
||||
object. The output is expected to have recursive hash HASH of type
|
||||
HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f."
|
||||
(define guile-json
|
||||
(module-ref (resolve-interface '(gnu packages guile)) 'guile-json-4))
|
||||
|
||||
(define guile-lzlib
|
||||
(module-ref (resolve-interface '(gnu packages guile)) 'guile-lzlib))
|
||||
|
||||
(define guile-gnutls
|
||||
(module-ref (resolve-interface '(gnu packages tls)) 'guile-gnutls))
|
||||
|
||||
(define build
|
||||
(with-extensions (list guile-gnutls guile-lzlib guile-json)
|
||||
(with-imported-modules (source-module-closure
|
||||
'((guix build bzr)))
|
||||
'((guix build bzr)
|
||||
(guix build utils)
|
||||
(guix build download)
|
||||
(guix build download-nar)))
|
||||
#~(begin
|
||||
(use-modules (guix build bzr))
|
||||
(bzr-fetch
|
||||
(getenv "bzr url") (getenv "bzr reference") #$output
|
||||
#:bzr-command (string-append #+bzr "/bin/brz")))))
|
||||
(use-modules (guix build bzr)
|
||||
(guix build download-nar)
|
||||
((guix build download)
|
||||
#:select (download-method-enabled?))
|
||||
(guix build utils)
|
||||
(srfi srfi-34))
|
||||
|
||||
(or (and (download-method-enabled? 'upstream)
|
||||
(guard (c ((invoke-error? c)
|
||||
(report-invoke-error c)
|
||||
#f))
|
||||
(bzr-fetch (getenv "bzr url") (getenv "bzr reference")
|
||||
#$output
|
||||
#:bzr-command
|
||||
(string-append #+bzr "/bin/brz"))))
|
||||
(and (download-method-enabled? 'nar)
|
||||
(download-nar #$output)))))))
|
||||
|
||||
(mlet %store-monad ((guile (package->derivation guile system)))
|
||||
(gexp->derivation (or name "bzr-branch") build
|
||||
|
@ -74,7 +101,11 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f."
|
|||
#:script-name "bzr-download"
|
||||
#:env-vars
|
||||
`(("bzr url" . ,(bzr-reference-url ref))
|
||||
("bzr reference" . ,(bzr-reference-revision ref)))
|
||||
("bzr reference" . ,(bzr-reference-revision ref))
|
||||
,@(match (getenv "GUIX_DOWNLOAD_METHODS")
|
||||
(#f '())
|
||||
(value
|
||||
`(("GUIX_DOWNLOAD_METHODS" . ,value)))))
|
||||
#:leaked-env-vars '("http_proxy" "https_proxy"
|
||||
"LC_ALL" "LC_MESSAGES" "LANG"
|
||||
"COLUMNS")
|
||||
|
|
78
guix/cpu.scm
78
guix/cpu.scm
|
@ -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)))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014-2017, 2019, 2024 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
|
||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;;
|
||||
|
@ -73,6 +73,7 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f."
|
|||
(define modules
|
||||
(delete '(guix config)
|
||||
(source-module-closure '((guix build cvs)
|
||||
(guix build download)
|
||||
(guix build download-nar)))))
|
||||
(define build
|
||||
(with-imported-modules modules
|
||||
|
@ -80,20 +81,29 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f."
|
|||
guile-lzlib)
|
||||
#~(begin
|
||||
(use-modules (guix build cvs)
|
||||
((guix build download)
|
||||
#:select (download-method-enabled?))
|
||||
(guix build download-nar))
|
||||
|
||||
(or (cvs-fetch '#$(cvs-reference-root-directory ref)
|
||||
(or (and (download-method-enabled? 'upstream)
|
||||
(cvs-fetch '#$(cvs-reference-root-directory ref)
|
||||
'#$(cvs-reference-module ref)
|
||||
'#$(cvs-reference-revision ref)
|
||||
#$output
|
||||
#:cvs-command (string-append #+cvs "/bin/cvs"))
|
||||
(download-nar #$output))))))
|
||||
#:cvs-command
|
||||
#+(file-append cvs "/bin/cvs")))
|
||||
(and (download-method-enabled? 'nar)
|
||||
(download-nar #$output)))))))
|
||||
|
||||
(mlet %store-monad ((guile (package->derivation guile system)))
|
||||
(gexp->derivation (or name "cvs-checkout") build
|
||||
#:leaked-env-vars '("http_proxy" "https_proxy"
|
||||
"LC_ALL" "LC_MESSAGES" "LANG"
|
||||
"COLUMNS")
|
||||
#:env-vars (match (getenv "GUIX_DOWNLOAD_METHODS")
|
||||
(#f '())
|
||||
(value
|
||||
`(("GUIX_DOWNLOAD_METHODS" . ,value))))
|
||||
#:system system
|
||||
#:hash-algo hash-algo
|
||||
#:hash hash
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012-2021, 2024 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
|
||||
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
|
||||
|
@ -35,9 +35,9 @@
|
|||
#:use-module (web uri)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:export (%mirrors
|
||||
#:export (%download-methods
|
||||
%mirrors
|
||||
%disarchive-mirrors
|
||||
%download-fallback-test
|
||||
(url-fetch* . url-fetch)
|
||||
url-fetch/executable
|
||||
url-fetch/tarbomb
|
||||
|
@ -434,10 +434,19 @@
|
|||
(define built-in-builders*
|
||||
(store-lift built-in-builders))
|
||||
|
||||
(define %download-methods
|
||||
;; Either #f (the default) or a list of symbols denoting the sequence of
|
||||
;; download methods to be used--e.g., '(swh nar upstream).
|
||||
(make-parameter
|
||||
(and=> (getenv "GUIX_DOWNLOAD_METHODS")
|
||||
(lambda (str)
|
||||
(map string->symbol (string-tokenize str))))))
|
||||
|
||||
(define* (built-in-download file-name url
|
||||
#:key system hash-algo hash
|
||||
mirrors content-addressed-mirrors
|
||||
disarchive-mirrors
|
||||
(download-methods (%download-methods))
|
||||
executable?
|
||||
(guile 'unused))
|
||||
"Download FILE-NAME from URL using the built-in 'download' builder. When
|
||||
|
@ -471,6 +480,11 @@ download by itself using its own dependencies."
|
|||
("disarchive-mirrors" . ,disarchive-mirrors)
|
||||
,@(if executable?
|
||||
'(("executable" . "1"))
|
||||
'())
|
||||
,@(if download-methods
|
||||
`(("download-methods"
|
||||
. ,(object->string
|
||||
download-methods)))
|
||||
'()))
|
||||
|
||||
;; Do not offload this derivation because we cannot be
|
||||
|
@ -479,24 +493,6 @@ download by itself using its own dependencies."
|
|||
;; for that built-in is widespread.
|
||||
#:local-build? #t)))
|
||||
|
||||
(define %download-fallback-test
|
||||
;; Define whether to test one of the download fallback mechanism. Possible
|
||||
;; values are:
|
||||
;;
|
||||
;; - #f, to use the normal download methods, not trying to exercise the
|
||||
;; fallback mechanism;
|
||||
;;
|
||||
;; - 'none, to disable all the fallback mechanisms;
|
||||
;;
|
||||
;; - 'content-addressed-mirrors, to purposefully attempt to download from
|
||||
;; a content-addressed mirror;
|
||||
;;
|
||||
;; - 'disarchive-mirrors, to download from Disarchive + Software Heritage.
|
||||
;;
|
||||
;; This is meant to be used for testing purposes.
|
||||
(make-parameter (and=> (getenv "GUIX_DOWNLOAD_FALLBACK_TEST")
|
||||
string->symbol)))
|
||||
|
||||
(define* (url-fetch* url hash-algo hash
|
||||
#:optional name
|
||||
#:key (system (%current-system))
|
||||
|
@ -532,10 +528,7 @@ name in the store."
|
|||
(unless (member "download" builtins)
|
||||
(error "'guix-daemon' is too old, please upgrade" builtins))
|
||||
|
||||
(built-in-download (or name file-name)
|
||||
(match (%download-fallback-test)
|
||||
((or #f 'none) url)
|
||||
(_ "https://example.org/does-not-exist"))
|
||||
(built-in-download (or name file-name) url
|
||||
#:guile guile
|
||||
#:system system
|
||||
#:hash-algo hash-algo
|
||||
|
@ -543,15 +536,9 @@ name in the store."
|
|||
#:executable? executable?
|
||||
#:mirrors %mirror-file
|
||||
#:content-addressed-mirrors
|
||||
(match (%download-fallback-test)
|
||||
((or #f 'content-addressed-mirrors)
|
||||
%content-addressed-mirror-file)
|
||||
(_ %no-mirrors-file))
|
||||
%content-addressed-mirror-file
|
||||
#:disarchive-mirrors
|
||||
(match (%download-fallback-test)
|
||||
((or #f 'disarchive-mirrors)
|
||||
%disarchive-mirror-file)
|
||||
(_ %no-disarchive-mirrors-file)))))))
|
||||
%disarchive-mirror-file)))))
|
||||
|
||||
(define* (url-fetch/executable url hash-algo hash
|
||||
#:optional name
|
||||
|
|
|
@ -29,8 +29,8 @@
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix modules)
|
||||
#:use-module ((guix derivations) #:select (raw-derivation))
|
||||
#:autoload (guix download) (%download-methods)
|
||||
#:autoload (guix build-system gnu) (standard-packages)
|
||||
#:autoload (guix download) (%download-fallback-test)
|
||||
#:autoload (git bindings) (libgit2-init!)
|
||||
#:autoload (git repository) (repository-open
|
||||
repository-close!
|
||||
|
@ -180,11 +180,7 @@ respective documentation."
|
|||
;; downloads.
|
||||
#:script-name "git-download"
|
||||
#:env-vars
|
||||
`(("git url" . ,(match (%download-fallback-test)
|
||||
('content-addressed-mirrors
|
||||
"https://example.org/does-not-exist")
|
||||
(_
|
||||
(git-reference-url ref))))
|
||||
`(("git url" . ,(git-reference-url ref))
|
||||
("git commit" . ,(git-reference-commit ref))
|
||||
("git recursive?" . ,(object->string
|
||||
(git-reference-recursive? ref)))
|
||||
|
@ -246,14 +242,14 @@ download by itself using its own dependencies."
|
|||
#:recursive? #t
|
||||
#:env-vars
|
||||
`(("url" . ,(object->string
|
||||
(match (%download-fallback-test)
|
||||
('content-addressed-mirrors
|
||||
"https://example.org/does-not-exist")
|
||||
(_
|
||||
(git-reference-url ref)))))
|
||||
(git-reference-url ref)))
|
||||
("commit" . ,(git-reference-commit ref))
|
||||
("recursive?" . ,(object->string
|
||||
(git-reference-recursive? ref))))
|
||||
(git-reference-recursive? ref)))
|
||||
,@(if (%download-methods)
|
||||
`(("download-methods"
|
||||
. ,(object->string (%download-methods))))
|
||||
'()))
|
||||
#:leaked-env-vars '("http_proxy" "https_proxy"
|
||||
"LC_ALL" "LC_MESSAGES" "LANG"
|
||||
"COLUMNS")
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014-2017, 2019, 2024 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
|
||||
;;;
|
||||
|
@ -84,6 +84,7 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f."
|
|||
(define modules
|
||||
(delete '(guix config)
|
||||
(source-module-closure '((guix build hg)
|
||||
(guix build download)
|
||||
(guix build download-nar)
|
||||
(guix swh)))))
|
||||
|
||||
|
@ -94,6 +95,8 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f."
|
|||
#~(begin
|
||||
(use-modules (guix build hg)
|
||||
(guix build utils) ;for `set-path-environment-variable'
|
||||
((guix build download)
|
||||
#:select (download-method-enabled?))
|
||||
(guix build download-nar)
|
||||
(guix swh)
|
||||
(ice-9 match))
|
||||
|
@ -106,26 +109,35 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f."
|
|||
(setvbuf (current-output-port) 'line)
|
||||
(setvbuf (current-error-port) 'line)
|
||||
|
||||
(or (hg-fetch '#$(hg-reference-url ref)
|
||||
(or (and (download-method-enabled? 'upstream)
|
||||
(hg-fetch '#$(hg-reference-url ref)
|
||||
'#$(hg-reference-changeset ref)
|
||||
#$output
|
||||
#:hg-command (string-append #+hg "/bin/hg"))
|
||||
(download-nar #$output)
|
||||
#:hg-command (string-append #+hg "/bin/hg")))
|
||||
(and (download-method-enabled? 'nar)
|
||||
(download-nar #$output))
|
||||
;; As a last resort, attempt to download from Software Heritage.
|
||||
;; Disable X.509 certificate verification to avoid depending
|
||||
;; on nss-certs--we're authenticating the checkout anyway.
|
||||
(and (download-method-enabled? 'swh)
|
||||
(parameterize ((%verify-swh-certificate? #f))
|
||||
(format (current-error-port)
|
||||
"Trying to download from Software Heritage...~%")
|
||||
(or (swh-download-directory-by-nar-hash
|
||||
#$hash '#$hash-algo #$output)
|
||||
(swh-download #$(hg-reference-url ref)
|
||||
#$(hg-reference-changeset ref)
|
||||
#$output)))))))
|
||||
#$output)))))))))
|
||||
|
||||
(mlet %store-monad ((guile (package->derivation guile system)))
|
||||
(gexp->derivation (or name "hg-checkout") build
|
||||
#:leaked-env-vars '("http_proxy" "https_proxy"
|
||||
"LC_ALL" "LC_MESSAGES" "LANG"
|
||||
"COLUMNS")
|
||||
#:env-vars (match (getenv "GUIX_DOWNLOAD_METHODS")
|
||||
(#f '())
|
||||
(value
|
||||
`(("GUIX_DOWNLOAD_METHODS" . ,value))))
|
||||
#:system system
|
||||
#:local-build? #t ;don't offload repo cloning
|
||||
#:hash-algo hash-algo
|
||||
|
|
|
@ -418,6 +418,7 @@ empty list when the FIELD cannot be found."
|
|||
"none"
|
||||
"rtools"
|
||||
"unix"
|
||||
"use_c17"
|
||||
"windows"
|
||||
"xcode"
|
||||
"xquartz"))
|
||||
|
|
119
guix/lint.scm
119
guix/lint.scm
|
@ -67,6 +67,10 @@
|
|||
svn-multi-reference-url
|
||||
svn-multi-reference-user-name
|
||||
svn-multi-reference-password)
|
||||
#:autoload (guix hg-download) (hg-reference?
|
||||
hg-reference-url)
|
||||
#:autoload (guix bzr-download) (bzr-reference?
|
||||
bzr-reference-url)
|
||||
#:use-module (guix import stackage)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 regex)
|
||||
|
@ -84,10 +88,10 @@
|
|||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-6) ;Unicode string ports
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (srfi srfi-11)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (srfi srfi-35)
|
||||
#:use-module (srfi srfi-71)
|
||||
#:use-module (ice-9 rdelim)
|
||||
#:export (check-description-style
|
||||
check-inputs-should-be-native
|
||||
|
@ -823,8 +827,8 @@ for connections to complete; when TIMEOUT is #f, wait as long as needed."
|
|||
;; Return RESPONSE, unless the final response as we follow
|
||||
;; redirects is not 200.
|
||||
(if location
|
||||
(let-values (((status response2)
|
||||
(loop location (cons location visited))))
|
||||
(let ((status response2 (loop location
|
||||
(cons location visited))))
|
||||
(case status
|
||||
((http-response)
|
||||
(values 'http-response
|
||||
|
@ -926,8 +930,7 @@ display a message including MESSAGE and return ERROR-VALUE."
|
|||
(define (validate-uri uri package field)
|
||||
"Return #t if the given URI can be reached, otherwise return a warning for
|
||||
PACKAGE mentioning the FIELD."
|
||||
(let-values (((status argument)
|
||||
(probe-uri uri #:timeout 3))) ;wait at most 3 seconds
|
||||
(let ((status argument (probe-uri uri #:timeout 3))) ;wait at most 3 seconds
|
||||
(case status
|
||||
((http-response)
|
||||
(cond ((= 200 (response-code argument))
|
||||
|
@ -1633,15 +1636,9 @@ directory identifiers the spec refers to. Otherwise return #f."
|
|||
(extract-swh-id spec)))))
|
||||
%disarchive-mirrors))
|
||||
|
||||
(define (check-archival package)
|
||||
"Check whether PACKAGE's source code is archived on Software Heritage. If
|
||||
it's not, and if its source code is a VCS snapshot, then send a \"save\"
|
||||
request to Software Heritage.
|
||||
|
||||
Software Heritage imposes limits on the request rate per client IP address.
|
||||
This checker prints a notice and stops doing anything once that limit has been
|
||||
reached."
|
||||
(define (response->warning url method response)
|
||||
(define (swh-response->warning package url method response)
|
||||
"Given RESPONSE, the response of METHOD on URL, return a suitable warning
|
||||
list for PACKAGE."
|
||||
(if (request-rate-limit-reached? url method)
|
||||
(list (make-warning package
|
||||
(G_ "Software Heritage rate limit reached; \
|
||||
|
@ -1652,6 +1649,64 @@ try again later")
|
|||
(list url (response-code response))
|
||||
#:field 'source))))
|
||||
|
||||
(define (vcs-origin origin)
|
||||
"Return two values: the URL and type (a string) of the version-control used
|
||||
for ORIGIN. Return #f and #f if ORIGIN is not a version-control checkout."
|
||||
(match (and=> origin origin-uri)
|
||||
((? git-reference? ref)
|
||||
(values (git-reference-url ref) "git"))
|
||||
((? svn-reference? ref)
|
||||
(values (svn-reference-url ref) "svn"))
|
||||
((? svn-multi-reference? ref)
|
||||
(values (svn-multi-reference-url ref) "svn"))
|
||||
((? hg-reference? ref)
|
||||
(values (hg-reference-url ref) "hg"))
|
||||
((? bzr-reference? ref)
|
||||
(values (bzr-reference-url ref) "bzr"))
|
||||
;; XXX: Not sure what to do with the weird CVS URIs (:pserver: etc.).
|
||||
(_
|
||||
(values #f #f))))
|
||||
|
||||
(define (save-package-source package)
|
||||
"Attempt to save the source of PACKAGE on SWH. Return a list of warnings."
|
||||
(let* ((origin (package-source package))
|
||||
(url type (if origin (vcs-origin origin) (values #f #f))))
|
||||
(cond ((and url type)
|
||||
(catch 'swh-error
|
||||
(lambda ()
|
||||
(save-origin url type)
|
||||
(list (make-warning
|
||||
package
|
||||
;; TRANSLATORS: "Software Heritage" is a proper noun that
|
||||
;; must remain untranslated. See
|
||||
;; <https://www.softwareheritage.org>.
|
||||
(G_ "scheduled Software Heritage archival")
|
||||
#:field 'source)))
|
||||
(lambda (key url method response . _)
|
||||
(cond ((= 429 (response-code response))
|
||||
(list (make-warning
|
||||
package
|
||||
(G_ "archival rate limit exceeded; \
|
||||
try again later")
|
||||
#:field 'source)))
|
||||
(else
|
||||
(swh-response->warning package url method response))))))
|
||||
((not origin)
|
||||
'())
|
||||
(else
|
||||
(list (make-warning
|
||||
package
|
||||
(G_ "source code cannot be archived")
|
||||
#:field 'source))))))
|
||||
|
||||
(define (check-archival package)
|
||||
"Check whether PACKAGE's source code is archived on Software Heritage. If
|
||||
it's not, and if its source code is a VCS snapshot, then send a \"save\"
|
||||
request to Software Heritage.
|
||||
|
||||
Software Heritage imposes limits on the request rate per client IP address.
|
||||
This checker prints a notice and stops doing anything once that limit has been
|
||||
reached."
|
||||
(define skip-key (gensym "skip-archival-check"))
|
||||
|
||||
(define (skip-when-limit-reached url method)
|
||||
|
@ -1686,28 +1741,8 @@ try again later")
|
|||
'())
|
||||
(#f
|
||||
;; Revision is missing from the archive, attempt to save it.
|
||||
(catch 'swh-error
|
||||
(lambda ()
|
||||
(save-origin (git-reference-url reference) "git")
|
||||
(list (make-warning
|
||||
package
|
||||
;; TRANSLATORS: "Software Heritage" is a proper noun
|
||||
;; that must remain untranslated. See
|
||||
;; <https://www.softwareheritage.org>.
|
||||
(G_ "scheduled Software Heritage archival")
|
||||
#:field 'source)))
|
||||
(lambda (key url method response . _)
|
||||
(cond ((= 429 (response-code response))
|
||||
(list (make-warning
|
||||
package
|
||||
(G_ "archival rate limit exceeded; \
|
||||
try again later")
|
||||
#:field 'source)))
|
||||
(else
|
||||
(response->warning url method response))))))))
|
||||
(save-package-source package))))
|
||||
((? origin? origin)
|
||||
;; Since "save" origins are not supported for non-VCS source, all
|
||||
;; we can do is tell whether a given tarball is available or not.
|
||||
(if (and=> (origin-hash origin) ;XXX: for ungoogled-chromium
|
||||
content-hash-value) ;& icecat
|
||||
(let ((hash (origin-hash origin)))
|
||||
|
@ -1716,9 +1751,11 @@ try again later")
|
|||
(symbol->string
|
||||
(content-hash-algorithm hash))))
|
||||
(#f
|
||||
;; If SWH doesn't have HASH as is, it may be because it's
|
||||
;; a hand-crafted tarball. In that case, check whether
|
||||
;; the Disarchive database has an entry for that tarball.
|
||||
;; If ORIGIN is a version-control checkout, save it now.
|
||||
;; If not, check whether HASH is in the Disarchive
|
||||
;; database ("Save Code Now" does not accept tarballs).
|
||||
(if (vcs-origin origin)
|
||||
(save-package-source package)
|
||||
(match (lookup-disarchive-spec hash)
|
||||
(#f
|
||||
(list (make-warning package
|
||||
|
@ -1735,8 +1772,10 @@ Heritage and missing from the Disarchive database")
|
|||
(G_ "\
|
||||
Disarchive entry refers to non-existent SWH directory '~a'")
|
||||
(list id)
|
||||
#:field 'source)))))))
|
||||
#:field 'source))))))))
|
||||
((? content?)
|
||||
'())
|
||||
((? string? swhid)
|
||||
'())))
|
||||
'()))
|
||||
((? local-file?)
|
||||
|
@ -1748,7 +1787,7 @@ source is not an origin, it cannot be archived")
|
|||
#:field 'source)))))
|
||||
(match-lambda*
|
||||
(('swh-error url method response)
|
||||
(response->warning url method response))
|
||||
(swh-response->warning package url method response))
|
||||
((key . args)
|
||||
(if (eq? key skip-key)
|
||||
'()
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#:use-module (guix scripts)
|
||||
#:use-module (guix derivations)
|
||||
#:use-module ((guix store) #:select (derivation-path? store-path?))
|
||||
#:autoload (guix build download) (url-fetch)
|
||||
#:autoload (guix build download) (%download-methods url-fetch)
|
||||
#:autoload (guix build git) (git-fetch-with-fallback)
|
||||
#:autoload (guix config) (%git)
|
||||
#:use-module (ice-9 match)
|
||||
|
@ -55,7 +55,8 @@ Note: OUTPUT may differ from the 'out' value of DRV, notably for 'bmCheck' or
|
|||
(executable "executable")
|
||||
(mirrors "mirrors")
|
||||
(content-addressed-mirrors "content-addressed-mirrors")
|
||||
(disarchive-mirrors "disarchive-mirrors"))
|
||||
(disarchive-mirrors "disarchive-mirrors")
|
||||
(download-methods "download-methods"))
|
||||
(unless url
|
||||
(leave (G_ "~a: missing URL~%") (derivation-file-name drv)))
|
||||
|
||||
|
@ -64,7 +65,11 @@ Note: OUTPUT may differ from the 'out' value of DRV, notably for 'bmCheck' or
|
|||
(algo (derivation-output-hash-algo drv-output))
|
||||
(hash (derivation-output-hash drv-output)))
|
||||
;; We're invoked by the daemon, which gives us write access to OUTPUT.
|
||||
(when (url-fetch url output
|
||||
(when (parameterize ((%download-methods
|
||||
(and download-methods
|
||||
(call-with-input-string download-methods
|
||||
read))))
|
||||
(url-fetch url output
|
||||
#:print-build-trace? print-build-trace?
|
||||
#:mirrors (if mirrors
|
||||
(call-with-input-file mirrors read)
|
||||
|
@ -83,7 +88,7 @@ Note: OUTPUT may differ from the 'out' value of DRV, notably for 'bmCheck' or
|
|||
|
||||
;; Since DRV's output hash is known, X.509 certificate
|
||||
;; validation is pointless.
|
||||
#:verify-certificate? #f)
|
||||
#:verify-certificate? #f))
|
||||
(when (and executable (string=? executable "1"))
|
||||
(chmod output #o755))))))
|
||||
|
||||
|
@ -96,7 +101,8 @@ Note: OUTPUT may differ from the 'out' value of DRV, notably for 'bmCheck' or
|
|||
'bmRepair' builds."
|
||||
(derivation-let drv ((url "url")
|
||||
(commit "commit")
|
||||
(recursive? "recursive?"))
|
||||
(recursive? "recursive?")
|
||||
(download-methods "download-methods"))
|
||||
(unless url
|
||||
(leave (G_ "~a: missing Git URL~%") (derivation-file-name drv)))
|
||||
(unless commit
|
||||
|
@ -114,11 +120,18 @@ Note: OUTPUT may differ from the 'out' value of DRV, notably for 'bmCheck' or
|
|||
;; on ambient authority, hence the PATH value below.
|
||||
(setenv "PATH" "/run/current-system/profile/bin:/bin:/usr/bin")
|
||||
|
||||
(parameterize ((%download-methods
|
||||
(and download-methods
|
||||
(call-with-input-string download-methods
|
||||
read))))
|
||||
;; Note: When doing a '--check' build, DRV-OUTPUT and OUTPUT are
|
||||
;; different, hence the #:item argument below.
|
||||
(git-fetch-with-fallback url commit output
|
||||
#:hash hash
|
||||
#:hash-algorithm algo
|
||||
#:recursive? recursive?
|
||||
#:git-command %git))))
|
||||
#:item (derivation-output-path drv-output)
|
||||
#:git-command %git)))))
|
||||
|
||||
(define (assert-low-privileges)
|
||||
(when (zero? (getuid))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014-2016, 2019, 2021-2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014-2016, 2019, 2021-2024 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
|
||||
;;; Copyright © 2017, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
|
@ -93,16 +93,22 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f."
|
|||
(define build
|
||||
(with-imported-modules
|
||||
(source-module-closure '((guix build svn)
|
||||
(guix build download)
|
||||
(guix build download-nar)
|
||||
(guix build utils)))
|
||||
(guix build utils)
|
||||
(guix swh)))
|
||||
(with-extensions (list guile-json guile-gnutls ;for (guix swh)
|
||||
guile-lzlib)
|
||||
#~(begin
|
||||
(use-modules (guix build svn)
|
||||
((guix build download)
|
||||
#:select (download-method-enabled?))
|
||||
(guix build download-nar)
|
||||
(guix swh)
|
||||
(ice-9 match))
|
||||
|
||||
(or (svn-fetch (getenv "svn url")
|
||||
(or (and (download-method-enabled? 'upstream)
|
||||
(svn-fetch (getenv "svn url")
|
||||
(string->number (getenv "svn revision"))
|
||||
#$output
|
||||
#:svn-command #+(file-append svn "/bin/svn")
|
||||
|
@ -110,8 +116,13 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f."
|
|||
("yes" #t)
|
||||
(_ #f))
|
||||
#:user-name (getenv "svn user name")
|
||||
#:password (getenv "svn password"))
|
||||
(download-nar #$output))))))
|
||||
#:password (getenv "svn password")))
|
||||
(and (download-method-enabled? 'nar)
|
||||
(download-nar #$output))
|
||||
(and (download-method-enabled? 'swh)
|
||||
(parameterize ((%verify-swh-certificate? #f))
|
||||
(swh-download-directory-by-nar-hash #$hash '#$hash-algo
|
||||
#$output))))))))
|
||||
|
||||
(mlet %store-monad ((guile (package->derivation guile system)))
|
||||
(gexp->derivation (or name "svn-checkout") build
|
||||
|
@ -134,7 +145,11 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f."
|
|||
,@(if (svn-reference-password ref)
|
||||
`(("svn password"
|
||||
. ,(svn-reference-password ref)))
|
||||
'()))
|
||||
'())
|
||||
,@(match (getenv "GUIX_DOWNLOAD_METHODS")
|
||||
(#f '())
|
||||
(value
|
||||
`(("GUIX_DOWNLOAD_METHODS" . ,value)))))
|
||||
|
||||
#:system system
|
||||
#:hash-algo hash-algo
|
||||
|
@ -173,14 +188,19 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f."
|
|||
(define build
|
||||
(with-imported-modules
|
||||
(source-module-closure '((guix build svn)
|
||||
(guix build download)
|
||||
(guix build download-nar)
|
||||
(guix build utils)))
|
||||
(guix build utils)
|
||||
(guix swh)))
|
||||
(with-extensions (list guile-json guile-gnutls ;for (guix swh)
|
||||
guile-lzlib)
|
||||
#~(begin
|
||||
(use-modules (guix build svn)
|
||||
(guix build utils)
|
||||
((guix build download)
|
||||
#:select (download-method-enabled?))
|
||||
(guix build download-nar)
|
||||
(guix swh)
|
||||
(srfi srfi-1)
|
||||
(ice-9 match))
|
||||
|
||||
|
@ -190,6 +210,7 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f."
|
|||
;; single file.
|
||||
(unless (string-suffix? "/" location)
|
||||
(mkdir-p (string-append #$output "/" (dirname location))))
|
||||
(and (download-method-enabled? 'upstream)
|
||||
(svn-fetch (string-append (getenv "svn url") "/" location)
|
||||
(string->number (getenv "svn revision"))
|
||||
(if (string-suffix? "/" location)
|
||||
|
@ -200,13 +221,22 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f."
|
|||
("yes" #t)
|
||||
(_ #f))
|
||||
#:user-name (getenv "svn user name")
|
||||
#:password (getenv "svn password")))
|
||||
#:password (getenv "svn password"))))
|
||||
(call-with-input-string (getenv "svn locations")
|
||||
read))
|
||||
(begin
|
||||
(when (file-exists? #$output)
|
||||
(delete-file-recursively #$output))
|
||||
(download-nar #$output)))))))
|
||||
(or (and (download-method-enabled? 'nar)
|
||||
(download-nar #$output))
|
||||
(and (download-method-enabled? 'swh)
|
||||
;; SWH keeps HASH as an ExtID for the combination
|
||||
;; of files/directories, which allows us to
|
||||
;; retrieve the entire combination at once:
|
||||
;; <https://gitlab.softwareheritage.org/swh/infra/sysadm-environment/-/issues/5263>.
|
||||
(parameterize ((%verify-swh-certificate? #f))
|
||||
(swh-download-directory-by-nar-hash
|
||||
#$hash '#$hash-algo #$output))))))))))
|
||||
|
||||
(mlet %store-monad ((guile (package->derivation guile system)))
|
||||
(gexp->derivation (or name "svn-checkout") build
|
||||
|
@ -231,7 +261,11 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f."
|
|||
,@(if (svn-multi-reference-password ref)
|
||||
`(("svn password"
|
||||
. ,(svn-multi-reference-password ref)))
|
||||
'()))
|
||||
'())
|
||||
,@(match (getenv "GUIX_DOWNLOAD_METHODS")
|
||||
(#f '())
|
||||
(value
|
||||
`(("GUIX_DOWNLOAD_METHODS" . ,value)))))
|
||||
|
||||
#:leaked-env-vars '("http_proxy" "https_proxy"
|
||||
"LC_ALL" "LC_MESSAGES" "LANG"
|
||||
|
|
37
guix/swh.scm
37
guix/swh.scm
|
@ -54,6 +54,7 @@
|
|||
visit-snapshot-url
|
||||
visit-status
|
||||
visit-number
|
||||
visit-type
|
||||
visit-snapshot
|
||||
|
||||
snapshot?
|
||||
|
@ -312,6 +313,7 @@ FALSE-IF-404? is true, return #f upon 404 responses."
|
|||
(url visit-url "origin_visit_url")
|
||||
(snapshot-url visit-snapshot-url "snapshot_url" string*) ;string | #f
|
||||
(status visit-status "status" string->symbol) ;'full | 'partial | 'ongoing
|
||||
(type visit-type "type" string->symbol) ;'git | 'git-checkout | ...
|
||||
(number visit-number "visit"))
|
||||
|
||||
;; <https://archive.softwareheritage.org/api/1/snapshot/4334c3ed4bb208604ed780d8687fe523837f1bd1/>
|
||||
|
@ -472,10 +474,11 @@ and use of ALGORITHM."
|
|||
hash)
|
||||
external-id-target))
|
||||
|
||||
(define (origin-visits origin)
|
||||
"Return the list of visits of ORIGIN, a record as returned by
|
||||
'lookup-origin'."
|
||||
(call (swh-url (origin-visits-url origin))
|
||||
(define* (origin-visits origin #:optional (max 10))
|
||||
"Return the list of the up to MAX latest visits of ORIGIN, a record as
|
||||
returned by 'lookup-origin'."
|
||||
(call (string-append (swh-url (origin-visits-url origin))
|
||||
"?per_page=" (number->string max))
|
||||
(lambda (port)
|
||||
(map json->visit (vector->list (json->scm port))))))
|
||||
|
||||
|
@ -513,14 +516,20 @@ could not be found."
|
|||
(_ #f)))))
|
||||
|
||||
(define (branch-target branch)
|
||||
"Return the target of BRANCH, either a <revision> or a <release>."
|
||||
"Return the target of BRANCH: a <revision>, a <release>, or the SWHID of a
|
||||
directory."
|
||||
(match (branch-target-type branch)
|
||||
('release
|
||||
(call (swh-url (branch-target-url branch))
|
||||
json->release))
|
||||
('revision
|
||||
(call (swh-url (branch-target-url branch))
|
||||
json->revision))))
|
||||
json->revision))
|
||||
((or 'directory 'alias)
|
||||
(match (string-tokenize (branch-target-url branch)
|
||||
(char-set-complement (char-set #\/)))
|
||||
((_ ... "directory" id)
|
||||
(string-append "swh:1:dir:" id))))))
|
||||
|
||||
(define (lookup-origin-revision url tag)
|
||||
"Return a <revision> corresponding to the given TAG for the repository
|
||||
|
@ -534,12 +543,9 @@ URL could not be found."
|
|||
(match (lookup-origin url)
|
||||
(#f #f)
|
||||
(origin
|
||||
(match (filter (lambda (visit)
|
||||
;; Return #f if (visit-snapshot VISIT) would return #f.
|
||||
(any (lambda (visit)
|
||||
(and (visit-snapshot-url visit)
|
||||
(eq? 'full (visit-status visit))))
|
||||
(origin-visits origin))
|
||||
((visit . _)
|
||||
(eq? 'full (visit-status visit))
|
||||
(let ((snapshot (visit-snapshot visit)))
|
||||
(match (and=> (find (lambda (branch)
|
||||
(or
|
||||
|
@ -555,10 +561,13 @@ URL could not be found."
|
|||
(release-target release))
|
||||
((? revision? revision)
|
||||
revision)
|
||||
(#f ;tag not found
|
||||
#f))))
|
||||
(()
|
||||
(_
|
||||
;; Either the branch points to a directory rather than
|
||||
;; a revision (this is the case for visits of type
|
||||
;; 'git-checkout, 'hg-checkout, 'tarball-directory,
|
||||
;; etc.), or TAG was not found.
|
||||
#f)))))
|
||||
(origin-visits origin 30)))))
|
||||
|
||||
(define (release-target release)
|
||||
"Return the revision that is the target of RELEASE."
|
||||
|
|
|
@ -1407,6 +1407,26 @@
|
|||
(check-archival (dummy-package "x" (source origin)))))))
|
||||
(warning-contains? "scheduled" warnings)))
|
||||
|
||||
(test-assert "archival: missing svn revision"
|
||||
(let* ((origin (origin
|
||||
(method svn-fetch)
|
||||
(uri (svn-reference
|
||||
(url "http://example.org/svn/foo")
|
||||
(revision "1234")))
|
||||
(sha256 (make-bytevector 32))))
|
||||
;; https://archive.softwareheritage.org/api/1/origin/save/
|
||||
(save "{ \"origin_url\": \"http://example.org/svn/foo\",
|
||||
\"save_request_date\": \"2014-11-17T22:09:38+01:00\",
|
||||
\"save_request_status\": \"accepted\",
|
||||
\"save_task_status\": \"scheduled\" }")
|
||||
(warnings (with-http-server `((404 "No extid.") ;lookup-directory-by-nar-hash
|
||||
(404 "No revision.") ;lookup-revision
|
||||
(404 "No origin.") ;lookup-origin
|
||||
(200 ,save)) ;save-origin
|
||||
(parameterize ((%swh-base-url (%local-url)))
|
||||
(check-archival (dummy-package "x" (source origin)))))))
|
||||
(warning-contains? "scheduled" warnings)))
|
||||
|
||||
(test-equal "archival: revision available"
|
||||
'()
|
||||
(let* ((origin (origin
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue