me
/
guix
Archived
1
0
Fork 0

Merge branch 'master' into core-updates-frozen

master
Ludovic Courtès 2021-09-07 11:04:44 +02:00
commit d9dfbf886d
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
258 changed files with 218381 additions and 180777 deletions

View File

@ -78,7 +78,7 @@
("CA4F 8CF4 37D7 478F DA05 5FD4 4213 7701 1A37 8446"
(name "lbraun (professional)"))
("ACC2 3BA0 59F7 CCF4 08F0 43AD 442A 84B8 C70E 2F87"
(name "leoprikler"))
(name "lilyp"))
("45E5 75FA 53EA 8BD6 1BCE 0B4E 3ADC 75F0 13D6 78F9"
(name "leungbk"))
(;; primary: "4F71 6F9A 8FA2 C80E F1B5 E1BA 5E35 F231 DE1A C5E0"

View File

@ -15,6 +15,7 @@ Ben Woodcroft <donttrustben@gmail.com>
Ben Woodcroft <donttrustben@gmail.com> <b.woodcroft@uq.edu.au>
Ben Woodcroft <donttrustben@gmail.com> <donttrustben near gmail.com>
Brett Gilio <brettg@gnu.org> <brettg@posteo.net>
Christine Lemmer-Webber <cwebber@dustycloud.org>
Claes Wallin (韋嘉誠) <claes.wallin@greatsinodevelopment.com>
Cyprien Nicolas <cyprien@nicolas.tf> <c.nicolas+gitorious@gmail.com>
Daniel Pimentel <d4n1@d4n1.org> <d4n1@member.fsf.org>
@ -40,9 +41,13 @@ Joshua Grant <tadni@riseup.net> <tadnimi@gmail.com>
Joshua Grant <tadni@riseup.net> <youlysses@riseup.net>
Kei Kebreau <kkebreau@posteo.net>
Leo Famulari <leo@famulari.name> <lfamular@gmail.com>
Liliana Prikler <liliana.prikler@gmail.com> Leo Prikler <leo.prikler@student.tugraz.at>
Ludovic Courtès <ludo@gnu.org> <ludovic.courtes@inria.fr>
Marek Benc <dusxmt@gmx.com> <merkur32@gmail.com>
Marius Bakke <mbakke@fastmail.com> <m.bakke@warwick.ac.uk>
Marius Bakke <marius@gnu.org> <mbakke@fastmail.com>
Marius Bakke <marius@gnu.org> <m.bakke@warwick.ac.uk>
Marius Bakke <marius@gnu.org> <marius.bakke@usit.uio.no>
Marius Bakke <marius@gnu.org> <mbakke@berlin.guixsd.org>
Mathieu Lirzin <mthl@gnu.org> <mthl@openmailbox.org>
Mathieu Lirzin <mthl@gnu.org> <mathieu.lirzin@openmailbox.org>
Mathieu Othacehe <m.othacehe@gmail.com>

View File

@ -141,6 +141,7 @@ MODULES = \
guix/build-system/go.scm \
guix/build-system/meson.scm \
guix/build-system/minify.scm \
guix/build-system/minetest.scm \
guix/build-system/asdf.scm \
guix/build-system/copy.scm \
guix/build-system/glib-or-gtk.scm \
@ -203,6 +204,7 @@ MODULES = \
guix/build/gnu-dist.scm \
guix/build/guile-build-system.scm \
guix/build/maven-build-system.scm \
guix/build/minetest-build-system.scm \
guix/build/node-build-system.scm \
guix/build/perl-build-system.scm \
guix/build/python-build-system.scm \
@ -260,6 +262,7 @@ MODULES = \
guix/import/json.scm \
guix/import/kde.scm \
guix/import/launchpad.scm \
guix/import/minetest.scm \
guix/import/opam.scm \
guix/import/print.scm \
guix/import/pypi.scm \
@ -303,6 +306,7 @@ MODULES = \
guix/scripts/import/go.scm \
guix/scripts/import/hackage.scm \
guix/scripts/import/json.scm \
guix/scripts/import/minetest.scm \
guix/scripts/import/opam.scm \
guix/scripts/import/pypi.scm \
guix/scripts/import/stackage.scm \
@ -471,6 +475,7 @@ SCM_TESTS = \
tests/import-utils.scm \
tests/inferior.scm \
tests/lint.scm \
tests/minetest.scm \
tests/modules.scm \
tests/monads.scm \
tests/nar.scm \
@ -516,6 +521,8 @@ SCM_TESTS = \
if HAVE_GUILE_LIB
SCM_TESTS += tests/go.scm
else
EXTRA_DIST += tests/go.scm
endif
if BUILD_DAEMON_OFFLOAD

View File

@ -16,7 +16,7 @@ Copyright @copyright{} 2020 Matthew Brooks@*
Copyright @copyright{} 2020 Marcin Karpezo@*
Copyright @copyright{} 2020 Brice Waegeneire@*
Copyright @copyright{} 2020 André Batista@*
Copyright @copyright{} 2020 Christopher Lemmer Webber
Copyright @copyright{} 2020 Christine Lemmer-Webber@*
Copyright @copyright{} 2021 Joshua Branson@*
Permission is granted to copy, distribute and/or modify this document
@ -591,7 +591,7 @@ packages.
Guix makes it possible to streamline the process by adding as many ``package
declaration directories'' as you want.
Create a directory, say @file{~./guix-packages} and add it to the @samp{GUIX_PACKAGE_PATH}
Create a directory, say @file{~/guix-packages} and add it to the @samp{GUIX_PACKAGE_PATH}
environment variable:
@example
@ -1714,7 +1714,7 @@ operating-system dedicated to the @b{Pine A64 LTS} board.
(locale "en_US.utf8")
(bootloader (bootloader-configuration
(bootloader u-boot-pine64-lts-bootloader)
(target "/dev/vda")))
(targets '("/dev/vda"))))
(initrd-modules '())
(kernel linux-libre-arm64-generic)
(file-systems (cons (file-system

View File

@ -94,6 +94,8 @@ Copyright @copyright{} 2021 Xinglu Chen@*
Copyright @copyright{} 2021 Raghav Gururajan@*
Copyright @copyright{} 2021 Domagoj Stolfa@*
Copyright @copyright{} 2021 Hui Lu@*
Copyright @copyright{} 2021 pukkamustard@*
Copyright @copyright{} 2021 Alice Brenon@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@ -2568,14 +2570,15 @@ in particular:
@itemize
@item
Make sure the @code{bootloader-configuration} form refers to the target
you want to install GRUB on. It should mention @code{grub-bootloader} if
you are installing GRUB in the legacy way, or @code{grub-efi-bootloader}
for newer UEFI systems. For legacy systems, the @code{target} field
names a device, like @code{/dev/sda}; for UEFI systems it names a path
to a mounted EFI partition, like @code{/boot/efi}; do make sure the path is
currently mounted and a @code{file-system} entry is specified in your
configuration.
Make sure the @code{bootloader-configuration} form refers to the targets
you want to install GRUB on. It should mention @code{grub-bootloader}
if you are installing GRUB in the legacy way, or
@code{grub-efi-bootloader} for newer UEFI systems. For legacy systems,
the @code{targets} field contain the names of the devices, like
@code{(list "/dev/sda")}; for UEFI systems it names the paths to mounted
EFI partitions, like @code{(list "/boot/efi")}; do make sure the paths
are currently mounted and a @code{file-system} entry is specified in
your configuration.
@item
Be sure that your file system labels match the value of their respective
@ -7801,6 +7804,12 @@ The @code{#:package} parameter can be passed to specify a package name, which
is useful when a package contains multiple packages and you want to build
only one of them. This is equivalent to passing the @code{-p} argument to
@code{dune}.
The @code{#:profile} parameter can be passed to specify the
@uref{https://dune.readthedocs.io/en/stable/dune-files.html#profile,
dune build profile}. This is equivalent to passing the @code{--profile}
argument to @code{dune}. Its default value is @code{"release"}.
@end defvr
@defvr {Scheme Variable} go-build-system
@ -7965,6 +7974,14 @@ declaration. Its default value is @code{(default-maven-plugins)} which is
also exported.
@end defvr
@defvr {Scheme Variable} minetest-mod-build-system
This variable is exported by @code{(guix build-system minetest)}. It
implements a build procedure for @uref{https://www.minetest.net, Minetest}
mods, which consists of copying Lua code, images and other resources to
the location Minetest searches for mods. The build system also minimises
PNG images and verifies that Minetest can load the mod without errors.
@end defvr
@defvr {Scheme Variable} minify-build-system
This variable is exported by @code{(guix build-system minify)}. It
implements a minification procedure for simple JavaScript packages.
@ -11410,6 +11427,38 @@ and generate package expressions for all those packages that are not yet
in Guix.
@end table
@item minetest
@cindex minetest
@cindex ContentDB
Import metadata from @uref{https://content.minetest.net, ContentDB}.
Information is taken from the JSON-formatted metadata provided through
@uref{https://content.minetest.net/help/api/, ContentDB's API} and
includes most relevant information, including dependencies. There are
some caveats, however. The license information is often incomplete.
The commit hash is sometimes missing. The descriptions are in the
Markdown format, but Guix uses Texinfo instead. Texture packs and
subgames are unsupported.
The command below imports metadata for the Mesecons mod by Jeija:
@example
guix import minetest Jeija/mesecons
@end example
The author name can also be left out:
@example
guix import minetest mesecons
@end example
@table @code
@item --recursive
@itemx -r
Traverse the dependency graph of the given upstream package recursively
and generate package expressions for all those packages that are not yet
in Guix.
@end table
@item cpan
@cindex CPAN
Import metadata from @uref{https://www.metacpan.org/, MetaCPAN}.
@ -11716,14 +11765,31 @@ Traverse the dependency graph of the given upstream package recursively
and generate package expressions for all those packages that are not yet
in Guix.
@item --repo
Select the given repository (a repository name). Possible values include:
By default, packages are searched in the official OPAM repository. This
option, which can be used more than once, lets you add other repositories
which will be searched for packages. It accepts as valid arguments:
@itemize
@item @code{opam}, the default opam repository,
@item @code{coq} or @code{coq-released}, the stable repository for coq packages,
@item @code{coq-core-dev}, the repository that contains development versions of coq,
@item @code{coq-extra-dev}, the repository that contains development versions
of coq packages.
@item the name of a known repository - can be one of @code{opam},
@code{coq} (equivalent to @code{coq-released}),
@code{coq-core-dev}, @code{coq-extra-dev} or @code{grew}.
@item the URL of a repository as expected by the
@code{opam repository add} command (for instance, the URL equivalent
of the above @code{opam} name would be
@uref{https://opam.ocaml.org}).
@item the path to a local copy of a repository (a directory containing a
@file{packages/} sub-directory).
@end itemize
Repositories are assumed to be passed to this option by order of
preference. The additional repositories will not replace the default
@code{opam} repository, which is always kept as a fallback.
Also, please note that versions are not compared accross repositories.
The first repository (from left to right) that has at least one version
of a given package will prevail over any others, and the version
imported will be the latest one found @emph{in this repository only}.
@end table
@item go
@ -13681,7 +13747,7 @@ the @code{bootloader} field should contain something along these lines:
@lisp
(bootloader-configuration
(bootloader grub-efi-bootloader)
(target "/boot/efi"))
(targets '("/boot/efi")))
@end lisp
@xref{Bootloader Configuration}, for more information on the available
@ -14896,7 +14962,7 @@ configuration would look like:
(keyboard-layout (keyboard-layout "tr")) ;for the console
(bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
(target "/boot/efi")
(targets '("/boot/efi"))
(keyboard-layout keyboard-layout))) ;for GRUB
(services (cons (set-xorg-configuration
(xorg-configuration ;for Xorg
@ -18268,6 +18334,14 @@ Data type representing the configuration of @code{slim-service-type}.
@item @code{allow-empty-passwords?} (default: @code{#t})
Whether to allow logins with empty passwords.
@item @code{gnupg?} (default: @code{#f})
If enabled, @code{pam-gnupg} will attempt to automatically unlock the
user's GPG keys with the login password via @code{gpg-agent}. The
keygrips of all keys to be unlocked should be written to
@file{~/.pam-gnupg}, and can be queried with @code{gpg -K
--with-keygrip}. Presetting passphrases must be enabled by adding
@code{allow-preset-passphrase} in @file{~/.gnupg/gpg-agent.conf}.
@item @code{auto-login?} (default: @code{#f})
@itemx @code{default-user} (default: @code{""})
When @code{auto-login?} is false, SLiM presents a log-in screen.
@ -25279,6 +25353,7 @@ of strings and G-expressions.
@end table
@end deffn
@anchor{NGINX}
@subsubheading NGINX
@deffn {Scheme Variable} nginx-service-type
@ -28098,6 +28173,11 @@ Use @var{cache} directory to cache build log files.
Once a substitute is successfully fetched, trigger substitute baking at
@var{trigger-url}.
@item @code{publish?} (default: @code{#t})
If set to false, do not start a publish server and ignore the
@code{publish-port} argument. This can be useful if there is already a
standalone publish server standing next to the remote server.
@item @code{public-key}
@item @code{private-key}
Use the specific @var{file}s as the public/private key pair used to sign
@ -28132,6 +28212,9 @@ Location of the log file.
@item @code{publish-port} (default: @code{5558})
The TCP port of the publish server. It defaults to @code{5558}.
@item @code{substitute-urls} (default: @code{%default-substitute-urls})
The list of URLs where to look for substitutes by default.
@item @code{public-key}
@item @code{private-key}
Use the specific @var{file}s as the public/private key pair used to sign
@ -31644,6 +31727,19 @@ A value like @code{#o0027} will give read access to the group used by Gitolite
(by default: @code{git}). This is necessary when using Gitolite with software
like cgit or gitweb.
@item @code{unsafe-pattern} (default: @code{#f})
An optional Perl regular expression for catching unsafe configurations in
the configuration file. See
@uref{https://gitolite.com/gitolite/git-config.html#compensating-for-unsafe_patt,
Gitolite's documentation} for more information.
When the value is not @code{#f}, it should be a string containing a Perl
regular expression, such as @samp{"[`~#\$\&()|;<>]"}, which is the default
value used by gitolite. It rejects any special character in configuration
that might be interpreted by a shell, which is useful when sharing the
administration burden with other people that do not otherwise have shell
access on the server.
@item @code{git-config-keys} (default: @code{""})
Gitolite allows you to set git config values using the @samp{config}
keyword. This setting allows control over the config keys to accept.
@ -31658,6 +31754,137 @@ This setting controls the commands and features to enable within Gitolite.
@end deftp
@subsubheading Gitile Service
@cindex Gitile service
@cindex Git, forge
@uref{https://git.lepiller.eu/gitile, Gitile} is a Git forge for viewing
public git repository contents from a web browser.
Gitile works best in collaboration with Gitolite, and will serve the public
repositories from Gitolite by default. The service should listen only on
a local port, and a webserver should be configured to serve static resources.
The gitile service provides an easy way to extend the Nginx service for
that purpose (@pxref{NGINX}).
The following example will configure Gitile to serve repositories from a
custom location, with some default messages for the home page and the
footers.
@lisp
(service gitile-service-type
(gitile-configuration
(repositories "/srv/git")
(base-git-url "https://myweb.site/git")
(index-title "My git repositories")
(intro '((p "This is all my public work!")))
(footer '((p "This is the end")))
(nginx-server-block
(nginx-server-configuration
(ssl-certificate
"/etc/letsencrypt/live/myweb.site/fullchain.pem")
(ssl-certificate-key
"/etc/letsencrypt/live/myweb.site/privkey.pem")
(listen '("443 ssl http2" "[::]:443 ssl http2"))
(locations
(list
;; Allow for https anonymous fetch on /git/ urls.
(git-http-nginx-location-configuration
(git-http-configuration
(uri-path "/git/")
(git-root "/var/lib/gitolite/repositories")))))))))
@end lisp
In addition to the configuration record, you should configure your git
repositories to contain some optional information. First, your public
repositories need to contain the @file{git-daemon-export-ok} magic file
that allows Git to export the repository. Gitile uses the presence of this
file to detect public repositories it should make accessible. To do so with
Gitolite for instance, modify your @file{conf/gitolite.conf} to include
this in the repositories you want to make public:
@example
repo foo
R = daemon
@end example
In addition, Gitile can read the repository configuration to display more
infomation on the repository. Gitile uses the gitweb namespace for its
configuration. As an example, you can use the following in your
@file{conf/gitolite.conf}:
@example
repo foo
R = daemon
desc = A long description, optionally with <i>HTML</i>, shown on the index page
config gitweb.name = The Foo Project
config gitweb.synopsis = A short description, shown on the main page of the project
@end example
Do not forget to commit and push these changes once you are satisfied. You
may need to change your gitolite configuration to allow the previous
configuration options to be set. One way to do that is to add the
following service definition:
@lisp
(service gitolite-service-type
(gitolite-configuration
(admin-pubkey (local-file "key.pub"))
(rc-file
(gitolite-rc-file
(umask #o0027)
;; Allow to set any configuration key
(git-config-keys ".*")
;; Allow any text as a valid configuration value
(unsafe-patt "^$")))))
@end lisp
@deftp {Data Type} gitile-configuration
Data type representing the configuration for @code{gitile-service-type}.
@table @asis
@item @code{package} (default: @var{gitile})
Gitile package to use.
@item @code{host} (default: @code{"localhost"})
The host on which gitile is listening.
@item @code{port} (default: @code{8080})
The port on which gitile is listening.
@item @code{database} (default: @code{"/var/lib/gitile/gitile-db.sql"})
The location of the database.
@item @code{repositories} (default: @code{"/var/lib/gitolite/repositories"})
The location of the repositories. Note that only public repositories will
be shown by Gitile. To make a repository public, add an empty
@file{git-daemon-export-ok} file at the root of that repository.
@item @code{base-git-url}
The base git url that will be used to show clone commands.
@item @code{index-title} (default: @code{"Index"})
The page title for the index page that lists all the available repositories.
@item @code{intro} (default: @code{'()})
The intro content, as a list of sxml expressions. This is shown above the list
of repositories, on the index page.
@item @code{footer} (default: @code{'()})
The footer content, as a list of sxml expressions. This is shown on every
page served by Gitile.
@item @code{nginx-server-block}
An nginx server block that will be extended and used as a reverse proxy by
Gitile to serve its pages, and as a normal web server to serve its assets.
You can use this block to add more custom URLs to your domain, such as a
@code{/git/} URL for anonymous clones, or serving any other files you would
like to serve.
@end table
@end deftp
@node Game Services
@subsection Game Services
@ -33316,11 +33543,11 @@ in ``legacy'' BIOS mode.
through TFTP@. In combination with an NFS root file system this allows you to
build a diskless Guix system.
The installation of the @code{grub-efi-netboot-bootloader} generates the content
of the TFTP root directory at @code{target}
(@pxref{Bootloader Configuration, @code{target}}), to be served by a TFTP server.
You may want to mount your TFTP server directory onto @code{target} to move the
required files to the TFTP server automatically.
The installation of the @code{grub-efi-netboot-bootloader} generates the
content of the TFTP root directory at @code{targets} (@pxref{Bootloader
Configuration, @code{targets}}), to be served by a TFTP server. You may
want to mount your TFTP server directories onto the @code{targets} to
move the required files to the TFTP server automatically.
If you plan to use an NFS root file system as well (actually if you mount the
store from an NFS share), then the TFTP server needs to serve the file
@ -33331,22 +33558,25 @@ files from the store will be accessed by GRUB through TFTP with their normal
store path, for example as
@file{tftp://tftp-server/gnu/store/…-initrd/initrd.cpio.gz}.
Two symlinks are created to make this possible. The first symlink is
@code{target}@file{/efi/Guix/boot/grub/grub.cfg} pointing to
@file{../../../boot/grub/grub.cfg},
where @code{target} may be @file{/boot}. In this case the link is not leaving
the served TFTP root directory, but otherwise it does. The second link is
@code{target}@file{/gnu/store} and points to @file{../gnu/store}. This link
is leaving the served TFTP root directory.
Two symlinks are created to make this possible. For each target in the
@code{targets} field, the first symlink is
@samp{target}@file{/efi/Guix/boot/grub/grub.cfg} pointing to
@file{../../../boot/grub/grub.cfg}, where @samp{target} may be
@file{/boot}. In this case the link is not leaving the served TFTP root
directory, but otherwise it does. The second link is
@samp{target}@file{/gnu/store} and points to @file{../gnu/store}. This
link is leaving the served TFTP root directory.
The assumption behind all this is that you have an NFS server exporting the root
file system for your Guix system, and additionally a TFTP server exporting your
@code{target} directory—usually @file{/boot}—from that same root file system for
your Guix system. In this constellation the symlinks will work.
The assumption behind all this is that you have an NFS server exporting
the root file system for your Guix system, and additionally a TFTP
server exporting your @code{targets} directories—usually a single
@file{/boot}—from that same root file system for your Guix system. In
this constellation the symlinks will work.
For other constellations you will have to program your own bootloader installer,
which then takes care to make necessary files from the store accessible through
TFTP, for example by copying them into the TFTP root directory at @code{target}.
For other constellations you will have to program your own bootloader
installer, which then takes care to make necessary files from the store
accessible through TFTP, for example by copying them into the TFTP root
directory to your @code{targets}.
It is important to note that symlinks pointing outside the TFTP root directory
may need to be allowed in the configuration of your TFTP server. Further the
@ -33358,18 +33588,19 @@ NFS servers, you also need a properly configured DHCP server to make the booting
over netboot possible. For all this we can currently only recommend you to look
for instructions about @acronym{PXE, Preboot eXecution Environment}.
@item @code{target}
This is a string denoting the target onto which to install the
@item @code{targets}
This is a list of strings denoting the targets onto which to install the
bootloader.
The interpretation depends on the bootloader in question. For
@code{grub-bootloader}, for example, it should be a device name understood by
the bootloader @command{installer} command, such as @code{/dev/sda} or
@code{(hd0)} (@pxref{Invoking grub-install,,, grub, GNU GRUB Manual}). For
@code{grub-efi-bootloader}, it should be the mount point of the EFI file
system, usually @file{/boot/efi}. For @code{grub-efi-netboot-bootloader},
@code{target} should be the mount point corresponding to the TFTP root
directory of your TFTP server.
The interpretation of targets depends on the bootloader in question.
For @code{grub-bootloader}, for example, they should be device names
understood by the bootloader @command{installer} command, such as
@code{/dev/sda} or @code{(hd0)} (@pxref{Invoking grub-install,,, grub,
GNU GRUB Manual}). For @code{grub-efi-bootloader}, they should be mount
points of the EFI file system, usually @file{/boot/efi}. For
@code{grub-efi-netboot-bootloader}, @code{targets} should be the mount
points corresponding to TFTP root directories served by your TFTP
server.
@item @code{menu-entries} (default: @code{()})
A possibly empty list of @code{menu-entry} objects (see below), denoting
@ -33785,7 +34016,7 @@ files, packages, and so on. It also creates other essential files
needed for the system to operate correctly---e.g., the @file{/etc},
@file{/var}, and @file{/run} directories, and the @file{/bin/sh} file.
This command also installs bootloader on the target specified in
This command also installs bootloader on the targets specified in
@file{my-os-config}, unless the @option{--no-bootloader} option was
passed.
@ -34181,7 +34412,7 @@ evaluates to. As an example, @var{file} might contain a definition like this:
(timezone "Etc/UTC")
(bootloader (bootloader-configuration
(bootloader grub-bootloader)
(target "/dev/vda")
(targets '("/dev/vda"))
(terminal-outputs '(console))))
(file-systems (cons (file-system
(mount-point "/")

View File

@ -2,6 +2,8 @@
#
# GNU Guix --- Functional package management for GNU
# Copyright © 2016 Eric Le Bihan <eric.le.bihan.dev@free.fr>
# Copyright © 2021 Noah Evans <noah@nevans.me>
# Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
#
# This file is part of GNU Guix.
#
@ -68,21 +70,24 @@ _guix_list_installed_packages()
(( $+functions[_guix_build] )) || _guix_build()
{
_arguments \
'--expression=[build the package matching EXPR]:EXPR' \
'--file=[build the package matching code evaluated from FILE]:FILE:_files' \
'--source[build the packages source derivations]' \
'--sources=[build source derivations]:TYPE:(all package transitive)' \
'--system=[attempt to build for SYSTEM (e.g. "i686-linux")]:SYSTEM' \
{-e,--expression=}'[build the package or derivation EXPR evaluates to]:EXPR' \
{-f,--file=}'[build the package or derivation that the code within FILE evaluates to]:FILE:_files' \
{-m,--manifest=}'[build the packages that the manifest given in FILE evaluates to]:FILE:_files' \
{-S,--source}'[build the packages source derivations]' \
'--sources=[build source derivations]:TYPE:(package all transitive)' \
{-s,--system=}'[attempt to build for SYSTEM (e.g. "i686-linux")]:SYSTEM' \
'--target=[cross-build for TRIPLET (e.g. "armel-linux-gnu")]:TRIPLET' \
'--derivations[return the derivation paths of the given packages]' \
{-d,--derivations}'[return the derivation paths of the given packages]' \
'--check[rebuild items to check for non-determinism issues]' \
'--root=[symlink result to FILE and register it as GC root]:FILE:_files' \
'--quiet[do not show the build log]' \
'--repair[repair the specified items]' \
{-r,--root=}'[make FILE a symlink to the result, and register it as a GC root]:FILE:_files' \
{-v,--verbosity=}'[use the given verbosity LEVEL]:LEVEL' \
{-q,--quiet}'[do not show the build log]' \
'--log-file[return the log file names for the given derivations]' \
'--load-path=[prepend DIR to the package module search path]:DIR:_dirs' \
'--keep-failed[keep build tree of failed builds]' \
'--keep-going[keep going when some of the derivations fail]' \
'--dry-run[do not build the derivations]' \
{-L,--load-path=}'[prepend DIR to the package module search path]:DIR:_files -\' \
{-K,--keep-failed}'[keep build tree of failed builds]' \
{-k,--keep-going}'[keep going when some of the derivations fail]' \
{-n,--dry-run}'[do not build the derivations]' \
'--fallback[fall back to building when the substituter fails]' \
'--no-substitutes[build instead of resorting to pre-built substitutes]' \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URLS:_urls' \
@ -90,12 +95,12 @@ _guix_list_installed_packages()
'--no-offload[do not attempt to offload builds]' \
'--max-silent-time=[mark the build as failed after SECONDS of silence]:SECONDS' \
'--timeout=[mark the build as failed after SECONDS of activity]:SECONDS' \
'--verbosity=[use the given verbosity LEVEL]:LEVEL' \
'--rounds=[build N times in a row to detect non-determinism]:N' \
'--cores=[allow the use of up to N CPU cores for the build]:N' \
'--max-jobs=[allow at most N build jobs]:N' \
'--with-source=[use SOURCE when building the corresponding package]:SOURCE' \
'--with-input=[replace dependency PACKAGE by REPLACEMENT]:PACKAGE=REPLACEMENT' \
{-c,--cores=}'[allow the use of up to N CPU cores for the build]:N' \
{-M,--max-jobs=}'[allow at most N build jobs]:N' \
'--debug=[produce debugging output at LEVEL]:LEVEL' \
'--help-transform[list package transformation options not shown here]' \
{-V,--version}'[display version information and exit]' \
'*:package:->packages'
if [[ "$state" = packages ]]; then
@ -107,7 +112,10 @@ _guix_list_installed_packages()
(( $+functions[_guix_challenge] )) || _guix_challenge()
{
_arguments \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URL:_urls' \
'--substitute-urls=[compare build results with those at URLS]:URLS:_urls' \
'--diff=[show differences according to MODE]:MODE' \
{-v,--verbose}'[show details about successful comparisons]' \
{-V,--version}'[display version information and exit]' \
'*:package:->packages'
if [[ "$state" = packages ]]; then
@ -126,7 +134,11 @@ _guix_list_installed_packages()
(( $+functions[_guix_download] )) || _guix_download()
{
_arguments \
'--format=[write the hash in the given format]:FMT:(nix-base32 base16 base32 hex)' \
{-f,--format=}'[write the hash in the given format]:FMT:(nix-base32 base16 base32 hex)' \
{-H,--hash=}'[use the given hash ALGORITHM]:ALGORITHM' \
'--no-check-certificate[do not validate the certificate of HTTPS servers ]' \
{-o,--output=}'[download to FILE]:FILE:_files' \
{-V,--version}'[display version information and exit]' \
'1:URL:_urls'
}
@ -139,21 +151,29 @@ _guix_list_installed_packages()
(( $+functions[_guix_environment] )) || _guix_environment()
{
_arguments \
'--expression=[create environment for the package evaluated from EXPR]:EXPR' \
'--load=[create environment for the package evaluated from FILE]:FILE:_files' \
'--ad-hoc[include all specified packages, not only their inputs]' \
{-e,--expression=}'[create environment for the package that EXPR evaluates to]:EXPR' \
{-l,--load=}'[create environment for the package that the code within FILE evaluates to]:FILE:_files' \
{-m,--manifest=}'[create environment with the manifest from FILE]:FILE:_files' \
{-p,--profile=}'[create environment from profile at PATH]:PATH:_files -/' \
'--ad-hoc[include all specified packages in the environment instead of only their inputs]' \
'--pure[unset existing environment variables]' \
{-E,--preserve=}'[preserve environment variables that match REGEXP]:REGEXP' \
'--search-paths[display needed environment variable definitions]' \
'--system=[attempt to build for SYSTEM (e.g. "i686-linux")]:SYSTEM' \
'--container[run command within an isolated container]' \
'--network[allow containers to access the network]' \
'--share=[share writable host file system according to SPEC]:SPEC' \
'--expose=[expose read-only host file system according to SPEC]:SPEC' \
{-s,--system=}'[attempt to build for SYSTEM (e.g. "i686-linux")]:SYSTEM' \
{-r,--root=}'[make FILE a symlink to the result, and register it as a GC root]:FILE:_files' \
{-C,--container}'[run command within an isolated container]' \
{-N,--network}'[allow containers to access the network]' \
{-P,--link-profile}'[link environment profile to ~/.guix-profile within an isolated container]' \
{-u,--user=}'[instead of copying the name and home of the current user into an isolated container, use the name USER with home directory /home/USER]:USER:_users' \
'--no-cwd[do not share current working directory with an isolated container]' \
'--share=[for containers, share writable host file system according to SPEC]:SPEC' \
'--expose=[for containers, expose read-only host file system according to SPEC]:SPEC' \
{-v,--verbosity=}'[use the given verbosity LEVEL]:LEVEL' \
'--bootstrap[use bootstrap binaries to build the environment]' \
'--load-path=[prepend DIR to the package module search path]:DIR:_dirs' \
'--keep-failed[keep build tree of failed builds]' \
'--keep-going[keep going when some of the derivations fail]' \
'--dry-run[do not build the derivations]' \
{-L,--load-path=}'[prepend DIR to the package module search path]:DIR:_files -/' \
{-K,--keep-failed}'[keep build tree of failed builds]' \
{-k,--keep-going}'[keep going when some of the derivations fail]' \
{-n,--dry-run}'[do not build the derivations]' \
'--fallback[fall back to building when the substituter fails]' \
'--no-substitutes[build instead of resorting to pre-built substitutes]' \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URLS:_urls' \
@ -161,10 +181,12 @@ _guix_list_installed_packages()
'--no-offload[do not attempt to offload builds]' \
'--max-silent-time=[mark the build as failed after SECONDS of silence]:SECONDS' \
'--timeout=[mark the build as failed after SECONDS of activity]:SECONDS' \
'--verbosity=[use the given verbosity LEVEL]:LEVEL' \
'--rounds=[build N times in a row to detect non-determinism]:N' \
'--cores=[allow the use of up to N CPU cores for the build]:N' \
'--max-jobs=[allow at most N build jobs]:N' \
{-c,--cores=}'[allow the use of up to N CPU cores for the build]:N' \
{-M,--max-jobs=}'[allow at most N build jobs]:N' \
'--debug=[produce debugging output at LEVEL]:LEVEL' \
'--help-transform[list package transformation options not shown here]' \
{-V,--version}'[display version information and exit]' \
'*:package:->packages'
if [[ "$state" = packages ]]; then
@ -177,27 +199,39 @@ _guix_list_installed_packages()
(( $+functions[_guix_gc] )) || _guix_gc()
{
_arguments \
'--collect-garbage=[collect at least MIN bytes of garbage]:MIN' \
'--free-space=[attempt to reach FREE available space in the store]:FREE' \
'--delete[attempt to delete PATHS]' \
{-C,--collect-garbage=}'[collect at least MIN bytes of garbage]:MIN' \
{-F,--free-space=}'[attempt to reach FREE available space in the store]:FREE' \
{-d,--delete-generations=}'[delete profile generations matching PATTERN]:PATTERN' \
{-D,--delete}'[attempt to delete PATHS]' \
'--list-roots[list the users GC roots]' \
'--list-busy[list store items used by running processes]' \
'--optimize[optimize the store by deduplicating identical files]' \
'--list-dead[list dead paths]' \
'--list-live[list live paths]' \
'--references[list the references of PATHS]' \
'--requisites[list the requisites of PATHS]' \
{-R,--requisites}'[list the requisites of PATHS]' \
'--referrers[list the referrers of PATHS]' \
'--derivers[list the derivers of PATHS]' \
'--verify=[verify the integrity of the store]:OPTS:(contents repair)' \
'--list-failures[list cached build failures]' \
'--clear-failures[remove PATHS from the set of cached failures]' \
'1:PATH:_dirs'
{-V,--version}'[display version information and exit]:V' \
'1:PATH:_files -/'
}
(( $+functions[_guix_graph] )) || _guix_graph()
{
_arguments \
'--type=[represent nodes of the given TYPE]:TYPE:->types' \
{-b,--backend=}'[produce a graph with the given backend TYPE]:TYPE:->types' \
'--list-backends[list the available graph backends]' \
{-t,--type=}'[represent nodes of the given TYPE]:TYPE:->types' \
'--list-types[list the available graph types]' \
'--expression=[consider the package EXPR evaluates to]:EXPR' \
'--path[display the shortest path between the given nodes]' \
{-e,--expression=}'[consider the package EXPR evaluates to]:EXPR' \
{-s,--system=}'[consider the graph for SYSTEM (e.g. "i686-linux")]:SYSTEM' \
{-L,--load-path=}'[prepend DIR to the package module search path]:DIR:_files -/' \
'--help-transform[list package transformation options not shown here]' \
{-V,--version}'[display version information and exit]' \
'1:PACKAGE:->packages'
case "$state" in
@ -216,14 +250,18 @@ _guix_list_installed_packages()
(( $+functions[_guix_hash] )) || _guix_hash()
{
_arguments \
'--format=[write the hash in the given format]:FMT:(nix-base32 base16 base32 hex)' \
'--recursive[compute the hash on FILE recursively]'\
{-x,--exclude-vcs}'[exclude version control directories]' \
{-H,--hash=}'[use the given hash ALGORITHM]:ALGORITHM' \
{-f,--format=}'[write the hash in the given format]:FMT:(nix-base32 base16 base32 hex)' \
{-r,--recursive}'[compute the hash on FILE recursively]' \
{-V,--version}'[display version information and exit]' \
'1:FILE:_files'
}
(( $+functions[_guix_import] )) || _guix_import()
{
_arguments \
{-V,--version}'[display version information and exit]' \
'1:IMPORTER:->importer' \
'*:args:'
@ -236,8 +274,12 @@ _guix_list_installed_packages()
(( $+functions[_guix_lint] )) || _guix_lint()
{
_arguments \
'--checkers=[only run the specified checkers]:CHECKERS:->checkers' \
'--list-checkers[display the list of available lint checkers]' \
{-c,--checkers=}'[only run the specified checkers]:CHECKERS:->checkers' \
{-x,--exclude=}'[exclude the specified checkers]:CHECKERSS:->checkers' \
{-n,--no-network}'[only run checkers that do not access the network]' \
{-L,--load-path=}'[prepend DIR to the package module search path]:DIR:_files -/' \
{-l,--list-checkers}'[display the list of available lint checkers]' \
{-V,--version}'[display version information and exit]' \
'1:PACKAGE:->packages'
case "$state" in
@ -255,29 +297,32 @@ _guix_list_installed_packages()
(( $+functions[_guix_package] )) || _guix_package()
{
_arguments \
'--install[install one or more packages]: :->install' \
'--install-from-expression=[install the package EXP evaluates to]:EXP' \
'--install-from-file=[install the package evaluated from FILE]:FILE:_files' \
'--remove[remove one or more packages]: :->remove' \
'--upgrade=[upgrade all the installed packages matching REGEXP]:REGEXP' \
'--manifest=[create a new profile generation from FILE]:FILE:_files' \
{-i,--install}'[install one or more packages]: :->install' \
{-e,--install-from-expression=}'[install the package EXP evaluates to]:EXP' \
{-f,--install-from-file=}'[install the package evaluated from FILE]:FILE:_files' \
{-r,--remove}'[remove one or more packages]: :->remove' \
{-u,--upgrade=}'[upgrade all the installed packages matching REGEXP]:REGEXP' \
{-m,--manifest=}'[create a new profile generation from FILE]:FILE:_files' \
'--do-not-upgrade=[do not upgrade any packages matching REGEXP]:REGEXP' \
'--roll-back[roll back to the previous generation]' \
'--search-paths=[display needed environment variable definitions]:KINDS' \
'--list-generations=[list generations matching PATTERN]:PATTERN' \
'--delete-generations=[delete generations matching PATTERN]:PATTERN' \
'--switch-generation=[switch to a generation matching PATTERN]:PATTERN' \
'--profile=[use PROFILE instead of the default profile]:PROFILE' \
{-l,--list-generations=}'[list generations matching PATTERN]:PATTERN' \
{-d,--delete-generations=}'[delete generations matching PATTERN]:PATTERN' \
{-S,--switch-generation=}'[switch to a generation matching PATTERN]:PATTERN' \
'--export-manifest[print a manifest for the chosen profile]' \
'--export-channels[print channels for the chosen profile]' \
{-p,--profile}'[use PROFILE instead of the default profile]:PROFILE:_files -/' \
'--list-profiles[list the profiles]' \
'--allow-collisions[do not treat collisions in the profile as an error]' \
'--bootstrap[use the bootstrap Guile to build the profile]' \
'--verbose[produce verbose output]' \
'--search=[search in synopsis and description using REGEXP]:REGEXP' \
'--list-installed=[list installed packages matching REGEXP]:REGEXP' \
'--list-available=[list available packages matching REGEXP]:REGEXP' \
{-s,--search=}'[search in synopsis and description using REGEXP]:REGEXP' \
{-I,--list-installed=}'[list installed packages matching REGEXP]:REGEXP' \
{-A,--list-available=}'[list available packages matching REGEXP]:REGEXP' \
'--show=[show details about a package]: :->show' \
'--load-path=[prepend DIR to the package module search path]:DIR:_dirs' \
'--keep-failed[keep build tree of failed builds]' \
'--keep-going[keep going when some of the derivations fail]' \
'--dry-run[do not build the derivations]' \
{-L,--load-path=}'[prepend DIR to the package module search path]:DIR:_files -/' \
{-K,--keep-failed}'[keep build tree of failed builds]' \
{-k,--keep-going}'[keep going when some of the derivations fail]' \
{-n,--dry-run}'[do not build the derivations]' \
'--fallback[fall back to building when the substituter fails]' \
'--no-substitutes[build instead of resorting to pre-built substitutes]' \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URLS:_urls' \
@ -285,12 +330,13 @@ _guix_list_installed_packages()
'--no-offload[do not attempt to offload builds]' \
'--max-silent-time=[mark the build as failed after SECONDS of silence]:SECONDS' \
'--timeout=[mark the build as failed after SECONDS of activity]:SECONDS' \
'--verbosity=[use the given verbosity LEVEL]:LEVEL' \
'--rounds=[build N times in a row to detect non-determinism]:N' \
'--cores=[allow the use of up to N CPU cores for the build]:N' \
'--max-jobs=[allow at most N build jobs]:N' \
'--with-source=[use SOURCE when building the corresponding package]:SOURCE' \
'--with-input=[replace dependency PACKAGE by REPLACEMENT]:PACKAGE=REPLACEMENT'
{-c,--cores=}'[allow the use of up to N CPU cores for the build]:N' \
{-M,--max-jobs=}'[allow at most N build jobs]:N' \
'--debug=[produce debugging output at LEVEL]' \
'--help-transform[list package transformation options not shown here]' \
{-v,--verbosity=}'[use the given verbosity LEVEL]' \
{-V,--version}'[display version information and exit]'
case "$state" in
install|show)
@ -304,37 +350,165 @@ _guix_list_installed_packages()
esac
}
(( $+functions[_guix_install] )) || _guix_install()
{
_arguments \
{-p,--profile=}'[use PROFILE instead of the users default profile]:PROFILE:_files -/' \
{-v,--verbosity=}'[use the given verbosity LEVEL]:LEVEL' \
{-L,--load-path=}'[prepend DIR to the package module search path]:DIR:_files -/' \
{-K,--keep-failed}'[keep build tree of failed builds]' \
{-k,--keep-going}'[keep going when some of the derivations fail]' \
{-n,--dry-run}'[do not build the derivations]' \
'--fallback[fall back to building when the substituter fails]' \
'--no-substitutes[build instead of resorting to pre-built substitutes]' \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URLS:_urls' \
'--no-grafts[do not graft packages]' \
'--no-offload[do not attempt to offload builds]' \
'--max-silent-time=[mark the build as failed after SECONDS of silence]:SECONDS' \
'--timeout=[mark the build as failed after SECONDS of activity]:SECONDS' \
'--rounds=[build N times in a row to detect non-determinism]:N' \
{-c,--cores=}'[allow the use of up to N CPU cores for the build]:N' \
{-M,--max-jobs=}'[allow at most N build jobs]:N' \
'--debug=[produce debugging output at LEVEL]:LEVEL' \
'--help-transform[list package transformation options not shown here]' \
{-V,--version}'[display version information and exit]' \
'*:package:->packages'
if [[ "$state" = packages ]]; then
_guix_list_available_packages
compadd -a -- _guix_available_packages
fi
}
(( $+functions[_guix_remove] )) || _guix_remove()
{
_arguments \
{-p,--profile=}'[use PROFILE instead of the users default profile]:PROFILE:_files -/' \
{-v,--verbosity=}'[use the given verbosity LEVEL]:LEVEL' \
{-L,--load-path=}'[prepend DIR to the package module search path]:DIR:_files -/' \
{-K,--keep-failed}'[keep build tree of failed builds]' \
{-k,--keep-going}'[keep going when some of the derivations fail]' \
{-n,--dry-run}'[do not build the derivations]' \
'--fallback[fall back to building when the substituter fails]' \
'--no-substitutes[build instead of resorting to pre-built substitutes]' \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URLS:_urls' \
'--no-grafts[do not graft packages]' \
'--no-offload[do not attempt to offload builds]' \
'--max-silent-time=[mark the build as failed after SECONDS of silence]:SECONDS' \
'--timeout=[mark the build as failed after SECONDS of activity]:SECONDS' \
'--rounds=[build N times in a row to detect non-determinism]:N' \
{-c,--cores=}'[allow the use of up to N CPU cores for the build]:N' \
{-M,--max-jobs=}'[allow at most N build jobs]:N' \
'--debug=[produce debugging output at LEVEL]:LEVEL' \
{-V,--version}'[display version information and exit]' \
'*:package:->packages'
if [[ "$state" = packages ]]; then
_guix_list_installed_packages
compadd -a -- _guix_installed_packages
fi
}
(( $+functions[_guix_upgrade] )) || _guix_upgrade()
{
_arguments \
{-p,--profile=}'[use PROFILE instead of the users default profile]:PROFILE:_files -/' \
{-v,--verbosity=}'[use the given verbosity LEVEL]:LEVEL' \
'--do-not-upgrade=[do not upgrade any packages matching REGEXP]:REGEXP' \
{-L,--load-path=}'[prepend DIR to the package module search path]:DIR:_files -/' \
{-K,--keep-failed}'[keep build tree of failed builds]' \
{-k,--keep-going}'[keep going when some of the derivations fail]' \
{-n,--dry-run}'[do not build the derivations]' \
'--fallback[fall back to building when the substituter fails]' \
'--no-substitutes[build instead of resorting to pre-built substitutes]' \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URLS:_urls' \
'--no-grafts[do not graft packages]' \
'--no-offload[do not attempt to offload builds]' \
'--max-silent-time=[mark the build as failed after SECONDS of silence]:SECONDS' \
'--timeout=[mark the build as failed after SECONDS of activity]:SECONDS' \
'--rounds=[build N times in a row to detect non-determinism]:N' \
{-c,--cores=}'[allow the use of up to N CPU cores for the build]:N' \
{-M,--max-jobs=}'[allow at most N build jobs]:N' \
'--debug=[produce debugging output at LEVEL]:LEVEL' \
'--help-transform[list package transformation options not shown here]' \
{-V,--version}'[display version information and exit]' \
'*:regexp'
}
(( $+functions[_guix_publish] )) || _guix_publish()
{
_arguments \
'--port=[listen on PORT]:PORT:' \
'--listen=[listen on the network interface for HOST]:HOST:_hosts' \
'--user=[change privileges to USER as soon as possible]:USER:_users' \
'--compression=[compress archives at LEVEL]:LEVEL' \
{-p,--port=}'[listen on PORT]:PORT' \
'--listen=[listen on the network interface for HOST]:HOST_hosts' \
{-u,--user=}'[change privileges to USER as soon as possible]:USER_users' \
{-a,--advertise}'[advertise on the local network]' \
{-C,--compression=}'[compress archives with METHOD at LEVEL]:METHOD' \
{-c,--cache=}'[cache published items to DIRECTORY]:DIRECTORY:_files -/' \
'--cache-bypass-threshold=[serve store items below SIZE even when not cached]:SIZE' \
'--workers=[use N workers to bake items]:N' \
'--ttl=[announce narinfos can be cached for TTL seconds]:TTL' \
'--repl=[spawn REPL server on PORT]:PORT'
'--negative-ttl=[announce missing narinfos can be cached for TTL seconds]:TTL' \
'--nar-path=[use PATH as the prefix for nar URLs]:PATH' \
'--public-key=[use FILE as the public key for signatures]:FILE:_files' \
'--private-key=[use FILE as the private key for signatures]:FILE:_files' \
{-r,--repl=}'[spawn REPL server on PORT]:PORT' \
{-V,--version}'[display version information and exit]' \
}
(( $+functions[_guix_pull] )) || _guix_pull()
{
_arguments \
'--verbose[produce verbose output]' \
'--url=[download the Guix tarball from URL]:URL:_urls' \
'--bootstrap[use the bootstrap Guile to build the new Guix]'
{-C,--channels=}'[deploy the channels defined in FILE]:FILE:_files' \
'--url=[download from the Git repository at URL]:URL:_urls' \
'--commit=[download the specified COMMIT]:COMMIT' \
'--branch=[download the tip of the specified BRANCH]:BRANCH' \
'--allow-downgrades[allow downgrades to earlier channel revisions]' \
'--disable-authentication[disable channel authentication]' \
{-N,--news}'[display news compared to the previous generation]' \
{-l,--list-generations=}'[list generations matching PATTERN]:PATTERN' \
'--roll-back[roll back to the previous generation]' \
{-d,--delete-generations=}'[delete generations matching PATTERN]:PATTERN' \
{-S,--switch-generation=}'[switch to a generation matching PATTERN]:PATTERN' \
{-p,--profile=}'[use PROFILE instead of ~/.config/guix/current]:PROFILE:_files -/' \
{-v,--verbosity=}'[use the given verbosity LEVEL]:LEVEL' \
{-s,--system=}'[attempt to build for SYSTEM (e.g. "i686-linux")]:SYSTEM' \
'--bootstrap[use the bootstrap Guile to build the new Guix]' \
{-L,--load-path=}'[prepend DIR to the package module search path]:DIR:_files -/' \
{-K,--keep-failed}'[keep build tree of failed builds]' \
{-k,--keep-going}'[keep going when some of the derivations fail]' \
{-n,--dry-run}'[do not build the derivations]' \
'--fallback[fall back to building when the substituter fails]' \
'--no-substitutes[build instead of resorting to pre-built substitutes]' \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URLS:_urls' \
'--no-grafts[do not graft packages]' \
'--no-offload[do not attempt to offload builds]' \
'--max-silent-time=[mark the build as failed after SECONDS of silence]:SECONDS' \
'--timeout=[mark the build as failed after SECONDS of activity]:SECONDS' \
'--rounds=[build N times in a row to detect non-determinism]:N' \
{-c,--cores=}'[allow the use of up to N CPU cores for the build]:N' \
{-M,--max-jobs=}'[allow at most N build jobs]:N' \
'--debug=[produce debugging output at LEVEL]:LEVEL' \
{-V,--version}'[display version information and exit]'
}
(( $+functions[_guix_refresh] )) || _guix_refresh()
{
_arguments \
'--expression=[consider the package EXPR evaluates to]:EXPR' \
'--update[update source files in place]' \
'--select=[select all the packages in SUBSET]:SUBSET:(core non-core)' \
'--type=[restrict to updates from the specified updaters]:UPDATER:->updaters' \
'--list-updaters[list available updaters and exit]' \
'--list-dependent[list top-level dependent packages]' \
'--key-server=[use HOST as the OpenPGP key server]:HOST:_hosts' \
{-e,--expression=}'[consider the package EXPR evaluates to]:EXPR' \
{-u,--update}'[update source files in place]' \
{-s,--select=}'[select all the packages in SUBSET, one of]:SUBSET:(core non-core)' \
{-m,--manifest=}'[select all the packages from the manifest in FILE]:FILE:_files' \
{-t,--type=}'[restrict to updates from the specified updaters]:UPDATER:-.updaters' \
{-L,--list-updaters}'[list available updaters and exit]' \
{-l,--list-dependent}'[list top-level dependent packages that would need to be rebuilt as a result of upgrading PACKAGE...]' \
{-r,--recursive}'[check the PACKAGE and its inputs for upgrades]' \
'--list-transitive[list all the packages that PACKAGE depends on]' \
'--keyring=[use FILE as the keyring of upstream OpenPGP keys]:FILE:_files' \
'--key-server=[use HOST as the OpenPGP key server]:HOST_hosts' \
'--gpg=[use COMMAND as the GnuPG 2.x command]:COMMAND' \
'--key-download=[policy to handle missing OpenPGP keys]:POLICY:(always interactive never)' \
'--key-download=[handle missing OpenPGP keys according to POLICY:]:POLICY:(always interactive never)' \
'--load-path=[prepend DIR to the package module search path]:DIR:_files -/' \
{-V,--version}'[display version information and exit]' \
'*:package:->packages'
case "$state" in
@ -352,9 +526,12 @@ _guix_list_installed_packages()
(( $+functions[_guix_size] )) || _guix_size()
{
_arguments \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URL:_urls' \
'-system=[consider packages for SYSTEM--e.g., "i686-linux"]:SYSTEM' \
'--map-file=[write to FILE a graphical map of disk usage]:FILE:_files' \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URLS:_urls' \
{-s,--system=}'[consider packages for SYSTEM (e.g. "i686-linux")]:SYSTEM' \
'--sort=[sort according to KEY]:KEY:(closure self)' \
{-m,--map-file=}'[write to FILE a graphical map of disk usage]:FILE:_files' \
{-L,--load-path=}'[prepend DIR to the package module search path]:DIR:_files -/' \
{-V,--version}'[display version information and exit]' \
'*:package:->packages'
if [[ "$state" = packages ]]; then
@ -366,28 +543,42 @@ _guix_list_installed_packages()
(( $+functions[_guix_system] )) || _guix_system()
{
_arguments \
'--load-path=[prepend DIR to the package module search path]:DIR:_dirs' \
'--keep-failed[keep build tree of failed builds]' \
'--keep-going[keep going when some of the derivations fail]' \
'--dry-run[do not build the derivations]' \
{-L,--load-path=}'[prepend DIR to the package module search path]:DIR:_files -/' \
{-K,--keep-failed}'[keep build tree of failed builds]' \
{-k,--keep-going}'[keep going when some of the derivations fail]' \
{-n,--dry-run}'[do not build the derivations]' \
'--fallback[fall back to building when the substituter fails]' \
'--no-substitutes[build instead of resorting to pre-built substitutes]' \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URL:_urls' \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URLS:_urls' \
'--no-grafts[do not graft packages]' \
'--no-offload[do not attempt to offload builds]' \
'--max-silent-time=[mark the build as failed after SECONDS of silence]:SECONDS' \
'--timeout=[mark the build as failed after SECONDS of activity]:SECONDS' \
'--verbosity=[use the given verbosity LEVEL]:LEVEL' \
'--rounds=[build N times in a row to detect non-determinism]:N' \
'--cores=[allow the use of up to N CPU cores for the build]:N' \
'--max-jobs=[allow at most N build jobs]:N' \
'--derivation[return the derivation of the given system]' \
'--on-error=[apply STRATEGY when an error occurs while reading FILE]:STRATEGY' \
'--image-size=[for "image", produce an image of SIZE]:SIZE' \
'--no-grub[for "init", do not install GRUB]' \
'--share=[for "vm", share host file system according to SPEC]:SPEC' \
'--expose=[for "vm", expose host file system according to SPEC]:SPEC' \
'--full-boot[for "vm", make a full boot sequence]' \
{-c,--cores=}'[allow the use of up to N CPU cores for the build]:N' \
{-M,--max-jobs=}'[allow at most N build jobs]:N' \
'--debug=[produce debugging output at LEVEL]:LEVEL' \
{-d,--derivation}'[return the derivation of the given system]' \
{-e,--expression=}'[consider the operating-system EXPR evaluates to instead of reading FILE, when applicable]:EXPR' \
'--allow-downgrades[for reconfigure, allow downgrades to earlier channel revisions]' \
'--on-error=[apply STRATEGY when an error occurs while reading FILE]:STRATEGY:(nothing-special backtrace debug)' \
'--list-image-types[list available image types]' \
{-t,--image-type=}'[for image, produce an image of TYPE]:TYPE' \
'--image-size=[for image, produce an image of SIZE]:SIZE' \
'--no-bootloader[for init, do not install a bootloader]' \
'--volatile[for image, make the root file system volatile]' \
'--label=[for image, label disk image with LABEL]:LABEL' \
'--save-provenance[save provenance information]' \
'--share=[for vm and container, share host file system with read/write access according to SPEC]:SPEC' \
'--expose=[for vm and container, expose host file system directory as read-only according to SPEC]:SPEC' \
{-N,--network}'[for container, allow containers to access the network]' \
{-r,--root=}'[for vm, image, container and build, make FILE a symlink to the result, and register it as a GC root]:FILE:_files' \
'--full-boot[for vm, make a full boot sequence]' \
'--skip-checks[skip file system and initrd module safety checks]' \
'--target=[cross-build for TRIPLET (e.g. "armel-linux-gnu")]:TRIPLET' \
{-v,--verbosity=}'[use the given verbosity LEVEL]:LEVEL' \
'--graph-backend=[use BACKEND for extension-graphs and shepherd-graph]:BACKEND' \
{-V,--version}'[display version information and exit]' \
'1:action:->actions' \
'*:file:_files'
@ -405,20 +596,35 @@ _guix_list_installed_packages()
"build:Build a given package"
"challenge:Challenge the substitutes for a package"
"container:Build and manipulate Linux containers"
"copy:Copy store items remotely over SSH"
"deploy:Deploy operating systems on a set of machines"
"describe:Describe the channel revisions currently used"
"download:Download the file at given URL and add it to the store"
"edit:Edit the definitions of a package"
"environment:Build an environment with a package and its dependencies"
"gc:Invoke the garbage collector"
"git:Operate on Git repositories"
"graph:Emit a DOT representation of the dependencies of a package"
"hash:Return the cryptographic hash of a file"
"import:Run an importer"
"install:Install packages"
"lint:Run a set of checkers on a package"
"offload:Set up and operate build offloading"
"pack:Create application bundles"
"package:Install, remove, or upgrade packages"
"processes:List currently running sessions"
"publish:Publish /gnu/store over HTTP."
"pull:Download and deploy the latest version of Guix"
"refresh:Update package definitions to match the latest version"
"remove:Remove packages"
"repl:Read-eval-print loop (REPL) for interactive programming"
"search:Search for packages"
"show:Show information about packages"
"size:Report the size of a package and its dependencies"
"system:Build the operating system"
"time-machine:Run commands from a different revision"
"upgrade:Upgrade packages"
"weather:Report on the availability of pre-built package binaries"
)
if (( CURRENT == 1 )); then

View File

@ -2,7 +2,7 @@
;;; Copyright © 2017 David Craven <david@craven.ch>
;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
@ -25,7 +25,10 @@
#:use-module (guix gexp)
#:use-module (guix profiles)
#:use-module (guix records)
#:use-module (guix ui)
#:use-module (guix deprecation)
#:use-module ((guix ui) #:select (warn-about-load-error))
#:use-module (guix diagnostics)
#:use-module (guix i18n)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match)
#:export (menu-entry
@ -55,7 +58,8 @@
bootloader-configuration
bootloader-configuration?
bootloader-configuration-bootloader
bootloader-configuration-target
bootloader-configuration-target ;deprecated
bootloader-configuration-targets
bootloader-configuration-menu-entries
bootloader-configuration-default-entry
bootloader-configuration-timeout
@ -179,12 +183,17 @@ record."
;; The <bootloader-configuration> record contains bootloader independant
;; configuration used to fill bootloader configuration file.
(define-syntax-rule (warn-target-field-deprecation value)
(%warn-target-field-deprecation value (current-source-location)))
(define-record-type* <bootloader-configuration>
bootloader-configuration make-bootloader-configuration
bootloader-configuration?
(bootloader bootloader-configuration-bootloader) ;<bootloader>
(target bootloader-configuration-target ;string
(targets %bootloader-configuration-targets ;list of strings
(default #f))
(target %bootloader-configuration-target ;deprecated
(default #f) (sanitize warn-target-field-deprecation))
(menu-entries bootloader-configuration-menu-entries ;list of <menu-entry>
(default '()))
(default-entry bootloader-configuration-default-entry ;integer
@ -204,6 +213,26 @@ record."
(serial-speed bootloader-configuration-serial-speed ;integer | #f
(default #f)))
(define (%warn-target-field-deprecation value location)
(when value
(warning (source-properties->location location)
(G_ "the 'target' field is deprecated, please use 'targets' \
instead~%")))
value)
(define-deprecated (bootloader-configuration-target config)
bootloader-configuration-targets
(%bootloader-configuration-target config))
(define (bootloader-configuration-targets config)
(or (%bootloader-configuration-targets config)
;; TODO: Remove after the deprecated 'target' field is removed.
(list (%bootloader-configuration-target config))
;; XXX: At least the GRUB installer (see (gnu bootloader grub)) has this
;; peculiar behavior of installing fonts and GRUB modules when DEVICE is #f,
;; hence the default value of '(#f) rather than '().
(list #f)))
;;;
;;; Bootloaders.

View File

@ -647,11 +647,12 @@ below the directory TARGET for the system whose root is mounted at MOUNT-POINT.
MOUNT-POINT is the last argument in 'guix system init /etc/config.scm mnt/point'
or '/' for other 'guix system' commands.
TARGET is the target argument given to the bootloader-configuration in
Where TARGET comes from the targets argument given to the
bootloader-configuration in:
(operating-system
(bootloader (bootloader-configuration
(target \"/boot\")
(targets '(\"/boot\"))
))
)

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>

View File

@ -1356,9 +1356,9 @@ from (gnu system mapped-devices) and return it."
`((bootloader-configuration
,@(if (efi-installation?)
`((bootloader grub-efi-bootloader)
(target ,(default-esp-mount-point)))
(targets (list ,(default-esp-mount-point))))
`((bootloader grub-bootloader)
(target ,root-partition-disk)))
(targets (list ,root-partition-disk))))
;; XXX: Assume we defined the 'keyboard-layout' field of
;; <operating-system> right above.

View File

@ -188,7 +188,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/docbook.scm \
%D%/packages/docker.scm \
%D%/packages/documentation.scm \
%D%/packages/drones.scm \
%D%/packages/dunst.scm \
%D%/packages/dvtm.scm \
%D%/packages/easyrpg.scm \
@ -385,6 +384,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/mercury.scm \
%D%/packages/mes.scm \
%D%/packages/messaging.scm \
%D%/packages/minetest.scm \
%D%/packages/mingw.scm \
%D%/packages/microcom.scm \
%D%/packages/moe.scm \
@ -494,6 +494,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/rednotebook.scm \
%D%/packages/regex.scm \
%D%/packages/robotics.scm \
%D%/packages/rocm.scm \
%D%/packages/rpc.scm \
%D%/packages/rpm.scm \
%D%/packages/rrdtool.scm \
@ -670,6 +671,7 @@ GNU_SYSTEM_MODULES = \
%D%/system/mapped-devices.scm \
%D%/system/nss.scm \
%D%/system/pam.scm \
%D%/system/setuid.scm \
%D%/system/shadow.scm \
%D%/system/uuid.scm \
%D%/system/vm.scm \
@ -808,6 +810,7 @@ dist_patch_DATA = \
%D%/packages/patches/abseil-cpp-fix-gtest.patch \
%D%/packages/patches/abseil-cpp-fix-strerror_test.patch \
%D%/packages/patches/adb-add-libraries.patch \
%D%/packages/patches/adb-libssl_11-compatibility.patch \
%D%/packages/patches/aegis-constness-error.patch \
%D%/packages/patches/aegis-perl-tempdir1.patch \
%D%/packages/patches/aegis-perl-tempdir2.patch \
@ -880,7 +883,6 @@ dist_patch_DATA = \
%D%/packages/patches/bsd-games-prevent-name-collisions.patch \
%D%/packages/patches/bsd-games-stdio.h.patch \
%D%/packages/patches/beancount-disable-googleapis-fonts.patch \
%D%/packages/patches/beets-werkzeug-compat.patch \
%D%/packages/patches/behave-skip-a-couple-of-tests.patch \
%D%/packages/patches/beignet-correct-file-names.patch \
%D%/packages/patches/bidiv-update-fribidi.patch \
@ -1415,6 +1417,7 @@ dist_patch_DATA = \
%D%/packages/patches/luit-posix.patch \
%D%/packages/patches/lvm2-static-link.patch \
%D%/packages/patches/mailutils-fix-uninitialized-variable.patch \
%D%/packages/patches/mailutils-variable-lookup.patch \
%D%/packages/patches/make-impure-dirs.patch \
%D%/packages/patches/marble-qt-add-qt-headers.patch \
%D%/packages/patches/mariadb-CVE-2021-27928.patch \
@ -1436,6 +1439,7 @@ dist_patch_DATA = \
%D%/packages/patches/mescc-tools-boot.patch \
%D%/packages/patches/metabat-fix-compilation.patch \
%D%/packages/patches/mhash-keygen-test-segfault.patch \
%D%/packages/patches/minetest-add-MINETEST_MOD_PATH.patch \
%D%/packages/patches/mingw-w64-6.0.0-gcc.patch \
%D%/packages/patches/mingw-w64-dlltool-temp-prefix.patch \
%D%/packages/patches/mingw-w64-reproducible-gendef.patch \
@ -1504,6 +1508,7 @@ dist_patch_DATA = \
%D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \
%D%/packages/patches/ocaml-multiple-definitions.patch \
%D%/packages/patches/ocaml-4.09-multiple-definitions.patch \
%D%/packages/patches/ocaml-ppx-variants-ppxlib-api-change.patch \
%D%/packages/patches/omake-fix-non-determinism.patch \
%D%/packages/patches/oneko-remove-nonfree-characters.patch \
%D%/packages/patches/onnx-optimizer-system-library.patch \
@ -1619,6 +1624,7 @@ dist_patch_DATA = \
%D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \
%D%/packages/patches/python-configobj-setuptools.patch \
%D%/packages/patches/python-docopt-pytest6-compat.patch \
%D%/packages/patches/python-execnet-read-only-fix.patch \
%D%/packages/patches/python-fixtures-remove-monkeypatch-test.patch \
%D%/packages/patches/python-flask-restful-werkzeug-compat.patch \
%D%/packages/patches/python-keras-integration-test.patch \
@ -1627,7 +1633,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-flint-includes.patch \
%D%/packages/patches/python-libxml2-utf8.patch \
%D%/packages/patches/python-matplotlib-run-under-wayland-gtk3.patch \
%D%/packages/patches/python-mediafile-wavpack.patch \
%D%/packages/patches/python-memcached-syntax-warnings.patch \
%D%/packages/patches/python-mox3-python3.6-compat.patch \
%D%/packages/patches/python-typing-inspect-fix.patch \
@ -1636,9 +1641,12 @@ dist_patch_DATA = \
%D%/packages/patches/python-paste-remove-timing-test.patch \
%D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \
%D%/packages/patches/python-pycrypto-time-clock.patch \
%D%/packages/patches/python-pyan3-fix-absolute-path-bug.patch \
%D%/packages/patches/python-pyan3-fix-positional-arguments.patch \
%D%/packages/patches/python-pydot-regression-test.patch \
%D%/packages/patches/python2-pygobject-2-deprecation.patch \
%D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \
%D%/packages/patches/python-pytest-asyncio-python-3.8.patch \
%D%/packages/patches/python-pytorch-runpath.patch \
%D%/packages/patches/python-pytorch-system-libraries.patch \
%D%/packages/patches/python-robotframework-source-date-epoch.patch \
@ -1777,6 +1785,7 @@ dist_patch_DATA = \
%D%/packages/patches/tup-unbundle-dependencies.patch \
%D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/twinkle-bcg729.patch \
%D%/packages/patches/u-boot-nintendo-nes-serial.patch \
%D%/packages/patches/u-boot-rockchip-inno-usb.patch \
%D%/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch \
%D%/packages/patches/u-boot-riscv64-fix-extlinux.patch \

View File

@ -235,7 +235,7 @@ cat > /etc/bootstrap-config.scm << EOF
(timezone \"Etc/UTC\")
(bootloader (bootloader-configuration
(bootloader grub-bootloader)
(target \"/dev/vda\")
(targets '(\"/dev/vda\"))
(terminal-outputs '(console))))
(file-systems (cons (file-system
(mount-point \"/\")

View File

@ -17,7 +17,7 @@
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au>
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2017 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
@ -29,7 +29,7 @@
;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019, 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019, 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
@ -43,6 +43,8 @@
;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
;;; Copyright © 2021 WinterHound <winterhound@yandex.com>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;;
;;; This file is part of GNU Guix.
;;;
@ -135,11 +137,14 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby)
#:use-module (gnu packages selinux)
#:use-module (gnu packages serialization)
#:use-module (gnu packages ssh)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages tcl)
#:use-module (gnu packages terminals)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
@ -834,6 +839,17 @@ hostname.")
#:phases
(modify-phases %standard-phases
,@(if (%current-target-system)
'((add-before 'configure 'set-runtime-shell
(lambda* (#:key inputs #:allow-other-keys)
(let ((shell (string-append
(assoc-ref inputs "bash")
"/bin/bash")))
(setenv "RUNTIME_SHELL" shell)
(substitute* "configure.ac"
(("\\$SHELL")
"$RUNTIME_SHELL"))))))
'())
(add-before 'build 'set-nscd-file-name
(lambda* (#:key inputs #:allow-other-keys)
;; Use the right file name for nscd.
@ -858,7 +874,10 @@ hostname.")
(inputs
`(,@(if (hurd-target?)
'()
`(("linux-pam" ,linux-pam)))))
`(("linux-pam" ,linux-pam)))
,@(if (%current-target-system)
`(("bash" ,bash-minimal))
'())))
(home-page "https://github.com/shadow-maint/shadow")
(synopsis "Authentication-related tools such as passwd, su, and login")
(description
@ -1248,7 +1267,11 @@ connection alive.")
"--owner=root:0"
"--group=root:0")))))
(add-after 'install 'post-install
(lambda* (#:key inputs outputs #:allow-other-keys)
;; TODO(core-updates): native-inputs isn't required anymore.
(lambda* (#:key ,@(if (%current-target-system)
'(native-inputs)
'())
inputs outputs #:allow-other-keys)
;; Install the dhclient script for GNU/Linux and make sure
;; if finds all the programs it needs.
(let* ((out (assoc-ref outputs "out"))
@ -1272,6 +1295,19 @@ connection alive.")
(string-append dir "/bin:"
dir "/sbin"))
(list inetutils net-tools coreutils sed))))
;; TODO(core-updates): should not be required anymore,
;; once <https://issues.guix.gnu.org/49290> has been merged.
,@(if (%current-target-system)
'((for-each
(lambda (file)
(substitute* file
(((assoc-ref native-inputs "bash"))
(assoc-ref inputs "bash"))))
(list (string-append libexec
"/dhclient-script")
(string-append libexec
"/.dhclient-script-real"))))
'())
#t))))))
(native-inputs
@ -1279,6 +1315,11 @@ connection alive.")
("file" ,file)))
(inputs `(("inetutils" ,inetutils)
;; TODO(core-updates): simply make this unconditional
,@(if (%current-target-system)
;; for wrap-program
`(("bash" ,(canonical-package bash-minimal)))
'())
,@(if (hurd-target?) '()
`(("net-tools" ,net-tools)
("iproute" ,iproute)))
@ -2477,40 +2518,29 @@ Statsd, Librato and InfluxDB. Graphios can emit Nagios metrics to any number
of supported upstream metrics systems simultaneously.")
(license license:gpl2+)))
(define-public ansible
(define-public ansible-core
(package
(name "ansible")
(version "2.9.18")
(name "ansible-core")
(version "2.11.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ansible" version))
(uri (pypi-uri "ansible-core" version))
(sha256
(base32 "0g6rsnh02zq5nizamgakl2wvgz7hk1lpnjn9akldrcpa55vygzjm"))))
(base32
"0jgahcv2pyc5ky0wir55a1h9q9d6rgqj60rqmvlpbj76vz1agsi2"))))
(build-system python-build-system)
(native-inputs
`(("python-bcrypt" ,python-bcrypt)
("python-pynacl" ,python-pynacl)
("python-httplib2" ,python-httplib2)
("python-passlib" ,python-passlib)
("python-nose" ,python-nose)
("python-mock" ,python-mock)
("python-jinja2" ,python-jinja2)
("python-pyyaml" ,python-pyyaml)
("python-paramiko" ,python-paramiko)))
(inputs
`(("python-cryptography" ,python-cryptography)
("python-jinja2" ,python-jinja2)
("python-pyyaml" ,python-pyyaml)
("python-paramiko" ,python-paramiko)))
(arguments
`(#:phases
`(#:modules ((guix build python-build-system)
(guix build utils)
(ice-9 ftw))
#:phases
(modify-phases %standard-phases
;; Several ansible commands (ansible-config, ansible-console, etc.)
;; are just symlinks to a single ansible executable. The ansible
;; executable behaves differently based on the value of
;; sys.argv[0]. This does not work well with our wrap phase, and
;; therefore the following two phases are required as a workaround.
;; are just symlinks to a single ansible executable. The ansible
;; executable behaves differently based on the value of sys.argv[0].
;; This does not work well with our wrap phase, and therefore the
;; following two phases are required as a workaround.
(add-after 'unpack 'hide-wrapping
(lambda _
;; Overwrite sys.argv[0] to hide the wrapper script from it.
@ -2519,27 +2549,138 @@ of supported upstream metrics systems simultaneously.")
(string-append all "
import re
sys.argv[0] = re.sub(r'\\.([^/]*)-real$', r'\\1', sys.argv[0])
")))
#t))
")))))
(add-after 'install 'replace-symlinks
(lambda* (#:key outputs #:allow-other-keys)
;; Replace symlinks with duplicate copies of the ansible
;; executable.
(let ((out (assoc-ref outputs "out")))
;; executable so that sys.argv[0] has the correct value.
(define bin (string-append (assoc-ref outputs "out") "/bin"))
(with-directory-excursion bin
(for-each
(lambda (subprogram)
(delete-file (string-append out "/bin/ansible-" subprogram))
(copy-file (string-append out "/bin/ansible")
(string-append out "/bin/ansible-" subprogram)))
(list "config" "console" "doc" "galaxy"
"inventory" "playbook" "pull" "vault")))
#t)))))
(lambda (ansible-symlink)
(delete-file ansible-symlink)
(copy-file "ansible" ansible-symlink))
(scandir "." (lambda (x)
(and (eq? 'symlink (stat:type (lstat x)))
(string-prefix? "ansible-" x)
(string=? "ansible" (readlink x)))))))))
(add-after 'unpack 'preserve-pythonpath
(lambda _
(substitute* "test/lib/ansible_test/_internal/ansible_util.py"
(("PYTHONPATH=get_ansible_python_path\\(args\\)" all)
(string-append all "+ ':' + os.environ['PYTHONPATH']")))))
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "lib/ansible/module_utils/compat/selinux.py"
(("libselinux.so.1" name)
(string-append (assoc-ref inputs "libselinux")
"/lib/" name)))
(substitute* "test/units/modules/test_async_wrapper.py"
(("/usr/bin/python")
(which "python")))))
(replace 'check
;; The environment for the test suite can be tricky to get right.
;; The environment used for Ansible's CI defined in the following
;; Dockerfile can be used as a reference:
;; https://raw.githubusercontent.com/ansible/
;; default-test-container/master/Dockerfile.
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
;; Otherwise Ansible fails to create its config directory.
(setenv "HOME" "/tmp")
(setenv "PATH" (string-append (getenv "PATH") ":"
(assoc-ref outputs "out") "/bin"))
(add-installed-pythonpath inputs outputs)
;; This test module messes up with sys.path and causes many
;; test failures.
(delete-file "test/units/_vendor/test_vendor.py")
;; The test fails when run in the container, for reasons
;; unknown.
(delete-file "test/units/utils/test_display.py")
;; This test fail for reasons unknown.
(delete-file "test/units/cli/test_adhoc.py")
;; The test suite needs to be run with 'ansible-test', which
;; does some extra environment setup. Taken from
;; https://raw.githubusercontent.com/ansible/ansible/\
;; devel/test/utils/shippable/shippable.sh.
(invoke "ansible-test" "units" "-v")))))))
(native-inputs
`(("openssh" ,openssh)
("openssl" ,openssl)
("python-mock" ,python-mock)
("python-pycrypto" ,python-pycrypto)
("python-pytest" ,python-pytest)
("python-pytest-forked" ,python-pytest-forked)
("python-pytest-mock" ,python-pytest-mock)
("python-pytest-xdist" ,python-pytest-xdist)
("python-pytz" ,python-pytz)))
(inputs ;optional dependencies captured in wrap scripts
`(("libselinux" ,libselinux)
("python-paramiko" ,python-paramiko)
("python-passlib" ,python-passlib)
("python-pexpect" ,python-pexpect)
("sshpass" ,sshpass)))
(propagated-inputs ;core dependencies listed in egg-info/requires.txt
`(("python-cryptography" ,python-cryptography)
("python-jinja2" ,python-jinja2)
("python-pyyaml" ,python-pyyaml)
("python-packaging" ,python-packaging) ;for version number parsing
("python-resolvelib" ,python-resolvelib-0.5)))
(home-page "https://www.ansible.com/")
(synopsis "Radically simple IT automation")
(description "Ansible is a radically simple IT automation system. It
handles configuration management, application deployment, cloud provisioning,
ad hoc task execution, and multinode orchestration---including trivializing
things like zero-downtime rolling updates with load balancers.")
(description "Ansible aims to be a radically simple IT automation system.
It handles configuration management, application deployment, cloud
provisioning, ad-hoc task execution, network automation, and multi-node
orchestration. Ansible facilitates complex changes like zero-downtime rolling
updates with load balancers. This package is the core of Ansible, which
provides the following commands:
@itemize
@item ansible
@item ansible-config
@item ansible-connection
@item ansible-console
@item ansible-doc
@item ansible-galaxy
@item ansible-inventory
@item ansible-playbook
@item ansible-pull
@item ansible-test
@item ansible-vault
@end itemize")
(license license:gpl3+)))
(define-public ansible
(package
(name "ansible")
(version "4.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ansible" version))
(sha256
(base32 "031n22j0lsmh69x6i6gkva81j68b4yzh1pbg3q2h4bknl85q46ag"))))
(build-system python-build-system)
(propagated-inputs
`(("ansible-core" ,ansible-core)))
;; The Ansible collections are found by ansible-core via PYTHONPATH; the
;; following search path ensures that they are found even when Python is
;; not present in the profile.
(native-search-paths
;; XXX: Attempting to use (package-native-search-paths python)
;; here would cause an error about python being an unbound
;; variable in the tests/cpan.scm test.
(list (search-path-specification
(variable "PYTHONPATH")
(files (list "lib/python3.8/site-packages")))))
(home-page "https://www.ansible.com/")
(synopsis "Radically simple IT automation")
(description "Ansible aims to be a radically simple IT automation system.
It handles configuration management, application deployment, cloud
provisioning, ad-hoc task execution, network automation, and multi-node
orchestration. Ansible facilitates complex changes like zero-downtime rolling
updates with load balancers. This package provides a curated set of
community-maintained Ansible collections, which contain playbooks, roles,
modules and plugins that extend Ansible.")
(license license:gpl3+)))
(define-public debops
@ -3401,7 +3542,7 @@ buffers.")
(define-public igt-gpu-tools
(package
(name "igt-gpu-tools")
(version "1.25")
(version "1.26")
(source
(origin
(method git-fetch)
@ -3410,7 +3551,7 @@ buffers.")
(commit (string-append "igt-gpu-tools-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1lvhkdhilw0fn4nzkpfwvrhiv8d92h811qs2v6ac3p5w7v86a9zm"))))
(base32 "0m124pqv7zna25jnvk566c4kk628jr0w8mgnp8mr5xqz9cprgczm"))))
(build-system meson-build-system)
(arguments
`(#:tests? #f)) ; many of the tests try to load kernel modules
@ -3846,7 +3987,7 @@ Python loading in HPC environments.")
(let ((real-name "inxi"))
(package
(name "inxi-minimal")
(version "3.3.04-1")
(version "3.3.06-1")
(source
(origin
(method git-fetch)
@ -3855,7 +3996,7 @@ Python loading in HPC environments.")
(commit version)))
(file-name (git-file-name real-name version))
(sha256
(base32 "1rrhycp8i43yf9wi80n4pq2hkfhvb2rg1srz8if28bh6fhhasjzw"))))
(base32 "1qk40iyrdp52vmbiqwxicvlcycm2v2bf1gg4lzq0b4619sd6d1m7"))))
(build-system trivial-build-system)
(inputs
`(("bash" ,bash-minimal)
@ -4427,14 +4568,14 @@ Netgear devices.")
(define-public atop
(package
(name "atop")
(version "2.5.0")
(version "2.6.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.atoptool.nl/download/atop-"
version ".tar.gz"))
(sha256
(base32
"0crzz4i2nabyh7d6xg7fvl65qls87nbca5ihidp3nijhrrbi14ab"))))
"0wlg0n0h9vwpjp2dcb623jvvqck422jrjpq9mbpzg4hnawxcmhly"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite
@ -4626,3 +4767,49 @@ the XMODEM/YMODEM/ZMODEM file transfer protocols.")
setup, maintenance, supervision, or any long-running processes.")
(home-page "https://github.com/leahneukirchen/nq")
(license license:public-domain)))
(define-public lsofgraph
(let ((commit "1d414bdc727c00a8c6cbfffc3c43128c60d6f0de")
(revision "1"))
(package
(name "lsofgraph")
(version (git-version "0.0.1" revision commit)) ;no upstream release
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zevv/lsofgraph")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"058x04yp6bc77hbl3qchqm7pa8f9vqfl9jryr88m8pzl7kvpif54"))))
(build-system trivial-build-system)
(inputs
`(("lua" ,lua)))
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
;; copy source
(copy-recursively (assoc-ref %build-inputs "source") ".")
;; patch-shebang phase
(setenv "PATH"
(string-append (assoc-ref %build-inputs "lua") "/bin"
":" (getenv "PATH")))
(substitute* "lsofgraph"
(("#!/usr/bin/env lua")
(string-append "#!" (which "lua"))))
;; install phase
(install-file "lsofgraph" (string-append %output "/bin"))
(let ((doc (string-append
%output "/share/doc/" ,name "-" ,version)))
(mkdir-p doc)
(install-file "LICENSE" doc)
(install-file "README.md" doc))
#t)))
(home-page "https://github.com/zevv/lsofgraph")
(synopsis "Convert @code{lsof} output to @code{graphviz}")
(description "Utility to convert @code{lsof} output to a graph showing
FIFO and UNIX interprocess communication.")
(license license:bsd-2))))

View File

@ -343,7 +343,7 @@ precision.")
(define-public giac
(package
(name "giac")
(version "1.7.0-25")
(version "1.7.0-29")
(source
(origin
(method url-fetch)
@ -355,7 +355,7 @@ precision.")
"~parisse/debian/dists/stable/main/source/"
"giac_" version ".tar.gz"))
(sha256
(base32 "0d11shsifnd5p23iym5h0kqa7bp7p0p25rwvya7hdji2kwvgr3cl"))))
(base32 "1dw0mh212ri9viks15cn75m38m4q4nj3hlv2bbrpdz8sgnnssz0a"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((ice-9 ftw)

View File

@ -150,6 +150,7 @@ use their packages mostly unmodified in our Android NDK build system.")
"libutils-remove-damaging-includes.patch"
"libutils-add-includes.patch"
"adb-add-libraries.patch"
"adb-libssl_11-compatibility.patch"
"libziparchive-add-includes.patch"))))
(define (android-platform-system-extras version)
@ -392,7 +393,7 @@ various Android core host applications.")
`(("android-libbase" ,android-libbase)
("android-libcutils" ,android-libcutils)
("android-liblog" ,android-liblog)
("openssl" ,openssl-1.0)))
("openssl" ,openssl)))
(home-page "https://developer.android.com/studio/command-line/adb.html")
(synopsis "Android Debug Bridge")
(description

View File

@ -7,7 +7,7 @@
;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
;;; Copyright © 2019 Andy Tai <atai@atai.org>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org>
;;; Copyright © 2020 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;

View File

@ -24,7 +24,7 @@
;;; Copyright © 2019, 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019, 2020 Alexandros Theodotou <alex@zrythm.org>
;;; Copyright © 2019 Christopher Lemmer Webber <cwebber@dustycloud.org>
;;; Copyright © 2019 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
;;; Copyright © 2019 Hartmt Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2019, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
@ -571,7 +571,7 @@ streams from live audio.")
(define-public ardour
(package
(name "ardour")
(version "6.6")
(version "6.8")
(source (origin
(method git-fetch)
(uri (git-reference
@ -589,7 +589,7 @@ namespace ARDOUR { const char* revision = \"" version "\" ; const char* date = \
#t)))
(sha256
(base32
"0k5rxh8b3d8si3lj01gfqj0pmd448d8sj4asnb205mwhwbfgn0cp"))
"16x7bkzbrk0rgywq5vrkhf2z3jj08jw1bvaq9vwlf2b4h4sd7i4s"))
(file-name (string-append name "-" version))))
(build-system waf-build-system)
(arguments
@ -2829,14 +2829,14 @@ different audio devices such as ALSA or PulseAudio.")
(define-public qjackctl
(package
(name "qjackctl")
(version "0.9.3")
(version "0.9.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/qjackctl/qjackctl/"
version "/qjackctl-" version ".tar.gz"))
(sha256
(base32
"065x66rr1mb2bkqr88l50rcn5c8rsiq4hp5hrlyqqg46371gzhp9"))))
"186rg3j67rac9ds1r7gnrib2d0smgv15cmr5gwb7v83mywcp1gzy"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no check target
@ -5277,14 +5277,14 @@ while still staying in time.")
(define-public butt
(package
(name "butt")
(version "0.1.30")
(version "0.1.31")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/butt/butt/butt-"
version "/butt-" version ".tar.gz"))
(sha256
(base32
"1dfspdh3f18lpp7asxpj63b9zfpvazi7shgrdacg17gd42ycayq5"))
"19zvdi5vr6vqnrpc60jir7550nz9a5x1c61lh13355cdny2zp28z"))
(modules '((guix build utils)))
(snippet
'(substitute* "src/butt.cpp"
@ -5325,7 +5325,7 @@ while still staying in time.")
version "_manual.pdf"))
(sha256
(base32
"1w3krh7f2v5vdz18hqycnpn0qv1x6xl6pa1najgp4jbfisjc1mn8"))))))
"0a0kgd069whfp1v8xgw6qm67w02n8b7b4h5ay5665wgq947hxanp"))))))
(home-page "https://danielnoethen.de/butt/")
(synopsis "Audio streaming tool")
(description "Butt is a tool to stream audio to a ShoutCast or

View File

@ -10612,7 +10612,7 @@ CONFIG_BRANCH_PROFILE_NONE=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
# CONFIG_UPROBE_EVENTS is not set
CONFIG_UPROBE_EVENTS=y
CONFIG_BPF_EVENTS=y
CONFIG_DYNAMIC_EVENTS=y
CONFIG_PROBE_EVENTS=y

View File

@ -10620,7 +10620,7 @@ CONFIG_BRANCH_PROFILE_NONE=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
# CONFIG_UPROBE_EVENTS is not set
CONFIG_UPROBE_EVENTS=y
CONFIG_BPF_EVENTS=y
CONFIG_DYNAMIC_EVENTS=y
CONFIG_PROBE_EVENTS=y

View File

@ -10765,7 +10765,7 @@ CONFIG_BRANCH_PROFILE_NONE=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
# CONFIG_UPROBE_EVENTS is not set
CONFIG_UPROBE_EVENTS=y
CONFIG_BPF_EVENTS=y
CONFIG_DYNAMIC_EVENTS=y
CONFIG_PROBE_EVENTS=y

View File

@ -10831,7 +10831,7 @@ CONFIG_BRANCH_PROFILE_NONE=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
# CONFIG_UPROBE_EVENTS is not set
CONFIG_UPROBE_EVENTS=y
CONFIG_BPF_EVENTS=y
CONFIG_DYNAMIC_EVENTS=y
CONFIG_PROBE_EVENTS=y

View File

@ -10214,7 +10214,7 @@ CONFIG_STACK_TRACER=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
# CONFIG_UPROBE_EVENTS is not set
CONFIG_UPROBE_EVENTS=y
CONFIG_BPF_EVENTS=y
CONFIG_DYNAMIC_EVENTS=y
CONFIG_PROBE_EVENTS=y

View File

@ -10164,7 +10164,7 @@ CONFIG_STACK_TRACER=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
# CONFIG_UPROBE_EVENTS is not set
CONFIG_UPROBE_EVENTS=y
CONFIG_BPF_EVENTS=y
CONFIG_DYNAMIC_EVENTS=y
CONFIG_PROBE_EVENTS=y

View File

@ -7,7 +7,7 @@
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2017 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>

View File

@ -41,6 +41,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages opencl)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages python-science)
@ -220,7 +221,7 @@ This can give a much better understanding of the command's performance.")
(define-public benchmark
(package
(name "benchmark")
(version "1.5.5")
(version "1.5.6")
(source (origin
(method git-fetch)
(uri (git-reference
@ -229,7 +230,7 @@ This can give a much better understanding of the command's performance.")
(file-name (git-file-name name version))
(sha256
(base32
"1ijv4idcjsyy61dab59ywbx0xdbws44kxgqjr1ylaxzwknh745qf"))))
"030g4d8vpn2442dsap0qw86lsw7xfl36k0x0x9bn0vvm11qvjn8c"))))
(build-system cmake-build-system)
(native-inputs
`(("googletest-source" ,(package-source googletest))
@ -240,8 +241,7 @@ This can give a much better understanding of the command's performance.")
(add-after 'unpack 'unpack-googletest
(lambda* (#:key inputs #:allow-other-keys)
(copy-recursively (assoc-ref inputs "googletest-source")
"googletest")
#t)))))
"googletest"))))))
(home-page "https://github.com/google/benchmark")
(synopsis "Microbenchmark support library")
(description
@ -384,3 +384,31 @@ It is designed to measure the effect of changes in Linux kernel design or
system configuration changes such as CPU, I/O scheduler and filesystem changes
and options. With careful benchmarking, different hardware can be compared.")
(license license:gpl2+)))
(define-public clpeak
;; Release 1.1.0 is too old for our opencl-clhpp. This commit supports
;; cl2.hpp.
(let ((commit "6d59cb64997a53c35207b77a63d2e9f0e84de5fd"))
(package
(name "clpeak")
(version (git-version "1.1.0" "0" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/krrishnarraj/clpeak.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0qmhdjyhwl7gfgyqxsddqn6zpp3b57503m16h7jv6illy3lfvji1"))))
(build-system cmake-build-system)
(home-page "https://github.com/krrishnarraj/clpeak")
(inputs
`(("opencl-clhpp" ,opencl-clhpp)
("opencl-icd-loader" ,opencl-icd-loader)))
(synopsis "OpenCL benchmark tool")
(description
"A synthetic benchmarking tool to measure peak capabilities of OpenCL
devices. It only measures the peak metrics that can be achieved using
vector operations and does not represent a real-world use case.")
(license license:unlicense))))

View File

@ -2154,13 +2154,13 @@ on Bioconductor or which replace R functions.")
(define-public r-biomart
(package
(name "r-biomart")
(version "2.48.2")
(version "2.48.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "biomaRt" version))
(sha256
(base32
"1na271z9gc3b7xfcghbljj9lqq6v9b2kb71xahsq544yv4z9w8xj"))))
"096s243yzbhhz3wsm7azml5sznqczmcpi5g0gnb02mah1przczfx"))))
(properties
`((upstream-name . "biomaRt")))
(build-system r-build-system)
@ -2247,13 +2247,13 @@ objects.")
(define-public r-biostrings
(package
(name "r-biostrings")
(version "2.60.1")
(version "2.60.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "Biostrings" version))
(sha256
(base32
"1a2vq4rram7chnccx0piccgi0mlblmjh26y51bch86lxr7qwlr22"))))
"0ai0fg0w4l0a7avbafdbqjgjpg91myxalwrg2i3ixm1l2lyyfyah"))))
(properties
`((upstream-name . "Biostrings")))
(build-system r-build-system)
@ -2743,14 +2743,14 @@ CAGE.")
(define-public r-ensembldb
(package
(name "r-ensembldb")
(version "2.16.3")
(version "2.16.4")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ensembldb" version))
(sha256
(base32
"1y3d6mx59531ixr8nzq57sa5nwimq3qyy1xabk52vvdbkl2aa52x"))))
"15yllkxr6sj5pfvkvv285nk3q5374nzq1iz8ywmnrq910k3xagd8"))))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
@ -3007,13 +3007,13 @@ alignments.")
(define-public r-genomicfeatures
(package
(name "r-genomicfeatures")
(version "1.44.0")
(version "1.44.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomicFeatures" version))
(sha256
(base32
"0y7lnvfcfrs72xbkn67xcqyz9csl5696mr2zl425fkhmnmimm4fg"))))
"0byizkq18kkyq3n604f38z4mikhi3szsrfrlz22wdq2ldq3nzkis"))))
(properties
`((upstream-name . "GenomicFeatures")))
(build-system r-build-system)
@ -3300,13 +3300,13 @@ Shiny-based display methods for Bioconductor objects.")
(define-public r-limma
(package
(name "r-limma")
(version "3.48.1")
(version "3.48.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "limma" version))
(sha256
(base32
"1wscxvhrz16sfa0qwk9anxqjy1vgvqmq6ia9gx6pwpga8qzwn5bi"))))
"0385ac0hvvml99krcgcpp6q7layjhzgp9xcxkcjrpfg5mjg1z4sx"))))
(build-system r-build-system)
(home-page "http://bioinf.wehi.edu.au/limma")
(synopsis "Package for linear models for microarray and RNA-seq data")
@ -3987,13 +3987,13 @@ tab-delimited (tabix) files.")
(define-public r-rtracklayer
(package
(name "r-rtracklayer")
(version "1.52.0")
(version "1.52.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "rtracklayer" version))
(sha256
(base32
"0iic0g0clsjd9ypdmfs6k52hrnmfszhxzg0xx89nszpasf69wghv"))))
"11w6dx09pb49lin1gr9q88xn7ixh9jd5z6m9z27djchm0nw10lx9"))))
(build-system r-build-system)
(arguments
`(#:phases
@ -4221,24 +4221,28 @@ graph construction.")
(define-public r-structuralvariantannotation
(package
(name "r-structuralvariantannotation")
(version "1.8.1")
(version "1.8.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "StructuralVariantAnnotation" version))
(sha256
(base32 "13q6zbdkpx1iw6n75pggg50f9q3zb7k3dxjdra8mhi6zin7018j8"))))
(base32 "04ac4mjh3pgdlws0aiacqg0vd7bhg890w44r7b90p947c3rk1mfw"))))
(build-system r-build-system)
(propagated-inputs
`(("r-assertthat" ,r-assertthat)
("r-biocgenerics" ,r-biocgenerics)
("r-biostrings" ,r-biostrings)
("r-dplyr" ,r-dplyr)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicfeatures" ,r-genomicfeatures)
("r-genomicranges" ,r-genomicranges)
("r-iranges" ,r-iranges)
("r-rlang" ,r-rlang)
("r-rtracklayer" ,r-rtracklayer)
("r-s4vectors" ,r-s4vectors)
("r-stringr" ,r-stringr)
("r-summarizedexperiment" ,r-summarizedexperiment)
("r-variantannotation" ,r-variantannotation)))
(native-inputs
`(("r-knitr" ,r-knitr)))
@ -4767,14 +4771,14 @@ signal in the input, that lead to spurious peaks during peak calling.")
(define-public r-diffbind
(package
(name "r-diffbind")
(version "3.2.4")
(version "3.2.5")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "DiffBind" version))
(sha256
(base32
"024ff12v42yvcma29cis4f777jrdgmgfr06lxn6l3nh30ghxawci"))))
"1rp4sgx58g1lq5brpx07wffllhvsqq1097vrjiaksbih08338nih"))))
(properties `((upstream-name . "DiffBind")))
(build-system r-build-system)
(propagated-inputs
@ -5013,14 +5017,14 @@ determining dependencies between variables, code improvement suggestions.")
(define-public r-chippeakanno
(package
(name "r-chippeakanno")
(version "3.26.2")
(version "3.26.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ChIPpeakAnno" version))
(sha256
(base32
"003550ygh0haxyyypsss7s03jlsx7cqkhly4fcz10maczi6j4l30"))))
"07dvg3r4kghkqhh1a8rw149hgfswmzdh9cvnam8c82006cpmi74s"))))
(properties `((upstream-name . "ChIPpeakAnno")))
(build-system r-build-system)
(propagated-inputs
@ -5067,13 +5071,13 @@ enrichedGO (addGeneIDs).")
(define-public r-matrixgenerics
(package
(name "r-matrixgenerics")
(version "1.4.0")
(version "1.4.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "MatrixGenerics" version))
(sha256
(base32
"1xq3a9ls125wfnhn13rdbsxzq3f6klsspx7h0znd6l67f5j5k25s"))))
"0kjsc5ghcplay4a74ffpwsf3kbp51x6rl5265gvlfchdwrawkzd2"))))
(properties
`((upstream-name . "MatrixGenerics")))
(build-system r-build-system)
@ -5685,14 +5689,14 @@ multiplication.")
(define-public r-treeio
(package
(name "r-treeio")
(version "1.16.1")
(version "1.16.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "treeio" version))
(sha256
(base32
"0ypl4h80m08sf7r4zfvqgvpsz46x15wvcl1idq5pd813bp1w2sws"))))
"1y60yvg1rl21cab9xrkns0209pg44mwr90qj099dvk97wsjkx67g"))))
(properties `((upstream-name . "treeio")))
(build-system r-build-system)
(propagated-inputs
@ -5717,14 +5721,14 @@ platform for merging tree with associated data and converting file formats.")
(define-public r-ggtree
(package
(name "r-ggtree")
(version "3.0.2")
(version "3.0.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ggtree" version))
(sha256
(base32
"0i665b5jxgsv3ncxmczy7n0h911br44dw9f7m4jwv3pjmr5mm6vk"))))
"02ydi5iyxwrvwfjmv8pbanmzpi1r99mc4gxl17fpq2jf1d1mk6g0"))))
(properties `((upstream-name . "ggtree")))
(build-system r-build-system)
(propagated-inputs
@ -6241,14 +6245,14 @@ multiplication and calculation of row/column sums or means.")
(define-public r-batchelor
(package
(name "r-batchelor")
(version "1.8.0")
(version "1.8.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "batchelor" version))
(sha256
(base32
"1xm204wp3m3mmlc1s59lscbbjvwm5nj32vvf16njcg7pb32lsiqa"))))
"1bkk69b5llkmvmpsnhymwjm2szmzypgszfsw8mak1b5ms5zf8lr0"))))
(properties `((upstream-name . "batchelor")))
(build-system r-build-system)
(propagated-inputs
@ -7242,14 +7246,14 @@ to multiple hypothesis correction.")
(define-public r-dose
(package
(name "r-dose")
(version "3.18.1")
(version "3.18.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "DOSE" version))
(sha256
(base32
"1g3llrb51m8lj3prcr6ryxj0lf4qqzg9mzi36y71pp9qzfvf3c0k"))))
"0kp6j42mpxrpd02cjrzqmrx3rvvpi90xiy4gc5km6ny3vxbhlaqw"))))
(properties `((upstream-name . "DOSE")))
(build-system r-build-system)
(propagated-inputs
@ -7314,14 +7318,14 @@ All the visualization methods are developed based on ggplot2 graphics.")
(define-public r-clusterprofiler
(package
(name "r-clusterprofiler")
(version "4.0.2")
(version "4.0.4")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "clusterProfiler" version))
(sha256
(base32
"11pjzh7inh1x0gry42nlq4har65s8pc0w3bkccm6kmxycvaxb9rh"))))
"161w9mn2plmymvzf1hkk9fwi3d9c26kbcpndyyrfcl6bg2nxr1s8"))))
(properties
`((upstream-name . "clusterProfiler")))
(build-system r-build-system)
@ -10877,14 +10881,14 @@ data.")
(define-public r-universalmotif
(package
(name "r-universalmotif")
(version "1.10.1")
(version "1.10.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "universalmotif" version))
(sha256
(base32
"1hwp7802r4pr7yafzir9afqaim9l0vznglm35b0gxaca8k7a3jvy"))))
"0hv2v2zgif5ihr5hxmdz32rln43jc1j0rslp44kd3rijjl45zysn"))))
(properties
`((upstream-name . "universalmotif")))
(build-system r-build-system)
@ -11843,14 +11847,14 @@ analytics on packages.")
(define-public r-biocset
(package
(name "r-biocset")
(version "1.6.0")
(version "1.6.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "BiocSet" version))
(sha256
(base32
"18zr0r4b4rblfmsiilipqdfxn9fgymx75hlxzx1wk3bm71ryk078"))))
"0nmrg9cgq8l9w467y364jghnvym05abpj8pyj90grmrib2xc5sj2"))))
(properties `((upstream-name . "BiocSet")))
(build-system r-build-system)
(propagated-inputs
@ -12469,14 +12473,14 @@ packages.")
(define-public r-beachmat
(package
(name "r-beachmat")
(version "2.8.0")
(version "2.8.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "beachmat" version))
(sha256
(base32
"16p6shab4y8sy1adn4qr05ysvwmvs9idliccixafvx9icv5sla86"))))
"06bpfpddsl49csxrs8hlx5pv0absc2wdcparchf8qqaqydazwci2"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
@ -12704,14 +12708,14 @@ libraries.")
(define-public r-scuttle
(package
(name "r-scuttle")
(version "1.2.0")
(version "1.2.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "scuttle" version))
(sha256
(base32
"1vxmgm52n5z2m1a7d4c5ajp5d35rdq7j3hln9qn7188zk9ijjsz5"))))
"015k879gg2r39lp6mz26jwmysa56k0ial6v74zzmbi8hnz9zic3i"))))
(properties `((upstream-name . "scuttle")))
(build-system r-build-system)
(propagated-inputs
@ -12822,14 +12826,14 @@ variable and significantly correlated genes.")
(define-public r-sparsematrixstats
(package
(name "r-sparsematrixstats")
(version "1.4.0")
(version "1.4.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "sparseMatrixStats" version))
(sha256
(base32
"0ilspddfkqpnf2lng9jjs2ahv6vlc6sap69fzkcw314rha59kncr"))))
"0b22kzg751zlkcbs8pi0bcqrsj3imsg35qfvxfrqb7gav7qznc8v"))))
(properties
`((upstream-name . "sparseMatrixStats")))
(build-system r-build-system)
@ -12850,14 +12854,14 @@ data in the column sparse format.")
(define-public r-delayedmatrixstats
(package
(name "r-delayedmatrixstats")
(version "1.14.0")
(version "1.14.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "DelayedMatrixStats" version))
(sha256
(base32
"02r68rzmc54m353fpw5ampyv26i5622bc7iihfqlpy6p3033lpqk"))))
"1avzd3fj4am9klmlx03nwq2pvgx7646yjwha1gqf0cbx5hibxy02"))))
(properties
`((upstream-name . "DelayedMatrixStats")))
(build-system r-build-system)
@ -13662,6 +13666,73 @@ starting site, start codon, stop codon and transcription ending site.")
visualizations for publication-quality multi-panel figures.")
(license license:gpl2+)))
(define-public r-ballgown
(package
(name "r-ballgown")
(version "2.24.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ballgown" version))
(sha256
(base32
"0ff8z4pfgzai2q4aafclg36bhsi9jwl9xhh1p9fqhmikisscq7i1"))))
(properties `((upstream-name . "ballgown")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicranges" ,r-genomicranges)
("r-iranges" ,r-iranges)
("r-limma" ,r-limma)
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-rtracklayer" ,r-rtracklayer)
("r-s4vectors" ,r-s4vectors)
("r-sva" ,r-sva)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/ballgown")
(synopsis "Flexible, isoform-level differential expression analysis")
(description
"This package provides tools for statistical analysis of assembled
transcriptomes, including flexible differential expression analysis,
visualization of transcript structures, and matching of assembled transcripts
to annotation.")
(license license:artistic2.0)))
(define-public r-megadepth
(package
(name "r-megadepth")
(version "1.2.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "megadepth" version))
(sha256
(base32
"0grgj7bzyqnxby0sx5ic1h9bzmx19xwl0a5b3v6wbnwqcla2i3kg"))))
(properties `((upstream-name . "megadepth")))
(build-system r-build-system)
(inputs `(("megadepth" ,megadepth)))
(propagated-inputs
`(("r-cmdfun" ,r-cmdfun)
("r-dplyr" ,r-dplyr)
("r-fs" ,r-fs)
("r-genomicranges" ,r-genomicranges)
("r-magrittr" ,r-magrittr)
("r-readr" ,r-readr)
("r-xfun" ,r-xfun)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/LieberInstitute/megadepth")
(synopsis "BigWig and BAM related utilities")
(description
"This package provides an R interface to Megadepth. It is particularly
useful for computing the coverage of a set of genomic regions across bigWig or
BAM files. With this package, you can build base-pair coverage matrices for
regions or annotations of your choice from BigWig files.")
(license license:artistic2.0)))
(define-public r-tximeta
(package
(name "r-tximeta")

View File

@ -104,6 +104,7 @@
#:use-module (gnu packages java)
#:use-module (gnu packages java-compression)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages jupyter)
#:use-module (gnu packages linux)
#:use-module (gnu packages lisp-xyz)
#:use-module (gnu packages logging)
@ -4534,7 +4535,7 @@ The main functions of FastQC are:
(define-public fastp
(package
(name "fastp")
(version "0.14.1")
(version "0.20.1")
(source
(origin
(method git-fetch)
@ -4544,19 +4545,18 @@ The main functions of FastQC are:
(file-name (git-file-name name version))
(sha256
(base32
"1r6ms5zbf5rps4rgp4z73nczadl00b5rqylw8f684isfz27dp0xh"))))
"0ly8mxdvrcy23jwxyppysx3dhb1lwsqhfbgpyvargxhfk6k700x4"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are none
#:make-flags
(list (string-append "BINDIR=" (assoc-ref %outputs "out") "/bin"))
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'install 'create-target-dir
(lambda* (#:key outputs #:allow-other-keys)
(mkdir-p (string-append (assoc-ref outputs "out") "/bin"))
#t)))))
(mkdir-p (string-append (assoc-ref outputs "out") "/bin")))))))
(inputs
`(("zlib" ,zlib)))
(home-page "https://github.com/OpenGene/fastp/")
@ -10381,7 +10381,7 @@ once. This package provides tools to perform Drop-seq analyses.")
(define-public pigx-rnaseq
(package
(name "pigx-rnaseq")
(version "0.0.18")
(version "0.0.19")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_rnaseq/"
@ -10389,7 +10389,7 @@ once. This package provides tools to perform Drop-seq analyses.")
"/pigx_rnaseq-" version ".tar.gz"))
(sha256
(base32
"1622l6grmsk0wm859rvllngx29q3v16jjvzcdq2bmrlamccrj82y"))))
"1ja3bda1appxrzbfy7wp7khy30mm7lic8xbq3gkbpc5bld3as9cm"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f ; not supported
@ -11387,38 +11387,53 @@ implementation differs in these ways:
(define-public python-scanpy
(package
(name "python-scanpy")
(version "1.7.2")
(version "1.8.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "scanpy" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/theislab/scanpy")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0c66adnfizsyk0h8bv2yhmay876z0klpxwpn4z6m71wly7yplpmd"))))
"0w1qmv3djqi8q0sn5hv34ivzs157fwjjb9nflfnagnhpxmw8vx5g"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'build
(lambda _
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" ,version)
;; ZIP does not support timestamps before 1980.
(setenv "SOURCE_DATE_EPOCH" "315532800")
(invoke "flit" "build")))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(let ((out (assoc-ref outputs "out")))
(for-each (lambda (wheel)
(format #true wheel)
(invoke "python" "-m" "pip" "install"
wheel (string-append "--prefix=" out)))
(find-files "dist" "\\.whl$")))))
(replace 'check
(lambda* (#:key inputs #:allow-other-keys)
;; These tests require Internet access.
(delete-file-recursively "scanpy/tests/notebooks")
(delete-file "scanpy/tests/test_clustering.py")
(delete-file "scanpy/tests/test_datasets.py")
(delete-file "scanpy/tests/test_score_genes.py")
(delete-file "scanpy/tests/test_highly_variable_genes.py")
;; TODO: I can't get the plotting tests to work, even with Xvfb.
(delete-file "scanpy/tests/test_plotting.py")
(delete-file "scanpy/tests/test_embedding_plots.py")
(delete-file "scanpy/tests/test_preprocessing.py")
(delete-file "scanpy/tests/test_read_10x.py")
;; The following tests need anndata.tests, which aren't included
;; in the final python-anndata package.
(delete-file "scanpy/tests/test_combat.py")
(delete-file "scanpy/tests/test_embedding_plots.py")
(delete-file "scanpy/tests/test_normalization.py")
(delete-file "scanpy/tests/test_pca.py")
(delete-file "scanpy/tests/external/test_scrublet.py")
;; TODO: these fail with TypingError and "Use of unsupported
;; NumPy function 'numpy.split'".
(delete-file "scanpy/tests/test_metrics.py")
;; The following tests requires 'scanorama', which isn't
;; packaged yet.
@ -11426,8 +11441,24 @@ implementation differs in these ways:
(setenv "PYTHONPATH"
(string-append (getcwd) ":"
(assoc-ref inputs "python-anndata:source") ":"
(getenv "PYTHONPATH")))
(invoke "pytest"))))))
(invoke "pytest" "-vv"
"-k"
;; Plot tests that fail.
(string-append "not test_dotplot_matrixplot_stacked_violin"
" and not test_violin_without_raw"
" and not test_correlation"
" and not test_scatterplots"
" and not test_scatter_embedding_add_outline_vmin_vmax_norm"
" and not test_paga"
" and not test_paga_compare"
;; These try to connect to the network
" and not test_plot_rank_genes_groups_gene_symbols"
" and not test_pca_chunked"
" and not test_pca_sparse"
" and not test_pca_reproducible")))))))
(propagated-inputs
`(("python-anndata" ,python-anndata)
("python-h5py" ,python-h5py)
@ -11445,16 +11476,19 @@ implementation differs in these ways:
("python-scikit-learn" ,python-scikit-learn)
("python-scipy" ,python-scipy)
("python-seaborn" ,python-seaborn)
("python-sinfo" ,python-sinfo)
("python-statsmodels" ,python-statsmodels)
("python-tables" ,python-tables)
("python-pytoml" ,python-pytoml)
("python-tqdm" ,python-tqdm)
("python-umap-learn" ,python-umap-learn)))
(native-inputs
`(("python-leidenalg" ,python-leidenalg)
`(;; This package needs anndata.tests, which is not installed.
("python-anndata:source" ,(package-source python-anndata))
("python-flit" ,python-flit)
("python-leidenalg" ,python-leidenalg)
("python-pytest" ,python-pytest)
("python-setuptools-scm" ,python-setuptools-scm)
("python-sinfo" ,python-sinfo)))
("python-setuptools-scm" ,python-setuptools-scm)))
(home-page "https://github.com/theislab/scanpy")
(synopsis "Single-Cell Analysis in Python.")
(description "Scanpy is a scalable toolkit for analyzing single-cell gene
@ -14203,6 +14237,32 @@ sequencing (e.g. mapping or base/indel alignment uncertainty), which are
usually ignored by other methods or only used for filtering.")
(license license:expat)))
(define-public ivar
(package
(name "ivar")
(version "1.3.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/andersen-lab/ivar")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"044xa0hm3b8fga64csrdx05ih8w7kwmvcdrdrhkg8j11ml4bi4xv"))))
(build-system gnu-build-system)
(inputs
`(("htslib" ,htslib)
("zlib" ,zlib)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
(home-page "https://andersen-lab.github.io/ivar/html/")
(synopsis "Tools for amplicon-based sequencing")
(description "iVar is a computational package that contains functions
broadly useful for viral amplicon-based sequencing. ")
(license license:gpl3+)))
(define-public python-pyliftover
(package
(name "python-pyliftover")
@ -14678,6 +14738,263 @@ produced by Oxford Nanopore Technologies MinION, GridION or PromethION
instruments, or Pacific Biosciences RSII or Sequel sequencers.")
(license license:expat)))
(define-public python-strawc
(package
(name "python-strawc")
(version "0.0.2.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "strawC" version))
(sha256
(base32
"1z1gy8n56lhriy6hdkh9r82ndikndipq2cy2wh8q185qig4rimr6"))))
(build-system python-build-system)
(inputs
`(("curl" ,curl)
("zlib" ,zlib)))
(propagated-inputs
`(("pybind11" ,pybind11)))
(home-page "https://github.com/aidenlab/straw")
(synopsis "Stream data from .hic files")
(description "Straw is library which allows rapid streaming of contact
data from @file{.hic} files. This package provides Python bindings.")
(license license:expat)))
(define-public python-pybbi
(package
(name "python-pybbi")
(version "0.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pybbi" version))
(sha256
(base32
"1hvy2f28i2b41l1pq15vciqbj538n0lichp8yr6413jmgg06xdsk"))))
(build-system python-build-system)
(arguments
`(#:tests? #false ; tests require network access
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'set-cc
(lambda _ (setenv "CC" "gcc")))
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
(copy-recursively "tests" "/tmp/tests")
(with-directory-excursion "/tmp/tests"
(invoke "python" "-m" "pytest" "-v"))))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("python-pkgconfig" ,python-pkgconfig)
("python-pytest" ,python-pytest)))
(inputs
`(("libpng" ,libpng)
("openssl" ,openssl)
("zlib" ,zlib)))
(propagated-inputs
`(("python-cython" ,python-cython)
("python-numpy" ,python-numpy)
("python-pandas" ,python-pandas)
("python-six" ,python-six)))
(home-page "https://github.com/nvictus/pybbi")
(synopsis "Python bindings to UCSC Big Binary file library")
(description
"This package provides Python bindings to the UCSC Big
Binary (bigWig/bigBed) file library. This provides read-level access to local
and remote bigWig and bigBed files but no write capabilitites. The main
feature is fast retrieval of range queries into numpy arrays.")
(license license:expat)))
(define-public python-dna-features-viewer
(package
(name "python-dna-features-viewer")
(version "3.0.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "dna_features_viewer" version))
(sha256
(base32
"0vci6kg2id6r6rh3cifq7ccnh7j0mb8iqg3hji6rva0ayrdqzafc"))))
(build-system python-build-system)
(arguments '(#:tests? #false)) ; there are none
(propagated-inputs
`(("python-biopython" ,python-biopython)
("python-matplotlib" ,python-matplotlib)))
(home-page
"https://github.com/Edinburgh-Genome-Foundry/DnaFeaturesViewer")
(synopsis "Plot features from DNA sequences")
(description
"DNA Features Viewer is a Python library to visualize DNA features,
e.g. from GenBank or Gff files, or Biopython SeqRecords.")
(license license:expat)))
(define-public python-coolbox
(package
(name "python-coolbox")
(version "0.3.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "coolbox" version))
(sha256
(base32
"0gqp76285w9klswr47y6kxbzwhv033b26jfa179kccfhiaq5p2xa"))))
(build-system python-build-system)
(arguments '(#:tests? #false)) ; there are none
(inputs
`(("pybind11" ,pybind11)))
(propagated-inputs
`(("python-cooler" ,python-cooler)
("python-dna-features-viewer" ,python-dna-features-viewer)
("python-fire" ,python-fire)
("python-h5py" ,python-h5py)
("python-intervaltree" ,python-intervaltree)
("python-ipywidgets" ,python-ipywidgets)
("jupyter" ,jupyter)
("python-matplotlib" ,python-matplotlib)
("python-nbformat" ,python-nbformat)
("python-numpy" ,python-numpy)
("python-numpydoc" ,python-numpydoc)
("python-pandas" ,python-pandas)
("python-pybbi" ,python-pybbi)
("python-pytest" ,python-pytest)
("python-scipy" ,python-scipy)
("python-statsmodels" ,python-statsmodels)
("python-strawc" ,python-strawc)
("python-svgutils" ,python-svgutils)
("python-termcolor" ,python-termcolor)
("python-voila" ,python-voila)))
(home-page "https://github.com/GangCaoLab/CoolBox")
(synopsis "Genomic data visualization toolkit")
(description
"CoolBox is a toolkit for visual analysis of genomics data. It aims to
be highly compatible with the Python ecosystem, easy to use and highly
customizable with a well-designed user interface. It can be used in various
visualization situations, for example, to produce high-quality genome track
plots or fetch common used genomic data files with a Python script or command
line, interactively explore genomic data within Jupyter environment or web
browser.")
(license license:gpl3+)))
(define-public scregseg
(package
(name "scregseg")
(version "0.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/BIMSBbioinfo/scregseg")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1k8hllr5if6k2mm2zj391fv40sfc008cjm04l9vgfsdppb80i112"))))
(build-system python-build-system)
(arguments
`(#:tests? #false ; tests require network access
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'do-not-fail-to-find-sklearn
(lambda _
;; XXX: I have no idea why it cannot seem to find sklearn.
(substitute* "setup.py"
(("'sklearn',") "")))))))
(native-inputs
`(("python-cython" ,python-cython)))
(propagated-inputs
`(("python-scikit-learn" ,python-scikit-learn)
("python-scipy" ,python-scipy)
("python-numpy" ,python-numpy)
("python-hmmlearn" ,python-hmmlearn)
("python-pandas" ,python-pandas)
("python-numba" ,python-numba)
("python-anndata" ,python-anndata)
("python-scanpy" ,python-scanpy)
("python-pybedtools" ,python-pybedtools)
("python-pysam" ,python-pysam)
("python-matplotlib" ,python-matplotlib)
("python-seaborn" ,python-seaborn)
("python-coolbox" ,python-coolbox)))
(home-page "https://github.com/BIMSBbioinfo/scregseg")
(synopsis "Single-cell regulatory landscape segmentation")
(description "Scregseg (Single-Cell REGulatory landscape SEGmentation) is a
tool that facilitates the analysis of single cell ATAC-seq data by an
HMM-based segmentation algorithm. Scregseg uses an HMM with
Dirichlet-Multinomial emission probabilities to segment the genome either
according to distinct relative cross-cell accessibility profiles or (after
collapsing the single-cell tracks to pseudo-bulk tracks) to capture distinct
cross-cluster accessibility profiles.")
(license license:gpl3+)))
(define-public megadepth
(package
(name "megadepth")
(version "1.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ChristopherWilks/megadepth")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0hj69d2dgmk2zwgazik7xzc04fxxlk93p888kpgc52fmhd95qph7"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #false ; some tests seem to require connection to
; www.ebi.ac.uk; this may be caused by htslib.
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'prepare-CMakeLists.txt
(lambda _
(rename-file "CMakeLists.txt.ci" "CMakeLists.txt")
(substitute* "CMakeLists.txt"
(("`cat ../VERSION`") ,version)
(("target_link_libraries\\(megadepth_static") "#")
(("target_link_libraries\\(megadepth_statlib") "#")
(("add_executable\\(megadepth_static") "#")
(("add_executable\\(megadepth_statlib") "#"))
(substitute* "tests/test.sh"
;; Disable remote test
(("./megadepth http://stingray.cs.jhu.edu/data/temp/test.bam") "#")
;; Prior to installation the binary's name differs from what
;; the test script assumes.
(("./megadepth") "../build/megadepth_dynamic"))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-directory-excursion "../source"
(invoke "bash" "tests/test.sh" "use-local-test-data")))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(mkdir-p bin)
(copy-file "megadepth_dynamic"
(string-append bin "/megadepth"))))))))
(native-inputs
`(("diffutils" ,diffutils)
("perl" ,perl)
("grep" ,grep)))
(inputs
`(("curl" ,curl)
("htslib" ,htslib)
("libdeflate" ,libdeflate)
("libbigwig" ,libbigwig)
("zlib" ,zlib)))
(home-page "https://github.com/ChristopherWilks/megadepth")
(synopsis "BigWig and BAM/CRAM related utilities")
(description "Megadepth is an efficient tool for extracting coverage
related information from RNA and DNA-seq BAM and BigWig files. It supports
reading whole-genome coverage from BAM files and writing either indexed TSV or
BigWig files, as well as efficient region coverage summary over intervals from
both types of files.")
(license license:expat)))
(define-public r-ascat
(package
(name "r-ascat")
@ -14737,6 +15054,34 @@ copy number estimation, as described by
@url{doi:10.1016/j.cell.2012.04.023,Nik-Zainal et al.}")
(license license:gpl3)))
(define-public r-catch
(let ((commit "196ddd5a51b1a5f5daa01de53fdaad9b7505e084")
(revision "1"))
(package
(name "r-catch")
(version (git-version "1.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zhanyinx/CaTCH")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"11c7f1fc8f57wnwk1hrgr5y814m80zj8gkz5021vxyxy2v02cqgd"))))
(build-system r-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "CaTCH"))))))
(home-page "https://github.com/zhanyinx/CaTCH_R")
(synopsis "Call a hierarchy of domains based on Hi-C data")
(description "This package allows building the hierarchy of domains
starting from Hi-C data. Each hierarchical level is identified by a minimum
value of physical insulation between neighboring domains.")
(license license:gpl2+))))
(define-public r-spectre
(let ((commit "f6648ab3eb9499300d86502b5d60ec370ae9b61a")
(revision "1"))
@ -14808,3 +15153,42 @@ copy number estimation, as described by
integration, exploration, and analysis of high-dimensional single-cell
cytometry and imaging data.")
(license license:expat))))
(define-public r-cytonorm
(let ((commit "e4b9d343ee65db3c422800f1db3e77c25abde987")
(revision "1"))
(package
(name "r-cytonorm")
(version (git-version "0.0.7" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/saeyslab/CytoNorm")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0h2rdy15i4zymd4dv60n5w0frbsdbmzpv99dgm0l2dn041qv7fah"))))
(properties `((upstream-name . "CytoNorm")))
(build-system r-build-system)
(propagated-inputs
`(("r-cytoml" ,r-cytoml)
("r-dplyr" ,r-dplyr)
("r-emdist" ,r-emdist)
("r-flowcore" ,r-flowcore)
("r-flowsom" ,r-flowsom)
("r-flowworkspace" ,r-flowworkspace)
("r-ggplot2" ,r-ggplot2)
("r-gridextra" ,r-gridextra)
("r-pheatmap" ,r-pheatmap)
("r-stringr" ,r-stringr)))
(home-page "https://github.com/saeyslab/CytoNorm")
(synopsis "Normalize cytometry data measured across multiple batches")
(description
"This package can be used to normalize cytometry samples when a control
sample is taken along in each of the batches. This is done by first
identifying multiple clusters/cell types, learning the batch effects from the
control samples and applying quantile normalization on all markers of
interest.")
(license license:gpl2+))))

View File

@ -801,7 +801,34 @@ it fits within common partitioning schemes.")
(make-u-boot-package "A20-OLinuXino_MICRO" "arm-linux-gnueabihf"))
(define-public u-boot-nintendo-nes-classic-edition
(make-u-boot-package "Nintendo_NES_Classic_Edition" "arm-linux-gnueabihf"))
(let ((base (make-u-boot-package "Nintendo_NES_Classic_Edition"
"arm-linux-gnueabihf")))
(package
(inherit base)
;; Starting with 2019.01, FEL doesn't work anymore on A33.
(version "2018.11")
(source (origin
(method url-fetch)
(uri (string-append
"https://ftp.denx.de/pub/u-boot/"
"u-boot-" version ".tar.bz2"))
(sha256
(base32
"0znkwljfwwn4y7j20pzz4ilqw8znphrfxns0x1lwdzh3xbr96z3k"))
(patches (search-patches
"u-boot-nintendo-nes-serial.patch"))))
(description "U-Boot is a bootloader used mostly for ARM boards. It
also initializes the boards (RAM etc).
This version is for the Nintendo NES Classic Edition. It is assumed that
you have added a serial port to pins PB0 and PB1 as described on
@url{https://linux-sunxi.org/Nintendo_NES_Classic_Edition}.
In order to use FEL mode on the device, hold the Reset button on the
device while it's being turned on (and a while longer).")
(native-inputs
`(("python" ,python-2)
,@(package-native-inputs base))))))
(define-public u-boot-wandboard
(make-u-boot-package "wandboard" "arm-linux-gnueabihf"))

View File

@ -180,13 +180,13 @@ data units.")
(define-public khal
(package
(name "khal")
(version "0.10.3")
(version "0.10.4")
(source (origin
(method url-fetch)
(uri (pypi-uri "khal" version))
(sha256
(base32
"0cm4xn871w3i99l3qmhv0bnv8q6rd1w3rip9sskyb5z59z0qzp9g"))))
"17qj1n2l39pnzk4vjrmql90z7908nivnzcc2g9nj1h31k859inrz"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; The test suite is unreliable. See <https://bugs.gnu.org/44197>

View File

@ -31,21 +31,26 @@
(define-public ccache
(package
(name "ccache")
(version "4.3")
(version "4.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/ccache/ccache/releases/download/v"
version "/ccache-" version ".tar.xz"))
(sha256
(base32 "1d4995lkmqshzfxlmbyn101m1rxs02yb8dgh4rl30p26hhhhyjjh"))))
(base32 "0qbmcs6c3m071vsd1ppa31r8s0dzpaw5y38z8ga1bz48rwpfl2xl"))))
(build-system cmake-build-system)
(native-inputs `(("perl" ,perl) ; for test/run
("which" ,(@ (gnu packages base) which))))
(inputs `(("zlib" ,zlib)
("zstd" ,zstd "lib")))
(arguments
'(#:phases
'(;; Disable redis backend explicitly. Build system insists on present dependency
;; or on explicit flag.
#:configure-flags
'("-DREDIS_STORAGE_BACKEND=OFF")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'setup-tests
(lambda _
@ -56,7 +61,7 @@
;; Tests require a writable HOME.
(lambda _
(setenv "HOME" (getenv "TMPDIR"))
#t)))))
#t)))))
(home-page "https://ccache.dev/")
(synopsis "Compiler cache")
(description

View File

@ -9,7 +9,7 @@
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
@ -866,7 +866,8 @@ doctest.")
(description
"Mock is a library for testing in Python. It allows you to replace parts
of your system under test with mock objects and make assertions about how they
have been used.")
have been used. This library is now part of Python (since Python 3.3),
available via the @code{unittest.mock} module.")
(properties `((python2-variant . ,(delay python2-mock))))
(license license:expat)))
@ -1022,6 +1023,8 @@ and many external plugins.")
(license license:expat)
(properties `((python2-variant . ,(delay python2-pytest))))))
(define-public python-pytest-6 python-pytest)
;; Pytest 4.x are the last versions that support Python 2.
(define-public python2-pytest
(package
@ -1237,19 +1240,33 @@ contacting the real http server.")
(define-public python-pytest-mock
(package
(name "python-pytest-mock")
(version "1.10.1")
(version "3.6.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-mock" version))
(sha256
(base32
"1i5mg3ff1qk0wqfcxfz60hwy3q5dskdp36i10ckigkzffg8hc3ad"))))
(origin
(method url-fetch)
(uri (pypi-uri "pytest-mock" version))
(sha256 (base32
"0qhfmd05z3g88bnwq6644jl6p5wy01i4yy7h8883z9jjih2pl8a0"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
;; Skip the assertion rewriting tests, which don't work in the
;; presence of read-only Python modules (a limitation of
;; Pytest). Also skip the "test_standalone_mock" test, which
;; can only work when 'python-mock' is not available
;; (currently propagated by Pytest 5).
(invoke "pytest" "--assert=plain"
"-k" "not test_standalone_mock")))))))
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)))
(propagated-inputs
`(("python-pytest" ,python-pytest)))
`(("python-pytest" ,python-pytest)
("python-pytest-asyncio" ,python-pytest-asyncio)))
(home-page "https://github.com/pytest-dev/pytest-mock/")
(synopsis "Thin-wrapper around the mock package for easier use with py.test")
(description
@ -1299,9 +1316,11 @@ same arguments.")
(substitute* "setup.py"
(("pytest>=6\\.0\\.0") "pytest"))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "py.test" "-v")))))))
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-vv"
"-n" (number->string (parallel-job-count)))))))))
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)))
(propagated-inputs
@ -1325,17 +1344,33 @@ result back.")
(define-public python2-pytest-xdist
(package-with-python2 python-pytest-xdist))
(define-public python-pytest-xdist-next
(package/inherit python-pytest-xdist
(name "python-pytest-xdist")
(version "2.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-xdist" version))
(sha256
(base32
"19cy57jrf3pwi7x6fnbxryjvqagsl0yv736jnynvr3yqhlpxxv78"))))
(propagated-inputs
`(("python-execnet" ,python-execnet)
("python-pytest" ,python-pytest-6)
("python-pytest-forked" ,python-pytest-forked)))))
(define-public python-pytest-timeout
(package
(name "python-pytest-timeout")
(version "1.3.4")
(version "1.4.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-timeout" version))
(sha256
(base32
"13n42azbvs5slvy2n1a9nw17r4qdq10dd68nln3jp925safa3yl0"))))
"0xnsigs0kmpq1za0d4i522sp3f71x5bgpdh3ski0rs74yqy13cr0"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
@ -1345,7 +1380,8 @@ result back.")
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-vv"))))))
(propagated-inputs
`(("python-pytest" ,python-pytest)))
`(("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)))
(native-inputs
`(("python-pexpect" ,python-pexpect)))
(home-page "https://github.com/pytest-dev/pytest-timeout")
@ -1361,22 +1397,42 @@ timeout has been exceeded.")
(version "1.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-forked" version))
(method git-fetch) ;for tests
(uri (git-reference
(url "https://github.com/pytest-dev/pytest-forked")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1jip9qh115zcg1rn7irqx5qycb9k248d5imy86f566md01zaraba"))))
"1aip4kx50ynvykl7kq2mlbsi82vx701dvb8mm64lhp69bbv105rc"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-setuptools-scm
(lambda _
(substitute* "setup.py"
(("use_scm_version=True")
(format #f "version=~s" ,version))
(("setup_requires=\\['setuptools_scm'\\],.*")
""))))
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-vv")))))))
(native-inputs
`(("python-pytest" ,python-pytest)
("python-setuptools-scm" ,python-setuptools-scm)))
(home-page
"https://github.com/pytest-dev/pytest-forked")
(synopsis
"Run tests in isolated forked subprocesses")
(description
"Pytest plugin which will run each test in a subprocess and will report if
a test crashed the process.")
;; XXX: The bootstrap variant of Pytest is used to ensure the
;; 'hypothesis' plugin is not in the environment (due to
;; <http://issues.guix.gnu.org/25235>), which would cause the test suite
;; to fail (see: https://github.com/pytest-dev/pytest-forked/issues/54).
`(("python-pytest" ,python-pytest-bootstrap)))
(home-page "https://github.com/pytest-dev/pytest-forked")
(synopsis "Pytest plugin to run tests in isolated forked subprocesses")
(description "This package provides a Pytest plugin which enables running
each test in a subprocess and will report if a test crashed the process. It
can be useful to isolate tests against undesirable global environment
side-effects (such as setting environment variables).")
(license license:expat)))
(define-public python-scripttest
@ -1694,10 +1750,13 @@ executed.")
(version "0.15.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-asyncio" version))
(method git-fetch) ;for tests
(uri (git-reference
(url "https://github.com/pytest-dev/pytest-asyncio")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0vrzsrg3j1cfd57m0b3r5xf87rslgcs42jya346mdg9bc6wwwr15"))))
(base32 "03drs4myv1ik79148xyhli37q6mp931jb14cz65n8qvls2zvvwgx"))))
(build-system python-build-system)
(native-inputs
`(("python-coverage" ,python-coverage)
@ -1897,11 +1956,11 @@ framework which enables you to test server connections locally.")
(base32
"0rm2rchrr63imn44xk5slwydxf8gvy579524qcxq7dc42pnk17zx"))))
(build-system python-build-system)
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)))
(propagated-inputs
`(("python-pytest" ,python-pytest)
("python-psutil" ,python-psutil)))
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)))
(synopsis "Pytest plugin to manage external processes across test runs")
(description "Pytest-xprocess is an experimental py.test plugin for managing
processes across test runs.")

View File

@ -324,11 +324,11 @@
(string-append "ungoogled-chromium-" category "-" name))))
(sha256 (base32 hash))))
(define %chromium-version "92.0.4515.131")
(define %chromium-version "92.0.4515.159")
(define %debian-revision "debian/90.0.4430.85-1")
;; Note: use 'git describe --long' even for exact tags to placate the
;; custom version format for ungoogled-chromium.
(define %ungoogled-revision "92.0.4515.131-1-0-g4a9534c")
(define %ungoogled-revision "92.0.4515.159-1-8-g8164c91")
(define %debian-patches
(list (debian-patch "fixes/nomerge.patch"
@ -348,7 +348,7 @@
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
(sha256
(base32
"1nbgknj5ba116y47sxbp7pbma1bp0lmkyi3vk915x837ysaf6mrd"))))
"0wbcbjzh5ak4nciahqw4yvxc4x8ik4x0iz9h4kfy0m011sxzy174"))))
(define %guix-patches
(list (local-file
@ -484,7 +484,7 @@
%chromium-version ".tar.xz"))
(sha256
(base32
"0fnfyh61w6dmavvfbf2x1zzrby0xpx4jd4ifjsgyc39rsl789b5n"))
"04gxgimg5ygzx6nvfws5y9dppdfjg1fhyl8zbykmksbh1myk6zfr"))
(modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system)

View File

@ -73,8 +73,8 @@
(file-name (string-append name "-" version "-checkout")))))))
(define-public cuirass
(let ((commit "f9a5dbd54eaa7fa8ac173fd5e68209f937840d90")
(revision "1"))
(let ((commit "91e8b2ec2c2dbb87089b0c98a29bba427ba7b7bb")
(revision "3"))
(package
(name "cuirass")
(version (git-version "1.1.0" revision commit))
@ -87,7 +87,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"0wrx2bf1gdnbkfgmmqr46s1fhvv3568yi7hxb24plf4xx5jq5yg8"))))
"00xkxvghfgnmbs182s0q67habxjkv9sh7q8acsiy66m0z4f57y39"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build utils)

View File

@ -64,6 +64,7 @@
#:use-module (gnu packages perl-compression)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo)
@ -137,17 +138,26 @@ highlighting your own code that seemed comprehensible when you wrote it.")
(base32
"0g4aslm2zajq605py11s4rs1wdnzcqhkh7bc2xl5az42adzzg839"))))
(build-system gnu-build-system)
(inputs `(("coreutils" ,coreutils)
("ncurses" ,ncurses)
("libltdl" ,libltdl)
("sqlite" ,sqlite)
("python-wrapper" ,python-wrapper)))
(inputs
`(("bash" ,bash-minimal) ; for wrap-program
("coreutils" ,coreutils)
("ctags" ,universal-ctags)
("libltdl" ,libltdl)
("ncurses" ,ncurses)
("python-pygments" ,python-pygments)
("python-wrapper" ,python-wrapper)
("sqlite" ,sqlite)))
(arguments
`(#:configure-flags
(list (string-append "--with-ncurses="
(assoc-ref %build-inputs "ncurses"))
(string-append "--with-sqlite3="
(assoc-ref %build-inputs "sqlite"))
(string-append "--with-universal-ctags="
(assoc-ref %build-inputs "ctags") "/bin/ctags")
(string-append "--sysconfdir="
(assoc-ref %outputs "out") "/share/gtags")
"--localstatedir=/var" ; This needs to be a writable location.
"--disable-static")
#:phases
@ -158,6 +168,20 @@ highlighting your own code that seemed comprehensible when you wrote it.")
(assoc-ref inputs "coreutils") "/bin/echo")))
(substitute* "globash/globash.in"
(("/bin/echo") echo)))))
(add-after 'post-install 'install-plugins
(lambda _
(with-directory-excursion "plugin-factory"
(invoke "make" "install"))))
(add-before 'install 'dont-install-to-/var
(lambda _
(substitute* "gozilla/Makefile"
(("DESTDIR\\)\\$\\{localstatedir\\}") "TMPDIR)"))))
(add-after 'install-plugins 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program
(string-append (assoc-ref outputs "out")
"/share/gtags/script/pygments_parser.py")
`("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))))
(add-after 'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
;; Install the plugin files in the right place.

View File

@ -2581,6 +2581,42 @@ with their error correction data losslessly rearranged for better compression,
to their original, binary CD format.")
(license license:gpl3+)))
(define-public libdeflate
(package
(name "libdeflate")
(version "1.8")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ebiggers/libdeflate")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0nw1zhr2s6ffcc3s0n5wsshvjb6pmybwapagli135zzn2fx1pdiz"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(list (string-append "CC=" ,(cc-for-target))
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(inputs
`(("zlib" ,zlib)))
(home-page "https://github.com/ebiggers/libdeflate")
(synopsis "Library for DEFLATE/zlib/gzip compression and decompression")
(description "Libdeflate is a library for fast, whole-buffer DEFLATE-based
compression and decompression. The supported formats are:
@enumerate
@item DEFLATE (raw)
@item zlib (a.k.a. DEFLATE with a zlib wrapper)
@item gzip (a.k.a. DEFLATE with a gzip wrapper)
@end enumerate
")
(license license:expat)))
(define-public tarlz
(package
(name "tarlz")

View File

@ -2,7 +2,7 @@
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
@ -19,7 +19,7 @@
;;; Copyright © 2020 Milkey Mouse <milkeymouse@meme.institute>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@ -46,6 +46,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix modules)
#:use-module (guix gexp)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
@ -66,6 +67,7 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages pretty-print)
@ -557,6 +559,66 @@ tools:
@end itemize\n")
(license license:bsd-3)))
(define-public cpp-httplib
;; this package is not graftable, as everything is implemented in a single
;; header
(package
(name "cpp-httplib")
(version "0.8.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/yhirose/cpp-httplib")
(commit (string-append "v" version))))
(sha256
(base32 "0c0gyfbvm34bgrqy9fhfxw1f8nb9zhf063j7xq91k892flb7qm1c"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
'("-DBUILD_SHARED_LIBS=ON"
"-DHTTPLIB_COMPILE=ON"
"-DHTTPLIB_REQUIRE_BROTLI=ON"
"-DHTTPLIB_REQUIRE_OPENSSL=ON"
"-DHTTPLIB_REQUIRE_ZLIB=ON")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-network-tests
(lambda _
(for-each
(lambda (test)
(substitute* "test/test.cc"
(((string-append "\\(" test))
(string-append "(DISABLED_" test))))
;; There are tests requiring network access, disable them
'("AbsoluteRedirectTest" "BaseAuthTest" "CancelTest"
"ChunkedEncodingTest" "ChunkedEncodingTest"
"DecodeWithChunkedEncoding" "DefaultHeadersTest"
"DigestAuthTest" "HttpsToHttpRedirectTest"
"RangeTest" "RedirectTest" "RelativeRedirectTest"
"SSLClientTest" "SendAPI" "TooManyRedirectTest" "UrlWithSpace"
"YahooRedirectTest" "YahooRedirectTest"))))
(replace 'check
(lambda* (#:key source tests? #:allow-other-keys)
;; openssl genrsa wants to write a file in the git checkout
(when tests?
(with-directory-excursion "../source/test"
(invoke "make"))))))))
(native-inputs
;; required to build shared lib
`(("python" ,python)))
(inputs
`(("brotli" ,brotli)
("openssl" ,openssl)
("zlib" ,zlib)))
(home-page "https://github.com/yhirose/cpp-httplib")
(synopsis "C++ HTTP/HTTPS server and client library")
(description "cpp-httplib is a C++11 single-file cross platform blocking
HTTP/HTTPS library, easy to setup. It can also be used as a single-header
library.")
(license license:expat)))
(define-public cpplint
(package
(name "cpplint")
@ -1213,3 +1275,41 @@ of reading and writing XML.")
;; incompatible with the GPL v2. Refer to the file named FLOSSE for the
;; details.
(license license:gpl2+)))
(define-public jsonnet
(package
(name "jsonnet")
(version "0.17.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/google/jsonnet")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ddz14699v5lqx3dh0mb7hfffr6fk5zhmzn3z8yxkqqvriqnciim"))
(modules '((guix build utils)))
(snippet
#~(begin
(rename-file "third_party/md5" ".md5")
(delete-file-recursively "third_party")
(delete-file-recursively "doc/third_party")
(substitute* '("core/vm.cpp")
(("#include \"json.hpp\"") "#include <nlohmann/json.hpp>"))
(mkdir "third_party")
(rename-file ".md5" "third_party/md5")))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DUSE_SYSTEM_GTEST=ON" "-DUSE_SYSTEM_JSON=ON"
"-DBUILD_STATIC_LIBS=OFF")))
(native-inputs
`(("googletest" ,googletest)
("pkg-config" ,pkg-config)))
(inputs
`(("json-modern-cxx" ,json-modern-cxx)))
(home-page "https://jsonnet.org/")
(synopsis "Data templating language")
(description "Jsonnet is a templating language extending JSON
syntax with variables, conditions, functions and more.")
(license license:asl2.0)))

File diff suppressed because it is too large Load Diff

View File

@ -1610,32 +1610,32 @@ using AES-NI for high performance.")
"This package provides a failure resistant deserialization derive.")
(license (list license:expat license:asl2.0))))
(define-public rust-alacritty-terminal-0.13
(define-public rust-alacritty-terminal-0.15
(package
(name "rust-alacritty-terminal")
(version "0.13.0")
(version "0.15.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "alacritty_terminal" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "13f0pzy9jci57pmmvdd9qcbiycs2fsjqda4qgafxjm6s27sphdx7"))))
(base32 "1qv8zv20qgn407v8m196p68yddvhalcppc21702698cj99b45ckc"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-alacritty-config-derive" ,rust-alacritty-config-derive-0.1)
("rust-base64" ,rust-base64-0.12)
("rust-base64" ,rust-base64-0.13)
("rust-bitflags" ,rust-bitflags-1)
("rust-dirs" ,rust-dirs-2)
("rust-libc" ,rust-libc-0.2)
("rust-log" ,rust-log-0.4)
("rust-mio" ,rust-mio-0.6)
("rust-mio-anonymous-pipes" ,rust-mio-anonymous-pipes-0.1)
("rust-mio-anonymous-pipes" ,rust-mio-anonymous-pipes-0.2)
("rust-mio-extras" ,rust-mio-extras-2)
("rust-miow" ,rust-miow-0.3)
("rust-nix" ,rust-nix-0.18)
("rust-nix" ,rust-nix-0.22)
("rust-parking-lot" ,rust-parking-lot-0.11)
("rust-regex-automata" ,rust-regex-automata-0.1)
("rust-serde" ,rust-serde-1)
@ -2357,8 +2357,49 @@ ArrayVec and ArrayString.")
("rust-matches" ,rust-matches-0.1)
("rust-serde-test" ,rust-serde-test-1))))))
(define-public rust-arrow-5
(package
(name "rust-arrow")
(version "5.2.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "arrow" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1zj2sjlnkwz2sdfc83zcz75vg1d3900h8ix15nkjsbz5hd1pzvri"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-bitflags" ,rust-bitflags-1)
("rust-chrono" ,rust-chrono-0.4)
("rust-csv" ,rust-csv-1)
("rust-flatbuffers" ,rust-flatbuffers-2)
("rust-getrandom" ,rust-getrandom-0.2)
("rust-hex" ,rust-hex-0.4)
("rust-indexmap" ,rust-indexmap-1)
("rust-lazy-static" ,rust-lazy-static-1)
("rust-lexical-core" ,rust-lexical-core-0.7)
("rust-multiversion" ,rust-multiversion-0.6)
("rust-num" ,rust-num-0.4)
("rust-packed-simd-2" ,rust-packed-simd-2-0.3)
("rust-prettytable-rs" ,rust-prettytable-rs-0.8)
("rust-rand" ,rust-rand-0.8)
("rust-regex" ,rust-regex-1)
("rust-serde" ,rust-serde-1)
("rust-serde-derive" ,rust-serde-derive-1)
("rust-serde-json" ,rust-serde-json-1))))
(home-page "https://github.com/apache/arrow-rs")
(synopsis "Rust implementation of Apache Arrow")
(description
"This crate is a Rust implementation of Apache Arrow in-memory columnar
format.")
(license license:asl2.0)))
(define-public rust-arrow-4
(package
(inherit rust-arrow-5)
(name "rust-arrow")
(version "4.4.0")
(source
@ -2368,7 +2409,6 @@ ArrayVec and ArrayString.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "141qb0yqk179n324qrhbv14ysz13mcfsw00d6m09882gx9637wzn"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
@ -2388,13 +2428,7 @@ ArrayVec and ArrayString.")
("rust-regex" ,rust-regex-1)
("rust-serde" ,rust-serde-1)
("rust-serde-derive" ,rust-serde-derive-1)
("rust-serde-json" ,rust-serde-json-1))))
(home-page "https://github.com/apache/arrow-rs")
(synopsis "Rust implementation of Apache Arrow")
(description
"This crate is a Rust implementation of Apache Arrow in-memory columnar
format.")
(license license:asl2.0)))
("rust-serde-json" ,rust-serde-json-1))))))
(define-public rust-askama-escape-0.10
(package
@ -4363,6 +4397,31 @@ tracebacks.")
#:cargo-development-inputs
(("rust-serde-json" ,rust-serde-json-1))))))
(define-public rust-bigdecimal-rs-0.2
(package
(name "rust-bigdecimal-rs")
(version "0.2.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "bigdecimal-rs" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32 "035i2r07zrv9r71z11ipn2lw9rdns39ig8mqnl5afgv3in85ldw5"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-num-bigint" ,rust-num-bigint-0.3)
("rust-num-integer" ,rust-num-integer-0.1)
("rust-num-traits" ,rust-num-traits-0.2)
("rust-serde" ,rust-serde-1))))
(home-page "https://github.com/akubera/bigdecimal-rs")
(synopsis "Arbitrary precision decimal numbers")
(description "This package provides arbitrary precision decimal numbers.")
(license (list license:expat license:asl2.0))))
(define-public rust-bincode-1
(package
(name "rust-bincode")
@ -10758,17 +10817,17 @@ message passing.")
#:cargo-development-inputs
(("rust-rand" ,rust-rand-0.6))))))
(define-public rust-crossfont-0.2
(define-public rust-crossfont-0.3
(package
(name "rust-crossfont")
(version "0.2.0")
(version "0.3.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "crossfont" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "04p8k0yn19n2pdbiqzwkknakz9c7kdii0i2nf3s3p298ab7ld28h"))))
(base32 "079431wkjc18zj3038djai83z6fna0x7r1hxpxjhhi50jdz9dh5n"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -10793,6 +10852,35 @@ message passing.")
rasterizing glyphs, using native font engines whenever possible.")
(license license:asl2.0)))
(define-public rust-crossfont-0.2
(package
(inherit rust-crossfont-0.3)
(name "rust-crossfont")
(version "0.2.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "crossfont" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "04p8k0yn19n2pdbiqzwkknakz9c7kdii0i2nf3s3p298ab7ld28h"))))
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-cocoa" ,rust-cocoa-0.24)
("rust-core-foundation" ,rust-core-foundation-0.9)
("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8)
("rust-core-graphics" ,rust-core-graphics-0.22)
("rust-core-text" ,rust-core-text-19)
("rust-dwrote" ,rust-dwrote-0.11)
("rust-foreign-types" ,rust-foreign-types-0.5)
("rust-freetype-rs" ,rust-freetype-rs-0.26)
("rust-libc" ,rust-libc-0.2)
("rust-log" ,rust-log-0.4)
("rust-pkg-config" ,rust-pkg-config-0.3)
("rust-servo-fontconfig" ,rust-servo-fontconfig-0.5)
("rust-winapi" ,rust-winapi-0.3))))))
(define-public rust-crossterm-0.19
(package
(name "rust-crossterm")
@ -15891,8 +15979,34 @@ floats.")
"This package provides a simple and fast random number generator.")
(license (list license:asl2.0 license:expat))))
(define-public rust-fd-lock-3
(package
(name "rust-fd-lock")
(version "3.0.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "fd-lock" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0dif8wk9xrqkjyfgqqy3zfg4ckmkpyzzk5p5m01s99q63bcnv05q"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-cfg-if" ,rust-cfg-if-1)
("rust-libc" ,rust-libc-0.2)
("rust-winapi" ,rust-winapi-0.3))))
(home-page "https://github.com/yoshuawuyts/fd-lock")
(synopsis "Advisory lock on a file")
(description
"Fd-lock provides an advisory lock on a file using a file descriptor to
it.")
(license (list license:expat license:asl2.0))))
(define-public rust-fd-lock-2
(package
(inherit rust-fd-lock-3)
(name "rust-fd-lock")
(version "2.0.0")
(source
@ -15902,18 +16016,11 @@ floats.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "01kzrikg3a60lxmr0k8bbm4nggh6693f1pf530ip136qzwpg0400"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-libc" ,rust-libc-0.2)
("rust-winapi" ,rust-winapi-0.3))))
(home-page "https://github.com/yoshuawuyts/fd-lock")
(synopsis "Advisory lock on a file")
(description
"Fd-lock provides an advisory lock on a file using a file descriptor to
it.")
(license (list license:expat license:asl2.0))))
("rust-winapi" ,rust-winapi-0.3))))))
(define-public rust-femme-2
(package
@ -16232,17 +16339,17 @@ cross platform API.")
"A procedural macro to insert @code{flame::start_guard(_)} calls.")
(license license:asl2.0)))
(define-public rust-flatbuffers-0.8
(define-public rust-flatbuffers-2
(package
(name "rust-flatbuffers")
(version "0.8.4")
(version "2.0.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "flatbuffers" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0sc0ngk9xim7xgqydx36xz4a1sqxq2fv7fmqn6z76vbx5cs05if3"))))
(base32 "1xp5ppif0hvgh9kfvy1199gdmjc3dw1517022l1x3ynpphw5fk7g"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -16256,6 +16363,25 @@ cross platform API.")
"This crates provides FlatBuffers runtime serialization library.")
(license license:asl2.0)))
(define-public rust-flatbuffers-0.8
(package
(inherit rust-flatbuffers-2)
(name "rust-flatbuffers")
(version "0.8.4")
(source
(origin
(method url-fetch)
(uri (crate-uri "flatbuffers" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0sc0ngk9xim7xgqydx36xz4a1sqxq2fv7fmqn6z76vbx5cs05if3"))))
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-bitflags" ,rust-bitflags-1)
("rust-smallvec" ,rust-smallvec-1)
("rust-thiserror" ,rust-thiserror-1))))))
(define-public rust-flate2-1
(package
(name "rust-flate2")
@ -23202,6 +23328,31 @@ the jni-bindgen code generator for binding to JVM APIs from Rust.")
@code{std::thread}, which makes sure that by default all threads are joined.")
(license (list license:expat license:asl2.0))))
(define-public rust-jsonpath-lib-0.3
(package
(name "rust-jsonpath-lib")
(version "0.3.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "jsonpath_lib" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0kvp4fargixqlwjvpb3w6f1lvmiysnmj7an5h75wqc42ss8k39pa"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-log" ,rust-log-0.4)
("rust-serde" ,rust-serde-1)
("rust-serde-json" ,rust-serde-json-1))))
(home-page "https://github.com/freestrings/jsonpath")
(synopsis "JsonPath engine written in Rust")
(description
"It is JsonPath engine written in Rust. It provides a similar API
interface in Webassembly and Javascript too.")
(license license:expat)))
(define-public rust-jsonrpc-core-14
(package
(name "rust-jsonrpc-core")
@ -23868,7 +24019,7 @@ strings.")
(define-public rust-libc-0.2
(package
(name "rust-libc")
(version "0.2.96")
(version "0.2.101")
(source
(origin
(method url-fetch)
@ -23876,7 +24027,7 @@ strings.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1z5l4rdk44sx1vaq69x1mbwi5zh75q46p2hkl90ihhn5xzkb802n"))))
"08dsmvn397ph8gnj552k12gmpp2rk6p60jyliqnfvr8vhwv07c1w"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
@ -26925,10 +27076,10 @@ possible over the OS abstractions.")
("rust-env-logger" ,rust-env-logger-0.4)
("rust-tempdir" ,rust-tempdir-0.3))))))
(define-public rust-mio-anonymous-pipes-0.1
(define-public rust-mio-anonymous-pipes-0.2
(package
(name "rust-mio-anonymous-pipes")
(version "0.1.0")
(version "0.2.0")
(source
(origin
(method url-fetch)
@ -26937,7 +27088,7 @@ possible over the OS abstractions.")
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1bqs8wncd73q4pnbiwskhgds57hyr8g89vfpqmw1vk9dqp1p9hpq"))))
"0sqsr9ifvacarlmf02l0hh5ianns5kdhzdb1llx5l075bw117ibb"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -26952,6 +27103,28 @@ possible over the OS abstractions.")
"This package provides asynchronous wrapper for Windows synchronous pipes.")
(license license:expat)))
(define-public rust-mio-anonymous-pipes-0.1
(package
(inherit rust-mio-anonymous-pipes-0.2)
(name "rust-mio-anonymous-pipes")
(version "0.1.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "mio-anonymous-pipes" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1bqs8wncd73q4pnbiwskhgds57hyr8g89vfpqmw1vk9dqp1p9hpq"))))
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-mio" ,rust-mio-0.6)
("rust-miow" ,rust-miow-0.3)
("rust-spsc-buffer" ,rust-spsc-buffer-0.1)
("rust-winapi" ,rust-winapi-0.3))))))
(define-public rust-mio-extras-2
(package
(name "rust-mio-extras")
@ -28387,17 +28560,17 @@ nitrokey crate and others using it.")
nitrokey-test crate.")
(license license:gpl3+)))
(define-public rust-nix-0.21
(define-public rust-nix-0.22
(package
(name "rust-nix")
(version "0.21.0")
(version "0.22.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "nix" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1isfgr239sxvkcjhcp08rz2nqi4s6w5ik2l2m183ldlxqkz2hdsw"))))
(base32 "0cahgzxhdwsaa8491n6cn8gadgfsxk5razyfw4xr3k34f5n5smg7"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -28415,6 +28588,27 @@ The goal is to not provide a 100% unified interface, but to unify what can be
while still providing platform specific APIs.")
(license license:expat)))
(define-public rust-nix-0.21
(package
(inherit rust-nix-0.22)
(name "rust-nix")
(version "0.21.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "nix" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1isfgr239sxvkcjhcp08rz2nqi4s6w5ik2l2m183ldlxqkz2hdsw"))))
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-bitflags" ,rust-bitflags-1)
("rust-cc" ,rust-cc-1)
("rust-cfg-if" ,rust-cfg-if-1)
("rust-libc" ,rust-libc-0.2)
("rust-memoffset" ,rust-memoffset-0.6))))))
(define-public rust-nix-0.20
(package
(inherit rust-nix-0.21)
@ -31361,8 +31555,45 @@ synchronization primitives.")
("rust-winapi" ,rust-winapi-0.3)
("rust-rustc-version" ,rust-rustc-version-0.2))))))
(define-public rust-parquet-5
(package
(name "rust-parquet")
(version "5.2.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "parquet" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0k2pzbqy6qb3rhxfsbx6gnmqyz4c9rprn6p76ws5f7cbgjwv97p2"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-arrow" ,rust-arrow-5)
("rust-base64" ,rust-base64-0.13)
("rust-brotli" ,rust-brotli-3)
("rust-byteorder" ,rust-byteorder-1)
("rust-chrono" ,rust-chrono-0.4)
("rust-clap" ,rust-clap-2)
("rust-flate2" ,rust-flate2-1)
("rust-lz4" ,rust-lz4-1)
("rust-num-bigint" ,rust-num-bigint-0.4)
("rust-parquet-format" ,rust-parquet-format-2)
("rust-rand" ,rust-rand-0.8)
("rust-serde-json" ,rust-serde-json-1)
("rust-snap" ,rust-snap-1)
("rust-thrift" ,rust-thrift-0.13)
("rust-zstd" ,rust-zstd-0.9))))
(home-page "https://github.com/apache/arrow-rs")
(synopsis "Apache Parquet implementation in Rust")
(description
"This crate provides an Apache Parquet implementation in Rust.")
(license license:asl2.0)))
(define-public rust-parquet-4
(package
(inherit rust-parquet-5)
(name "rust-parquet")
(version "4.4.0")
(source
@ -31372,7 +31603,6 @@ synchronization primitives.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0m3aqmaa79wka7adijl3zqkfjf1iwm2y58v0g16askv73pj48l16"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
@ -31389,12 +31619,7 @@ synchronization primitives.")
("rust-serde-json" ,rust-serde-json-1)
("rust-snap" ,rust-snap-1)
("rust-thrift" ,rust-thrift-0.13)
("rust-zstd" ,rust-zstd-0.8))))
(home-page "https://github.com/apache/arrow-rs")
(synopsis "Apache Parquet implementation in Rust")
(description
"This crate provides an Apache Parquet implementation in Rust.")
(license license:asl2.0)))
("rust-zstd" ,rust-zstd-0.8))))))
(define-public rust-parquet-format-2
(package
@ -32955,8 +33180,33 @@ applications.")
"Additional trait for Read and Write to read and write Plain Old Data.")
(license (list license:expat license:asl2.0))))
(define-public rust-polars-0.15
(package
(name "rust-polars")
(version "0.15.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "polars" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1sl7vs6ck05f8w8jp7v75431b4v5j2rvvvw53jqgxc5226i7a2h8"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-polars-core" ,rust-polars-core-0.15)
("rust-polars-io" ,rust-polars-io-0.15)
("rust-polars-lazy" ,rust-polars-lazy-0.15))))
(home-page "https://github.com/ritchie46/polars")
(synopsis "DataFrame Library based on Apache Arrow")
(description
"Polars is a dataframe Library based on Apache Arrow.")
(license license:expat)))
(define-public rust-polars-0.14
(package
(inherit rust-polars-0.15)
(name "rust-polars")
(version "0.14.8")
(source
@ -32966,18 +33216,12 @@ applications.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0mjp68cjya17gfvc0kqy7wkcggrnjn1pd2pgxpn8ba5b7mgn9lcy"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-polars-core" ,rust-polars-core-0.14)
("rust-polars-io" ,rust-polars-io-0.14)
("rust-polars-lazy" ,rust-polars-lazy-0.14))))
(home-page "https://github.com/ritchie46/polars")
(synopsis "DataFrame Library based on Apache Arrow")
(description
"Polars is a dataframe Library based on Apache Arrow.")
(license license:expat)))
("rust-polars-lazy" ,rust-polars-lazy-0.14))))))
(define-public rust-polars-0.13
(package
@ -33000,8 +33244,33 @@ applications.")
("rust-polars-io" ,rust-polars-io-0.13)
("rust-polars-lazy" ,rust-polars-lazy-0.13))))))
(define-public rust-polars-arrow-0.15
(package
(name "rust-polars-arrow")
(version "0.15.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "polars-arrow" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0d8ir9dajywfqg6ck557vbvzsdmndc1ipn9mgrqi15yini1qmw2z"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-arrow" ,rust-arrow-5)
("rust-num" ,rust-num-0.4)
("rust-thiserror" ,rust-thiserror-1))))
(home-page "https://github.com/ritchie46/polars")
(synopsis "Arrow interfaces for Polars DataFrame library")
(description
"This crate provides Arrow interfaces for Polars DataFrame library.")
(license license:expat)))
(define-public rust-polars-arrow-0.14
(package
(inherit rust-polars-arrow-0.15)
(name "rust-polars-arrow")
(version "0.14.8")
(source
@ -33011,18 +33280,12 @@ applications.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1wk6qfj821w6qqs35n9f0zhp9n7mffxzah12nqk1xlpv2ci2ahsr"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-arrow" ,rust-arrow-4)
("rust-num" ,rust-num-0.4)
("rust-thiserror" ,rust-thiserror-1))))
(home-page "https://github.com/ritchie46/polars")
(synopsis "Arrow interfaces for Polars DataFrame library")
(description
"This crate provides Arrow interfaces for Polars DataFrame library.")
(license license:expat)))
("rust-thiserror" ,rust-thiserror-1))))))
(define-public rust-polars-arrow-0.13
(package
@ -33044,8 +33307,53 @@ applications.")
("rust-num" ,rust-num-0.4)
("rust-thiserror" ,rust-thiserror-1))))))
(define-public rust-polars-core-0.15
(package
(name "rust-polars-core")
(version "0.15.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "polars-core" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0vzyyqg0s6h3k77z7nkmqrrgnp7nbi7sh5nmlw1ggrlml9ps0aa9"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-ahash" ,rust-ahash-0.7)
("rust-anyhow" ,rust-anyhow-1)
("rust-arrow" ,rust-arrow-5)
("rust-chrono" ,rust-chrono-0.4)
("rust-comfy-table" ,rust-comfy-table-1)
("rust-hashbrown" ,rust-hashbrown-0.11)
("rust-itertools" ,rust-itertools-0.10)
("rust-jsonpath-lib" ,rust-jsonpath-lib-0.3)
("rust-lazy-static" ,rust-lazy-static-1)
("rust-ndarray" ,rust-ndarray-0.15)
("rust-num" ,rust-num-0.4)
("rust-num-cpus" ,rust-num-cpus-1)
("rust-parquet" ,rust-parquet-5)
("rust-polars-arrow" ,rust-polars-arrow-0.15)
("rust-prettytable-rs" ,rust-prettytable-rs-0.8)
("rust-rand" ,rust-rand-0.7)
("rust-rand-distr" ,rust-rand-distr-0.3)
("rust-rayon" ,rust-rayon-1)
("rust-regex" ,rust-regex-1)
("rust-serde" ,rust-serde-1)
("rust-serde-json" ,rust-serde-json-1)
("rust-thiserror" ,rust-thiserror-1)
("rust-unsafe-unwrap" ,rust-unsafe-unwrap-0.1))))
(home-page "https://github.com/ritchie46/polars")
(synopsis "Core of the Polars DataFrame library")
(description
"This crate provides the core of the Polars DataFrame library.")
(license license:expat)))
(define-public rust-polars-core-0.14
(package
(inherit rust-polars-core-0.15)
(name "rust-polars-core")
(version "0.14.8")
(source
@ -33055,7 +33363,6 @@ applications.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1vlzqsp0hrdixv4gyprlkmyhh7s3m2lnq9nizpm3sqhlccfdahyz"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
@ -33080,12 +33387,7 @@ applications.")
("rust-serde" ,rust-serde-1)
("rust-serde-json" ,rust-serde-json-1)
("rust-thiserror" ,rust-thiserror-1)
("rust-unsafe-unwrap" ,rust-unsafe-unwrap-0.1))))
(home-page "https://github.com/ritchie46/polars")
(synopsis "Core of the Polars DataFrame library")
(description
"This crate provides the core of the Polars DataFrame library.")
(license license:expat)))
("rust-unsafe-unwrap" ,rust-unsafe-unwrap-0.1))))))
(define-public rust-polars-core-0.13
(package
@ -33124,8 +33426,48 @@ applications.")
("rust-thiserror" ,rust-thiserror-1)
("rust-unsafe-unwrap" ,rust-unsafe-unwrap-0.1))))))
(define-public rust-polars-io-0.15
(package
(name "rust-polars-io")
(version "0.15.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "polars-io" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "19r2l3rxjdk25ir93l85ap4q0w5p7apjw3g57pszxph9nh2j8ba2"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-ahash" ,rust-ahash-0.7)
("rust-anyhow" ,rust-anyhow-1)
("rust-arrow" ,rust-arrow-5)
("rust-csv-core" ,rust-csv-core-0.1)
("rust-dirs" ,rust-dirs-3)
("rust-fast-float" ,rust-fast-float-0.2)
("rust-flate2" ,rust-flate2-1)
("rust-lazy-static" ,rust-lazy-static-1)
("rust-lexical" ,rust-lexical-5)
("rust-memmap2" ,rust-memmap2-0.2)
("rust-num" ,rust-num-0.4)
("rust-num-cpus" ,rust-num-cpus-1)
("rust-parquet" ,rust-parquet-5)
("rust-polars-arrow" ,rust-polars-arrow-0.15)
("rust-polars-core" ,rust-polars-core-0.15)
("rust-rayon" ,rust-rayon-1)
("rust-regex" ,rust-regex-1)
("rust-simdutf8" ,rust-simdutf8-0.1))))
(home-page "https://github.com/ritchie46/polars")
(synopsis "IO related logic for the Polars DataFrame library")
(description
"This crate provides IO related logic for the Polars DataFrame library.")
(license license:expat)))
(define-public rust-polars-io-0.14
(package
(inherit rust-polars-io-0.15)
(name "rust-polars-io")
(version "0.14.8")
(source
@ -33135,7 +33477,6 @@ applications.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0fha62dln5xv2sa38jrfmd7amj9557y66dy8v44gn9j896mqm6fd"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
@ -33157,12 +33498,7 @@ applications.")
("rust-polars-core" ,rust-polars-core-0.14)
("rust-rayon" ,rust-rayon-1)
("rust-regex" ,rust-regex-1)
("rust-simdutf8" ,rust-simdutf8-0.1))))
(home-page "https://github.com/ritchie46/polars")
(synopsis "IO related logic for the Polars DataFrame library")
(description
"This crate provides IO related logic for the Polars DataFrame library.")
(license license:expat)))
("rust-simdutf8" ,rust-simdutf8-0.1))))))
(define-public rust-polars-io-0.13
(package
@ -33196,8 +33532,38 @@ applications.")
("rust-rayon" ,rust-rayon-1)
("rust-regex" ,rust-regex-1))))))
(define-public rust-polars-lazy-0.15
(package
(name "rust-polars-lazy")
(version "0.15.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "polars-lazy" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0xh3a0gjsisx62zwjmawxg9giin7bwmh7z7y4cc2d3ygy8nk19jh"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-ahash" ,rust-ahash-0.7)
("rust-itertools" ,rust-itertools-0.10)
("rust-polars-arrow" ,rust-polars-arrow-0.15)
("rust-polars-core" ,rust-polars-core-0.15)
("rust-polars-io" ,rust-polars-io-0.15)
("rust-rayon" ,rust-rayon-1)
("rust-regex" ,rust-regex-1))))
(home-page "https://github.com/ritchie46/polars")
(synopsis "Lazy query engine for the Polars DataFrame library")
(description
"This crate provides a lazy query engine for the Polars DataFrame
library.")
(license license:expat)))
(define-public rust-polars-lazy-0.14
(package
(inherit rust-polars-lazy-0.15)
(name "rust-polars-lazy")
(version "0.14.8")
(source
@ -33207,7 +33573,6 @@ applications.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "07gir4r7ifc9przvd8acd09g225si2z2lpczmmv8jdqyrz8vd5k5"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
@ -33216,13 +33581,7 @@ applications.")
("rust-polars-arrow" ,rust-polars-arrow-0.14)
("rust-polars-core" ,rust-polars-core-0.14)
("rust-polars-io" ,rust-polars-io-0.14)
("rust-rayon" ,rust-rayon-1))))
(home-page "https://github.com/ritchie46/polars")
(synopsis "Lazy query engine for the Polars DataFrame library")
(description
"This crate provides a lazy query engine for the Polars DataFrame
library.")
(license license:expat)))
("rust-rayon" ,rust-rayon-1))))))
(define-public rust-polars-lazy-0.13
(package
@ -39920,8 +40279,48 @@ sub-processes using a fork-like interface.")
("rust-tempfile" ,rust-tempfile-3)
("rust-wait-timeout" ,rust-wait-timeout-0.2))))))
(define-public rust-rustyline-9
(package
(name "rust-rustyline")
(version "9.0.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "rustyline" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1mj0cgdyw6gaadsg7yxsnb9n4bdl91qga9kiwyd4hqqsi31qf13r"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-bitflags" ,rust-bitflags-1)
("rust-cfg-if" ,rust-cfg-if-1)
("rust-clipboard-win" ,rust-clipboard-win-4)
("rust-dirs-next" ,rust-dirs-next-2)
("rust-fd-lock" ,rust-fd-lock-3)
("rust-libc" ,rust-libc-0.2)
("rust-log" ,rust-log-0.4)
("rust-memchr" ,rust-memchr-2)
("rust-nix" ,rust-nix-0.22)
("rust-radix-trie" ,rust-radix-trie-0.2)
("rust-regex" ,rust-regex-1)
("rust-scopeguard" ,rust-scopeguard-1)
("rust-smallvec" ,rust-smallvec-1)
("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
("rust-unicode-width" ,rust-unicode-width-0.1)
("rust-utf8parse" ,rust-utf8parse-0.2)
("rust-winapi" ,rust-winapi-0.3)
("skim" ,skim))))
(home-page "https://github.com/kkawakam/rustyline")
(synopsis "Readline implementation in Rust")
(description
"Rustyline is a readline implementation based on the linenoise package.")
(license license:expat)))
(define-public rust-rustyline-8
(package
(inherit rust-rustyline-9)
(name "rust-rustyline")
(version "8.2.0")
(source
@ -39931,7 +40330,6 @@ sub-processes using a fork-like interface.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0x0qwcbnq6zyayxv1xqqn0zbwlz878jra0sgiv4pd3vklzvymm7v"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
@ -39951,12 +40349,7 @@ sub-processes using a fork-like interface.")
("rust-unicode-width" ,rust-unicode-width-0.1)
("rust-utf8parse" ,rust-utf8parse-0.2)
("rust-winapi" ,rust-winapi-0.3)
("skim" ,skim))))
(home-page "https://github.com/kkawakam/rustyline")
(synopsis "Readline implementation in Rust")
(description
"Rustyline is a readline implementation based on the linenoise package.")
(license license:expat)))
("skim" ,skim))))))
(define-public rust-rustyline-7
(package
@ -48177,7 +48570,7 @@ handle Unicode characters correctly.")
(define-public rust-thiserror-1
(package
(name "rust-thiserror")
(version "1.0.25")
(version "1.0.26")
(source
(origin
(method url-fetch)
@ -48186,7 +48579,7 @@ handle Unicode characters correctly.")
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1ip9j8riar3xffp261yls4phpasz768xhnafxdz4qlargx2pcvzs"))))
"1qmz542pq4wmz3p0s4kavsqv09h0x99klkf3k33ydjy1x97rw4ck"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -48205,7 +48598,7 @@ handle Unicode characters correctly.")
(define-public rust-thiserror-impl-1
(package
(name "rust-thiserror-impl")
(version "1.0.25")
(version "1.0.26")
(source
(origin
(method url-fetch)
@ -48214,7 +48607,7 @@ handle Unicode characters correctly.")
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"139i3bxidyncjd1sphkn4c577nkba8lzmphhr9gb26xz1y67cdla"))))
"0ia72qiynlws5avb8f1xqlazp4g6bqgzjbwy5vs6nyg7myh6j386"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -56347,8 +56740,33 @@ implementation that works everywhere, even WASM!")
"This package provides a library for parsing compiled zoneinfo files.")
(license license:expat)))
(define-public rust-zstd-0.9
(package
(name "rust-zstd")
(version "0.9.0+zstd.1.5.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "zstd" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1k9caa048d8x9asksjaf62xkpv0m1wsmw94h29k3csybq9frlx07"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-zstd-safe" ,rust-zstd-safe-4))))
(home-page "https://github.com/gyscos/zstd-rs")
(synopsis "Binding to the zstd compression library")
(description
"This package provides a binding to the Zstd compression library.")
(license license:expat)))
(define-public rust-zstd-0.8
(package
(inherit rust-zstd-0.9)
(name "rust-zstd")
(version "0.8.3+zstd.1.5.0")
(source
@ -56358,18 +56776,12 @@ implementation that works everywhere, even WASM!")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1gy2rc3hmqpzfkh9f5d395lhwjk8qwpll3gb73bznn2agd60k9sy"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-futures" ,rust-futures-0.1)
("rust-tokio-io" ,rust-tokio-io-0.1)
("rust-zstd-safe" ,rust-zstd-safe-4))))
(home-page "https://github.com/gyscos/zstd-rs")
(synopsis "Binding to the zstd compression library")
(description
"This package provides a binding to the zstd compression library.")
(license license:expat)))
("rust-zstd-safe" ,rust-zstd-safe-4))))))
(define-public rust-zstd-0.6
(package
@ -56418,7 +56830,7 @@ implementation that works everywhere, even WASM!")
(define-public rust-zstd-safe-4
(package
(name "rust-zstd-safe")
(version "4.1.0+zstd.1.5.0")
(version "4.1.1+zstd.1.5.0")
(source
(origin
(method url-fetch)
@ -56426,7 +56838,7 @@ implementation that works everywhere, even WASM!")
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32 "1rssk1njcy9vz40ja0rpjyi9lbqnq2i2xx1h374s8p0qivvpa0yk"))))
(base32 "0yghr94blhnfigzsynm2km3g93886z49612y7rh07c4kqpr90769"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -56480,7 +56892,7 @@ library.")
(define-public rust-zstd-sys-1
(package
(name "rust-zstd-sys")
(version "1.6.0+zstd.1.5.0")
(version "1.6.1+zstd.1.5.0")
(source
(origin
(method url-fetch)
@ -56488,8 +56900,7 @@ library.")
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"19rs3vvwlzr9v6qfmfxh43x99njmybpvysqf8xhpfhibjbcbwh91"))))
(base32 "0cra76lginz5k659rch7axg5nyms67yffygr3k7ic7a3lb3j0lb1"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs

View File

@ -399,63 +399,6 @@ secure operations. ")
(license (list license:lgpl2.1+ ; the files keyutils.*
license:gpl2+)))) ; the rest
;; There is no release candidate but commits point out a version number,
;; furthermore no tarball exists.
(define-public eschalot
(let ((commit "0bf31d88a11898c19b1ed25ddd2aff7b35dbac44")
(revision "1"))
(package
(name "eschalot")
(version (string-append "1.2.0-" revision "." (string-take commit 7)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/schnabear/eschalot")
(commit commit)))
(file-name (string-append name "-" version))
(sha256
(base32
"0lj38ldh8vzi11wp4ghw4k0fkwp0s04zv8k8d473p1snmbh7mx98"))))
(inputs
`(("openssl" ,openssl-1.0))) ; for openssl/{bn,pem,rsa,sha}.h
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "CC=" ,(cc-for-target))
(string-append "PREFIX=" (assoc-ref %outputs "out"))
(string-append "INSTALL=" "install"))
;; XXX: make test would run a !VERY! long hashing of names with the use
;; of a wordlist, the amount of computing time this would waste on build
;; servers is in no relation to the size or importance of this small
;; application, therefore we run our own tests on eschalot and worgen.
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'check
(lambda _
(invoke "./worgen" "8-12" "top1000.txt" "3-10" "top400nouns.txt"
"3-6" "top150adjectives.txt" "3-6")
(invoke "./eschalot" "-r" "^guix|^GuixSystem")
(invoke "./eschalot" "-r" "^gnu|^free")
(invoke "./eschalot" "-r" "^cyber|^hack")
(invoke "./eschalot" "-r" "^troll")))
;; Make install can not create the bin dir, create it.
(add-before 'install 'create-bin-dir
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(mkdir-p bin)
#t))))))
(home-page "https://github.com/schnabear/eschalot")
(synopsis "Tor hidden service name generator")
(description
"Eschalot is a tor hidden service name generator, it allows one to
produce customized vanity .onion addresses using a brute-force method. Searches
for valid names can be run with regular expressions and wordlists. For the
generation of wordlists the included tool @code{worgen} can be used. There is
no man page, refer to the home page for usage details.")
(license (list license:isc license:expat)))))
(define-public ssss
(package
(name "ssss")

View File

@ -502,14 +502,14 @@ should only be used as part of the Guix cups-pk-helper service.")
(define-public hplip
(package
(name "hplip")
(version "3.21.4")
(version "3.21.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/hplip/hplip/" version
"/hplip-" version ".tar.gz"))
(sha256
(base32
"1lsa0g8lafnmfyia0vy9x1j9q2l80xjjm7clkrawrbg53y3x7ixx"))
"1jkvbq64pxn5rg25pk13xwn5xr2bn0sa95yvh2q4ys0kv79n0cyc"))
(modules '((guix build utils)))
(snippet
'(begin
@ -871,7 +871,7 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.")
(define-public epson-inkjet-printer-escpr
(package
(name "epson-inkjet-printer-escpr")
(version "1.7.12")
(version "1.7.17")
;; XXX: This currently works. But it will break as soon as a newer
;; version is available since the URLs for older versions are not
;; preserved. An alternative source will be added as soon as
@ -879,11 +879,11 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.")
(source
(origin
(method url-fetch)
(uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/12/87/"
"86/a97f36f9db998e7d0d25fc963568f207073b85ad/"
"epson-inkjet-printer-escpr-1.7.12-1lsb3.2.tar.gz"))
(uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/12/99/"
"78/73605b3f8aac63694fdabee6bd43389731696cd9/"
"epson-inkjet-printer-escpr-1.7.17-1lsb3.2.tar.gz"))
(sha256
(base32 "11di33dhi8s0qf8dc3gai478ji4jszy4jmi5z5gfdkxmpljdlrq2"))))
(base32 "1d7ckrl5kya98h27mx4pgnaz5sbrsd5vhwc8kva9nfah9wsga4wg"))))
(build-system gnu-build-system)
(arguments
`(#:modules

View File

@ -13,6 +13,7 @@
;;; Copyright © 2020 Dale Mellor <guix-devel-0brg6b@rdmp.org>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me>
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -36,6 +37,7 @@
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (gnu packages)
@ -313,3 +315,30 @@ user+password authentication, file transfer resume, http proxy tunneling and
more!")
(home-page "http://www.curlpp.org")
(license license:expat)))
(define-public h2c
(package
(name "h2c")
(version "1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/curl/h2c")
(commit version)))
(sha256
(base32
"1n8z6avzhg3yb330di2y9zymsps1qp1235p29kidcp4fkmn7fgb2"))
(file-name (git-file-name name version))))
(build-system copy-build-system)
(arguments
'(#:install-plan
'(("./h2c" "bin/"))))
(inputs
`(("perl" ,perl)))
(home-page "https://curl.se/h2c/")
(synopsis "Convert HTTP headers to a curl command line")
(description
"Provided a set of HTTP request headers, h2c outputs how to invoke
curl to obtain exactly that HTTP request.")
(license license:expat)))

View File

@ -9,7 +9,7 @@
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2016, 2017, 2018 Roel Janssen <roel@gnu.org>
@ -39,7 +39,7 @@
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019, 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
@ -1097,38 +1097,38 @@ pictures, sounds, or video.")
(package
(inherit postgresql-13)
(name "postgresql")
(version "11.12")
(version "11.13")
(source (origin
(inherit (package-source postgresql-13))
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"016bacpmqxc676ipzc1l8zv1jj44mjz7dv7jhqazg3ibdfqxiyc7"))))))
"0j5wnscnxa3sx8d39s55654df8aikmvkihfb0a02hrgmyygnihx0"))))))
(define-public postgresql-10
(package
(inherit postgresql-11)
(version "10.17")
(version "10.18")
(source (origin
(inherit (package-source postgresql-11))
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"0v5jahkqm6gkq67s4bac3h7297bscn2ab6y128idi73cc1qq1wjs"))))))
"009qpb02bq0rx0aaw5ck70gk07xwparhfxvlfimgihw2vhp7qisp"))))))
(define-public postgresql-9.6
(package
(inherit postgresql-10)
(version "9.6.22")
(version "9.6.23")
(source (origin
(inherit (package-source postgresql-10))
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"0c19kzrj5ib5ygmavf5d6qvxdwrxzzz6jz1r2dl5b815208cscix"))))))
"1fa735lrmv2vrfiixg73nh024gxlagcbrssklvgwdf0s82cgfjd8"))))))
(define-public postgresql postgresql-13)
@ -2482,16 +2482,16 @@ virtual address space — not physical RAM.")
(define-public lmdbxx
(package
(name "lmdbxx")
(version "0.9.14.0")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/drycpp/lmdbxx")
(url "https://github.com/hoytech/lmdbxx")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1jmb9wg2iqag6ps3z71bh72ymbcjrb6clwlkgrqf1sy80qwvlsn6"))))
(base32 "12k5rz74d1l0skcks9apry1svkl96g9lf5dcgylgjmh7v1jm0b7c"))))
(arguments
`(#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))
@ -2500,7 +2500,7 @@ virtual address space — not physical RAM.")
(delete 'configure))))
(build-system gnu-build-system)
(inputs `(("lmdb" ,lmdb)))
(home-page "http://lmdbxx.sourceforge.net")
(home-page "https://github.com/hoytech/lmdbxx")
(synopsis "C++11 wrapper for the LMDB embedded B+ tree database library")
(description "@code{lmdbxx} is a comprehensive @code{C++} wrapper for the
@code{LMDB} embedded database library, offering both an error-checked

View File

@ -555,14 +555,14 @@ and can dramatically shorten the lifespan of the drive if left unchecked.")
(define-public gparted
(package
(name "gparted")
(version "1.3.0")
(version "1.3.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gparted/gparted/gparted-"
version "/gparted-" version ".tar.gz"))
(sha256
(base32 "0amx3hb4rc504nl9i73rgyz0hzhq5x8nkg7lwbk4bsnrblj81hcd"))))
(base32 "02g1s6hrhnias7kj241l0f72kllfhq6338mk2dmzjpmifinjxvjy"))))
(build-system glib-or-gtk-build-system)
(arguments
;; Tests require access to paths outside the build container, such
@ -688,7 +688,7 @@ a card with a smaller capacity than stated.")
(define-public duperemove
(package
(name "duperemove")
(version "0.11.2")
(version "0.11.3")
(source
(origin
(method git-fetch)
@ -696,7 +696,7 @@ a card with a smaller capacity than stated.")
(url "https://github.com/markfasheh/duperemove")
(commit (string-append "v" version))))
(sha256
(base32 "1a87mka2sfzhbch2jip6wlvvs0glxq9lqwmyrp359d1rmwwmqiw9"))
(base32 "0jwxmhadv2f1mx7gan4gk0xwrjr5g2xa71z1rp0knc1acbkhqdas"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs

View File

@ -48,13 +48,13 @@
(define-public python-django
(package
(name "python-django")
(version "3.2.5")
(version "3.2.6")
(source (origin
(method url-fetch)
(uri (pypi-uri "Django" version))
(sha256
(base32
"1kam3301jl53vm0mhflwwsqy5d7kb5dksmjanlaj7v7xakm5z81x"))))
"08p0gf1n548fjba76wspcj1jb3li6lr7xi87w2xq7hylr528azzj"))))
(build-system python-build-system)
(arguments
'(#:phases
@ -307,16 +307,19 @@ size and quality.")
(define-public python-pytest-django
(package
(name "python-pytest-django")
(version "3.10.0")
(version "4.4.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "pytest-django" version))
(sha256
(base32
"19nvqsb7b9kz3ikpb50m8ppf7mfhzrapdxsqd5hhd1pdfz8dprjd"))))
"0mglnz0w6k7dgw1jn6giv56pmdjd6a3zwwkhxb2kyzmzk0viw5xm"))))
(build-system python-build-system)
(arguments
`(#:phases
;; The test suite is disabled because there are many test failures (see:
;; https://github.com/pytest-dev/pytest-django/issues/943).
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
@ -336,9 +339,8 @@ size and quality.")
(native-inputs
`(("python-django" ,python-django)
("python-setuptools-scm" ,python-setuptools-scm)
;; For tests.
("python-pytest-xdist" ,python-pytest-xdist)))
("python-pytest-xdist" ,python-pytest-xdist-next)))
(propagated-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://pytest-django.readthedocs.org/")

View File

@ -539,14 +539,14 @@ asynchronous fashion.")
(define-public nsd
(package
(name "nsd")
(version "4.3.6")
(version "4.3.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.nlnetlabs.nl/downloads/nsd/nsd-"
version ".tar.gz"))
(sha256
(base32 "062zwx4k5rgpg2c0b4721ldj36aj8clrxv79mlfw9b15ap7w1rmy"))))
(base32 "1bg87g0i66hw16fm7gbqmzyi2rcn1hadzz0bg9b8s5mx7g2rwfzx"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@ -609,14 +609,14 @@ to result in system-wide compromise.")
(define-public unbound
(package
(name "unbound")
(version "1.13.1")
(version "1.13.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.unbound.net/downloads/unbound-"
version ".tar.gz"))
(sha256
(base32 "1f2hky62f4xxnjr0lncrzz4gipg01rp12pf98mrqkgf5ixxxj145"))))
(base32 "10qs1q26lzw18ljggnbz0cc5f7lr9ksj615xbrmh4amryd3va4qa"))))
(build-system gnu-build-system)
(outputs '("out" "python"))
(native-inputs
@ -947,14 +947,14 @@ synthesis, and on-the-fly re-configuration.")
(define-public knot-resolver
(package
(name "knot-resolver")
(version "5.4.0")
(version "5.4.1")
(source (origin
(method url-fetch)
(uri (string-append "https://secure.nic.cz/files/knot-resolver/"
"knot-resolver-" version ".tar.xz"))
(sha256
(base32
"0pl1l167fqb1lgmrmkx8i140l41wgnfwr6h3awxv4cw4p5qzcjjk"))))
"0rixiqfj53rfabrz8qpnq4whx8y29d2m5w64a4jlwx7gv4nrd2zv"))))
(build-system meson-build-system)
(outputs '("out" "doc"))
(arguments

View File

@ -1,199 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages drones)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages xml)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix git-download)
#:use-module (guix build-system gnu))
(define (ardupilot-type->tag type)
(case type
((copter) "Copter")
((plane) "ArduPlane")
((rover) "Rover")
(else #f)))
(define (ardupilot-type->waf-cmd type)
(symbol->string type))
(define* (make-ardupilot-firmware #:key name version base32 type board target)
(package
(name (string-append name "-" board))
(version version)
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ArduPilot/ardupilot")
(commit (string-append
(ardupilot-type->tag type) "-" version))
;; XXX: Ardupilot includes several git submodules. They should be
;; avoided but as this is not supported upstream, and not trivial
;; to fix, keep it this way for now.
(recursive? #t)))
(file-name (git-file-name name version))
(sha256 base32)))
;; Could also be waf-build-system but every phase has to be rewritten
;; anyway.
(build-system gnu-build-system)
(arguments
`(#:imported-modules ((gnu build cross-toolchain)
,@%gnu-build-system-modules)
#:phases
(modify-phases %standard-phases
(delete 'bootstrap)
;; Remove the root waf script that relies on waf git submodule.
(add-before 'configure 'setup-waf
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(let ((waf (assoc-ref (or native-inputs inputs) "waf")))
(delete-file "waf")
(copy-file (string-append waf "/bin/waf") "waf"))
#t))
;; When cross-compiling, we do not want to use the default gnu
;; cross-compiler, so set CROSS_CPATH and CROSS_LIBRARY_PATH
;; variables ourselves instead.
(delete 'set-cross-path)
(add-before 'configure 'set-custom-cross-cpath
(lambda* (#:key native-inputs inputs #:allow-other-keys)
((@@ (gnu build cross-toolchain) set-cross-path)
#:inputs
`(("libc" . ,(assoc-ref (or native-inputs inputs)
"ardupilot-cross-libc"))
("xkernel-headers" .
,(assoc-ref (or native-inputs inputs)
"ardupilot-cross-kernel-headers"))))
;; We need to produce a static binary, so that it can works on
;; other systems than Guix System. Add a static version of the
;; cross libc to CROSS_LIBRARY_PATH variable.
(setenv "CROSS_LIBRARY_PATH"
(string-append
(getenv "CROSS_LIBRARY_PATH") ":"
(assoc-ref (or native-inputs inputs)
"ardupilot-cross-libc-static") "/lib"))
#t))
;; Remove dependencies to 'git'.
(add-before 'configure 'remove-git
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "wscript"
(("^.*cfg\\.load\\('git_submodule.*$")
""))
(substitute* "Tools/ardupilotwaf/boards.py"
(("^.*GIT_VERSION.*$")
""))
#t))
;; Configure for the given BOARD, and force a static build for
;; reasons exposed above.
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(invoke "./waf" "configure" "--board" ,board "--static")
#t))
(replace 'build
(lambda* (#:key outputs #:allow-other-keys)
(invoke "./waf" ,(ardupilot-type->waf-cmd type))
#t))
;; Do not run tests as we are always cross-compiling.
(delete 'check)
;; Install the produced firmware.
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(mkdir-p bin)
(copy-recursively
(string-append "build/" ,board "/bin") bin))
#t)))))
(native-inputs
`(("waf" ,python-waf)
("python" ,python)
("python-future" ,python-future)
("python-lxml" ,python-lxml)
;; Packages needed for cross-compiling the firmware.
("ardupilot-cross-gcc" ,(cross-gcc target
#:xbinutils
(cross-binutils target)
#:libc
(cross-libc target)))
("ardupilot-cross-libc" ,(cross-libc target))
("ardupilot-cross-libc-static" ,(cross-libc target) "static")
("ardupilot-cross-kernel-headers"
,@(assoc-ref (package-propagated-inputs
(cross-libc target))
"kernel-headers"))
("ardupilot-cross-binutils" ,(cross-binutils target))
("ardupilot-cross-pkg-config" ,(parameterize ((%current-target-system
target))
pkg-config))))
(home-page "https://ardupilot.org/")
(synopsis "Unmanned vehicle autopilot software suite")
(description "@code{ardupilot} is an unmanned vehicle autopilot software
suite capable of controlling autonomous:
@itemize
@item multirotor drones
@item fixed-wing and vtol aircraft
@item helicopters
@item ground rovers
@item boats
@item submarines
@item antenna trackers
@end itemize")
(license gpl3+)))
(define (make-arducopter-firmware board target)
(make-ardupilot-firmware
#:name "arducopter"
#:version "3.6.11"
#:base32 (base32 "1zkr2nhkksmrriirs2dnp8a0gcf9rfqw1x86pzhh6w4ciqwpidqn")
#:type 'copter
#:board board
#:target target))
(define (make-arduplane-firmware board target)
(make-ardupilot-firmware
#:name "arduplane"
#:version "4.0.1"
#:base32 (base32 "0awafvrppg4ilwpbhw88r5xkbgqrmqypsn6lbzyi6bz0zy5cfhb5")
#:type 'plane
#:board board
#:target target))
(define-public arducopter-bbbmini
(make-arducopter-firmware "bbbmini" "arm-linux-gnueabihf"))
(define-public arduplane-bbbmini
(make-arduplane-firmware "bbbmini" "arm-linux-gnueabihf"))
;; Firmware for Bebop and Bebop2 drones.
(define-public arducopter-bebop
(make-arducopter-firmware "bebop" "arm-linux-gnueabihf"))

File diff suppressed because it is too large Load Diff

View File

@ -1770,7 +1770,7 @@ This is a part of the TiLP project.")
(define-public mame
(package
(name "mame")
(version "0.234")
(version "0.235")
(source
(origin
(method git-fetch)
@ -1779,7 +1779,7 @@ This is a part of the TiLP project.")
(commit (apply string-append "mame" (string-split version #\.)))))
(file-name (git-file-name name version))
(sha256
(base32 "010ing14pfwc0j7jnghjdcvq0qr7g4dplnggl545apyy61zigdkn"))
(base32 "1iz5p51am7gh19i0zx96vfpfpza8xvrz9f2pd908jsc4xpr36agd"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.

View File

@ -415,8 +415,8 @@ from a mounted file system.")
(license license:gpl2+)))
(define-public bcachefs-tools
(let ((commit "fe1bb39aa52d9140981ba1e96f3c95ddf14006ce")
(revision "8"))
(let ((commit "6c42566c6204bb5dcd6af3b97257e548b9d2db67")
(revision "9"))
(package
(name "bcachefs-tools")
(version (git-version "0.1" revision commit))
@ -428,7 +428,7 @@ from a mounted file system.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1ks6w2v76pfpp70cv1d6znxaw1g5alz1v6hf8z9gvj15r94vgpwz"))))
(base32 "0xagz0k3li10ydma55mnld0nb2pyfx90vsdvgjflgnx6jw3cq4dq"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@ -464,7 +464,11 @@ from a mounted file system.")
;; For tests.
("python-pytest" ,python-pytest)
("valgrind" ,valgrind)))
("valgrind" ,valgrind)
;; For generating documentation with rst2man.
("python" ,python)
("python-docutils" ,python-docutils)))
(inputs
`(("eudev" ,eudev)
("keyutils" ,keyutils)

View File

@ -16,7 +16,7 @@
;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2019 Sebastian Schott <sschott@mailbox.org>
;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org>
;;; Copyright © 2020 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2020 Tom Zander <tomz@freedommail.ch>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
@ -269,14 +269,14 @@ Accounting.")
(define-public homebank
(package
(name "homebank")
(version "5.5.2")
(version "5.5.3")
(source (origin
(method url-fetch)
(uri (string-append "http://homebank.free.fr/public/homebank-"
version ".tar.gz"))
(sha256
(base32
"1lhyql94zx51vcw9hlc9r26wkm2bn6jdd4xvc95j7y69wiwg77lq"))))
"14qhv79a2waqzmf6l571wklgwq8j1pkmjvzkj5vhh44nia8hfdh7"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@ -531,6 +531,9 @@ do so.")
("python-cryptography" ,python-cryptography)
("python-qdarkstyle" ,python-qdarkstyle)
("python-dnspython" ,python-dnspython)
("python-hidapi" ,python-hidapi)
("python-ledgerblue" ,python-ledgerblue)
("python-btchip-python" ,python-btchip-python)
("libsecp256k1" ,libsecp256k1)))
(arguments
`(#:tests? #f ; no tests
@ -565,7 +568,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
(define-public electron-cash
(package
(name "electron-cash")
(version "4.2.4")
(version "4.2.5")
(source
(origin
(method git-fetch)
@ -574,7 +577,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1a4jqsfadv6xr7ydj79my71jyrp0sjlznsbxdxjsjgnsqk8r48w6"))))
(base32 "1fj797hbinxsqjwhh4l1vjsx1vzmgzf2apq7fnqqwpv9g0v2pch0"))))
(build-system python-build-system)
(inputs
`(("libevent" ,libevent)
@ -640,7 +643,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch
;; the system's dynamically linked library.
(package
(name "monero")
(version "0.17.2.0")
(version "0.17.2.3")
(source
(origin
(method git-fetch)
@ -665,7 +668,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch
(string-append all "\n#include <boost/mpl/contains.hpp>")))
#t))
(sha256
(base32 "0jwlmrpzisvw1c06cvd5b3s3hd4w0pa1qmrypfwah67qj3x6hnb6"))))
(base32 "0nax991fshfh51grhh2ryfrwwws35k16gzl1l3niva28zff2xmq6"))))
(build-system cmake-build-system)
(native-inputs
`(("doxygen" ,doxygen)
@ -755,7 +758,7 @@ the Monero command line client and daemon.")
(define-public monero-gui
(package
(name "monero-gui")
(version "0.17.2.2")
(version "0.17.2.3")
(source
(origin
(method git-fetch)
@ -772,7 +775,7 @@ the Monero command line client and daemon.")
(delete-file-recursively "monero")
#t))
(sha256
(base32 "0n7gfhm13y18ffqsqdajl4knd4h8m772fz6lh1lpkh198pwmw8f9"))))
(base32 "0qb746z1sxqrja7q9lqhhbm64v83sn67az4k7gs5q90iaw584qfc"))))
(build-system qt-build-system)
(native-inputs
`(,@(package-native-inputs monero)
@ -809,16 +812,11 @@ the Monero command line client and daemon.")
(substitute* "src/version.js.in"
(("@VERSION_TAG_GUI@")
,version))
(substitute* "src/zxcvbn-c/makefile"
(("\\?=") "="))
(substitute* "external/CMakeLists.txt"
(("add_library\\(quirc" all)
(string-append
"set(CMAKE_C_FLAGS \"${CMAKE_C_FLAGS} -fPIC\")\n"
all)))))
(add-before 'configure 'generate-zxcvbn-c-header
(lambda _
(invoke "make" "-C" "src/zxcvbn-c" "dict-src.h")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
@ -940,6 +938,30 @@ Ledger Blue/Nano S.")
(define-public python2-ledgerblue
(package-with-python2 python-ledgerblue))
(define-public python-btchip-python
(package
(name "python-btchip-python")
(version "0.1.32")
(source
(origin
(method url-fetch)
(uri (pypi-uri "btchip-python" version))
(sha256
(base32
"0mcg3gfd0qk8lhral3vy9cfd4pii9kzs42q71pf6b3y0c70y1x9l"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; those require PyQt4
(propagated-inputs
`(("python-ecdsa" ,python-ecdsa)
("python-hidapi" ,python-hidapi)))
(home-page "https://github.com/LedgerHQ/btchip-python")
(synopsis "Python library to communicate with Ledger Nano dongle")
(description
"This package provides a Python library to communicate with Ledger
Nano dongle.")
(license license:asl2.0)))
(define-public python-trezor
(package
(name "python-trezor")
@ -1025,12 +1047,7 @@ the KeepKey Hardware Wallet.")
("python-trezor-agent" ,python-trezor-agent)))
(home-page "https://github.com/romanz/trezor-agent")
(synopsis "Ledger as hardware SSH/GPG agent")
(description "This package allows using Ledger as hardware SSH/GPG agent.
Usage for SSH: trezor-agent foo@@example.com --connect
Usage for GPG: Initialize using trezor-gpg init \"Foo <foo@@example.com>\"
Then set the environment variable GNUPGHOME to
\"${HOME}/.gnupg/trezor\".")
(description "This package allows using Ledger as hardware SSH/GPG agent.")
(license license:lgpl3)))
(define-public trezor-agent
@ -1126,13 +1143,13 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
(define-public python-duniterpy
(package
(name "python-duniterpy")
(version "0.62.0")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "duniterpy" version))
(sha256
(base32 "1ldiw5j2g92cib9v06kgv4z8dw2zi0x1dmpisf8w78h4kg6712w1"))))
(base32 "13kp2ph7fb1cdkx1y6j2h8q33fj2akc104l77ng52cy4v8jic9nz"))))
(build-system python-build-system)
(arguments
;; FIXME: Tests fail with: "TypeError: block_uid() missing 1 required

View File

@ -6,7 +6,7 @@
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
@ -29,6 +29,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
@ -97,7 +98,7 @@ programmer devices.")
(define-public 0xffff
(package
(name "0xffff")
(version "0.8")
(version "0.9")
(source
(origin
(method git-fetch)
@ -106,16 +107,19 @@ programmer devices.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1a5b7k96vzirb0m8lqp7ldn77ppz4ngf56wslhsj2c6flcyvns4v"))))
(base32 "0rl1xzbxl991pm2is98zbryac1lgjrc3zphmbd8agv07av0r6r6n"))))
(build-system gnu-build-system)
(inputs
`(("libusb" ,libusb-0.1))) ; doesn't work with libusb-compat
;; Building with libusb-compat will succeed but the result will be broken.
;; See <https://github.com/pali/0xFFFF/issues/3>.
`(("libusb" ,libusb-0.1)))
(arguments
'(#:phases
`(#:phases
(modify-phases %standard-phases
(delete 'configure)) ; no configure
#:make-flags
(list "CC=gcc"
(list (string-append "CC=" ,(cc-for-target))
"HOST_CC=gcc"
"BUILD_DATE=GNU Guix"
(string-append "PREFIX=" %output))
#:tests? #f)) ; no 'check' target

View File

@ -432,7 +432,7 @@ a hardware description and verification language. ")
(define-public nvc
(package
(name "nvc")
(version "1.5.1")
(version "1.5.2")
(source (origin
(method git-fetch)
(uri (git-reference
@ -441,7 +441,7 @@ a hardware description and verification language. ")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0m1zhcqhgz5fajz98ky5zdv8g8gvk9caghqfpbv8q3mzdzahcsx5"))))
"1hjshyliaqi4vrw4q760rwmq6hvbpsvr2h4zl34k5j457004dy9l"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@ -450,8 +450,7 @@ a hardware description and verification language. ")
(modify-phases %standard-phases
(add-after 'unpack 'clean-up
(lambda _
(delete-file "autogen.sh")
#t)))))
(delete-file "autogen.sh"))))))
(native-inputs
`(("automake" ,automake)
("autoconf" ,autoconf)

View File

@ -25,6 +25,7 @@
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021 pineapples <guixuser6392@protonmail.com>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2021 Robby Zambito <contact@robbyzambito.me>
;;;
;;; This file is part of GNU Guix.
;;;
@ -2469,3 +2470,38 @@ seeks to add support for the screenshot, screencast, and possibly
remote-desktop @code{xdg-desktop-portal} interfaces for wlroots based
compositors.")
(license license:expat)))
(define-public waypipe
(package
(name "waypipe")
(version "0.8.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.freedesktop.org/mstoeckl/waypipe")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1qa47ljfvb1vv3h647xwn1j5j8gfmcmdfaz4j8ygnkvj36y87vnz"))))
(build-system meson-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-sleep-path
(lambda* (#:key inputs #:allow-other-keys)
(let ((coreutils (assoc-ref inputs "coreutils")))
(substitute* "./test/startup_failure.py"
(("sleep") (string-append coreutils "/bin/sleep")))))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("scdoc" ,scdoc)
;; For tests
("python" ,python)
("coreutils" ,coreutils)))
(home-page "https://gitlab.freedesktop.org/mstoeckl/waypipe")
(synopsis "Proxy for Wayland protocol applications")
(description
"Waypipe is a proxy for Wayland clients, with the aim of
supporting behavior like @samp{ssh -X}.")
(license license:expat)))

View File

@ -176,14 +176,14 @@ as required.")
(define-public libfilezilla
(package
(name "libfilezilla")
(version "0.30.0")
(version "0.31.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.filezilla-project.org/"
"libfilezilla/libfilezilla-" version ".tar.bz2"))
(sha256
(base32 "0h6wa1dfd14z9ai00a85pahsb4fs3rlb8haiw3vd9pmjrpdgcvf1"))))
(base32 "0vqn6gkwyin9hml39d74vcjcnbwlnk2cpc3msdlkhpq1ns3mhzcr"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@ -220,14 +220,14 @@ output.
(define-public filezilla
(package
(name "filezilla")
(version "3.55.0")
(version "3.55.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.filezilla-project.org/client/"
"FileZilla_" version "_src.tar.bz2"))
(sha256
(base32 "10lwmf6cvryw2gja6vj1zh2y55z4i38wsvxdpclvwdnih10ynw5f"))))
(base32 "19bnyx89jg0ll8a8mr4y8gp26gizs11ckgrwglh27zak3zhx1y37"))))
(build-system gnu-build-system)
(arguments
;; Don't let filezilla phone home to check for updates.
@ -260,14 +260,14 @@ directory comparison and more.")
(define-public vsftpd
(package
(name "vsftpd")
(version "3.0.4")
(version "3.0.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://security.appspot.com/downloads/"
"vsftpd-" version ".tar.gz"))
(sha256
(base32 "09kap2qsd80m0x80jv5224x002x2jkr584dksppcv9p84yyj353b"))))
(base32 "1lwipiq8q9qzvwv6f418fbvagpz0p6v0jjplkvcsc2sb8np05di6"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags

View File

@ -1480,6 +1480,57 @@ visual novels, while its Python scripting is enough for complex simulation
games.")
(license license:expat)))
(define-public python-pyxel
(package
(name "python-pyxel")
(version "1.4.3")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/kitao/pyxel")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0bwsgb5yq5s479cnf046v379zsn5ybp5195kbfvzr9l11qbaicm9"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "pyxel/core/bin")))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; "Tests" are actually example programs that never halt.
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-build-files
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "setup.py"
(("\"pyxel\\.core\\.bin\\.(.*)\"," all arch)
(if (string=? arch "linux")
all
"")))
(substitute* "pyxel/core/Makefile"
(("`sdl2-config")
(string-append "`sdl2-config --prefix="
(assoc-ref inputs "sdl2"))))))
(add-before 'build 'prebuild
(lambda _
(invoke "make" "-C" "pyxel/core"))))))
(inputs
`(("gifsicle" ,gifsicle)
("sdl2" ,(sdl-union (list sdl2 sdl2-image)))))
(native-inputs
`(("gcc" ,gcc-10))) ; for std::filesystem
(home-page "https://github.com/kitao/pyxel")
(synopsis "Retro game engine for Python")
(description "Pyxel is a game engine inspired by retro gaming consoles.
It has a fixed 16-color palette, can hold up to 3 image banks and 8 tilemaps
(256x256 pixels each) and 4 sound channels with 64 definable sounds. It
also comes with a built-in image and sound editor.")
(license license:expat)))
(define-public grafx2
(package
(name "grafx2")

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 John Darrington <jmd@gnu.org>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2016 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2014, 2015 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
@ -52,7 +52,7 @@
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020, 2021 Trevor Hass <thass@okstate.edu>
;;; Copyright © 2020 Trevor Hass <thass@okstate.edu>
;;; Copyright © 2020, 2021 Leo Prikler <leo.prikler@student.tugraz.at>
;;; Copyright © 2020 Lu hux <luhux@outlook.com>
;;; Copyright © 2020 Tomás Ortín Fernández <tomasortin@mailbox.org>
@ -131,6 +131,7 @@
#:use-module (gnu packages gnu-doc)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gnuzilla)
#:use-module (gnu packages golang)
#:use-module (gnu packages gperf)
#:use-module (gnu packages graphics)
#:use-module (gnu packages gsasl)
@ -878,7 +879,7 @@ high a score as possible.")
(define-public cataclysm-dda
(package
(name "cataclysm-dda")
(version "0.F")
(version "0.F-2")
(source
(origin
(method git-fetch)
@ -886,7 +887,7 @@ high a score as possible.")
(url "https://github.com/CleverRaven/Cataclysm-DDA")
(commit version)))
(sha256
(base32 "1jid8lcl04y768b3psj1ifhx96lmd6fn1j2wzxhl4ic7ra66p2z3"))
(base32 "1wzsri6rh2fm7078hw0y4x7lqjs6ak4a66d05szfiinnxyn4w1ph"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@ -3578,158 +3579,6 @@ enemies in different game modes such as space ball, death match, team death
match, cannon keep, and grave-itation pit.")
(license license:gpl3+))))
(define-public minetest
(package
(name "minetest")
(version "5.4.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/minetest/minetest")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"062ilb7s377q3hwfhl8q06vvcw2raydz5ljzlzwy2dmyzmdcndb8"))
(modules '((guix build utils)))
(snippet
'(begin
;; Delete bundled libraries.
(delete-file-recursively "lib")
#t))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list "-DRUN_IN_PLACE=0"
"-DENABLE_FREETYPE=1"
"-DENABLE_GETTEXT=1"
"-DENABLE_SYSTEM_JSONCPP=TRUE"
(string-append "-DIRRLICHT_INCLUDE_DIR="
(assoc-ref %build-inputs "irrlicht")
"/include/irrlicht")
(string-append "-DCURL_INCLUDE_DIR="
(assoc-ref %build-inputs "curl")
"/include/curl"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-sources
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/filesys.cpp"
;; Use store-path for "rm" instead of non-existing FHS path.
(("\"/bin/rm\"")
(string-append "\"" (assoc-ref inputs "coreutils") "/bin/rm\"")))
(substitute* "src/CMakeLists.txt"
;; Let minetest binary remain in build directory.
(("set\\(EXECUTABLE_OUTPUT_PATH .*\\)") ""))
(substitute* "src/unittest/test_servermodmanager.cpp"
;; do no override MINETEST_SUBGAME_PATH
(("(un)?setenv\\(\"MINETEST_SUBGAME_PATH\".*\\);")
"(void)0;"))
(setenv "MINETEST_SUBGAME_PATH"
(string-append (getcwd) "/games")) ; for check
#t))
(replace 'check
(lambda _
;; Thanks to our substitutions, the tests should also run
;; when invoked on the target outside of `guix build'.
(unless ,(%current-target-system)
(setenv "HOME" "/tmp")
(invoke "src/minetest" "--run-unittests"))
#t)))))
(native-search-paths
(list (search-path-specification
(variable "MINETEST_SUBGAME_PATH")
(files '("share/minetest/games")))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("coreutils" ,coreutils)
("curl" ,curl)
("freetype" ,freetype)
("gettext" ,gettext-minimal)
("gmp" ,gmp)
("irrlicht" ,irrlicht)
("jsoncpp" ,jsoncpp)
("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libogg" ,libogg)
("libvorbis" ,libvorbis)
("libxxf86vm" ,libxxf86vm)
("luajit" ,luajit)
("mesa" ,mesa)
("ncurses" ,ncurses)
("openal" ,openal)
("sqlite" ,sqlite)))
(propagated-inputs
`(("minetest-data" ,minetest-data)))
(synopsis "Infinite-world block sandbox game")
(description
"Minetest is a sandbox construction game. Players can create and destroy
various types of blocks in a three-dimensional open world. This allows
forming structures in every possible creation, on multiplayer servers or as a
single player. Mods and texture packs allow players to personalize the game
in different ways.")
(home-page "https://www.minetest.net/")
(license license:lgpl2.1+)))
(define minetest-data
(package
(name "minetest-data")
(version (package-version minetest))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/minetest/minetest_game")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0i45lbnikvgj9kxdp0yphpjjwjcgp4ibn49xkj78j5ic1s9n8jd4"))))
(build-system trivial-build-system)
(native-inputs
`(("source" ,source)))
(arguments
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils))
(let ((install-dir (string-append
%output
"/share/minetest/games/minetest_game")))
(mkdir-p install-dir)
(copy-recursively
(assoc-ref %build-inputs "source")
install-dir)
#t))))
(synopsis "Main game data for the Minetest game engine")
(description
"Game data for the Minetest infinite-world block sandbox game.")
(home-page "https://www.minetest.net/")
(license license:lgpl2.1+)))
(define-public minetest-mineclone
(package
(name "minetest-mineclone")
(version "0.71.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.minetest.land/Wuzzy/MineClone2")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0qm809dqvxc7pa1cr9skmglq9vrbq5hhm4c4m5yi46ldh1v96dgf"))))
(build-system copy-build-system)
(arguments
`(#:install-plan
'(("." "share/minetest/games/mineclone"))))
(synopsis "Minecraft clone based on Minetest engine")
(description
"MineClone is a Minetest subgame, that aims to recreate Minecraft as
closely as the engine allows.")
(home-page "https://content.minetest.net/packages/Wuzzy/mineclone2/")
(license license:gpl3+)))
(define glkterm
(package
(name "glkterm")
@ -7402,7 +7251,7 @@ Github or Gitlab.")
(define-public colobot
(package
(name "colobot")
(version "0.1.12-alpha")
(version "0.2.0-alpha")
(source
(origin
(method git-fetch)
@ -7412,8 +7261,7 @@ Github or Gitlab.")
(recursive? #t))) ;for "data/" subdir
(file-name (git-file-name name version))
(sha256
(base32
"1c181cclkrnspgs07lvndg2c81cjq3smkv7qim8c470cj88rcrp2"))))
(base32 "02z21pw47j2afjsikn5b162gacwgiahdrlhmfxhq4xqlzsvz58z6"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no test
@ -9503,10 +9351,65 @@ and bring the war to your enemy.")
license:expat license:fdl1.3+ license:public-domain
license:zlib))))
(define-public go-github-com-anaseto-gruid
(package
(name "go-github-com-anaseto-gruid")
(version "0.21.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/anaseto/gruid")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0rvsavkvg2hziwdh8sjk3n5v92m5mfjb8v9m7ch22maxfwq5kv6y"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/anaseto/gruid"))
(propagated-inputs
`(("go-golang-org-x-image" ,go-golang-org-x-image)))
(home-page "https://github.com/anaseto/gruid")
(synopsis "Cross-platform grid-based UI and game framework")
(description "The gruid module provides packages for easily building
grid-based applications in Go. The library abstracts rendering and input for
different platforms. There are drivers available for terminal apps, native
graphical apps and browser apps. The original application for the library was
creating grid-based games, but it's also well suited for any grid-based
application.")
(license license:isc)))
(define-public go-github-com-anaseto-gruid-tcell
(package
(name "go-github-com-anaseto-gruid-tcell")
(version "0.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/anaseto/gruid-tcell")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"09ajr9mbldjfc44qprplbf8dr8yhlbn2nfnas2z62m9wmklc0qiv"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/anaseto/gruid-tcell"))
(propagated-inputs
`(("go-github-com-gdamore-tcell-v2" ,go-github-com-gdamore-tcell-v2)
("go-github-com-anaseto-gruid" ,go-github-com-anaseto-gruid)))
(home-page "https://github.com/anaseto/gruid-tcell")
(synopsis "Gruid driver using the tcell library")
(description "The gruid-tcell module provides a Gruid driver for building
terminal full-window applications.")
(license license:isc)))
(define-public harmonist
(package
(name "harmonist")
(version "0.3.0")
(version "0.4.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -9515,12 +9418,15 @@ and bring the war to your enemy.")
(file-name (git-file-name name version))
(sha256
(base32
"146wiyanag0zqj6fhyll2sw6sydnnll8mgxhhqf9sjqsl2rx4s5r"))))
"17ai39pw9xq4asfvhs0whx07hljlivygazbwrxjrnxwrn06483hr"))))
(build-system go-build-system)
(arguments
'(#:import-path "git.tuxfamily.org/harmonist/harmonist"))
(inputs
`(("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go)))
`(("go-github-com-gdamore-tcell-v2" ,go-github-com-gdamore-tcell-v2)
("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go)
("go-github-com-anaseto-gruid" ,go-github-com-anaseto-gruid)
("go-github-com-anaseto-gruid-tcell" ,go-github-com-anaseto-gruid-tcell)))
(home-page "https://harmonist.tuxfamily.org/")
(synopsis "Stealth coffee-break roguelike game")
(description "Harmonist: Dayoriah Clan Infiltration is a stealth
@ -9531,26 +9437,6 @@ the game avoids complex inventory management and character building, relying
on items and player adaptability for character progression.")
(license license:isc)))
(define-public harmonist-tk
(package
(inherit harmonist)
(name "harmonist-tk")
(arguments
(append
(package-arguments harmonist)
`(#:phases
(modify-phases %standard-phases
(replace 'build
(lambda _
(invoke "go" "install" "-v" "-x" "--tags" "tk"
"git.tuxfamily.org/harmonist/harmonist")))
(replace 'check
(lambda _
(invoke "go" "test" "--tags" "tk"
"git.tuxfamily.org/harmonist/harmonist")))))))
(inputs
`(("go-github.com-nsf-gothic" ,go-github.com-nsf-gothic)))))
(define-public drascula
(package
(name "drascula")
@ -10161,7 +10047,7 @@ remake of that series or any other game.")
`(("googletest" ,googletest)))
(inputs
`(("boost" ,boost)
("ocl-icd" ,ocl-icd)
("opencl-icd-loader" ,opencl-icd-loader)
("openblas" ,openblas)
("opencl-headers" ,opencl-headers)
("qtbase" ,qtbase-5)

View File

@ -16,6 +16,7 @@
;;; Copyright © 2020, 2021 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1359,7 +1360,7 @@ an independent project by the JOSM team.")
(define-public java-opening-hours-parser
(package
(name "java-opening-hours-parser")
(version "0.21.4")
(version "0.23.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1368,7 +1369,7 @@ an independent project by the JOSM team.")
(file-name (git-file-name name version))
(sha256
(base32
"1m8sp0jbjyv1nq3ddj8rk6rf3sva3mkacc6vw7rsj0c2n57k3i50"))))
"0yhbd2ix6h506aljh0jkrnp28m4xcqdcdpnqm30fn08kawdgxgsh"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "java-opening-hours-parser.jar"
@ -1404,7 +1405,7 @@ to the OSM opening hours specification.")
(define-public josm
(package
(name "josm")
(version "17329")
(version "18118")
(source (origin
(method svn-fetch)
(uri (svn-reference
@ -1413,7 +1414,7 @@ to the OSM opening hours specification.")
(recursive? #f)))
(sha256
(base32
"0bq6mirdsi0kmhjfzfp3innxi5a4395d7mas7ikxaz0cziljrz1i"))
"0109ddpxilm7f57n1kl4nf4lw0lh7jfmhfwf724nzlcz4k23mrs0"))
(file-name (string-append name "-" version "-checkout"))
(modules '((guix build utils)))
(snippet
@ -1429,6 +1430,7 @@ to the OSM opening hours specification.")
("java-jmapviewer" ,java-jmapviewer)
("java-jsonp-api" ,java-jsonp-api)
("java-jsonp-impl" ,java-jsonp-impl); runtime dependency
("java-jsr305" ,java-jsr305)
("java-metadata-extractor" ,java-metadata-extractor)
("java-opening-hours-parser" ,java-opening-hours-parser)
("java-openjfx-media" ,java-openjfx-media)
@ -1458,7 +1460,8 @@ to the OSM opening hours specification.")
;; which has renamed its classes to another namespace. Rename them
;; back so they can be used with our version of jcs.
(substitute* (find-files "." ".*.java$")
(("jcs3") "jcs"))
(("jcs3") "jcs")
(("ICache.NAME_COMPONENT_DELIMITER") "\":\""))
#t))
(add-before 'build 'fix-classpath
(lambda* (#:key inputs #:allow-other-keys)

View File

@ -742,7 +742,7 @@ OpenGL graphics API.")
(define-public libglvnd
(package
(name "libglvnd")
(version "1.3.3")
(version "1.3.4")
(home-page "https://gitlab.freedesktop.org/glvnd/libglvnd")
(source (origin
(method git-fetch)
@ -752,7 +752,7 @@ OpenGL graphics API.")
(file-name (git-file-name name version))
(sha256
(base32
"0gjk6m3gkdm12bmih2jflp0v5s1ibkixk7mrzrk0cj884m3hy1z6"))))
"0phvgg2h3pcz3x39gaymwb37bnw1s26clq9wsj0zx398zmp3dwpk"))))
(build-system meson-build-system)
(arguments
'(#:configure-flags '("-Dx11=enabled")
@ -764,8 +764,7 @@ OpenGL graphics API.")
;; require a running Xorg server.
(substitute* "tests/meson.build"
(("if with_glx")
"if false"))
#t)))))
"if false")))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs

View File

@ -10,6 +10,7 @@
;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
;;; Copyright © 2020 Ellis Kenyo <me@elken.dev>
;;; Copyright © 2020 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -848,7 +849,7 @@ variants.")
(define-public markets
(package
(name "markets")
(version "0.4.0")
(version "0.5.2")
(source
(origin
(method git-fetch)
@ -858,7 +859,7 @@ variants.")
(file-name (git-file-name name version))
(sha256
(base32
"1jzv74l2jkdiqy1hp0ww5yla50dmrvjw7fgkmb26ynblr1nb3rrb"))))
"0nk1bs7i6b7r90g5qwd3s2m462vk3kvza0drq7rzb5sdaiz9ccnz"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
@ -868,19 +869,18 @@ variants.")
;; Don't create 'icon-theme.cache'.
(lambda _
(substitute* "build-aux/meson/postinstall.py"
(("gtk-update-icon-cache") "true"))
#t))
(("gtk-update-icon-cache") "true"))))
(add-after 'unpack 'skip-update-desktop-database
;; Don't update desktop file database.
(lambda _
(substitute* "build-aux/meson/postinstall.py"
(("update-desktop-database") "true"))
#t)))))
(("update-desktop-database") "true")))))))
(inputs
`(("gtk3" ,gtk+)
("gettext" ,gettext-minimal)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("libgee" ,libgee)
("libhandy0" ,libhandy-0.0)
("libhandy" ,libhandy)
("libsoup" ,libsoup)
("json-glib" ,json-glib)
("vala" ,vala)))
@ -892,7 +892,7 @@ variants.")
(description
"Markets is a GTK application that displays financial data, helping users
track stocks, currencies and cryptocurrencies.")
(license license:gpl3)))
(license license:gpl3+)))
(define-public vala-language-server
(package

View File

@ -7957,7 +7957,7 @@ Cisco's AnyConnect SSL VPN.")
(define-public network-manager-applet
(package
(name "network-manager-applet")
(version "1.20.0")
(version "1.22.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/network-manager-applet/"
@ -7965,7 +7965,7 @@ Cisco's AnyConnect SSL VPN.")
"network-manager-applet-" version ".tar.xz"))
(sha256
(base32
"0lsjkbv66hn7acl2pg9h6hz4b700zzv4cjwrwjvy7043blw0bcla"))))
"1gj6lqqi613j2m49v9i82lqg1rv7kwwc8z4nxjcwpaa0ins803f7"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
@ -9953,6 +9953,38 @@ detailed properties. It is an easy way to find the character you might
only know by its Unicode name or code point.")
(license license:gpl3+))))
(define-public gcolor3
(package
(name "gcolor3")
(version "2.4.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.gnome.org/World/gcolor3")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1igqmach1vhcrvbpw346pmkbb5kabbb806ssswrvkp569n700wmc"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t))
(native-inputs
`(("desktop-file-utils" ,desktop-file-utils)
("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gtk+:bin" ,gtk+ "bin")
("pkg-config" ,pkg-config)))
(inputs
`(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gtk+" ,gtk+)
("libportal" ,libportal)))
(home-page "https://www.hjdskes.nl/projects/gcolor3/")
(synopsis "Simple color chooser written in GTK3")
(description "Color Picker is a simple color chooser written in GTK3. It
supports both X and Wayland display servers.")
(license license:gpl2+)))
(define-public bluefish
(package
(name "bluefish")

View File

@ -6,7 +6,7 @@
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016, 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2016 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2016 Mike Gerwitz <mtg@gnu.org>

View File

@ -15,6 +15,7 @@
;;; Copyright © 2019, 2020 Adrian Malacoda <malacoda@monarch-pass.net>
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@ -907,6 +908,7 @@ from forcing GEXP-PROMISE."
;; UNBUNDLE-ME! ("nss" ,nss)
("shared-mime-info" ,shared-mime-info)
;; UNBUNDLE-ME! ("sqlite" ,sqlite)
("eudev" ,eudev)
("unzip" ,unzip)
("zip" ,zip)
;; UNBUNDLE-ME! ("zlib" ,zlib)
@ -1268,24 +1270,21 @@ from forcing GEXP-PROMISE."
(lib (string-append out "/lib"))
(gtk (assoc-ref inputs "gtk+"))
(gtk-share (string-append gtk "/share"))
(mesa (assoc-ref inputs "mesa"))
(mesa-lib (string-append mesa "/lib"))
(pulseaudio (assoc-ref inputs "pulseaudio"))
(pulseaudio-lib (string-append pulseaudio "/lib"))
(libxscrnsaver (assoc-ref inputs "libxscrnsaver"))
(libxscrnsaver-lib (string-append libxscrnsaver "/lib"))
(mit-krb5 (assoc-ref inputs "mit-krb5"))
(mit-krb5-lib (string-append mit-krb5 "/lib")))
(ld-libs (map (lambda (lib)
(string-append (assoc-ref inputs lib)
"/lib"))
'("libxscrnsaver"
"mesa"
"mit-krb5"
"eudev"
"pulseaudio"))))
(wrap-program (car (find-files lib "^icecat$"))
`("XDG_DATA_DIRS" prefix (,gtk-share))
;; The following line is commented out because the icecat
;; package on guix has been observed to be unstable when
;; using wayland, and the bundled extensions stop working.
;; `("MOZ_ENABLE_WAYLAND" = ("1"))
`("LD_LIBRARY_PATH" prefix (,pulseaudio-lib
,mesa-lib
,libxscrnsaver-lib
,mit-krb5-lib)))
`("LD_LIBRARY_PATH" prefix ,ld-libs))
#t))))))
(home-page "https://www.gnu.org/software/gnuzilla/")
(synopsis "Entirely free browser derived from Mozilla Firefox")

View File

@ -29,6 +29,7 @@
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2021 jgart <jgart@dismail.de>
;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -5259,7 +5260,38 @@ non-UTF-friendly sources.")
terminfo capability strings to avoid hard-coding escape strings for
formatting. It also favors portability, and includes support for all POSIX
systems.")
(license license:expat))))
(license license:asl2.0))))
(define-public go-github-com-gdamore-tcell-v2
(package
(inherit go-github-com-gdamore-tcell)
(name "go-github-com-gdamore-tcell")
(version "2.3.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gdamore/tcell")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0ypbl5080q9sd3irad8mv7zlg4242i8pmg5xyhbyq95kymwibaid"))))
(arguments
`(#:import-path "github.com/gdamore/tcell/v2"
#:phases
(modify-phases %standard-phases
(add-before 'reset-gzip-timestamps 'make-files-writable
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure .gz files are writable so that the
;; 'reset-gzip-timestamps' phase can do its work.
(let ((out (assoc-ref outputs "out")))
(for-each make-file-writable
(find-files out "\\.gz$"))))))))
(propagated-inputs
`(("go-golang-org-x-term" ,go-golang-org-x-term)
("go-golang-org-x-sys" ,go-golang-org-x-sys)
,@(package-inputs go-github-com-gdamore-tcell)))))
(define-public go-github-com-mattn-go-shellwords
(let ((commit "2444a32a19f450fabaa0bb3e96a703f15d9a97d2")
@ -8401,3 +8433,71 @@ zero round-trip encryption, and other advanced features.")
(synopsis "Go compression library")
(description "@code{compress} provides various compression algorithms.")
(license license:bsd-3)))
(define-public go-github-com-oneofone-xxhash
(package
(name "go-github-com-oneofone-xxhash")
(version "1.2.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/OneOfOne/xxhash")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0f98qk83l2fhpclvrgyxsa9b8m4pipf11fah85bnjl01wy4lvybw"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/OneOfOne/xxhash"))
(home-page "https://github.com/OneOfOne/xxhash")
(synopsis "Go implementation of xxHash")
(description "This is a native Go implementation of the
@url{https://github.com/Cyan4973/xxHash, xxHash} algorithm, an extremely fast
non-cryptographic hash algorithm, working at speeds close to RAM limits.")
(license license:asl2.0)))
(define-public go-github-com-aswinkarthik-csvdiff
(package
(name "go-github-com-aswinkarthik-csvdiff")
(version "1.4.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aswinkarthik/csvdiff")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0cd1ikxsypjqisfnmr7zix3g7x8p892w77086465chyd39gpk97b"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/aswinkarthik/csvdiff"))
(propagated-inputs
`(("go-golang-org-x-sys" ,go-golang-org-x-sys)
("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify)
("go-github-com-spf13-cobra" ,go-github-com-spf13-cobra)
("go-github-com-spf13-afero" ,go-github-com-spf13-afero)
("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
("go-github-com-mattn-go-colorable" ,go-github-com-mattn-go-colorable)
("go-github-com-fatih-color" ,go-github-com-fatih-color)
("go-github-com-cespare-xxhash" ,go-github-com-cespare-xxhash)
("go-github-com-oneofone-xxhash" ,go-github-com-oneofone-xxhash)))
(home-page "https://github.com/aswinkarthik/csvdiff")
(synopsis "Fast diff tool for comparing CSV files")
(description "@code{csvdiff} is a diff tool to compute changes between two
CSV files. It can compare CSV files with a million records in under 2
seconds. It is specifically suited for comparing CSV files dumped from
database tables. GNU Diff is orders of magnitude faster for comparing line by
line. @code{csvdiff} supports
@itemize
@item Selective comparison of fields in a row
@item Specifying group of columns as primary-key to uniquely identify a row
@item Ignoring columns
@item Several output formats including colored git style output or
JSON for post-processing
@end itemize")
(license license:expat)))

View File

@ -49,7 +49,7 @@
(define-public gpodder
(package
(name "gpodder")
(version "3.10.20")
(version "3.10.21")
(source
(origin
(method git-fetch)
@ -57,7 +57,7 @@
(url "https://github.com/gpodder/gpodder")
(commit version)))
(sha256
(base32 "0lwf1lm20q6i8xbbva1g4arbinyxca10865dn19p5kr1b3gvmxqh"))
(base32 "0n73jm5ypsj962gpr0dk10lqh83giqsczm63wchyhmrkyf1wgga1"))
(file-name (git-file-name name version))
(patches (search-patches "gpodder-disable-updater.patch"))))
(build-system python-build-system)

View File

@ -1,7 +1,7 @@
;;; 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 © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2015, 2017 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com>
@ -9,7 +9,7 @@
;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016, 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
;;; Copyright © 2016, 2021 Amirouche <amirouche@hypermove.net>
;;; Copyright © 2016, 2019 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2019, 2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2017 David Thompson <davet@gnu.org>
;;; Copyright © 2017, 2018, 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
@ -17,7 +17,7 @@
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017, 2018, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018, 2019, 2020, 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2019 swedebugia <swedebugia@riseup.net>
@ -128,14 +128,14 @@
(define-public artanis
(package
(name "artanis")
(version "0.4.1")
(version "0.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/artanis/artanis-"
version ".tar.gz"))
(sha256
(base32
"0nnmdfx5xwcc3kck64var7msz7g3qk817d7bv9l159nkmic0v9w4"))
"1vk1kp2xhz35xa5n27cxlq9c88wk6qm7fqaac8rb0pb6k9pvsv7v"))
(modules '((guix build utils)))
(snippet
'(begin
@ -167,26 +167,36 @@
#t))))
(build-system gnu-build-system)
(inputs
`(("guile" ,guile-2.2)
`(("guile" ,guile-3.0)
("nspr" ,nspr)
("nss" ,nss)))
;; FIXME the bundled csv contains one more exported procedure
;; (sxml->csv-string) than guile-csv. The author is maintainer of both
;; projects.
;; TODO: Add guile-dbi and guile-dbd optional dependencies.
(propagated-inputs
`(("guile-json" ,guile-json-1) ; This is already using guile-2.2.
("guile-readline" ,guile2.2-readline)
("guile-redis" ,guile2.2-redis)))
`(("guile-json" ,guile-json-3)
("guile-readline" ,guile-readline)
("guile-redis" ,guile-redis)))
(native-inputs
`(("bash" ,bash) ;for the `source' builtin
("pkgconfig" ,pkg-config)
("util-linux" ,util-linux))) ;for the `script' command
(arguments
'(#:make-flags
`(#:modules (((guix build guile-build-system)
#:select (target-guile-effective-version))
,@%gnu-build-system-modules)
#:imported-modules ((guix build guile-build-system)
,@%gnu-build-system-modules)
#:make-flags
;; TODO: The documentation must be built with the `docs' target.
(let* ((out (assoc-ref %outputs "out"))
(scm (string-append out "/share/guile/site/2.2"))
(go (string-append out "/lib/guile/2.2/site-ccache")))
;; We pass guile explicitly here since this executes before the
;; set-paths phase and therefore guile is not yet in PATH.
(effective-version (target-guile-effective-version
(assoc-ref %build-inputs "guile")))
(scm (string-append out "/share/guile/site/" effective-version))
(go (string-append out "/lib/guile/" effective-version "/site-ccache")))
;; Don't use (%site-dir) for site paths.
(list (string-append "MOD_PATH=" scm)
(string-append "MOD_COMPILED_PATH=" go)))
@ -199,7 +209,9 @@
(("\\(%site-dir\\)")
(string-append "\""
(assoc-ref outputs "out")
"/share/guile/site/2.2\"")))))
"/share/guile/site/"
(target-guile-effective-version)
"\"")))))
(add-after 'unpack 'patch-reference-to-libnss
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "artanis/security/nss.scm"
@ -207,8 +219,10 @@
(string-append
"ffi-binding \""
(assoc-ref inputs "nss") "/lib/nss/libnss3.so"
"\"")))
#t))
"\""))
(("ffi-binding \"libssl3\"")
(string-append
"ffi-binding \"" (assoc-ref inputs "nss") "/lib/nss/libssl3.so\"")))))
(add-before 'install 'substitute-root-dir
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@ -216,20 +230,20 @@
((" /etc/bash.bashrc") " /dev/null"))
(substitute* "Makefile" ;set the root of config files to OUT
((" /etc") (string-append " " out "/etc")))
(mkdir-p (string-append out "/bin")) ;for the `art' executable
#t)))
(mkdir-p (string-append out "/bin")) )))
(add-after 'install 'wrap-art
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(effective-version (target-guile-effective-version))
(bin (string-append out "/bin"))
(scm (string-append out "/share/guile/site/2.2"))
(go (string-append out "/lib/guile/2.2/site-ccache")))
(scm (string-append out "/share/guile/site/" effective-version))
(go (string-append out "/lib/guile/" effective-version
"/site-ccache")))
(wrap-program (string-append bin "/art")
`("GUILE_LOAD_PATH" ":" prefix
(,scm ,(getenv "GUILE_LOAD_PATH")))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix
(,go ,(getenv "GUILE_LOAD_COMPILED_PATH"))))
#t))))))
(,go ,(getenv "GUILE_LOAD_COMPILED_PATH"))))))))))
(synopsis "Web application framework written in Guile")
(description "GNU Artanis is a web application framework written in Guile
Scheme. A web application framework (WAF) is a software framework that is
@ -741,6 +755,29 @@ HTML (via SXML) or any other format for rendering.")
(home-page "https://dthompson.us/projects/guile-syntax-highlight.html")
(license license:lgpl3+)))
;; gitile requires a more recent version than the latest release.
(define-public guile-syntax-highlight-for-gitile
(let ((commit "897fa5156ff41588e0d281eb00e4e94de63ccd8a")
(revision "0"))
(package
(inherit guile-syntax-highlight)
(version (git-version "0.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.dthompson.us/guile-syntax-highlight.git")
(commit commit)))
(file-name (git-file-name "guile-syntax-highlight" version))
(sha256
(base32
"18zlg4mkgd3swgv2ggfz91ivnnzc0zhvc9ybgrxg1y762va9hyvj"))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("texinfo" ,texinfo)
,@(package-native-inputs guile-syntax-highlight)))
(properties '((hidden? . #t))))))
(define-public guile2.2-syntax-highlight
(package
(inherit guile-syntax-highlight)
@ -4088,42 +4125,29 @@ Relay Chat} (IRC).")
(license license:lgpl2.1+))))
(define-public guile-websocket
(let ((commit "c854e0f84a40d972cbd532bbb89c97ca0126a7cf"))
(let ((commit "d17878f6c12c10a49196bb08f737f36b11e61c31")
(revision "1"))
(package
(name "guile-websocket")
(version "0.1")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "git://dthompson.us/guile-websocket.git")
(url "https://git.dthompson.us/guile-websocket.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1hymvsfrmq9qxr5cxnsgdz7y757yp1cpsgxmdp3f5wxxxpqgsmzx"))))
"0kcmhjyb6amm4b9k4ng0r5s38m041mvh5jgmjbz6ichz39k255v7"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags
'("GUILE_AUTO_COMPILE=0")
#:phases
(modify-phases %standard-phases
;; The package was developed for Guile 2.0 and has this version
;; hardcoded in the configure.ac and Makefile.am files. Substitute
;; 3.0 instead so it can support Guile 3.0.
(add-after 'unpack 'update-guile-version
(lambda _
(substitute* "configure.ac"
(("2.0.9") "3.0.0"))
(substitute* "Makefile.am"
(("2.0") "3.0")
;; Install .go files where they belong.
(("/ccache") "/site-ccache"))
#t)))))
'("GUILE_AUTO_COMPILE=0")))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
("automake" ,automake)
("pkg-config" ,pkg-config)))
(inputs
`(("guile" ,guile-3.0)))
(synopsis "Websocket server/client for Guile")

View File

@ -3,7 +3,7 @@
;;; Copyright © 2014 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2016, 2018 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2015, 2017 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>

View File

@ -4,6 +4,7 @@
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Evgeny Pisemsky <evgeny@pisemsky.com>
;;; Copyright © 2021 Léo Le Bouter <lle-bout@zaclys.net>
;;; Copyright © 2021 Denis Carikli <GNUtoo@cyberdimension.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -38,11 +39,14 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages openldap)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages polkit)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
@ -51,8 +55,10 @@
#:use-module (gnu packages xorg)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix svn-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils))
@ -169,6 +175,46 @@ through the Display Data Channel Command Interface (@dfn{DDC/CI}) protocol.")
human-readable format and checks if it conforms to the standards.")
(license license:expat))))
(define-public h-client
(let ((version "0.0a0")
(revision 138))
(package
(name "h-client")
(version (string-append version "-" (number->string revision)))
(source
(origin
(method svn-fetch)
(uri
(svn-reference
(url "https://svn.savannah.nongnu.org/svn/h-client/trunk/h-client")
(revision revision)))
(file-name (git-file-name name version))
(sha256
(base32 "1pdd2qhyaa5vh7z4rkpwjlby1flkwhzmp8zlglalx5y5sv95l4kp"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2
;; Tests depends on /etc/os-release which does not exist in the
;; build container.
#:tests? #f))
(inputs
`(("python2" ,python-2)
("python2-pycurl", python2-pycurl)
("python2-pygtk", python2-pygtk)
("pciutils", pciutils)
("usbutils", usbutils)))
(synopsis "Graphical client for the h-node hardware database
project")
(description
"The h-node project (https://www.h-node.org) aims to build a database of
hardware that works with fully free operating systems.
h-client is a GTK+ graphical client that is able to retrieves information on
the hardware inside the computer it's running on, and on peripherals connected
to it, and help you submit that information to the h-node project along with
whether the hardware works with a fully free operating system or not.")
(home-page "https://savannah.nongnu.org/projects/h-client/")
(license license:gpl3+))))
(define-public i7z
(let ((revision "0")
(commit "1a41ff13db747e962456ddbb5ccb2b7fc43ca0cb"))

View File

@ -344,14 +344,14 @@ to @code{cabal repl}).")
(define-public git-annex
(package
(name "git-annex")
(version "8.20210803")
(version "8.20210903")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"git-annex/git-annex-" version ".tar.gz"))
(sha256
(base32 "0777q454bgkzr930wacn48xm6ygi4i6rxsizvxjm3a0dlffnv3b2"))))
(base32 "1p6zgk98jmxvqdin5xsdxhgq276bjdr2spi0wabj8x0ziry97rvl"))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags

View File

@ -27,7 +27,7 @@
;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
;;; Copyright © 2020 Carlo Holl <carloholl@gmail.com>
;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org>
;;; Copyright © 2020 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;;
;;; This file is part of GNU Guix.
;;;

View File

@ -249,7 +249,7 @@ YouTube videos without requiring API and opens/downloads them using mpv/ytdl.")
(define-public feh
(package
(name "feh")
(version "3.6.3")
(version "3.7.1")
(home-page "https://feh.finalrewind.org/")
(source (origin
(method url-fetch)
@ -257,7 +257,7 @@ YouTube videos without requiring API and opens/downloads them using mpv/ytdl.")
name "-" version ".tar.bz2"))
(sha256
(base32
"1d13x8hmvpdc5f5rj4l29ha7iz7wvqxjlvh6il04wq8igzrj0x23"))))
"1djqjagp7k9rris1p8wgz0q8albgsd8gasc0hyanbjap3yk1rasp"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases (delete 'configure))

View File

@ -30,6 +30,7 @@
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@ -61,6 +62,7 @@
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gcc)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gimp)
#:use-module (gnu packages gl)
@ -1358,19 +1360,24 @@ channels.")
(define-public exiv2
(package
(name "exiv2")
(version "0.27.3")
(version "0.27.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.exiv2.org/builds/exiv2-" version
"-Source.tar.gz"))
(sha256
(base32 "0y77wfadjsrcxijdqgkr3q88b6mm9y3rg8kqsmaig8iah49md7x7"))))
(base32 "0klhxkxvkzzzcqpzv8jb56pykq0gyhb6rk9vc2kzjahngjx6sdl4"))))
(build-system cmake-build-system)
(arguments '(#:tests? #f)) ; no test suite
(arguments
'(#:test-target "tests"
#:configure-flags (list "-DEXIV2_BUILD_UNIT_TESTS=ON")))
(propagated-inputs
`(("expat" ,expat)
("zlib" ,zlib)))
(native-inputs
`(("googletest" ,googletest)
("python" ,python)))
(home-page "https://www.exiv2.org/")
(synopsis "Library and command-line utility to manage image metadata")
(description
@ -2051,6 +2058,30 @@ SNG is implemented by a compiler/decompiler called sng that
losslessly translates between SNG and PNG.")
(license license:zlib)))
(define-public blurhash
(package
(name "blurhash")
(version "0.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Nheko-Reborn/blurhash")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0jy2iigarskwfhskyladbb6l92x1fb3i3vz4bvcks0za4w5hfxk5"))))
(build-system meson-build-system)
(native-inputs
`(("cmake" ,cmake)
("doctest" ,doctest)
("gcc" ,gcc-8)))
(home-page "https://github.com/Nheko-Reborn/blurhash")
(synopsis "C++ blurhash encoder/decoder")
(description "Simple encoder and decoder for blurhashes. Contains a
command line program as well as a shared library.")
(license license:boost1.0)))
(define-public lodepng
;; There are no tags in the repository, so we take the version as defined in
;; lodepng.cpp.

View File

@ -41,7 +41,7 @@
(define-public cjson
(package
(name "cjson")
(version "1.7.14")
(version "1.7.15")
(source (origin
(method git-fetch)
(uri (git-reference
@ -49,7 +49,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1rlnailhjm180zb6pc17jwphjwivw8kfpqgixjfgq4iyryq46sah"))))
(base32 "0lmq7sx09rmsirimbyvaaia44i134ppkp10cw1d2rygr76k9qwq2"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DENABLE_CJSON_UTILS=On")))

View File

@ -29,11 +29,13 @@
#:use-module (gnu packages check)
#:use-module (gnu packages cpp)
#:use-module (gnu packages linux)
#:use-module (gnu packages monitoring)
#:use-module (gnu packages networking)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages python-web)
#:use-module (gnu packages rdf)
@ -249,6 +251,73 @@ Jupyter Python packages that require a pre-build step that may include
JavaScript build steps.")
(license license:bsd-3)))
(define-public python-jupyter-server
(package
(name "python-jupyter-server")
(version "1.10.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "jupyter_server" version))
(sha256
(base32
"1gvjbsw5nl94hz02rnkr4g4kkvh9fz7i45vz17hzwyvdpj7bd8yk"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
(let ((home (string-append (getcwd) "/guix-home")))
(setenv "HOME" home))
;; Add jupyter-server executable to PATH.
(setenv "PATH"
(string-append (assoc-ref outputs "out") "/bin:"
(getenv "PATH")))
(with-directory-excursion "jupyter_server"
;; The pytest fixtures are only loaded when the file is
;; called conftest.py.
(rename-file "pytest_plugin.py" "conftest.py")
(invoke "pytest" "-vv"
;; Fails with internal server error
"-k" "not test_list_formats"
;; Integration tests require a server.
"-m" "not integration_test"))))))))
(propagated-inputs
`(("python-anyio" ,python-anyio)
("python-argon2-cffi" ,python-argon2-cffi)
("python-ipython-genutils" ,python-ipython-genutils)
("python-jinja2" ,python-jinja2)
("python-jupyter-client" ,python-jupyter-client)
("python-jupyter-core" ,python-jupyter-core)
("python-nbconvert" ,python-nbconvert)
("python-nbformat" ,python-nbformat)
("python-prometheus-client" ,python-prometheus-client)
("python-pyzmq" ,python-pyzmq)
("python-requests-unixsocket" ,python-requests-unixsocket)
("python-send2trash" ,python-send2trash)
("python-terminado" ,python-terminado)
("python-tornado" ,python-tornado-6)
("python-traitlets" ,python-traitlets)
("python-websocket-client" ,python-websocket-client)))
(native-inputs
`(("python-coverage" ,python-coverage)
("python-ipykernel" ,python-ipykernel)
("python-pytest" ,python-pytest)
("python-pytest-console-scripts" ,python-pytest-console-scripts)
("python-pytest-cov" ,python-pytest-cov)
("python-pytest-mock" ,python-pytest-mock)
("python-pytest-tornasync" ,python-pytest-tornasync)
("python-requests" ,python-requests)))
(home-page "https://jupyter.org")
(synopsis "Core services, APIs, and REST endpoints for Jupyter web applications")
(description
"This package provides the backendi.e. core services, APIs, and REST
endpointsto Jupyter web applications.")
(license license:expat)))
(define-public python-jupyterlab-widgets
(package
(name "python-jupyterlab-widgets")
@ -470,3 +539,38 @@ Docker registry.")
sending queries to an SPARQL endpoint and fetching & presenting the results in
a notebook.")
(license license:bsd-3)))
(define-public python-voila
(package
(name "python-voila")
(version "0.2.10")
(source
(origin
(method url-fetch)
(uri (pypi-uri "voila" version))
(sha256
(base32
"0krfc95yjlhjdmrsladhy6lpf4xs1zw49nmkyl4pkykndglvwa1m"))))
(build-system python-build-system)
(propagated-inputs
`(("python-jupyter-client" ,python-jupyter-client)
("python-jupyter-server" ,python-jupyter-server)
("python-nbclient" ,python-nbclient)
("python-nbconvert" ,python-nbconvert)))
(native-inputs
`(("python-ipywidgets" ,python-ipywidgets)
("python-jupyter-packaging" ,python-jupyter-packaging)
("python-matplotlib" ,python-matplotlib)
("python-mock" ,python-mock)
("python-pytest" ,python-pytest)
("python-pytest-tornasync" ,python-pytest-tornasync)
("python-setuptools" ,python-setuptools)
("python-tornado" ,python-tornado-6)))
(home-page "https://github.com/voila-dashboards/voila")
(synopsis "Render live Jupyter notebooks with interactive widgets")
(description
"Voilà turns Jupyter notebooks into standalone web applications. Unlike
the usual HTML-converted notebooks, each user connecting to the Voilà tornado
application gets a dedicated Jupyter kernel which can execute the callbacks to
changes in Jupyter interactive widgets.")
(license license:bsd-3)))

View File

@ -98,9 +98,15 @@
"10c5xs5shk0dcshpdxg564ay5y8hgmvfvmlhmhjf0dy79kcah3c3"))))
(build-system cmake-build-system)
(native-inputs
`(("qtbase" ,qtbase-5))) ; For tests (needs qmake)
;; Add test dependency, except on armhf where building it is too
;; expensive.
(if (and (not (%current-target-system))
(string=? (%current-system) "armhf-linux"))
'()
`(("qtbase" ,qtbase-5)))) ;for tests (needs qmake)
(arguments
`(#:phases
`(#:tests? ,(not (null? (package-native-inputs this-package)))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-lib-path
(lambda _

View File

@ -6,7 +6,7 @@
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015, 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 20162021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org>
@ -38,7 +38,7 @@
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019, 2020, 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020, 2021 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
@ -102,6 +102,7 @@
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages gperf)
#:use-module (gnu packages gstreamer)
@ -359,15 +360,15 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
(define-public linux-libre-5.13-version "5.13.9")
(define-public linux-libre-5.13-version "5.13.13")
(define deblob-scripts-5.13
(linux-libre-deblob-scripts
linux-libre-5.13-version
(base32 "08xai5zqgk0y0rwhssf81lf8vivjg12wjkv7855l3ljkivgjclbf")
(base32 "0bdqgxpc2vnj6m1nnrw8l5jpdglm0nlvjl6g44xryhy230ds0p9l")
(base32 "153jf5l5x4438zgxwggaky2ahjlfl48j438vhpzks6h77lzc51a5")))
(define-public linux-libre-5.13-pristine-source
(let ((version linux-libre-5.13-version)
(hash (base32 "16hm6sb64f1hlr0qmf2w81zv55s6flj1x8jr2q326d9ny30przkj")))
(hash (base32 "0d1lr3rivgf9j3bn2a9hpzdf74nq8kybf3rfxxvw68vr1hhd4cam")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.13)))
@ -375,7 +376,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-5.10-version "5.10.57")
(define-public linux-libre-5.10-version "5.10.61")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
linux-libre-5.10-version
@ -383,12 +384,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0c9x07gplzajm0h5if3fpw2rvfb7psw3yp7i2n6ws7ggq1dvmki2")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
(hash (base32 "0b8lwfjlyd6j0csk71v07bxb5lrrzp545g1wv6kdk0kzq6maxfq0")))
(hash (base32 "1lci78584c0rg5m5rkylssppnv001pzh4769m9mds4fdqn6f7sl2")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.139")
(define-public linux-libre-5.4-version "5.4.143")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
linux-libre-5.4-version
@ -396,12 +397,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1xghbbnaisjd0k1klbyn1p7r6r4x5a1bpmkm56a3gh2zvw4s7mj8")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "0zx3hj8fc0qpdmkn56cna5438wjxmj42a69msbkxlg4mnz6d0w84")))
(hash (base32 "090x087p8hxnc1daf2xwj7vg8hg1jhz5i4andkbhdy550l5nalq9")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.202")
(define-public linux-libre-4.19-version "4.19.205")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
linux-libre-4.19-version
@ -409,12 +410,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "09ya7n0il8fipp8ksb8cyl894ihny2r75g70vbhclbv20q2pv0pj")))
(hash (base32 "1ii9l44d6jxhyd5qkc5h83ixailma9v7hyl60wi3rskkafqnwv2m")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.243")
(define-public linux-libre-4.14-version "4.14.245")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
linux-libre-4.14-version
@ -422,12 +423,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
(hash (base32 "0wdk93qv91pa6bd3ff1gv7manhkzh190c5blcpl14cbh9m2ms8vz")))
(hash (base32 "085jls7b2rzxlmvp0zsp4l3wi5xdrqlv2qczzwvbhzna1f4n2x0d")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
(define-public linux-libre-4.9-version "4.9.279")
(define-public linux-libre-4.9-version "4.9.281")
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
linux-libre-4.9-version
@ -435,12 +436,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2")))
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
(hash (base32 "01rf3xh2jcz6l2h79g0m02i8f9q51j64wvgvzi8lmq0gx9yvbv91")))
(hash (base32 "1dg70jv3bqanmjs31s0x2p7nd5g37bqzjn9rc1y6wvkgm4pwahi6")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
(define-public linux-libre-4.4-version "4.4.280")
(define-public linux-libre-4.4-version "4.4.282")
(define deblob-scripts-4.4
(linux-libre-deblob-scripts
linux-libre-4.4-version
@ -448,7 +449,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf")))
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
(hash (base32 "1b9jx9zkycj0xjmy35890q5phiznayaz730dmsv3mdjg4qgfn18y")))
(hash (base32 "1rgxznjb6gsi64wk7x2rylyi64y2nx5yiah5gfm40c6l2f7lb9cc")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))
@ -1143,7 +1144,7 @@ It has been modified to remove all non-free binary blobs.")
(define-public acpi-call-linux-module
(package
(name "acpi-call-linux-module")
(version "1.2.1")
(version "1.2.2")
(source
(origin
(method git-fetch)
@ -1152,7 +1153,7 @@ It has been modified to remove all non-free binary blobs.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0mr4rjbv6fj4phf038addrgv32940bphghw2v9n1z4awvw7wzkbg"))))
(base32 "1s7h9y3adyfhw7cjldlfmid79lrwz3vqlvziw9nwd6x5qdj4w9vp"))))
(build-system linux-module-build-system)
(arguments
`(#:tests? #f ; no tests
@ -1164,8 +1165,7 @@ It has been modified to remove all non-free binary blobs.")
(lambda _
(substitute* (find-files "examples" ".")
(("^(#! *)/[^ ]*/" _ shebang)
(string-append shebang "/usr/bin/env ")))
#t))
(string-append shebang "/usr/bin/env ")))))
(add-after 'install 'install-documentation
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -1174,9 +1174,8 @@ It has been modified to remove all non-free binary blobs.")
(let ((target (string-append doc "/" file)))
(mkdir-p (dirname target))
(copy-recursively file target)))
(list "README.md" "examples"))
#t))))))
(home-page "https://github.com/teleshoes/acpi_call")
(list "README.md" "examples"))))))))
(home-page "https://github.com/nix-community/acpi_call")
(synopsis "Linux kernel module to perform ACPI method calls")
(description
"This simple Linux kernel module allows calls from user space to any
@ -1304,8 +1303,8 @@ and the notification, WiFi, and Bluetooth LED.")
(license license:gpl2)))
(define-public rtl8812au-aircrack-ng-linux-module
(let ((commit "059e06a51be025fde5b2bec6565540b3d9981b0b")
(revision "4"))
(let ((commit "b8167e66b4ac046b3b76c2c40008d84528e91594")
(revision "5"))
(package
(name "rtl8812au-aircrack-ng-linux-module")
(version (git-version "5.6.4.2" revision commit))
@ -1317,7 +1316,7 @@ and the notification, WiFi, and Bluetooth LED.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0h6l2r3yj7j9zf11dw0zcdyn50ajnjw8yvv86dzlfj80dn75n98f"))
(base32 "1940f2yz5c4q2fhcd91zfzl32fhdsgr297vzamm7nd8kdk0gymi2"))
(modules '((guix build utils)))
(snippet
'(begin
@ -1438,7 +1437,7 @@ graphics card on Optimus laptops.")
(define-public ddcci-driver-linux
(package
(name "ddcci-driver-linux")
(version "0.3.3")
(version "0.3.4")
(source
(origin
(method git-fetch)
@ -1449,7 +1448,7 @@ graphics card on Optimus laptops.")
(file-name (git-file-name name version))
(sha256
(base32
"0vkkja3ykjil783zjpwp0vz7jy2fp9ccazzi3afd4fjk8gldin7f"))))
"0b50hhkna6ika2vwahzb9za9b41g39ialgv5y1y0kakqi50qi0ld"))))
(build-system linux-module-build-system)
(arguments
`(#:tests? #f ; no tests
@ -1622,6 +1621,40 @@ at login. Local and dynamic reconfiguration are its key features.")
(description "This package provides a PAM interface using @code{ctypes}.")
(license license:expat)))
(define-public pam-gnupg
(package
(name "pam-gnupg")
(version "0.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cruegge/pam-gnupg")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1bf91gi6zmfzzmczxm7pajxdlgnikasvg5xsd3j0a368rcr7lf9l"))))
(build-system gnu-build-system)
(inputs
`(("gnupg" ,gnupg)
("linux-pam" ,linux-pam)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(arguments
`(#:tests? #f ;no tests suite
#:configure-flags
(list (string-append "--with-moduledir="
(assoc-ref %outputs "out") "/lib/security"))))
(home-page "https://github.com/cruegge/pam-gnupg")
(synopsis "Unlock GnuPG keys on login")
(description "This package provides a PAM module that hands over your
login password to @code{gpg-agent}. This can be useful if you are using a
GnuPG-based password manager like @code{pass}.")
(license license:gpl3+)))
;;;
;;; Miscellaneous.
@ -3766,7 +3799,7 @@ devices that can inject events directly into the input subsystem.")
(define-public interception-tools
(package
(name "interception-tools")
(version "0.6.6")
(version "0.6.7")
(home-page "https://gitlab.com/interception/linux/tools")
(source (origin
(method git-fetch)
@ -3776,25 +3809,17 @@ devices that can inject events directly into the input subsystem.")
(file-name (git-file-name name version))
(sha256
(base32
"0k9h14a9d65nwvv7pj0kigjgzfv453mm3r4svnxfg1h5lccmy8jj"))))
"0wcmppa7092b33wb8vc782day5phf90pc25cn1x7rk0rlw565z36"))))
(build-system cmake-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("boost" ,boost)
("libevdev" ,libevdev)
("libudev" ,eudev)
("yaml-cpp" ,yaml-cpp)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-libevdev-path
(lambda* (#:key inputs #:allow-other-keys)
(let ((libevdev (assoc-ref inputs "libevdev")))
(substitute* "CMakeLists.txt"
(("/usr/include/libevdev-1.0")
(string-append libevdev "/include/libevdev-1.0")))
#t))))
;; No tests are included.
#:tests? #f))
`(#:tests? #f)) ; no test suite
(synopsis "Utilities for operating on input events of evdev devices")
(description
"Interception Tools provides a composable infrastructure on top of
@ -5300,7 +5325,7 @@ and copy/paste text in the console and in xterm.")
(define-public btrfs-progs
(package
(name "btrfs-progs")
(version "5.13")
(version "5.13.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/"
@ -5308,7 +5333,7 @@ and copy/paste text in the console and in xterm.")
"btrfs-progs-v" version ".tar.xz"))
(sha256
(base32
"0hsqbv7kvw5j2669xmp226cf7mgdfyq6xg8vjhm5w9ix43922aaf"))))
"16gkyhvvpqpq0skpavkvnmglbld7p331bnpiqn2z9flgwq0mlzix"))))
(build-system gnu-build-system)
(outputs '("out"
"static")) ; static versions of the binaries in "out"
@ -6874,7 +6899,7 @@ used by nftables.")
(define-public nftables
(package
(name "nftables")
(version "0.9.9")
(version "1.0.0")
(source
(origin
(method url-fetch)
@ -6883,10 +6908,11 @@ used by nftables.")
(string-append "https://www.nftables.org/projects/nftables"
"/files/nftables-" version ".tar.bz2")))
(sha256
(base32 "1d7iwc8xlyfsbgn6qx1sdfcq7jhpl8wpfj39hcd06y8dzp3jvvvn"))))
(base32 "1x25zs2czmn14mmq1nqi4zibsvh04vqjbx5lxj42nylnmxym9gsq"))))
(build-system gnu-build-system)
(arguments `(#:configure-flags
'("--disable-man-doc"))) ; FIXME: Needs docbook2x.
'("--disable-man-doc" ; FIXME: needs docbook2x
"--disable-static")))
(inputs `(("gmp" ,gmp)
("libmnl" ,libmnl)
("libnftnl" ,libnftnl)
@ -7302,14 +7328,14 @@ relevant @file{/dev/vcs*} file(s).")
(define-public fbcat
(package
(name "fbcat")
(version "0.5.1")
(version "0.5.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/jwilk/fbcat/releases/download/"
version "/" name "-" version ".tar.gz"))
(sha256
(base32 "0pj9hxmwhbz6kmd7847yx2jh1scl9l25zgndyi8s9vlzdkq2q8d7"))))
(base32 "07q6f0xj7b4gjvn69qfn0g04yd0ch8ndzyigcz8nnrhli0cvsbh6"))))
(build-system gnu-build-system)
(inputs
;; The fbgrab wrapper can use one of several PPM-to-PNG converters. We
@ -7333,8 +7359,7 @@ relevant @file{/dev/vcs*} file(s).")
(("fbcat" all)
(string-append out "/bin/" all))
(("pnmtopng" all)
(string-append pnmtopng "/bin/" all)))
#t)))
(string-append pnmtopng "/bin/" all))))))
(add-after 'install 'split-fbgrab-output
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -7345,8 +7370,7 @@ relevant @file{/dev/vcs*} file(s).")
(mkdir-p (dirname new))
(rename-file old new)))
(list "bin/fbgrab"
"share/man/man1/fbgrab.1"))
#t))))))
"share/man/man1/fbgrab.1"))))))))
(home-page "https://jwilk.net/software/fbcat")
(synopsis "Take a screenshot of the contents of the Linux framebuffer")
(description
@ -7596,7 +7620,7 @@ compatible with Python's ConfigParser style of .INI files, including RFC
(define-public xfsprogs
(package
(name "xfsprogs")
(version "5.12.0")
(version "5.13.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -7604,7 +7628,7 @@ compatible with Python's ConfigParser style of .INI files, including RFC
"xfsprogs-" version ".tar.gz"))
(sha256
(base32
"0b5vvwq4rqw7kph23ycd518d31dx3wq7w61znixxpdljx0ig71qn"))))
"09s3alwrhs1gaaywkpx2knc5bxb44b77009jw8zgsy9c2wxximns"))))
(build-system gnu-build-system)
(outputs (list "out" "python"))
(arguments
@ -7620,8 +7644,7 @@ compatible with Python's ConfigParser style of .INI files, including RFC
(mkdir-p (string-append python (dirname script)))
(rename-file (string-append out script)
(string-append python script)))
(list "/sbin/xfs_scrub_all"))
#t)))
(list "/sbin/xfs_scrub_all")))))
(add-after 'install 'install-headers
(lambda _
(invoke "make" "install-dev"))))))

View File

@ -57,6 +57,7 @@
#:use-module (guix hg-download)
#:use-module (guix utils)
#:use-module (guix build-system asdf)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages base)
#:use-module (gnu packages c)
@ -8135,8 +8136,8 @@ functions for arrays and vectors. Originally from Plump.")
(sbcl-package->ecl-package sbcl-array-utils))
(define-public sbcl-plump
(let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
(revision "1"))
(let ((commit "3584275f0be9d06c0c51b5c08f89005deafc4ada")
(revision "2"))
(package
(name "sbcl-plump")
(version (git-version "2.0.0" revision commit))
@ -8150,7 +8151,7 @@ functions for arrays and vectors. Originally from Plump.")
(file-name (git-file-name name version))
(sha256
(base32
"0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
"1w4wz7f6dc2ckdq9wq9r5014bg2nxjifj9yz1zzn41r8h1h5xfcd"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("array-utils" ,sbcl-array-utils)
@ -18229,6 +18230,79 @@ functions allow Lisp programs to explore the web.")
(define-public cl-aserve
(sbcl-package->cl-source-package sbcl-aserve))
(define-public sbcl-yxorp
(let ((commit "d2e8f9304549e47ae5c7fa35a6b114804603eac9")
(revision "1"))
(package
(name "sbcl-yxorp")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/charJe/cl-yxorp")
(commit commit)))
(file-name (git-file-name "cl-yxorp" version))
(sha256
(base32 "1zz1j678vzwkf817h2z0pf0fcyf4mldv4hiv1wyam58hd4bcrjsw"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("cl+ssl" ,sbcl-cl+ssl)
("cl-binding-arrows" ,sbcl-binding-arrows)
("cl-str" ,sbcl-cl-str)
("cl-usocket" ,sbcl-usocket)
("flexi-streams" ,sbcl-flexi-streams)
("trivial-garbage" ,sbcl-trivial-garbage)))
(home-page "https://github.com/charje/cl-yxorp")
(synopsis
"Reverse proxy server written in and configurable in Common Lisp")
(description
"This is a reverse proxy server written in and configurable in
Common Lisp. It supports WebSocket, HTTP, HTTPS, HTTP to HTTPS
redirecting, port and host forwarding configuration using a real programming
language, HTTP header and body manipulation (also using a real programming
language).")
(license license:agpl3))))
(define-public ecl-yxorp
;; Note that due to a bug in ECL this package does not build.
;; The bug has already been fixed on the development branch,
;; so this package will work work in the version after 21.2.1.
(sbcl-package->ecl-package sbcl-yxorp))
(define-public cl-yxorp
(sbcl-package->cl-source-package sbcl-yxorp))
(define-public cl-yxorp-cli
(package
(inherit sbcl-yxorp)
(name "cl-yxorp-cli")
(build-system gnu-build-system)
(arguments
'(#:tests? #f
#:strip-binaries? #f
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'set-home
(lambda _
(setenv "HOME" "/tmp")))
(replace 'build
(lambda _
(invoke
"sbcl" "--noinform"
"--non-interactive"
"--no-userinit"
"--eval" "(require :asdf)"
"--eval" "(pushnew (uiop:getcwd) asdf:*central-registry*)"
"--load" "build.lisp")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(mkdir-p bin)
(install-file "cl-yxorp" bin)))))))
(inputs (cons (list "sbcl" sbcl) (package-inputs sbcl-yxorp)))))
(define-public sbcl-rss
;; No release.
(let ((commit "51d0145e91b86327ae5c36364f9c3048052e7a58"))

View File

@ -926,7 +926,7 @@ the HTML documentation of TXR.")
(define-public txr
(package
(name "txr")
(version "268")
(version "270")
(source
(origin
(method git-fetch)
@ -935,7 +935,7 @@ the HTML documentation of TXR.")
(commit (string-append "txr-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0q97qddbgk9356gx4xp8iip4pwj3ln03dvjfgrny76f3wmmiwsw6"))))
(base32 "1kp64h3ls8mddvrlaqqylrb3brckfrqvkk8049xn15mimfggg0xv"))))
(build-system gnu-build-system)
(native-inputs
;; Required to build the documentation.

View File

@ -926,7 +926,7 @@ computing environments.")
(define-public python-scikit-learn
(package
(name "python-scikit-learn")
(version "0.24.1")
(version "0.24.2")
(source
(origin
(method git-fetch)
@ -936,13 +936,13 @@ computing environments.")
(file-name (git-file-name name version))
(sha256
(base32
"0dd854hi9h81pa3y6gwa6r4qjwrwq5fndi312h6dkqzfh7jbvgvd"))))
"0hm92biqwwc87bqnr56lwa5bz77lr7k9q21rdwksnfzq3vsdp2nm"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'build 'build-ext
(lambda _ (invoke "python" "setup.py" "build_ext" "--inplace") #t))
(lambda _ (invoke "python" "setup.py" "build_ext" "--inplace")))
(replace 'check
(lambda _
;; Restrict OpenBLAS threads to prevent segfaults while testing!
@ -958,8 +958,7 @@ computing environments.")
;; 'reset-gzip-timestamps' phase can do its work.
(let ((out (assoc-ref outputs "out")))
(for-each make-file-writable
(find-files out "\\.gz$"))
#t))))))
(find-files out "\\.gz$"))))))))
(inputs
`(("openblas" ,openblas)))
(native-inputs
@ -2691,3 +2690,39 @@ PyTorch when needed.
Note: currently this package does not provide GPU support.")
(license license:bsd-3)))
(define-public python-hmmlearn
(package
(name "python-hmmlearn")
(version "0.2.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "hmmlearn" version))
(sha256
(base32
"1my0j3rzp17438idr32ssh0j969a98yjblx5igx5kgiiigr9qa1a"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
(with-directory-excursion (string-append (assoc-ref outputs "out") "/lib")
(invoke "python" "-m" "pytest"))))))))
(propagated-inputs
`(("python-cython" ,python-cython)
("python-numpy" ,python-numpy)
("python-scikit-learn" ,python-scikit-learn)
("python-scipy" ,python-scipy)
("python-setuptools-scm" ,python-setuptools-scm)))
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://github.com/hmmlearn/hmmlearn")
(synopsis "Hidden Markov Models with scikit-learn like API")
(description
"Hmmlearn is a set of algorithms for unsupervised learning and inference
of Hidden Markov Models.")
(license license:bsd-3)))

View File

@ -9,7 +9,7 @@
;;; Copyright © 2015, 2016, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Al McElrath <hello@yrns.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
@ -157,6 +157,7 @@
#:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix deprecation)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix svn-download)
@ -270,7 +271,8 @@ example, modify the message headers or body, or encrypt or sign the message.")
"17smrxjdgbbzbzakik30vj46q4iib85ksqhb82jr4vjp57akszh9"))
(patches
;; Fixes https://issues.guix.gnu.org/43088.
(search-patches "mailutils-fix-uninitialized-variable.patch"))))
(search-patches "mailutils-fix-uninitialized-variable.patch"
"mailutils-variable-lookup.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -1045,53 +1047,58 @@ content (body). The program is able to learn from the user's classifications
and corrections. It is based on a Bayesian filter.")
(license license:gpl3+)))
(define-public offlineimap
(package
(name "offlineimap")
(version "7.3.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/OfflineIMAP/offlineimap")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1gg8ry67i20qapj4z20am9bm67m2q28kixcj7ja75m897vhzarnq"))))
(build-system python-build-system)
(native-inputs
`(("asciidoc" ,asciidoc)))
(inputs
`(("python2-pysqlite" ,python2-pysqlite)
("python2-rfc6555" ,python2-rfc6555)
("python2-six" ,python2-six)))
(arguments
;; The setup.py script expects python-2.
`(#:python ,python-2
;; Tests require a modifiable IMAP account.
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'build 'build-documentation
(lambda _
(substitute* "docs/Makefile"
;; Prevent xmllint and xsltproc from downloading a DTD file.
(("a2x -v") "a2x --no-xmllint --xsltproc-opts=--nonet -v"))
(invoke "make" "-C" "docs" "man")))
(add-after 'install 'install-documentation
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(man (string-append out "/share/man")))
(install-file "docs/offlineimap.1" (string-append man "/man1"))
(install-file "docs/offlineimapui.7" (string-append man "/man7"))
#t))))))
(home-page "https://www.offlineimap.org")
(synopsis "Sync emails between two repositories")
(description
"OfflineImap synchronizes emails between two repositories, so that you
(define-public offlineimap3
;; The OfflineIMAP3 fork does not yet have a release, but it's likely to be
;; 8.0.0 but the source still reports 7.3.0, see
;; https://github.com/OfflineIMAP/offlineimap3/issues/10.
(let ((commit "4ca9c75c6f9a0cc8dc7b69dd6abf073e494cc0e5")
(revision "0"))
(package
(name "offlineimap3")
(version (git-version "7.3.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/OfflineIMAP/offlineimap3")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0nzh5dcc559jfw4yy12gc98s17w82b15zxikspc6apd8filmk9xg"))))
(build-system python-build-system)
(native-inputs
`(("asciidoc" ,asciidoc)))
(inputs
`(("python-distro" ,python-distro)
("python-imaplib2" ,python-imaplib2)
("python-rfc6555" ,python-rfc6555)))
(arguments
`(;; Tests require a modifiable IMAP account.
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'build 'build-documentation
(lambda _
(substitute* "docs/Makefile"
;; Prevent xmllint and xsltproc from downloading a DTD file.
(("a2x -v") "a2x --no-xmllint --xsltproc-opts=--nonet -v"))
(invoke "make" "-C" "docs" "man")))
(add-after 'install 'install-documentation
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(man (string-append out "/share/man")))
(install-file "docs/offlineimap.1" (string-append man "/man1"))
(install-file "docs/offlineimapui.7" (string-append man "/man7"))))))))
(home-page "https://www.offlineimap.org")
(synopsis "Sync emails between two repositories")
(description
"OfflineImap synchronizes emails between two repositories, so that you
can read the same mailbox from multiple computers. It supports IMAP as REMOTE
repository and Maildir/IMAP as LOCAL repository.")
(license license:gpl2+)))
(license license:gpl2+))))
(define-public offlineimap
(deprecated-package "offlineimap" offlineimap3))
(define-public emacs-mew
(package
@ -1147,7 +1154,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
(define-public mu
(package
(name "mu")
(version "1.6.2")
(version "1.6.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/djcb/mu/releases/"
@ -1155,7 +1162,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
"mu-" version ".tar.xz"))
(sha256
(base32
"0jlpkx1486ac8649jc2kxjklzsfaxj9qf2kji4kszy4axd0iwi1p"))))
"0irqr1z1ljmij2vbj8dr8w9mbfalzikxr4s6340jjwmkmhaslh2h"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@ -3753,14 +3760,14 @@ tools and applications:
(define-public balsa
(package
(name "balsa")
(version "2.6.2")
(version "2.6.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://pawsa.fedorapeople.org/balsa/"
"balsa-" version ".tar.bz2"))
"balsa-" version ".tar.xz"))
(sha256
(base32 "1w0239i01mw4wwwy7xh8gz7zgl5khwvfm5wy35x0swvvax021mai"))))
(base32 "1m0x3rk7cp7slr47rmg4y91rbxgs652v706lyxj600m5r5v4bl6l"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@ -4359,6 +4366,24 @@ based on asyncio.")
(license (list license:asl2.0
license:lgpl3)))) ; only for setup_helpers.py
(define-public python-imaplib2
(package
(name "python-imaplib2")
(version "3.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "imaplib2" version))
(sha256
(base32
"0nqyb274hq30agg1c0zkb5ijmcirgg35sp4dp4n292l665dlijwn"))))
(build-system python-build-system)
(home-page "https://github.com/jazzband/imaplib2/")
(synopsis "Threaded Python IMAP4 client")
(description "This package provides a threaded Python IMAP4 client, based
on RFC 3501 and original @code{imaplib} module.")
(license license:expat)))
(define-public rspamd
(package
(name "rspamd")

View File

@ -270,7 +270,7 @@ PostScript, and PDF. Additional tools include the @command{man} viewer, and
(define-public man-pages
(package
(name "man-pages")
(version "5.12")
(version "5.13")
(source
(origin
(method url-fetch)
@ -280,7 +280,7 @@ PostScript, and PDF. Additional tools include the @command{man} viewer, and
(string-append "mirror://kernel.org/linux/docs/man-pages/Archive/"
"man-pages-" version ".tar.xz")))
(sha256
(base32 "07ip4f70nyxn24wy0fin6klq1hm1cjjvzr9zh5baqzssl1hckxbs"))))
(base32 "12vb15gs56g8wl5nqlm4llr508brh4m2lfknhq4lizbxzqzawkb1"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases (delete 'configure))

View File

@ -5223,14 +5223,14 @@ supports compressed MAT files, as well as newer (version 7.3) MAT files.")
(define-public vc
(package
(name "vc")
(version "1.4.1")
(version "1.4.2")
(source
(origin (method url-fetch)
(uri (string-append "https://github.com/VcDevel/Vc/releases/"
"download/" version "/Vc-" version ".tar.gz"))
(sha256
(base32
"17qili8bf8r78cng65yf4qmgna8kiqjqbgcqbric6v9j6nkhkrk8"))))
"0lirdqzcxys9walz04bllsphydynk7973aimd5k1h1qbwi8z3lsh"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
@ -6412,7 +6412,7 @@ management via the GIMPS project's Primenet server.")
(define-public nauty
(package
(name "nauty")
(version "2.7r1")
(version "2.7r2")
(source
(origin
(method url-fetch)
@ -6420,7 +6420,7 @@ management via the GIMPS project's Primenet server.")
"https://pallini.di.uniroma1.it/"
"nauty" (string-join (string-split version #\.) "") ".tar.gz"))
(sha256
(base32 "0xsfqfcknbd6g6wzpa5l7crmmk3bf3zjh37rhylq6b20dqcmvjkn"))))
(base32 "0s57rq7kk3rrwgrjygpwjvq9bbwq4wjbpcvgbz191jhwv8bnrhb9"))))
(build-system gnu-build-system)
(outputs '("out" "lib"))
(arguments

View File

@ -38,14 +38,14 @@
(define-public mc
(package
(name "mc")
(version "4.8.26")
(version "4.8.27")
(source
(origin
(method url-fetch)
(uri (string-append "https://ftp.midnight-commander.org/mc-"
(uri (string-append "https://ftp.osuosl.org/pub/midnightcommander/mc-"
version ".tar.xz"))
(sha256
(base32 "09vc2vf6k12a8k5gdss6hcskwfcbyalrkhn65nidkwlm0p2svpn6"))))
(base32 "1x2g5ahgzg951y4ldbsgkv8icni2mgh3p2wsds0j16gsbwi5kgii"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)
("pkg-config" ,pkg-config)))
@ -97,6 +97,8 @@
(("usr/bin") "/"))
#t)))))
(home-page "https://www.midnight-commander.org")
(properties
`((release-monitoring-url . "https://ftp.osuosl.org/pub/midnightcommander/")))
(synopsis "Graphical file manager")
(description
"GNU Midnight Commander is a command-line file manager laid out in a

View File

@ -18,7 +18,7 @@
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2019, 2020 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Reza Alizadeh Majd <r.majd@pantherx.org>
@ -1836,79 +1836,6 @@ including psyced.")
(synopsis "PSYC library in C")
(license license:agpl3+)))
;; This commit removes the historic bundled pcre and makes psyclpc reproducible.
(define-public psyclpc
(let* ((commit "61cf9aa81297085e5c40170fd01221c752f8deba")
(revision "2"))
(package
(name "psyclpc")
(version (string-append "20160821-" revision "." (string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "git://git.psyced.org/git/psyclpc")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1viwqymbhn3cwvx0zl58rlzl5gw47zxn0ldg2nbi55ghm5zxl1z5"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests/checks.
#:configure-flags
;; If you have questions about this part, look at
;; "src/settings/psyced" and the ebuild.
(list
"--enable-use-tls=yes"
"--enable-use-mccp" ; Mud Client Compression Protocol, leave this enabled.
(string-append "--prefix="
(assoc-ref %outputs "out"))
;; src/Makefile: Set MUD_LIB to the directory which contains
;; the mud data. defaults to MUD_LIB = @libdir@
(string-append "--libdir="
(assoc-ref %outputs "out")
"/opt/psyced/world")
(string-append "--bindir="
(assoc-ref %outputs "out")
"/opt/psyced/bin")
;; src/Makefile: Set ERQ_DIR to directory which contains the
;; stuff which ERQ can execute (hopefully) savely. Was formerly
;; defined in config.h. defaults to ERQ_DIR= @libexecdir@
(string-append "--libexecdir="
(assoc-ref %outputs "out")
"/opt/psyced/run"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'chdir-to-src
;; We need to pass this as env variables
;; and manually change the directory.
(lambda _
(chdir "src")
(setenv "CONFIG_SHELL" (which "sh"))
(setenv "SHELL" (which "sh"))
#t)))
#:make-flags (list "install-all")))
(inputs
`(("zlib" ,zlib)
("openssl" ,openssl-1.0)
("pcre" ,pcre)))
(native-inputs
`(("pkg-config" ,pkg-config)
("bison" ,bison)
("gettext" ,gettext-minimal)
("help2man" ,help2man)
("autoconf" ,autoconf)
("automake" ,automake)))
(home-page "http://lpc.psyc.eu/")
(synopsis "psycLPC is a multi-user network server programming language")
(description
"LPC is a bytecode language, invented to specifically implement
multi user virtual environments on the internet. This technology is used for
MUDs and also the psyced implementation of the Protocol for SYnchronous
Conferencing (PSYC). psycLPC is a fork of LDMud with some new features and
many bug fixes.")
(license license:gpl2))))
(define-public loudmouth
(package
(name "loudmouth")
@ -2297,7 +2224,7 @@ QMatrixClient project.")
(define-public mtxclient
(package
(name "mtxclient")
(version "0.3.1")
(version "0.5.1")
(source
(origin
(method git-fetch)
@ -2306,7 +2233,7 @@ QMatrixClient project.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1dg4dq20g0ah62j5s3gpsxqq4ny7lxkxdxa9q6g54hdwkrb9ms7x"))))
(base32 "1xznfx2bhw0ahwmkxm0rs05vz05ijk5k4190rj6qp3bvb9byiajh"))))
(arguments
`(#:configure-flags
(list
@ -2319,12 +2246,6 @@ QMatrixClient project.")
(substitute* "CMakeLists.txt"
(("add_test\\((BasicConnectivity|ClientAPI|MediaAPI|Encryption|Pushrules)")
"# add_test"))
#t))
(add-before 'configure 'set-home
(lambda _
;; Tries to create package registry file
;; So, set HOME.
(setenv "HOME" "/tmp")
#t)))))
(build-system cmake-build-system)
(inputs
@ -2347,7 +2268,7 @@ for the Matrix protocol. It is built on to of @code{Boost.Asio}.")
(define-public nheko
(package
(name "nheko")
(version "0.7.2")
(version "0.8.2")
(source
(origin
(method git-fetch)
@ -2356,30 +2277,60 @@ for the Matrix protocol. It is built on to of @code{Boost.Asio}.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1cbhgaf9klgxdirrxj571fqwspm0byl75c1xc40l727a6qswvp7s"))))
(base32 "0362hkbprc6jqlgmvzwxyvify4b1ldjakyqdz55m25xsypbpv2f3"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "third_party")))))
(arguments
`(#:tests? #f ;no test target
#:configure-flags
(list
"-DCMAKE_BUILD_TYPE=Release"
"-DCMAKE_CXX_FLAGS=-fpermissive")
'("-DCMAKE_BUILD_TYPE=Release"
"-DBUILD_DOCS=ON"
;; Fix required because we are using a static SingleApplication
"-DCMAKE_CXX_FLAGS= \"-DQAPPLICATION_CLASS=QApplication\" "
;; Compile Qml will make Nheko faster, but you will need to recompile
;; it, when you update Qt. That's fine for us.
"-DCOMPILE_QML=ON")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-Werror
(lambda _
(substitute* "CMakeLists.txt"
(("-Werror") ""))
#t))
(add-after 'unpack 'unbundle-dependencies
(lambda* (#:key inputs #:allow-other-keys)
(let ((single-app (assoc-ref inputs "single-application")))
(substitute* "CMakeLists.txt"
;; Remove include and source dirs,replace with the correct one
(("third_party/blurhash/blurhash.cpp") "")
(("third_party/cpp-httplib-0.5.12")
(string-append "\"" single-app "/include\""))
(("add_subdirectory.*third_party/SingleApplication.*") "")
;; Link using the correct static/shared libs
(("SingleApplication::SingleApplication")
(string-append
;; Dynamic libraries
"httplib" "\n" "blurhash" "\n"
;; Static library
single-app "/lib/libSingleApplication.a"))))))
(add-after 'unpack 'fix-determinism
(lambda _
;; Make Qt deterministic.
(setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
#t)))))
(setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
(wrap-program (string-append out "/bin/nheko")
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))))))))
(build-system qt-build-system)
(inputs
`(("boost" ,boost)
("blurhash" ,blurhash)
("cpp-httplib" ,cpp-httplib)
("cmark" ,cmark)
("gst-plugins-base" ,gst-plugins-base)
("gst-plugins-bad" ,gst-plugins-bad) ; sdp & webrtc for voip
("gst-plugins-good" ,gst-plugins-good) ; rtpmanager for voip
("json-modern-cxx" ,json-modern-cxx)
("libnice" ,libnice) ; for voip
("libolm" ,libolm)
("lmdb" ,lmdb)
("lmdbxx" ,lmdbxx)
@ -2387,15 +2338,18 @@ for the Matrix protocol. It is built on to of @code{Boost.Asio}.")
("openssl" ,openssl)
("qtbase" ,qtbase-5)
("qtdeclarative" ,qtdeclarative)
("qtkeychain" ,qtkeychain)
("qtgraphicaleffects" ,qtgraphicaleffects)
("qtmultimedia" ,qtmultimedia)
("qtquickcontrols2" ,qtquickcontrols2)
("qtsvg" ,qtsvg)
("spdlog" ,spdlog)
("tweeny" ,tweeny)
("single-application" ,single-application-qt5)
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)
`(("doxygen" ,doxygen)
("graphviz" ,graphviz)
("pkg-config" ,pkg-config)
("qtlinguist" ,qttools)))
(home-page "https://github.com/Nheko-Reborn/nheko")
(synopsis "Desktop client for Matrix using Qt and C++14")
@ -2403,22 +2357,8 @@ for the Matrix protocol. It is built on to of @code{Boost.Asio}.")
Matrix protocol that feels more like a mainstream chat app and less like an IRC
client.
There is support for:
@itemize
@item E2E encryption (text messages only: attachments are currently sent unencrypted).
@item User registration.
@item Creating, joining & leaving rooms.
@item Sending & receiving invites.
@item Sending & receiving files and emoji.
@item Typing notifications.
@item Username auto-completion.
@item Message & mention notifications.
@item Redacting messages.
@item Read receipts.
@item Basic communities support.
@item Room switcher (@key{ctrl-K}).
@item Light, Dark & System themes.
@end itemize")
Many matrix features are supported, including user registration, rooms, typing
notification, emojis, E2E encryption, and voip calls.")
(license license:gpl3+)))
(define-public quaternion

View File

@ -0,0 +1,626 @@
;;; Copyright © 2014, 2015, 2016 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2019 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017, 2018, 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 20192021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Trevor Hass <thass@okstate.edu>
;;; Copyright © 2020, 2021 Leo Prikler <leo.prikler@student.tugraz.at>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages minetest)
#:use-module (gnu packages)
#:use-module (gnu packages audio)
#:use-module (gnu packages base)
#:use-module (gnu packages curl)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages games)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages image)
#:use-module (gnu packages lua)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xorg)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system trivial)
#:use-module (guix build-system minetest)
#:use-module ((guix licenses) #:prefix license:))
(define-public minetest
(package
(name "minetest")
(version "5.4.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/minetest/minetest")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"062ilb7s377q3hwfhl8q06vvcw2raydz5ljzlzwy2dmyzmdcndb8"))
(modules '((guix build utils)))
(patches
(search-patches
"minetest-add-MINETEST_MOD_PATH.patch"))
(snippet
'(begin
;; Delete bundled libraries.
(delete-file-recursively "lib")
#t))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list "-DRUN_IN_PLACE=0"
"-DENABLE_FREETYPE=1"
"-DENABLE_GETTEXT=1"
"-DENABLE_SYSTEM_JSONCPP=TRUE"
(string-append "-DIRRLICHT_INCLUDE_DIR="
(assoc-ref %build-inputs "irrlicht")
"/include/irrlicht")
(string-append "-DCURL_INCLUDE_DIR="
(assoc-ref %build-inputs "curl")
"/include/curl"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-sources
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/filesys.cpp"
;; Use store-path for "rm" instead of non-existing FHS path.
(("\"/bin/rm\"")
(string-append "\"" (assoc-ref inputs "coreutils") "/bin/rm\"")))
(substitute* "src/CMakeLists.txt"
;; Let minetest binary remain in build directory.
(("set\\(EXECUTABLE_OUTPUT_PATH .*\\)") ""))
(substitute* "src/unittest/test_servermodmanager.cpp"
;; do no override MINETEST_SUBGAME_PATH
(("(un)?setenv\\(\"MINETEST_SUBGAME_PATH\".*\\);")
"(void)0;"))
(setenv "MINETEST_SUBGAME_PATH"
(string-append (getcwd) "/games")) ; for check
#t))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
;; Thanks to our substitutions, the tests should also run
;; when invoked on the target outside of `guix build'.
(when tests?
(setenv "HOME" "/tmp")
(invoke "src/minetest" "--run-unittests")))))))
(native-search-paths
(list (search-path-specification
(variable "MINETEST_SUBGAME_PATH")
(files '("share/minetest/games")))
(search-path-specification
(variable "MINETEST_MOD_PATH")
(files '("share/minetest/mods")))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("coreutils" ,coreutils)
("curl" ,curl)
("freetype" ,freetype)
("gettext" ,gettext-minimal)
("gmp" ,gmp)
("irrlicht" ,irrlicht)
("jsoncpp" ,jsoncpp)
("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libogg" ,libogg)
("libvorbis" ,libvorbis)
("libxxf86vm" ,libxxf86vm)
("luajit" ,luajit)
("mesa" ,mesa)
("ncurses" ,ncurses)
("openal" ,openal)
("sqlite" ,sqlite)))
(propagated-inputs
`(("minetest-data" ,minetest-data)))
(synopsis "Infinite-world block sandbox game")
(description
"Minetest is a sandbox construction game. Players can create and destroy
various types of blocks in a three-dimensional open world. This allows
forming structures in every possible creation, on multiplayer servers or as a
single player. Mods and texture packs allow players to personalize the game
in different ways.")
(home-page "https://www.minetest.net/")
(license license:lgpl2.1+)))
(define minetest-data
(package
(name "minetest-data")
(version (package-version minetest))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/minetest/minetest_game")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0i45lbnikvgj9kxdp0yphpjjwjcgp4ibn49xkj78j5ic1s9n8jd4"))))
(build-system trivial-build-system)
(native-inputs
`(("source" ,source)))
(arguments
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils))
(let ((install-dir (string-append
%output
"/share/minetest/games/minetest_game")))
(mkdir-p install-dir)
(copy-recursively
(assoc-ref %build-inputs "source")
install-dir)
#t))))
(synopsis "Main game data for the Minetest game engine")
(description
"Game data for the Minetest infinite-world block sandbox game.")
(home-page "https://www.minetest.net/")
(license license:lgpl2.1+)))
(define-public (minetest-topic topic-id)
"Return an URL (as a string) pointing to the forum topic with
numeric identifier TOPIC-ID on the official Minetest forums."
(string-append "https://forum.minetest.net/viewtopic.php?t="
(number->string topic-id)))
(define-public minetest-basic-materials
(package
(name "minetest-basic-materials")
;; Upstream uses dates as version numbers.
(version "2021-01-30")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/VanessaE/basic_materials.git")
(commit "e72665b2ed98d7be115779a32d35e6d9ffa231bd")))
(sha256
(base32 "0v6l3lrjgshy4sccjhfhmfxc3gk0cdy73qb02i9wd2vw506v5asx"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(home-page (minetest-topic 21000))
(synopsis "Some \"basic\" materials and items for other Minetest mods to use")
(description
"The Minetest mod \"basic_materials\" provides a small selection of
\"basic\" materials and items that other mods should use when possible -- things
like steel bars and chains, wire, plastic strips and sheets, and more.")
(license
(list license:cc-by-sa4.0 license:lgpl3))
(properties `((upstream-name . "VanessaE/basic_materials")))))
(define-public minetest-coloredwood
(package
(name "minetest-coloredwood")
;; Upstream uses dates as version numbers.
(version "2021-04-14-1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/VanessaE/coloredwood")
(commit "be4df6fc889419155bed8638bbb752493e78cbd5")))
(sha256
(base32 "1swirfk6b4xfbiwv8adyw5yl2lyfpp8ymfipzq9ivyvmif8nl3ki"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(propagated-inputs
`(("minetest-unifieddyes" ,minetest-unifieddyes)))
(home-page (minetest-topic 2411))
(synopsis "Painted wood in Minetest")
(description
"This Minetest mod provides hundreds of colours of wood and fences to
Minetest, using Unified Dyes. If the \"moreblocks\" mod is active,
coloured and cut wood shapes are provided as well.")
(license
;; LGPL for code, CC-BY-SA for textures
(list license:cc-by-sa4.0 license:lgpl3))
(properties `((upstream-name . "VanessaE/coloredwood")))))
(define-public minetest-ethereal
;; ContentDB release 2021-07-28 is slightly ahead of the
;; initial version 1.29 -- i.e., some released changes have been
;; made to version 1.29 without a corresponding version bump.
(let ((commit "7670c1da9274901f57f6682384af2b3bae005a86")
(revision "0"))
(package
(name "minetest-ethereal")
(version (git-version "1.29" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://notabug.org/TenPlus1/ethereal")
(commit commit)))
(sha256
(base32 "1hal8bq4fydsip7s8rqz4vlaaqy9rhzxmryd0j2qnqm9286yjgkk"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(home-page (minetest-topic 14638))
(synopsis "The Ethereal mod adds many new biomes to Minetest")
(description
"The Ethereal Minetest mod uses the v7 map generator to add many new
biomes to the world. It adds new trees, plants, food items, tweaks and some
special items, intending to make an interesting adventure.")
;; CC0: some textures
(license (list license:cc0 license:expat))
(properties `((upstream-name . "TenPlus1/ethereal"))))))
(define-public minetest-homedecor-modpack
(package
(name "minetest-homedecor-modpack")
;; Upstream doesn't tag releases, so use the release title from
;; ContentDB as version.
(version "2021-03-27-1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/VanessaE/homedecor_modpack")
(commit "9ffe2b7d691133e1a067546574fbe7364fd02f32")))
(sha256
(base32 "1lfajqvc2adf9hqskghky4arccqzpjw4i9a01hv4qcckvivm04ag"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(propagated-inputs
`(("minetest-basic-materials" ,minetest-basic-materials)
("minetest-unifieddyes" ,minetest-unifieddyes)))
(home-page (minetest-topic 2041))
(synopsis "Home decor mod for Minetest")
(description
;; TRANSLATORS: homedecor is the name is the name of a Minetest mod
;; and should not be translated.
"The homedecor Minetest mod provides a large seleection of items that
might be found inside and around homes, such as sofas, chairs, tables, fences
and a variety of other stuff.")
(license
(list license:cc-by-sa4.0 license:lgpl3))
(properties `((upstream-name . "VanessaE/homedecor_modpack")))))
(define-public minetest-mesecons
;; The release on ContentDB does not have its own version number.
(let ((commit "db5879706d04d3480bc4863ce0c03fa73e5f10c7")
(revision "0"))
(package
(name "minetest-mesecons")
(version (git-version "1.2.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/minetest-mods/mesecons")
(commit commit)))
(sha256
(base32 "04m9s9l3frw1lgki41hgvjsw2zkrvfv0sy750b6j12arzb3lv645"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(home-page "https://mesecons.net")
(synopsis
"Digital circuitry for Minetest, including wires, buttons and lights")
(description
"Mesecons is a mod for Minetest implementing various items related
to digital circuitry, such as wires, buttons, lights and programmable
controllers. Among other things, there are also pistons, solar panels,
pressure plates and note blocks.
Mesecons has a similar goal to Redstone in Minecraft, but works in its own way,
with different rules and mechanics.")
;; LGPL for code, CC-BY-SA for textures.
;; The README.md and COPYING.txt disagree about the "+" in license:lgpl3+.
;; For now, assume README.md is correct. Upstream has been asked to
;; correct the inconsistency:
;; <https://github.com/minetest-mods/mesecons/issues/575>.
(license (list license:lgpl3+ license:cc-by-sa3.0))
(properties `((upstream-name . "Jeija/mesecons"))))))
(define-public minetest-mineclone
(package
(name "minetest-mineclone")
(version "0.71.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.minetest.land/Wuzzy/MineClone2")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0qm809dqvxc7pa1cr9skmglq9vrbq5hhm4c4m5yi46ldh1v96dgf"))))
(build-system copy-build-system)
(arguments
`(#:install-plan
'(("." "share/minetest/games/mineclone"))))
(synopsis "Minecraft clone based on Minetest engine")
(description
"MineClone is a Minetest subgame, that aims to recreate Minecraft as
closely as the engine allows.")
(home-page "https://content.minetest.net/packages/Wuzzy/mineclone2/")
(license license:gpl3+)))
(define-public minetest-mobs
(package
(name "minetest-mobs")
;; Upstream does not tag release, so use the ContentDB release
;; title instead.
(version "2021-07-22")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://notabug.org/TenPlus1/mobs_redo")
(commit "9f46182bb4b1a390f9a140bc2b443f3cda702332")))
(sha256
(base32 "026kqjis4lipgskjivb3jh9ris3iz80vy2q1jvgxhxmfghjjzp4j"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(home-page (minetest-topic 9917))
(synopsis "Mob library for Minetest mods, for animals, monsters etc.")
(description
"This Minetest mod provides an API for adding mods (moving entities
like animals and monsters), but does not include any mobs itself. To actually
add some mobs, a mod like e.g. @code{mobs_animal} provided by the
@code{minetest-mobs-animal} package needs to be enabled.")
;; CC0: mob_swing.ogg
;; CC-BY 3.0: mob_spell.ogg
;; Expat: everything else
(license (list license:expat license:cc0 license:cc-by3.0))
(properties `((upstream-name . "TenPlus1/mobs")))))
(define-public minetest-mobs-animal
(package
(name "minetest-mobs-animal")
;; Upstream does not use version numbers, so use the release title
;; from ContentDB instead;
(version "2021-07-24")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://notabug.org/TenPlus1/mobs_animal")
(commit "c2fa3e300c79c7dd80b6fe91a8b5082bb6b3d934")))
(sha256
(base32 "1j719f079ia9vjxrmjrcj8s6jvaz5kgs1r4dh66z8ql6s70kx7vh"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(propagated-inputs
`(("minetest-mobs" ,minetest-mobs)))
(home-page "https://notabug.org/TenPlus1/mobs_animal")
(synopsis "Add animals to Minetest")
(description
"This Minetest mod adds various animals to Minetest, such as bees,
bunnies, chickens, cows, kittens, rats, sheep, warthogs, penguins and pandas.")
;; CC0: some textures and sounds
(license (list license:cc0 license:expat))
(properties `((upstream-name . "TenPlus1/mobs_animal")))))
(define-public minetest-pipeworks
(package
(name "minetest-pipeworks")
;; Upstream uses dates as version numbers.
(version "2021-04-14-1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/VanessaE/pipeworks")
(commit "db6d1bd9c109e1e543b97cc3fa8a11400da23bcd")))
(sha256
(base32 "1flhcnf17dn1v86kcg47a1n4cb0lybd11ncxrkxn3wmf10ibsrm0"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(propagated-inputs
`(("minetest-basic-materials" ,minetest-basic-materials)))
(home-page (minetest-topic 2155))
(synopsis "Pipes, item-transport tubes and related devices for Minetest")
(description
"Pipeworks is a mod for Minetest implementing 3D pipes and tubes for
transporting liquids and items and some related devices. Pipes and tubes can
go horizontally or vertically. Item tubes can also be used for sorting items
and extracting items from chests or putting items in chests. Autocrafters can
automatically follow craft recipes to make new items and can be fed by item
tubes. Deployers can place items in the world as a player would. Node
breakers simulate a player punching a node.")
;; CC-BY-SA for textures, LGPL for code
(license (list license:cc-by-sa4.0 license:lgpl3))
(properties `((upstream-name . "VanessaE/pipeworks")))))
(define-public minetest-technic
(package
(name "minetest-technic")
;; Upstream doesn't keep version numbers, so use the release
;; date on ContentDB instead.
(version "2021-04-15")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/minetest-mods/technic")
(commit "1c219487d3f4dd03c01ff9aa1f298c7c18c7e189")))
(sha256
(base32 "1k9hdgzp7jnhsk6rgrlrv1lr5xrmh8ln4wv6r25v6f0fwbyj57sf"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(propagated-inputs
`(("minetest-pipeworks" ,minetest-pipeworks)
("minetest-basic-materials" ,minetest-basic-materials)))
(home-page (minetest-topic 2538))
(synopsis "Machinery and automation for Minetest")
(description
"This Minetest mod adds machinery and automation to Minetest.
It adds various ores that can be processed for constructing various
machinery, such as power generators, force field emitters, quarries
and a workshop for repairing tools. Most machines are electrically
powered.")
;; CC BY-SA 3.0: some texture
;; WTFPL: some textures
;; CC BY-SA3.0: some textures
;; CC BY-SA4.0: some sounds
(license (list license:lgpl2.1+ license:cc-by-sa3.0 license:cc-by-sa4.0
license:wtfpl2))
(properties `((upstream-name . "RealBadAngel/technic")))))
(define-public minetest-throwing
;; The latest release on ContentDB is ahead of the latet
;; tagged commit.
(let ((commit "31f0cf5f868673dc82f24ddc432b45c9cd282d27")
(revision "0"))
(package
(name "minetest-throwing")
(version (git-version "1.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/minetest-mods/throwing")
(commit commit)))
(sha256
(base32 "1s5kkr6rxxv2dhbbjzv62gw1s617hnpjavw1v9fv11v3mgigdfjb"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(home-page (minetest-topic 16365))
(synopsis "API for throwing things in Minetest")
(description
"This Minetest mod provides an API for registering throwable things and
throwing things like arrows. However, this mod does not provide an actual
arrow and bow, but @code{minetest-throwing-arrows} does.")
(license license:mpl2.0)
(properties `((upstream-name . "Palige/throwing"))))))
(define-public minetest-throwing-arrows
;; There is only one tagged commit (version 1.1),
;; there are no releases on ContentDB and the latest
;; commit has a compatibility fix for Minetest 5.4.0-dev.
(let ((commit "059cc897af0aebfbd2c54ac5588f2b842f44f159")
(revision "0"))
(package
(name "minetest-throwing-arrows")
(version (git-version "1.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/minetest-mods/throwing_arrows")
(commit commit)))
(sha256
(base32 "0m2pmccpfxn878zd00pmrpga2h6gknz4f3qprck0fq94mksmwqs3"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(propagated-inputs
`(("minetest-throwing" ,minetest-throwing)))
(home-page (minetest-topic 16365))
(synopsis "Arrows and bows for Minetest")
(description
;; TRANSLATORS: "throwing" is the name of a Minetest mod and should
;; not be translated.
"This mod adds arrows and bows to Minetest. It is a compatible
replacement for the throwing mod by PilzAdam that uses the throwing API.")
(license license:mpl2.0))))
(define-public minetest-worldedit
(package
(name "minetest-worldedit")
(version "1.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Uberi/Minetest-WorldEdit")
(commit "2f26fb76459c587868199160b9d7b5d6d7852e50")))
(sha256
(base32 "0lsvihkixi2na1b0vmml9vwgs0g24hqqshl73ffhkzh6jsq4cagq"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(home-page (minetest-topic 572))
(synopsis "In-game world editor for Minetest")
(description
"WorldEdit is a mod for Minetest. It allows for creating various
geometric shapes and copying regions. It can also export and import regions
to and from the file system.")
(license license:agpl3)
(properties `((upstream-name . "sfan5/worldedit")))))
(define-public minetest-unifieddyes
(package
(name "minetest-unifieddyes")
;; Upstream uses dates as version numbers.
(version "2021-04-20-1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/VanessaE/unifieddyes")
(commit "ff3b2d30fa0df5c7181fdd401b989de6271c3bb3")))
(sha256
(base32 "0rba9n192xcpmxwnq7ixb6mn32gkpic247j3w4mwinrqcyscacsv"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(propagated-inputs
`(("minetest-basic-materials" ,minetest-basic-materials)))
(home-page (minetest-topic 2178))
(synopsis
"Unified Dyes expands the standard dye set of Minetest to up to 256 colours")
(description "The purpose of this mod originally was to supply a complete
set of colours for Minetest mod authors to use for colourised nodes or
reference in recipes. Since the advent of the default dyes mod in the standard
Minetest game, this mod has become an extension of the default mod an a library
for general colour handling.")
(license license:gpl2+)
(properties `((upstream-name . "VanessaE/unifieddyes")))))
(define-public minetest-unified-inventory
(package
(name "minetest-unified-inventory")
;; Upstream doesn't keep version numbers, so use the release title
;; on ContentDB instead.
(version "2021-03-25-1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/minetest-mods/unified_inventory")
(commit "c044f5e3b08f0c68ab028d757b2fa63d9a1b0370")))
(sha256
(base32 "198g945gzbfl0kps46gwjw0c601l3b3wvn4c7dw8manskri1jr4g"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(home-page (minetest-topic 12767))
(synopsis "Replace the default inventory in Minetest and add a crafting guide")
(description
"The Unified Inventory Minetest mod relaces the default survival an
creative inventory. It includes a node, item and tool browser, a crafting
guide, a trash and refill slot for creative mode, bags and waypoints for keeping
track of important locations.")
;; CC-BY: some textures and icons
;; CC-BY-SA: some textures and icons
;; LGLPL2.1+: code and some textures
;; GPL2+: some textures
;; GPL3: bags.lua
;; GFDL: some icons
;; public domain, CC0: some icons
(license (list license:gpl3 license:gpl2+ license:lgpl2.1+ license:cc-by3.0
license:cc-by4.0 license:cc-by-sa3.0 license:public-domain
license:cc0 license:fdl1.2+))
(properties `((upstream-name . "RealBadAngel/unified_inventory")))))

View File

@ -9,6 +9,7 @@
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021 Raphaël Mélotte <raphael.melotte@mind.be>
;;;
;;; This file is part of GNU Guix.
;;;
@ -650,3 +651,35 @@ LAN, if wanted, and clients can switch between multiple hosts on the network.
Hostscope features a bridge to Influx DB. So Grafana can be used to visualize
the recorded data over time.")
(license license:gpl3+)))
(define-public fatrace
(package
(name "fatrace")
(version "0.16.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/martinpitt/fatrace")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1bxz6v1z0icp716jnv3knjyqp8bv6xnkz8gqd8z3g2b6yxj5xff3"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)
;; tests need root to run as root,
;; and there is no make target for them:
(delete 'check))
#:make-flags
(list (string-append "CC=" ,(cc-for-target))
(string-append "PREFIX=" %output))))
(synopsis "File access events monitor")
(description "This package provides a utility to report system wide file
access events from all running processes. Its main purpose is to find
processes which keep waking up the disk unnecessarily and thus prevent some
power saving.")
(home-page "https://github.com/martinpitt/fatrace")
(license license:gpl3+)))

View File

@ -8,6 +8,7 @@
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -645,19 +646,34 @@ FFmpeg, etc.")
(define-public python-pyacoustid
(package
(name "python-pyacoustid")
(version "1.1.7")
(version "1.2.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyacoustid" version))
(sha256
(base32
"1zan6c22ca6sjy0g9ajwjp6mkzw7jv8r3n7jzska09a6x254lf87"))))
"0ha15m41r8ckmanc4k9nrlb9hprvhdjxndzw40a1yj3z1b1xjyf2"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chromaprint-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "chromaprint.py"
(("libchromaprint.so.1")
(string-append (assoc-ref inputs "chromaprint")
"/lib/libchromaprint.so.1")))
(substitute* "acoustid.py"
(("'fpcalc'")
(string-append "'" (assoc-ref inputs "chromaprint")
"/bin/fpcalc'")))
#t)))))
(inputs `(("chromaprint" ,chromaprint)))
(propagated-inputs
`(("python-audioread" ,python-audioread)
("python-requests" ,python-requests)))
(home-page "https://github.com/sampsyo/pyacoustid")
(home-page "https://github.com/beetbox/pyacoustid")
(synopsis "Bindings for Chromaprint acoustic fingerprinting")
(description
"This package provides bindings for the Chromaprint acoustic

View File

@ -285,13 +285,13 @@ information about tracks being played to a scrobbler, such as Libre.FM.")
(define-public python-mpd2
(package
(name "python-mpd2")
(version "3.0.1")
(version "3.0.4")
(source (origin
(method url-fetch)
(uri (pypi-uri "python-mpd2" version))
(sha256
(base32
"0fxssbmnv44m03shjyvbqslc69b0160702j2s0flgvdxjggrnbjj"))))
"1r8saq1460yfa0sxfrvxqs2r453wz2xchlc9gzbpqznr49786rvs"))))
(build-system python-build-system)
(arguments
'(#:phases

View File

@ -29,14 +29,14 @@
(define-public mtools
(package
(name "mtools")
(version "4.0.31")
(version "4.0.35")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/mtools/mtools-"
version ".tar.bz2"))
(sha256
(base32
"11nm5mhsq700f3dzvzjpcik89cfcn38mb249yc0sjbwggwkrk2ak"))
"0ja7lkbw6v36p0cq0hs3xsw2ks970k47d350j7cg1lji6wbrwxil"))
(patches
(search-patches "mtools-mformat-uninitialized.patch"))))
(build-system gnu-build-system)

View File

@ -41,6 +41,8 @@
;;; Copyright © 2021 Rovanion Luckey <rovanion.luckey@gmail.com>
;;; Copyright © 2021 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@ -145,6 +147,7 @@
#:use-module (gnu packages pulseaudio) ;libsndfile
#:use-module (gnu packages python)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-compression)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
@ -551,7 +554,7 @@ It is a fork of Clementine aimed at music collectors and audiophiles.")
(define-public cmus
(package
(name "cmus")
(version "2.8.0")
(version "2.9.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -560,7 +563,7 @@ It is a fork of Clementine aimed at music collectors and audiophiles.")
(file-name (git-file-name name version))
(sha256
(base32
"1ydnvq13ay8b8mfmmgwi5qsgyf220yi1d01acbnxqn775dghmwar"))))
"0zjkimni2fhv4yskrjrgj6b74f33rfj58zgd7khwrz4z8nf88j0w"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; cmus does not include tests
@ -2209,7 +2212,7 @@ users to select LV2 plugins and run them with jalv.")
(define-public synthv1
(package
(name "synthv1")
(version "0.9.22")
(version "0.9.23")
(source (origin
(method url-fetch)
(uri
@ -2217,7 +2220,7 @@ users to select LV2 plugins and run them with jalv.")
"/synthv1-" version ".tar.gz"))
(sha256
(base32
"0cmxbsfhkkyqn97rc47cb7d3bv6bd9r71xp4z85mi2kl3q4k569i"))))
"03lvq84pg0agdn16i7ng6j7lp1ii3inf4pzjypnkywb2km7zcpni"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
@ -2241,7 +2244,7 @@ oscillators and stereo effects.")
(define-public drumkv1
(package
(name "drumkv1")
(version "0.9.22")
(version "0.9.23")
(source (origin
(method url-fetch)
(uri
@ -2249,7 +2252,7 @@ oscillators and stereo effects.")
"/drumkv1-" version ".tar.gz"))
(sha256
(base32
"0c13l814f5rhbmpmd4w0a07j1ki5wc092xcgy6p6zj5s03zvcrzy"))))
"1jgsml9wxzwnqyb6wjn9zk94qvxs6c898hyj10sza4d9l6r1rnw0"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
@ -2274,7 +2277,7 @@ effects.")
(define-public samplv1
(package
(name "samplv1")
(version "0.9.22")
(version "0.9.23")
(source (origin
(method url-fetch)
(uri
@ -2282,7 +2285,7 @@ effects.")
"/samplv1-" version ".tar.gz"))
(sha256
(base32
"19ajnwzd5w2jlazflh5r9qm4sflkn2s2zc5zh0vlqywxzvb9dp9g"))))
"1bgyz530mpmlabvy592zickrzk4x4rm2i0ixf3z6plgn265km43q"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
@ -2307,7 +2310,7 @@ effects.")
(define-public padthv1
(package
(name "padthv1")
(version "0.9.22")
(version "0.9.23")
(source (origin
(method url-fetch)
(uri
@ -2315,7 +2318,7 @@ effects.")
"/padthv1-" version ".tar.gz"))
(sha256
(base32
"1wky9v91qc3j866di8mcjz0pf3n8ah888lxg8dpvp6ryh1cm6i6x"))))
"0222n74kykirkhq4va09hr37rybxs0nxjbmamp38jf94bfz5y8gp"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
@ -2883,14 +2886,14 @@ browser.")
(define-public drumstick
(package
(name "drumstick")
(version "2.3.0")
(version "2.3.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/drumstick/"
version "/drumstick-" version ".tar.bz2"))
(sha256
(base32
"12haksnf91ra5w5dwnlc3rcw4js8wj4hsl6kzyqrx4q4fnpvjahk"))))
"1rs248pkgn6d29nkvw9ab6dvi1vsz220jdmz1ddzr29cpyc0adfh"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; no test target
@ -3280,14 +3283,14 @@ from the command line.")
(define-public qtractor
(package
(name "qtractor")
(version "0.9.22")
(version "0.9.23")
(source (origin
(method url-fetch)
(uri (string-append "https://downloads.sourceforge.net/qtractor/"
"qtractor-" version ".tar.gz"))
(sha256
(base32
"0n73xn3205afi9vsy6ianixq36ddp8qv6iaq03ldc6mkkfvn0nc5"))))
"1d2d884x5kfa41skwyh0ihyx5jgc9467617gmfjm379qcgnxq00s"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; no "check" target
@ -3577,7 +3580,7 @@ formats, looking up tracks through metadata and audio fingerprints.")
`(("python-pytest" ,python-pytest)
("python-hypothesis" ,python-hypothesis)
("python-flake8" ,python-flake8)))
(home-page "https://bitbucket.org/lazka/mutagen")
(home-page "https://mutagen.readthedocs.io/")
(synopsis "Read and write audio tags")
(description "Mutagen is a Python module to handle audio metadata. It
supports ASF, FLAC, M4A, Monkeys Audio, MP3, Musepack, Ogg FLAC, Ogg Speex, Ogg
@ -3591,20 +3594,18 @@ streams on an individual packet/page level.")
(define-public python-mediafile
(package
(name "python-mediafile")
(version "0.6.0")
(version "0.8.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "mediafile" version))
(patches (search-patches "python-mediafile-wavpack.patch"))
(sha256
(base32
"0jmsp3f57xj35ayp8b6didk85nxgl3viw34s5px3l5dwgc055yx3"))))
"0ipb001j19s9wvssmrj8wz0nrkbl0k3zr3dgzyp1bd9cjc6vklnp"))))
(build-system python-build-system)
(propagated-inputs
`(("python-mutagen" ,python-mutagen)
("python-six" ,python-six)
("python-tox" ,python-tox)))
("python-six" ,python-six)))
(home-page "https://github.com/beetbox/mediafile")
(synopsis "Read and write audio file tags")
(description
@ -3617,18 +3618,14 @@ of tags.")
(define-public python-musicbrainzngs
(package
(name "python-musicbrainzngs")
(version "0.6")
(version "0.7.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "musicbrainzngs" version))
(sha256
(base32
"1dddarpjawryll2wss65xq3v9q8ln8dan7984l5dxzqx88d2dvr8"))))
"09z6k07pxncfgfc8clfmmxl2xqbd7h8x8bjzwr95hc0bzl00275b"))))
(build-system python-build-system)
(arguments
'(;; The tests fail suffer from race conditions:
;; https://github.com/alastair/python-musicbrainzngs/issues/211
#:tests? #f))
(home-page "https://python-musicbrainzngs.readthedocs.org/")
(synopsis "Python bindings for MusicBrainz NGS webservice")
(description "Musicbrainzngs implements Python bindings of the MusicBrainz
@ -3698,37 +3695,29 @@ detailed track info including timbre, pitch, rhythm and loudness information.
(define-public python-pylast
(package
(name "python-pylast")
(version "2.0.0")
(version "4.2.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "pylast" version))
(sha256
(base32
"0r9h7g8i8l2mgqjwkda3v6prfbkb2im5kap1az9ppmhjm9i4jkcf"))))
"0pzzhr4mlwpvfhy9gzq86ppz29fmf5z0w3xkl5if1fm59r1afms7"))))
(build-system python-build-system)
;; Tests require network access. See
;; https://github.com/pylast/pylast/issues/105
(arguments '(#:tests? #f))
(native-inputs
`(("python-coverage" ,python-coverage)
("python-pycodestyle" ,python-pycodestyle)
("python-mock" ,python-mock)
("python-pep8" ,python-pep8)
("python-pytest" ,python-pytest)
("python-flaky" ,python-flaky)
("python-pyflakes" ,python-pyflakes)
("python-pyyaml" ,python-pyyaml)))
(propagated-inputs
`(("python-six" ,python-six)))
("python-pyyaml" ,python-pyyaml)
("python-setuptools-scm" ,python-setuptools-scm)))
(home-page "https://github.com/pylast/pylast")
(synopsis "Python interface to Last.fm and Libre.fm")
(description "A Python interface to Last.fm and other API-compatible
websites such as Libre.fm.")
(license license:asl2.0)))
(define-public python2-pylast
(package-with-python2 python-pylast))
(define-public instantmusic
(let ((commit "300891d09c703525215fa5a116b9294af1c923c8")
(revision "1"))
@ -3774,34 +3763,27 @@ websites such as Libre.fm.")
(define-public beets
(package
(name "beets")
(version "1.4.9")
(version "1.5.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "beets" version))
(patches (search-patches "beets-werkzeug-compat.patch"))
(sha256
(base32
"0m40rjimvfgy1dv04p8f8d5dvi2855v4ix99a9xr900cmcn476yj"))))
"0arl4nc3y8iwa331hf6ggai19y8ns9pl03g5d6ac857wq2x7nzw8"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; Reported upstream: <https://github.com/beetbox/beets/issues/3771>.
;; Disable the faulty test as the fix is unclear.
(add-after 'unpack 'disable-failing-tests
(lambda _
(substitute* "test/test_mediafile.py"
(("def test_read_audio_properties") "def _test_read_audio_properties"))
#t))
(add-after 'unpack 'set-HOME
(lambda _
(setenv "HOME" (string-append (getcwd) "/tmp"))
#t))
(replace 'check
(lambda _
(invoke "nosetests" "-v")))
;; Wrap the executable, so it can find python-gi (aka pygobject) and
;; gstreamer plugins.
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-v" "test"))))
;; Wrap the executable, so it can find python-gi (aka
;; pygobject) and gstreamer plugins.
(add-after 'wrap 'wrap-typelib
(lambda* (#:key outputs #:allow-other-keys)
(let ((prog (string-append (assoc-ref outputs "out")
@ -3813,112 +3795,68 @@ websites such as Libre.fm.")
`("GI_TYPELIB_PATH" ":" prefix (,types)))
#t))))))
(native-inputs
`(("python-beautifulsoup4" ,python-beautifulsoup4)
`(("gobject-introspection" ,gobject-introspection)
("python-flask" ,python-flask)
("python-mock" ,python-mock)
("python-mpd2" ,python-mpd2)
("python-nose" ,python-nose)
("python-pathlib" ,python-pathlib)
("python-pyxdg" ,python-pyxdg)
("python-pylast" ,python-pylast)
("python-rarfile" ,python-rarfile)
("python-py7zr" ,python-py7zr)
("python-pytest" ,python-pytest-6)
("python-responses" ,python-responses)))
;; TODO: Install optional plugins and dependencies.
(inputs
`(("python-discogs-client" ,python-discogs-client)
("python-jellyfish" ,python-jellyfish)
("python-munkres" ,python-munkres)
("python-musicbrainzngs" ,python-musicbrainzngs)
("python-mutagen" ,python-mutagen)
("python-pyacoustid" ,python-pyacoustid)
("python-pyyaml" ,python-pyyaml)
("python-unidecode" ,python-unidecode)
;; For plugin replaygain.
("python-pygobject" ,python-pygobject)
("gobject-introspection" ,gobject-introspection)
`(("bash-minimal" ,bash-minimal)
("gst-plugins-base" ,gst-plugins-base)
("gst-plugins-good" ,gst-plugins-good)
("gstreamer" ,gstreamer)))
("gstreamer" ,gstreamer)
("python-confuse" ,python-confuse)
("python-jellyfish" ,python-jellyfish)
("python-mediafile" ,python-mediafile)
("python-munkres" ,python-munkres)
("python-musicbrainzngs" ,python-musicbrainzngs)
("python-pyyaml" ,python-pyyaml)
("python-six" ,python-six)
("python-unidecode" ,python-unidecode)
;; Optional dependencies for plugins. Some of these are also required by tests.
("python-beautifulsoup4" ,python-beautifulsoup4) ; For lyrics.
("python-discogs-client" ,python-discogs-client) ; For discogs.
("python-mpd2" ,python-mpd2) ; For mpdstats.
("python-mutagen" ,python-mutagen) ; For scrub.
("python-langdetect" ,python-langdetect) ; For lyrics.
("python-pillow" ,python-pillow) ; For fetchart, embedart, thumbnails.
("python-pyacoustid" ,python-pyacoustid) ; For chroma.
("python-pygobject" ,python-pygobject) ; For bpd, replaygain.
("python-pylast" ,python-pylast) ; For lastgenre, lastimport.
("python-pyxdg" ,python-pyxdg) ; For thumbnails.
("python-rarfile" ,python-rarfile) ; For import.
("python-reflink" ,python-reflink) ; For reflink.
("python-requests" ,python-requests)
("python-requests-oauthlib" ,python-requests-oauthlib))) ; For beatport.
(home-page "https://beets.io")
(synopsis "Music organizer")
(description "The purpose of beets is to get your music collection right
once and for all. It catalogs your collection, automatically improving its
metadata as it goes using the MusicBrainz database. Then it provides a variety
of tools for manipulating and accessing your music.")
(description "The purpose of beets is to get your music collection
right once and for all. It catalogs your collection, automatically
improving its metadata as it goes using the MusicBrainz database.
Then it provides a variety of tools for manipulating and accessing
your music.")
(license license:expat)))
(define-public beets-next
(let ((commit "04ea754d00e2873ae9aa2d9e07c5cefd790eaee2")
(revision "1"))
(package
(inherit beets)
(name "beets-next")
(version (git-version (package-version beets) revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/beetbox/beets")
(commit commit)))
(file-name (git-file-name "beets" version))
(sha256
(base32
"092a9sss2shhcjmpgbwvscv8brpm5970i5hddkhi81xcff3bg1h4"))))
(arguments
`(#:phases
(modify-phases %standard-phases
;; XXX: unclear why this fails
(add-after 'unpack 'disable-failing-tests
(lambda _
(substitute* "test/test_zero.py"
(("def test_album_art") "def _test_album_art"))
#t))
(add-after 'unpack 'set-HOME
(lambda _
(setenv "HOME" (string-append (getcwd) "/tmp"))
#t))
(replace 'check
(lambda _
;; Resources must be writable.
(for-each make-file-writable
(find-files "test/rsrc" "."))
(invoke "nosetests" "-v")))
;; Wrap the executable, so it can find python-gi (aka pygobject) and
;; gstreamer plugins.
(add-after 'wrap 'wrap-typelib
(lambda* (#:key outputs #:allow-other-keys)
(let ((prog (string-append (assoc-ref outputs "out")
"/bin/beet"))
(plugins (getenv "GST_PLUGIN_SYSTEM_PATH"))
(types (getenv "GI_TYPELIB_PATH")))
(wrap-program prog
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,plugins))
`("GI_TYPELIB_PATH" ":" prefix (,types)))
#t))))))
(inputs
`(("python-confuse" ,python-confuse)
("python-mediafile" ,python-mediafile)
("python-reflink" ,python-reflink)
("python-requests-oauthlib" ,python-requests-oauthlib)
("opusfile" ,opusfile)
,@(package-inputs beets))))))
(deprecated-package "beets-next" beets))
(define-public beets-bandcamp
(package
(name "beets-bandcamp")
(version "0.1.3")
(version "0.1.4")
(source (origin
(method url-fetch)
(uri (pypi-uri "beets-bandcamp" version))
(sha256
(base32
"04awg0zdhhg5h510fc1p3qkvr2l1qm6nf85hlr9z8im8a7xlka0i"))))
"0dwbdkrb9c0ppzm5s78h47ndpr88cw1k0z8fgfhkl706wazx2ddg"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ; there are no tests
(propagated-inputs
`(("beets" ,beets)
("python-isodate" ,python-isodate)))
(inputs
`(("python-beautifulsoup4" ,python-beautifulsoup4)
("python-isodate" ,python-isodate)
("python-beautifulsoup4" ,python-beautifulsoup4)
("python-requests" ,python-requests)
("python-six" ,python-six)))
(home-page "https://github.com/unrblt/beets-bandcamp")
@ -4683,26 +4621,26 @@ provide a very simple interface for editing and playing MIDI loops.")
(define-public python-discogs-client
(package
(name "python-discogs-client")
(version "2.2.1")
(version "2.3.12")
(source (origin
(method url-fetch)
(uri (pypi-uri "discogs-client" version))
(uri (pypi-uri "python3-discogs-client" version))
(sha256
(base32
"053ld2psh0yj3z0kg6z5bn4y3cr562m727494n0ayhgzbkjbacly"))))
"1zmib0i9jicv9fyphgkcrk418qmpv3l4p38ibl31sh237ki5xqw9"))))
(build-system python-build-system)
(propagated-inputs
`(("python-oauthlib" ,python-oauthlib)
`(("python-dateutil" ,python-dateutil)
("python-oauthlib" ,python-oauthlib)
("python-requests" ,python-requests)))
(native-inputs
`(("python-six" ,python-six)))
(home-page "https://github.com/discogs/discogs_client")
(synopsis "Official Python client for the Discogs API")
(description "This is the official Discogs API client for Python. It enables
you to query the Discogs database for information on artists, releases, labels,
users, Marketplace listings, and more. It also supports OAuth 1.0a
authorization, which allows you to change user data such as profile information,
collections and wantlists, inventory, and orders.")
(home-page "https://github.com/joalla/discogs_client")
(synopsis "Python client for the Discogs API")
(description "This is the continuation of the official Discogs API
client for Python. It enables you to query the Discogs database for
information on artists, releases, labels, users, Marketplace listings,
and more. It also supports OAuth 1.0a authorization, which allows you to
change user data such as profile information, collections and wantlists,
inventory, and orders.")
(license license:bsd-2)))
(define-public python2-discogs-client
@ -6295,7 +6233,7 @@ Soul Force), MVerb, Nekobi, and ProM.")
(define-public avldrums-lv2
(package
(name "avldrums-lv2")
(version "0.4.1")
(version "0.4.2")
(source
(origin
(method git-fetch)
@ -6307,7 +6245,7 @@ Soul Force), MVerb, Nekobi, and ProM.")
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "1vwdp3d8qzd493qa99ddya7iql67bbfxmbcl8hk96lxif2lhmyws"))))
(base32 "14gka5g7va30gm1hn0cas4vvb8s764rfvzcxm67ww86hf54cpnig"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
@ -6315,10 +6253,10 @@ Soul Force), MVerb, Nekobi, and ProM.")
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure) ; no configure script
(add-before 'build 'set-CC-variable
(lambda _
(setenv "CC" "gcc") #t))
(delete 'configure))))
(setenv "CC" "gcc"))))))
(inputs
`(("cairo" ,cairo)
("dssi" ,dssi)

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -28,14 +28,14 @@
(define-public ncdu
(package
(name "ncdu")
(version "1.15.1")
(version "1.16")
(source (origin
(method url-fetch)
(uri (string-append "https://dev.yorhel.nl/download/ncdu-"
version ".tar.gz"))
(sha256
(base32
"1c1zxalm5asyhn4p1hd51h7khw17515gbqmvdz63kc8xpx6xqbdh"))))
"1m0gk09jaz114piidiw8fkg0id5l6nhz1cg5nlaf1yl3l595g49b"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)))
(synopsis "Ncurses-based disk usage analyzer")

View File

@ -1445,14 +1445,14 @@ of the same name.")
(define-public wireshark
(package
(name "wireshark")
(version "3.4.7")
(version "3.4.8")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.wireshark.org/download/src/wireshark-"
version ".tar.xz"))
(sha256
(base32 "17d00kl0s010wg2dfhy7sdbr2qm54lsi317fmbcvjz4rxx8ywk3c"))))
(base32 "09fpvfj4m7glisj6p4zb8wylkrjkqqw69xnwnz4ah410zs6zm9sq"))))
(build-system cmake-build-system)
(arguments
`(#:phases
@ -2193,7 +2193,7 @@ It is intended primarily for use in testing.")
`(("perl-module-build" ,perl-module-build)
("perl-test-pod" ,perl-test-pod)
("perl-test-pod-coverage" ,perl-test-pod-coverage)))
(inputs `(("perl-socket6" ,perl-socket6)))
(propagated-inputs `(("perl-socket6" ,perl-socket6)))
(arguments `(;; Need network socket API
#:tests? #f))
(home-page
@ -2593,33 +2593,6 @@ enabled due to license conflicts between the BSD advertising clause and the GPL.
;; distribution for clarification.
(license (list license:bsd-3 license:bsd-4))))
(define-public pidentd
(package
(name "pidentd")
(version "3.0.19")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ptrrkssn/pidentd")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1k4rr0b4ygxssbnsykzjvz4hjhazzz4j5arlilyc1iq7b1wzsk7i"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; No tests are included
(inputs
`(("openssl" ,openssl-1.0))) ;for the DES library
(home-page "https://www.lysator.liu.se/~pen/pidentd/")
(synopsis "Small Ident Daemon")
(description
"@dfn{Pidentd} (Peter's Ident Daemon) is an identd, which implements a
identification server. Pidentd looks up specific TCP/IP connections and
returns the user name and other information about the connection.")
(license license:public-domain)))
(define-public spiped
(package
(name "spiped")
@ -3399,12 +3372,11 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
(license license:bsd-3)))
(define-public opendht
;; Jami requires unreleased features of OpenDHT.
(let ((commit "c8a0b443f3117e2fa1343d2cb3c091f502b1a24e")
(let ((commit "6c58d4f2e9b7f1de15db8d3a736c8cf1ea5f2886")
(revision "1"))
(package
(name "opendht")
(version (git-version "2.2.0rc7" revision commit))
(version (git-version "2.3.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@ -3413,7 +3385,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
(file-name (git-file-name name version))
(sha256
(base32
"062irb9yii66n2fzbpsjf7v2v53zzvakr1wjmi4l1jaz33fwx5by"))))
"06l0z1dmxyjh8gdrmxyq4vnfnv3x400bhx0lxm7l90f8zc5r2bim"))))
;; Since 2.0, the gnu-build-system does not seem to work anymore, upstream bug?
(outputs '("out" "tools" "debug"))
(build-system cmake-build-system)
@ -3912,14 +3884,14 @@ thousands of connections is clearly realistic with today's hardware.")
(define-public lldpd
(package
(name "lldpd")
(version "1.0.11")
(version "1.0.12")
(source
(origin
(method url-fetch)
(uri (string-append "https://media.luffy.cx/files/lldpd/lldpd-"
version ".tar.gz"))
(sha256
(base32 "1r265ns6fh04xwrzj06p2l7kl5rkkns0cdawp1zwpvxs1xq1a7dm"))
(base32 "1wfs50b0694dm60ryjfmxgkxxsqpp9sxqbc4laad364wbddwd56i"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -6,7 +6,7 @@
;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2020, 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;;
@ -38,6 +38,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages adns)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
#:use-module (gnu packages gcc)
#:use-module (gnu packages icu4c)
@ -48,7 +49,9 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages tls)
#:use-module (gnu packages web))
#:use-module (gnu packages web)
#:use-module (ice-9 match)
#:use-module (srfi srfi-26))
(define-public node
(package
@ -111,14 +114,15 @@
"test/parallel/test-stdio-closed.js"
"test/sequential/test-child-process-emfile.js")
(("'/bin/sh'")
(string-append "'" (which "sh") "'")))
(string-append "'" (assoc-ref inputs "bash") "/bin/sh'")))
;; Fix hardcoded /usr/bin/env references.
(substitute* '("test/parallel/test-child-process-default-options.js"
"test/parallel/test-child-process-env.js"
"test/parallel/test-child-process-exec-env.js")
(("'/usr/bin/env'")
(string-append "'" (which "env") "'")))
(string-append "'" (assoc-ref inputs "coreutils")
"/bin/env'")))
;; FIXME: These tests fail in the build container, but they don't
;; seem to be indicative of real problems in practice.
@ -155,23 +159,66 @@
;; TODO: Regenerate certs instead.
(for-each delete-file
'("test/parallel/test-tls-passphrase.js"
"test/parallel/test-tls-server-verify.js"))
#t))
"test/parallel/test-tls-server-verify.js"))))
(add-before 'configure 'set-bootstrap-host-rpath
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(let* ((inputs (or native-inputs inputs))
(c-ares (assoc-ref inputs "c-ares"))
(http-parser (assoc-ref inputs "http-parser"))
(icu4c (assoc-ref inputs "icu4c"))
(nghttp2 (assoc-ref inputs "nghttp2"))
(openssl (assoc-ref inputs "openssl"))
(libuv (assoc-ref inputs "libuv"))
(zlib (assoc-ref inputs "zlib")))
(substitute* "deps/v8/gypfiles/v8.gyp"
(("'target_name': 'torque'," target)
(string-append target
"'ldflags': ['-Wl,-rpath="
c-ares "/lib:"
http-parser "/lib:"
icu4c "/lib:"
nghttp2 "/lib:"
openssl "/lib:"
libuv "/lib:"
zlib "/lib"
"'],"))))))
(replace 'configure
;; Node's configure script is actually a python script, so we can't
;; run it with bash.
(lambda* (#:key outputs (configure-flags '()) inputs
(lambda* (#:key outputs (configure-flags '()) native-inputs inputs
#:allow-other-keys)
(let* ((prefix (assoc-ref outputs "out"))
(xflags ,(if (%current-target-system)
`'("--cross-compiling"
,(string-append
"--dest-cpu="
(match (%current-target-system)
((? (cut string-prefix? "arm" <>))
"arm")
((? (cut string-prefix? "aarch64" <>))
"arm64")
((? (cut string-prefix? "i686" <>))
"ia32")
((? (cut string-prefix? "x86_64" <>))
"x64")
((? (cut string-prefix? "powerpc64" <>))
"ppc64")
(_ "unsupported"))))
''()))
(flags (cons (string-append "--prefix=" prefix)
configure-flags)))
(append xflags configure-flags))))
(format #t "build directory: ~s~%" (getcwd))
(format #t "configure flags: ~s~%" flags)
;; Node's configure script expects the CC environment variable to
;; be set.
(setenv "CC" (search-input-file inputs "/bin/gcc"))
(setenv "CC_host" "gcc")
(setenv "CXX_host" "g++")
(setenv "CC" ,(cc-for-target))
(setenv "CXX" ,(cxx-for-target))
(setenv "PKG_CONFIG" ,(pkg-config-for-target))
(apply invoke
(search-input-file inputs "/bin/python")
(search-input-file (or native-inputs inputs)
"/bin/python")
"configure" flags))))
(add-after 'patch-shebangs 'patch-npm-shebang
(lambda* (#:key outputs #:allow-other-keys)
@ -180,29 +227,37 @@
(npm (string-append bindir "/npm"))
(target (readlink npm)))
(with-directory-excursion bindir
(patch-shebang target (list bindir))
#t))))
(patch-shebang target (list bindir))))))
(add-after 'install 'patch-node-shebang
(lambda* (#:key outputs #:allow-other-keys)
(let* ((bindir (string-append (assoc-ref outputs "out")
"/bin"))
(npx (readlink (string-append bindir "/npx"))))
(with-directory-excursion bindir
(patch-shebang npx (list bindir))
#t)))))))
(patch-shebang npx (list bindir)))))))))
(native-inputs
`(("python" ,python-2)
`(;; Runtime dependencies for binaries used as a bootstrap.
("c-ares" ,c-ares)
("http-parser" ,http-parser)
("icu4c" ,icu4c)
("libuv" ,libuv)
("nghttp2" ,nghttp2 "lib")
("openssl" ,openssl)
("zlib" ,zlib)
;; Regular build-time dependencies.
("perl" ,perl)
("pkg-config" ,pkg-config)
("procps" ,procps)
("util-linux" ,util-linux)
("which" ,which)))
("python" ,python-2)
("util-linux" ,util-linux)))
(native-search-paths
(list (search-path-specification
(variable "NODE_PATH")
(files '("lib/node_modules")))))
(inputs
`(("c-ares" ,c-ares)
`(("bash" ,bash)
("coreutils" ,coreutils)
("c-ares" ,c-ares)
("http-parser" ,http-parser)
("icu4c" ,icu4c)
("libuv" ,libuv)
@ -548,7 +603,8 @@ parser definition into a C output.")
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs #:allow-other-keys)
(let ((esbuild (search-input-file inputs "/bin/esbuild")))
(let ((esbuild (search-input-file (or native-inputs inputs)
"/bin/esbuild")))
(invoke esbuild
"--platform=node"
"--outfile=bin/generate.js"
@ -620,21 +676,74 @@ source files.")
"--with-intl=system-icu"))
((#:phases phases)
`(modify-phases ,phases
(replace 'set-bootstrap-host-rpath
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(let* ((inputs (or native-inputs inputs))
(c-ares (assoc-ref inputs "c-ares"))
(google-brotli (assoc-ref inputs "google-brotli"))
(icu4c (assoc-ref inputs "icu4c"))
(nghttp2 (assoc-ref inputs "nghttp2"))
(openssl (assoc-ref inputs "openssl"))
(libuv (assoc-ref inputs "libuv"))
(zlib (assoc-ref inputs "zlib"))
(host-binaries '("torque"
"bytecode_builtins_list_generator"
"gen-regexp-special-case"
"node_mksnapshot"
"mksnapshot")))
(substitute* '("node.gyp" "tools/v8_gypfiles/v8.gyp")
(((string-append "'target_name': '("
(string-join host-binaries "|")
")',")
target)
(string-append target
"'ldflags': ['-Wl,-rpath="
c-ares "/lib:"
google-brotli "/lib:"
icu4c "/lib:"
nghttp2 "/lib:"
openssl "/lib:"
libuv "/lib:"
zlib "/lib"
"'],"))))))
(replace 'configure
;; Node's configure script is actually a python script, so we can't
;; run it with bash.
(lambda* (#:key outputs (configure-flags '()) inputs
(lambda* (#:key outputs (configure-flags '()) native-inputs inputs
#:allow-other-keys)
(let* ((prefix (assoc-ref outputs "out"))
(flags (cons (string-append "--prefix=" prefix)
configure-flags)))
(xflags ,(if (%current-target-system)
`'("--cross-compiling"
,(string-append
"--dest-cpu="
(match (%current-target-system)
((? (cut string-prefix? "arm" <>))
"arm")
((? (cut string-prefix? "aarch64" <>))
"arm64")
((? (cut string-prefix? "i686" <>))
"ia32")
((? (cut string-prefix? "x86_64" <>))
"x64")
((? (cut string-prefix? "powerpc64" <>))
"ppc64")
(_ "unsupported"))))
''()))
(flags (cons
(string-append "--prefix=" prefix)
(append xflags configure-flags))))
(format #t "build directory: ~s~%" (getcwd))
(format #t "configure flags: ~s~%" flags)
;; Node's configure script expects the CC environment variable to
;; be set.
(setenv "CC_host" "gcc")
(setenv "CXX_host" "g++")
(setenv "CC" ,(cc-for-target))
(setenv "CXX" ,(cxx-for-target))
(setenv "PKG_CONFIG" ,(pkg-config-for-target))
(apply invoke
(search-input-file inputs "/bin/python3")
(search-input-file (or native-inputs inputs)
"/bin/python3")
"configure" flags))))
(replace 'patch-files
(lambda* (#:key inputs #:allow-other-keys)
@ -646,14 +755,15 @@ source files.")
"test/parallel/test-stdio-closed.js"
"test/sequential/test-child-process-emfile.js")
(("'/bin/sh'")
(string-append "'" (which "sh") "'")))
(string-append "'" (assoc-ref inputs "bash") "/bin/sh'")))
;; Fix hardcoded /usr/bin/env references.
(substitute* '("test/parallel/test-child-process-default-options.js"
"test/parallel/test-child-process-env.js"
"test/parallel/test-child-process-exec-env.js")
(("'/usr/bin/env'")
(string-append "'" (which "env") "'")))
(string-append "'" (assoc-ref inputs "coreutils")
"/bin/env'")))
;; FIXME: These tests fail in the build container, but they don't
;; seem to be indicative of real problems in practice.
@ -701,20 +811,33 @@ source files.")
(copy-file (string-append llhttp "/src/http.c")
"deps/llhttp/src/http.c")
(copy-file (string-append llhttp "/include/llhttp.h")
"deps/llhttp/include/llhttp.h"))
#t))))))
"deps/llhttp/include/llhttp.h"))))))))
(native-inputs
`(;; Runtime dependencies for binaries used as a bootstrap.
("c-ares" ,c-ares)
("google-brotli" ,google-brotli)
("icu4c" ,icu4c-67)
("libuv" ,libuv-for-node)
("nghttp2" ,nghttp2 "lib")
("openssl" ,openssl)
("zlib" ,zlib)
;; Regular build-time dependencies.
("perl" ,perl)
("pkg-config" ,pkg-config)
("procps" ,procps)
("python" ,python)
("util-linux" ,util-linux)))
(inputs
`(("c-ares" ,c-ares)
`(("bash" ,bash)
("coreutils" ,coreutils)
("c-ares" ,c-ares)
("icu4c" ,icu4c-67)
("libuv" ,libuv-for-node)
("llhttp" ,llhttp-bootstrap)
("google-brotli" ,google-brotli)
("nghttp2" ,nghttp2 "lib")
("openssl" ,openssl)
("zlib" ,zlib)))
(native-inputs
(alist-replace "python" (list python-3)
(package-native-inputs node)))))
("zlib" ,zlib)))))
(define-public libnode
(package/inherit node

View File

@ -216,54 +216,3 @@ secure, easy to configure, and accurate enough for most purposes, so it's more
minimalist than ntpd.")
;; A few of the source files are under bsd-3.
(license (list l:isc l:bsd-3))))
(define-public tlsdate
(package
(name "tlsdate")
(version "0.0.13")
(home-page "https://github.com/ioerror/tlsdate")
(source (origin
(method git-fetch)
(uri (git-reference
(commit (string-append "tlsdate-" version))
(url home-page)))
(sha256
(base32
"0w3v63qmbhpqlxjsvf4k3zp90k6mdzi8cdpgshan9iphy1f44xgl"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
`(;; Disable seccomp when it's not supported--e.g., on aarch64. See
;; 'src/seccomp.c' for the list of supported systems.
#:configure-flags ,(if (any (lambda (system)
(string-contains (or
(%current-target-system)
(%current-system))
system))
'("x86_64" "i686" "arm"))
''()
''("--disable-seccomp-filter"))
#:phases (modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _
;; The ancestor of 'SOURCE_DATE_EPOCH'; it contains the
;; date that is recorded in binaries. It must be a
;; "recent date" since it is used to detect bogus dates
;; received from servers.
(setenv "COMPILE_DATE" (number->string 1530144000))
(invoke "sh" "autogen.sh"))))))
(inputs `(("openssl" ,openssl-1.0)
("libevent" ,libevent)))
(native-inputs `(("pkg-config" ,pkg-config)
("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(synopsis "Extract remote time from TLS handshakes")
(description
"@command{tlsdate} sets the local clock by securely connecting with TLS
to remote servers and extracting the remote time out of the secure handshake.
Unlike ntpdate, @command{tlsdate} uses TCP, for instance connecting to a
remote HTTPS or TLS enabled service, and provides some protection against
adversaries that try to feed you malicious time information.")
(license l:bsd-3)))

View File

@ -80,6 +80,7 @@
#:use-module (gnu packages texinfo)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages web)
#:use-module (gnu packages web-browsers)
@ -749,7 +750,7 @@ let () = String.split_on_char ':' (Sys.getenv \"OCAMLPATH\")
(define-public ocaml-opam-file-format
(package
(name "ocaml-opam-file-format")
(version "2.0.0")
(version "2.1.3")
(source (origin
(method git-fetch)
(uri (git-reference
@ -758,7 +759,7 @@ let () = String.split_on_char ':' (Sys.getenv \"OCAMLPATH\")
(file-name (git-file-name name version))
(sha256
(base32
"0fqb99asnair0043hhc8r158d6krv5nzvymd0xwycr5y72yrp0hv"))))
"1fxhppdmrysr2nb5z3c448h17np48f3ga9jih33acj78r4rdblcs"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f; No tests
@ -777,7 +778,7 @@ the opam file format.")
(define-public opam
(package
(name "opam")
(version "2.0.8")
(version "2.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -786,77 +787,99 @@ the opam file format.")
(file-name (git-file-name name version))
(sha256
(base32
"1z0ls6xxa4ws5xw0am5gxmh5apnmyhgkcphrncp53w34j8sfydsj"))))
(build-system ocaml-build-system)
"12l7l4pbzy71k1yc7ym5aczajszvc9bqkdnfg8xhqc8ch8j1h1lj"))))
(build-system dune-build-system)
(arguments
`(#:configure-flags
(list (string-append "SHELL="
(assoc-ref %build-inputs "bash")
"/bin/sh"))
`(#:test-target "."
#:phases
(modify-phases %standard-phases
(add-before 'build 'pre-build
(lambda* (#:key inputs make-flags #:allow-other-keys)
(let ((bash (assoc-ref inputs "bash"))
(bwrap (search-input-file inputs "/bin/bwrap")))
(substitute* "src/core/opamSystem.ml"
(("\"/bin/sh\"")
(string-append "\"" bash "/bin/sh\""))
(("getconf")
(which "getconf")))
;; Use bwrap from the store directly.
(substitute* "src/state/shellscripts/bwrap.sh"
(("-v bwrap") (string-append "-v " bwrap))
(("exec bwrap") (string-append "exec " bwrap))
;; Mount /gnu and /run/current-system in the
;; isolated environment when building with opam.
;; This is necessary for packages to find external
;; dependencies, such as a C compiler, make, etc...
(("^add_sys_mounts /usr")
(string-append "add_sys_mounts "
(%store-directory)
" /run/current-system /usr")))
(substitute* "src/client/opamInitDefaults.ml"
(("\"bwrap\"") (string-append "\"" bwrap "\""))))))
(add-before 'check 'prepare-checks
(lambda* (#:key inputs #:allow-other-keys)
;; Opam tests need to run an isolated environment from a writable
;; home directory.
(mkdir-p "test-home")
(setenv "HOME" (string-append (getcwd) "/test-home"))
;; For some reason, 'ocp-build' needs $TERM to be set.
#:make-flags
(list "TERM=screen"
(string-append "SHELL="
(assoc-ref %build-inputs "bash")
"/bin/sh"))
#:test-target "tests"
#:phases (modify-phases %standard-phases
(add-before 'build 'pre-build
(lambda* (#:key inputs make-flags #:allow-other-keys)
(let ((bash (assoc-ref inputs "bash"))
(bwrap (search-input-file inputs "/bin/bwrap")))
(substitute* "src/core/opamSystem.ml"
(("\"/bin/sh\"")
(string-append "\"" bash "/bin/sh\""))
(("getconf")
(which "getconf")))
;; Use bwrap from the store directly.
(substitute* "src/state/shellscripts/bwrap.sh"
(("-v bwrap") (string-append "-v " bwrap))
(("exec bwrap") (string-append "exec " bwrap))
;; Mount /gnu and /run/current-system in the
;; isolated environment when building with opam.
;; This is necessary for packages to find external
;; dependencies, such as a C compiler, make, etc...
(("^add_sys_mounts /usr")
"add_sys_mounts /gnu /run/current-system /usr"))
(substitute* "src/client/opamInitDefaults.ml"
(("\"bwrap\"") (string-append "\"" bwrap "\"")))
;; Generating the documentation needs write access
(for-each
(lambda (f) (chmod f #o644))
(find-files "doc" "."))
#t)))
(add-before 'check 'pre-check
(lambda _
;; The "repo" test attempts to open some of these files O_WRONLY
;; and fails with a bogus "OpamSystem.File_not_found" otherwise.
(for-each
(lambda (f) (chmod f #o644))
(find-files "tests/packages" "\\.opam$"))
(substitute* "tests/Makefile"
(("/usr/bin/printf")
(which "printf"))
;; By default tests run twice: once with a "local" repository
;; and once with a git repository: disable the git tests to
;; avoid the dependency.
(("all: local git")
"all: local"))
#t)))))
;; Opam tests require data from opam-repository. Instead of
;; downloading them with wget from the guix environment, copy the
;; content to the expected directory.
(substitute* "tests/reftests/dune.inc"
(("tar -C.*opam-archive-([0-9a-f]*)[^)]*" _ commit)
(string-append "rmdir %{targets}) (run cp -r "
(assoc-ref inputs (string-append "opam-repo-" commit))
"/ %{targets}) (run chmod +w -R %{targets}"))
(("wget[^)]*") "touch %{targets}")
;; Disable a failing test because of different line wrapping
(("diff cli-versioning.test cli-versioning.out") "run true")
;; Disable a failing test because it tries to clone a git
;; repository from inside bwrap
(("diff upgrade-format.test upgrade-format.out") "run true"))
(substitute* "tests/reftests/dune"
;; Because of our changes to the previous file, we cannot check
;; it can be regenerated
(("diff dune.inc dune.inc.gen") "run true"))
;; Ensure we can run the generated build.sh (no /bin/sh)
(substitute* '("tests/reftests/legacy-local.test"
"tests/reftests/legacy-git.test")
(("#! ?/bin/sh")
(string-append "#!"
(search-input-file inputs "/bin/sh"))))
(substitute* "tests/reftests/testing-env"
(("OPAMSTRICT=1")
(string-append "OPAMSTRICT=1\nLIBRARY_PATH="
(assoc-ref inputs "libc") "/lib"))))))))
(native-inputs
`(("dune" ,dune)
("ocaml-cppo" ,ocaml-cppo)
(let ((opam-repo (lambda (commit hash)
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ocaml/opam-repository")
(commit commit)))
(file-name (git-file-name "opam-repo" commit))
(sha256 (base32 hash))))))
`(("dune" ,dune)
("ocaml-cppo" ,ocaml-cppo)
;; For tests.
("openssl" ,openssl)
("python" ,python-wrapper)
("rsync" ,rsync)
("unzip" ,unzip)
("which" ,which)))
;; For tests.
("git" ,git-minimal)
("openssl" ,openssl)
("python" ,python-wrapper)
("rsync" ,rsync)
("unzip" ,unzip)
("which" ,which)
;; Data for tests
("opam-repo-009e00fa" ,(opam-repo "009e00fa86300d11c311309a2544e5c6c3eb8de2"
"1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w"))
("opam-repo-ad4dd344" ,(opam-repo "ad4dd344fe5cd1cab49ced49d6758a9844549fb4"
"1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8"))
("opam-repo-c1d23f0e" ,(opam-repo "c1d23f0e17ec83a036ebfbad1c78311b898a2ca0"
"0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii"))
("opam-repo-f372039d" ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701"
"0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws")))))
(inputs
`(("ocaml" ,ocaml)
("ncurses" ,ncurses)
@ -1604,7 +1627,7 @@ full_split, cut, rcut, etc..")
(define dune-bootstrap
(package
(name "dune")
(version "2.8.5")
(version "2.9.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1613,7 +1636,7 @@ full_split, cut, rcut, etc..")
(file-name (git-file-name name version))
(sha256
(base32
"0a1jj6njzsfjgklsirs6a79079wg4jhy6n888vg3dgp44awwq5jn"))))
"01np4jy0f3czkpzkl38k9b4lsh41qk52ldaqxl98mgigyzhx4w0b"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f; require odoc
@ -2853,8 +2876,7 @@ without a complete in-memory representation of the data.")
"1dvcl108ir9nqkk4mjm9xhhj4p9dx9bmg8bnms54fizs1x3x8ar3"))))
(build-system dune-build-system)
(arguments
`(#:test-target "tests"
#:build-flags (list "--profile=release")))
`(#:test-target "tests"))
(propagated-inputs
`(("ocaml-cmdliner" ,ocaml-cmdliner)))
(home-page "https://www.typerex.org/ocp-indent.html")
@ -3272,8 +3294,7 @@ build system and allows external tools to analyse your project easily.")
"1smcc0l6fh2n0y6bp96c69j5nw755jja99w0b206wx3yb2m4w2hs"))))
(build-system dune-build-system)
(arguments
`(#:tests? #f
#:build-flags (list "--profile" "release")))
`(#:tests? #f))
(native-inputs
`(("ocamlbuild" ,ocamlbuild)))
(home-page "https://github.com/mjambon/cppo")
@ -3341,8 +3362,7 @@ standard iterator type starting from 4.07.")
(base32 "07ycb103mr4mrkxfd63cwlsn023xvcjp0ra0k7n2gwrg0mwxmfss"))))
(build-system dune-build-system)
(arguments
`(#:tests? #f
#:build-flags (list "--profile" "release")))
`(#:tests? #f))
(propagated-inputs
`(("ocaml-seq" ,ocaml-seq)))
(native-inputs
@ -3820,9 +3840,8 @@ the plugins facilitate extensibility, and the frontends serve as entry points.")
"0chn7ldqb3wyf95yhmsxxq65cif56smgz1mhhc7m0dpwmyq1k97h"))))
(build-system dune-build-system)
(arguments
`(#:build-flags (list "--profile" "release")
#:test-target "camomile-test"
#:tests? #f; Tests fail, see https://github.com/yoriyuki/Camomile/issues/82
`(#:test-target "camomile-test"
#:tests? #f ; Tests fail, see https://github.com/yoriyuki/Camomile/issues/82
#:phases
(modify-phases %standard-phases
(add-before 'build 'fix-usr-share
@ -3913,8 +3932,7 @@ connect an engine to your inputs and rendering functions to get an editor.")
(base32 "0zcjy6fvf0d3i2ssz96asl889n3r6bplyzk7xvb2s3dkxbgcisyy"))))
(build-system dune-build-system)
(arguments
`(#:build-flags (list "--profile" "release")
#:tests? #f
`(#:tests? #f
#:ocaml ,ocaml-4.07
#:findlib ,ocaml4.07-findlib
#:dune ,ocaml4.07-dune))
@ -4920,16 +4938,6 @@ provided by companion libraries such as
(sha256
(base32
"0j6xb4265jr41vw4fjzak6yr8s30qrnzapnc6rl1dxy8bjai0nir"))))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'build
;; make warnings non fatal (jbuilder behaviour)
(lambda _
(invoke "dune" "build" "@install" "--profile=release"))))
#:ocaml ,ocaml-4.07
#:findlib ,ocaml4.07-findlib
#:dune ,ocaml4.07-dune))
(properties '()))))
(define-public ocaml-compiler-libs
@ -5037,7 +5045,7 @@ as part of the same ocaml-migrate-parsetree driver.")
(define-public ocaml-ppxlib
(package
(name "ocaml-ppxlib")
(version "0.22.1")
(version "0.23.0")
(home-page "https://github.com/ocaml-ppx/ppxlib")
(source
(origin
@ -5048,7 +5056,7 @@ as part of the same ocaml-migrate-parsetree driver.")
(file-name (git-file-name name version))
(sha256
(base32
"0cpfg634if1py1b2rljk3cagq9gj68dl2gk1kdg76f9rapvl2i4g"))))
"0jg5v4pssbl66hn5davpin1i57a0r3r54l96vpz5y99xk5w70xi1"))))
(build-system dune-build-system)
(propagated-inputs
`(("ocaml-base" ,ocaml-base)
@ -5328,6 +5336,10 @@ definitions.")
(uri (git-reference
(url "https://github.com/janestreet/ppx_variants_conv")
(commit (string-append "v" version))))
(patches
(search-patches
;; Fix build when building with ocaml-ppxlib@0.23.0.
"ocaml-ppx-variants-ppxlib-api-change.patch"))
(file-name (git-file-name name version))
(sha256
(base32
@ -5774,7 +5786,7 @@ else expression.")
(define-public ocaml-ppx-optcomp
(package
(name "ocaml-ppx-optcomp")
(version "0.14.1")
(version "0.14.3")
(home-page "https://github.com/janestreet/ppx_optcomp")
(source
(origin
@ -5785,7 +5797,7 @@ else expression.")
(file-name (git-file-name name version))
(sha256
(base32
"0j5smqa0hig1yn8wfrb4mv0y59kkwsalmqkm5asbd7kcc6589ap4"))))
"1iflgfzs23asw3k6098v84al5zqx59rx2qjw0mhvk56avlx71pkw"))))
(build-system dune-build-system)
(propagated-inputs
`(("ocaml-base" ,ocaml-base)
@ -6427,7 +6439,7 @@ the full Core is not available, such as in Javascript.")
(define-public ocaml-markup
(package
(name "ocaml-markup")
(version "1.0.0")
(version "1.0.2")
(home-page "https://github.com/aantron/markup.ml")
(source
(origin
@ -6438,7 +6450,7 @@ the full Core is not available, such as in Javascript.")
(file-name (git-file-name name version))
(sha256
(base32
"09hkrf9pw6hpb9j06p5bddklpnjwdjpqza3bx2179l970yl67an9"))))
"1kvqwrrcrys5d0kzdwxcj66jpi6sdhfas4pcg02pixx92q87vhqm"))))
(build-system dune-build-system)
(arguments
`(#:package "markup"))
@ -6491,6 +6503,9 @@ stream, and convert everything to UTF-8.")
(sha256
(base32
"0aif4abvfmi9xc1pvw5n5rbm6rzkkpsxyvdn0lanr33rjpvkwdlm"))))
(native-inputs
`(("ocaml-ounit" ,ocaml-ounit)
("pkg-config" ,pkg-config)))
(properties '())))
(define-public ocaml-tyxml
@ -6601,6 +6616,34 @@ advantage over ocamldoc is an accurate cross-referencer, which handles the
complexity of the OCaml module system.")
(license license:isc)))
(define-public ocaml-odoc-parser
(package
(name "ocaml-odoc-parser")
(version "0.9.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ocaml-doc/odoc-parser")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1jlc6dp3v90r1ra7r0jfw0xs8rylwdz9gymw4rd53h0p17cw1wnj"))))
(build-system dune-build-system)
(propagated-inputs
`(("ocaml-astring" ,ocaml-astring)
("ocaml-result" ,ocaml-result)))
(native-inputs
`(("ocaml-ppx-expect" ,ocaml-ppx-expect)))
(home-page "https://github.com/ocaml-doc/odoc-parser")
(synopsis "Parser for ocaml documentation comments")
(description
"This package provides a library for parsing the contents of OCaml
documentation comments, formatted using Odoc syntax, an extension of the
language understood by ocamldoc.")
(license license:isc)))
;; version 1.5.2 requires ocaml-markdown 1.0.0 which does not compile
;; with old version of dune used in package-with-ocaml4.07
(define-public ocaml4.07-odoc
@ -7102,7 +7145,7 @@ get an precise reference of when the executable was built.")))
(define-public ocamlformat
(package
(name "ocamlformat")
(version "0.18.0")
(version "0.19.0")
(source
(origin
(method git-fetch)
@ -7112,7 +7155,7 @@ get an precise reference of when the executable was built.")))
(file-name (git-file-name name version))
(sha256
(base32
"0n6363km8xr81pvyk453n6h2mb0256c5yxw3p1li4dn83f3lwxr1"))))
"0dp4pkznz9yvqx9gxwbid1z2b8ajkr8i27zay9ghx69624hz3i4z"))))
(build-system dune-build-system)
(arguments
'(#:package "ocamlformat"
@ -7130,6 +7173,7 @@ get an precise reference of when the executable was built.")))
("ocaml-odoc" ,ocaml-odoc)
("ocaml-ppxlib" ,ocaml-ppxlib)
("ocaml-re" ,ocaml-re)
("ocaml-odoc-parser" ,ocaml-odoc-parser)
("ocaml-stdio" ,ocaml-stdio)
("ocaml-uuseg" ,ocaml-uuseg)
("ocaml-uutf" ,ocaml-uutf)))

View File

@ -23,6 +23,7 @@
#:use-module (guix build-system copy)
#:use-module (guix build-system python)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@ -48,10 +49,13 @@
;; tests that require such devices are all disabled.
;; Check https://lists.gnu.org/archive/html/guix-devel/2018-04/msg00293.html
;; If you update either of opencl-headers, opencl-clhpp or opencl-icd-loader
;; note that they are released together (lockstep) and must be updated
;; together.
(define-public opencl-headers
(package
(name "opencl-headers")
(version "2020.12.18")
(version "2021.06.30")
(source
(origin
(method git-fetch)
@ -60,11 +64,9 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1zslxfzvbb1mrzmsik4pjzj88ds8y3p94ry5nnrnkhv6qm4n4lw9"))))
(build-system copy-build-system)
(arguments
'(#:install-plan
'(("CL" "include/")))) ; TODO: add phase for tests
(base32 "1nrvx0x9r1nz1qpmzbgffnn9h9pn2fwcxsksf101bkpmqziq5lii"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; Not enabled during build.
(synopsis "The Khronos OpenCL headers")
(description
"This package provides the C headers by Khronos for OpenCL programming.")
@ -94,7 +96,7 @@
(define-public opencl-clhpp
(package
(name "opencl-clhpp")
(version "2.0.10")
(version "2.0.15")
(source
(origin
(method git-fetch)
@ -102,21 +104,14 @@
(url "https://github.com/KhronosGroup/OpenCL-CLHPP")
(commit (string-append "v" version))))
(sha256
(base32 "0h5kpg5cl8wzfnqmv6i26aig2apv06ffm9p3rh35938n9r8rladm"))
(base32 "1wycdbvwbdn7lqdd3sby8471qg2zdisr70218ava6cfvxdsqcp83"))
(file-name (git-file-name name version))))
(native-inputs
`(("python" ,python-wrapper)))
(propagated-inputs
`(("opencl-headers" ,opencl-headers)))
(arguments
`(#:configure-flags
(let ((out (assoc-ref %outputs "out")))
(list
"-DBUILD_EXAMPLES=OFF"
"-DBUILD_TESTS=OFF"
(string-append "-DCMAKE_INSTALL_PREFIX="
(assoc-ref %outputs "out")
"/include")))
`(#:configure-flags (list "-DBUILD_EXAMPLES=OFF" "-DBUILD_TESTS=OFF")
;; The regression tests require a lot more dependencies.
#:tests? #f))
(build-system cmake-build-system)
@ -126,47 +121,50 @@
"This package provides the @dfn{host API} C++ headers for OpenCL.")
(license license:expat)))
(define-public ocl-icd
(define-public opencl-icd-loader
(package
(name "ocl-icd")
(version "2.2.12")
(name "opencl-icd-loader")
(version "2021.06.30")
(source (origin
(method url-fetch)
(uri (string-append
"https://forge.imag.fr/frs/download.php/836/ocl-icd-"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/OpenCL-ICD-Loader.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1x2dr8p4dkfds56r38av360i3nv1y3326jmshxvjngaf6mlg6rbn"))
(modules '((guix build utils)))
(snippet
'(delete-file-recursively "khronos-headers"))))
(native-inputs
`(("opencl-headers" ,opencl-headers)
("ruby" ,ruby)))
(inputs
`(("libgcrypt" ,libgcrypt)))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("DEBUG_OCL_ICD=1")))
"007ws357n1ijrxal1bf9lwy68p0dz1sm9cfcfnnz5f88iwc9xd6m"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; Tests need stub loader setup.
(native-search-paths
(list (search-path-specification
(variable "OPENCL_VENDOR_PATH")
(variable "OCL_ICD_VENDORS")
(files '("etc/OpenCL/vendors")))))
(search-paths native-search-paths)
(home-page "https://forge.imag.fr/projects/ocl-icd/")
(synopsis "OpenCL loader for Installable Client Drivers (ICDs)")
(home-page "https://github.com/KhronosGroup/OpenCL-ICD-Loader")
(inputs `(("opencl-headers" ,opencl-headers)))
(synopsis "OpenCL Installable Client Driver")
(description
"OpenCL implementations are provided as ICDs (Installable Client
Drivers). An OpenCL program can use several ICDs thanks to the use of an ICD
Loader as provided by this package.")
(license license:bsd-2)))
"OpenCL defines an Installable Client Driver (ICD) mechanism to allow
developers to build applications against an Installable Client Driver loader
(ICD loader) rather than linking their applications against a specific OpenCL
implementation. The ICD Loader is responsible for:
@itemize
@item Exporting OpenCL API entry points
@item Enumerating OpenCL implementations
@item Forwarding OpenCL API calls to the correct implementation
@end itemize
This package contains the Khronos official OpenCL ICD Loader.")
(license license:asl2.0)))
(define-public ocl-icd
(deprecated-package "ocl-icd" opencl-icd-loader))
(define-public clinfo
(package
(name "clinfo")
(version "2.2.18.04.06")
(version "3.0.21.02.21")
(source
(origin
(method git-fetch)
@ -175,26 +173,17 @@ Loader as provided by this package.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0y2q0lz5yzxy970b7w7340vp4fl25vndahsyvvrywcrn51ipgplx"))))
(base32 "1sfxp6ai83i0vwdg7b05h0k07q6873q1z1avnyksj5zmzdnxya6j"))))
(build-system gnu-build-system)
(native-inputs
`(("opencl-headers" ,opencl-headers)))
(inputs
`(("ocl-icd" ,ocl-icd)))
`(("opencl-icd-loader" ,opencl-icd-loader)))
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda _
(let ((cores (number->string (parallel-job-count))))
(setenv "CC" "gcc")
(invoke "make" "-j" cores))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(invoke "make" "install" (string-append
"PREFIX="
(assoc-ref outputs "out"))))))
`(#:make-flags
(list ,(string-append "CC=" (cc-for-target))
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases (modify-phases %standard-phases (delete 'configure))
#:tests? #f))
(home-page "https://github.com/Oblomov/clinfo")
(synopsis "Print information about OpenCL platforms and devices")
@ -239,7 +228,7 @@ the system.")
("libxext" ,libxext)
("mesa-utils" ,mesa-utils)
("ncurses" ,ncurses)
("ocl-icd" ,ocl-icd)
("opencl-icd-loader" ,opencl-icd-loader)
("opencl-headers" ,opencl-headers)
("xextproto" ,xextproto)
("zlib" ,zlib)))
@ -306,7 +295,7 @@ back-end for the LLVM compiler framework.")
`(("clang" ,clang)
("hwloc" ,hwloc-2 "lib")
("llvm" ,llvm)
("ocl-icd" ,ocl-icd)))
("opencl-icd-loader" ,opencl-icd-loader)))
(arguments
`(#:configure-flags
(list "-DENABLE_ICD=ON"
@ -338,20 +327,18 @@ pocl.")
(define-public python-pytools
(package
(name "python-pytools")
(version "2020.4")
(version "2021.2.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytools" version))
(sha256
(base32 "0q7439iy365a874ckpavx6h1mhnnngfy8nl7xj5grdd127zkknrp"))))
(base32 "1yyr4k6sqx859gjhc02633l2vxwdnj6m2f5blmf7dgq0gzzgcf05"))))
(build-system python-build-system)
(arguments `(#:tests? #f)) ; Tests depend on packages not present in Guix.
(propagated-inputs
`(("python-appdirs" ,python-appdirs)
("python-decorator" ,python-decorator)
("python-numpy" ,python-numpy)
("python-six" ,python-six)
("python-mpi4py" ,python-mpi4py)))
("python-numpy" ,python-numpy)))
(home-page "https://pypi.org/project/pytools/")
(synopsis "Assorted tools for Python")
(description
@ -377,44 +364,29 @@ A lexer, @code{pytools.lex}.
(define-public python-pyopencl
(package
(name "python-pyopencl")
(version "2019.1.1")
(version "2021.2.6")
(source
(origin
;; The tarball on PyPI lacks test programs such as
;; 'pygpu_language_opencl.cpp' so fetch it from Git.
;; XXX: The server at git.tiker.net is unreliable.
(method git-fetch)
(uri (git-reference
(url "http://git.tiker.net/trees/pyopencl.git")
(url "https://github.com/inducer/pyopencl.git")
(commit (string-append "v" version))
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32
"12q0rs8yla571vcfpsh0mfrjbdiayv0hi8r1rq0f178m3i3qjz80"))))
"1s2cls7avxvf753zzpx422ikslaxdnm8rz58zg7mal15yak0wv2x"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(add-before 'build 'set-home
(lambda _
;; Some of the Python build scripts expect 'HOME' to be
;; set.
(setenv "HOME" (getcwd))
#t)))
;; Tests in 'compyte/ndarray/setup_opencl.py' appear to rely on
;; 'nvcc', which is not an option.
#:tests? #f))
`(#:tests? #f)) ; Tests cannot find pygpu_language_opencl.cpp
(inputs
`(("opencl-headers" ,opencl-headers-1.2) ;POCL only supports OpenCL 1.2
`(("opencl-headers" ,opencl-headers)
("pybind11" ,pybind11)
("ocl-icd" ,ocl-icd))) ;libOpenCL
("opencl-icd-loader" ,opencl-icd-loader))) ;libOpenCL
(propagated-inputs
`(("python-appdirs" ,python-appdirs)
("python-decorator" ,python-decorator)
("python-numpy" ,python-numpy)
("python-pytools" ,python-pytools)
("python-six" ,python-six)
("python-mako" ,python-mako)))
(home-page "http://mathema.tician.de/software/pyopencl")
(synopsis "Python wrapper for OpenCL")

View File

@ -1306,7 +1306,7 @@ for packaging and deployment of cross-compiled Windows applications.")
(define-public libostree
(package
(name "libostree")
(version "2021.2")
(version "2021.3")
(source
(origin
(method url-fetch)
@ -1314,7 +1314,7 @@ for packaging and deployment of cross-compiled Windows applications.")
"https://github.com/ostreedev/ostree/releases/download/v"
(version-major+minor version) "/libostree-" version ".tar.xz"))
(sha256
(base32 "0z2x9krnd6nblwq0nz99igzhh3yv022rn3hgcyrzci0xqzkhhh45"))))
(base32 "1cyhr3s7xsgnsais5m4cjwdwcq46naf25r1k042c4n1y1jgs798g"))))
(build-system gnu-build-system)
(arguments
'(#:phases

View File

@ -61,14 +61,14 @@
(define-public parallel
(package
(name "parallel")
(version "20210722")
(version "20210822")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/parallel/parallel-"
version ".tar.bz2"))
(sha256
(base32 "0jaa5137sjw2szvmnnslkqv1n3gg2rkkgr71j7hpp5a3q15hjf9j"))))
(base32 "08iqx2qq2p4a45nphlcj7xnhr2s8nacahzbyvapqxvr64znmj5kq"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -2,7 +2,7 @@
;;; Copyright © 2015 Steve Sprang <scs@stevesprang.com>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Aljosha Papsch <misc@rpapsch.de>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Jessica Tallon <tsyesika@tsyesika.se>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>

View File

@ -0,0 +1,35 @@
This patch is taken from Debian
URL: https://sources.debian.org/data/main/a/android-platform-system-core/1%3A7.0.0%2Br33-1/debian/patches/adb_libssl_11.diff
Description: adb: Make compatible with openssl 1.1
OpenSSL version 1.1 brought some API changes which broke the build here,
fix that by accessing rsa->n (and e) directly, using RSA_get0_key instead.
Author: Chirayu Desai <chirayudesai1@gmail.com
Last-Update: 2016-11-10
--- a/adb/adb_auth_host.cpp
+++ b/adb/adb_auth_host.cpp
@@ -71,6 +71,7 @@
BIGNUM* rem = BN_new();
BIGNUM* n = BN_new();
BIGNUM* n0inv = BN_new();
+ BIGNUM* e = BN_new();
if (RSA_size(rsa) != RSANUMBYTES) {
ret = 0;
@@ -78,7 +79,7 @@
}
BN_set_bit(r32, 32);
- BN_copy(n, rsa->n);
+ RSA_get0_key(rsa, &n, &e, NULL);
BN_set_bit(r, RSANUMWORDS * 32);
BN_mod_sqr(rr, r, n, ctx);
BN_div(NULL, rem, n, r32, ctx);
@@ -92,7 +93,7 @@
BN_div(n, rem, n, r32, ctx);
pkey->n[i] = BN_get_word(rem);
}
- pkey->exponent = BN_get_word(rsa->e);
+ pkey->exponent = BN_get_word(e);
out:
BN_free(n0inv);

Some files were not shown because too many files have changed in this diff Show More