Merge branch master into core-updates

This commit is contained in:
Ludovic Courtès 2022-06-22 18:48:00 +02:00
commit 8655a71445
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
182 changed files with 9506 additions and 3827 deletions

View file

@ -97,7 +97,6 @@ MODULES = \
guix/discovery.scm \ guix/discovery.scm \
guix/android-repo-download.scm \ guix/android-repo-download.scm \
guix/bzr-download.scm \ guix/bzr-download.scm \
guix/extracting-download.scm \
guix/git-download.scm \ guix/git-download.scm \
guix/hg-download.scm \ guix/hg-download.scm \
guix/hash.scm \ guix/hash.scm \
@ -173,6 +172,7 @@ MODULES = \
guix/build-system/waf.scm \ guix/build-system/waf.scm \
guix/build-system/r.scm \ guix/build-system/r.scm \
guix/build-system/rakudo.scm \ guix/build-system/rakudo.scm \
guix/build-system/rebar.scm \
guix/build-system/ruby.scm \ guix/build-system/ruby.scm \
guix/build-system/scons.scm \ guix/build-system/scons.scm \
guix/build-system/texlive.scm \ guix/build-system/texlive.scm \
@ -227,6 +227,7 @@ MODULES = \
guix/build/r-build-system.scm \ guix/build/r-build-system.scm \
guix/build/renpy-build-system.scm \ guix/build/renpy-build-system.scm \
guix/build/rakudo-build-system.scm \ guix/build/rakudo-build-system.scm \
guix/build/rebar-build-system.scm \
guix/build/ruby-build-system.scm \ guix/build/ruby-build-system.scm \
guix/build/scons-build-system.scm \ guix/build/scons-build-system.scm \
guix/build/texlive-build-system.scm \ guix/build/texlive-build-system.scm \
@ -275,6 +276,7 @@ MODULES = \
guix/import/gnu.scm \ guix/import/gnu.scm \
guix/import/go.scm \ guix/import/go.scm \
guix/import/hackage.scm \ guix/import/hackage.scm \
guix/import/hexpm.scm \
guix/import/json.scm \ guix/import/json.scm \
guix/import/kde.scm \ guix/import/kde.scm \
guix/import/launchpad.scm \ guix/import/launchpad.scm \
@ -326,6 +328,7 @@ MODULES = \
guix/scripts/import/gnu.scm \ guix/scripts/import/gnu.scm \
guix/scripts/import/go.scm \ guix/scripts/import/go.scm \
guix/scripts/import/hackage.scm \ guix/scripts/import/hackage.scm \
guix/scripts/import/hexpm.scm \
guix/scripts/import/json.scm \ guix/scripts/import/json.scm \
guix/scripts/import/minetest.scm \ guix/scripts/import/minetest.scm \
guix/scripts/import/opam.scm \ guix/scripts/import/opam.scm \
@ -470,6 +473,7 @@ SCM_TESTS = \
tests/boot-parameters.scm \ tests/boot-parameters.scm \
tests/bournish.scm \ tests/bournish.scm \
tests/builders.scm \ tests/builders.scm \
tests/build-emacs-utils.scm \
tests/build-utils.scm \ tests/build-utils.scm \
tests/cache.scm \ tests/cache.scm \
tests/challenge.scm \ tests/challenge.scm \

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019-2022 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2019-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -30,6 +31,7 @@
(guix gexp) (guix gexp)
(guix git) (guix git)
(guix git-download) (guix git-download)
(guix profiles)
(guix utils) (guix utils)
(git) (git)
(gnu packages base) (gnu packages base)
@ -890,14 +892,22 @@ makeinfo OPTIONS."
#:languages languages #:languages languages
#:date date)) #:date date))
;; FIXME: This union works, except for the table of contents of non-English (define texinfo-profile
;; manuals, which contains escape sequences like "^^ca^^fe" instead of (profile
;; accented letters. (content (packages->manifest
;; ;; texi2dvi requires various command line tools.
;; (define texlive (list coreutils
;; (texlive-updmap.cfg (list texlive-tex-texinfo diffutils
;; texlive-generic-epsf gawk
;; texlive-fonts-ec))) grep
sed
tar
texinfo
texlive-base
texlive-bin ;for GUIX_TEXMF
texlive-epsf
texlive-fonts-ec
texlive-tex-texinfo)))))
(define build (define build
(with-imported-modules '((guix build utils)) (with-imported-modules '((guix build utils))
@ -914,21 +924,12 @@ makeinfo OPTIONS."
(string-downcase language))) (string-downcase language)))
;; Install a UTF-8 locale so that 'makeinfo' is at ease. ;; Install a UTF-8 locale so that 'makeinfo' is at ease.
(setenv "GUIX_LOCPATH" (setenv "GUIX_LOCPATH" #+(file-append glibc-utf8-locales
#+(file-append glibc-utf8-locales "/lib/locale")) "/lib/locale"))
(setenv "LC_ALL" "en_US.utf8") (setenv "LC_ALL" "en_US.utf8")
(setenv "PATH" (setenv "PATH" #+(file-append texinfo-profile "/bin"))
(string-append #+(file-append texlive "/bin") ":" (setenv "GUIX_TEXMF" #+(file-append texinfo-profile
#+(file-append texinfo "/bin") ":" "/share/texmf-dist"))
;; Below are command-line tools needed by
;; 'texi2dvi' and friends.
#+(file-append sed "/bin") ":"
#+(file-append grep "/bin") ":"
#+(file-append coreutils "/bin") ":"
#+(file-append gawk "/bin") ":"
#+(file-append tar "/bin") ":"
#+(file-append diffutils "/bin")))
(setvbuf (current-output-port) 'line) (setvbuf (current-output-port) 'line)
(setvbuf (current-error-port) 'line) (setvbuf (current-error-port) 'line)

View file

@ -48,7 +48,7 @@ Copyright @copyright{} 2017 Thomas Danckaert@*
Copyright @copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017 humanitiesNerd@*
Copyright @copyright{} 2017, 2021 Christine Lemmer-Webber@* Copyright @copyright{} 2017, 2021 Christine Lemmer-Webber@*
Copyright @copyright{} 2017, 2018, 2019, 2020, 2021, 2022 Marius Bakke@* Copyright @copyright{} 2017, 2018, 2019, 2020, 2021, 2022 Marius Bakke@*
Copyright @copyright{} 2017, 2019, 2020 Hartmut Goebel@* Copyright @copyright{} 2017, 2019, 2020, 2022 Hartmut Goebel@*
Copyright @copyright{} 2017, 2019, 2020, 2021 Maxim Cournoyer@* Copyright @copyright{} 2017, 2019, 2020, 2021 Maxim Cournoyer@*
Copyright @copyright{} 20172022 Tobias Geerinckx-Rice@* Copyright @copyright{} 20172022 Tobias Geerinckx-Rice@*
Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 George Clemmer@*
@ -96,14 +96,15 @@ Copyright @copyright{} 2021 Domagoj Stolfa@*
Copyright @copyright{} 2021 Hui Lu@* Copyright @copyright{} 2021 Hui Lu@*
Copyright @copyright{} 2021 pukkamustard@* Copyright @copyright{} 2021 pukkamustard@*
Copyright @copyright{} 2021 Alice Brenon@* Copyright @copyright{} 2021 Alice Brenon@*
Copyright @copyright{} 2021 Josselin Poiret@* Copyright @copyright{} 2021, 2022 Josselin Poiret@*
Copyright @copyright{} 2021 muradm@*
Copyright @copyright{} 2021 Andrew Tropin@* Copyright @copyright{} 2021 Andrew Tropin@*
Copyright @copyright{} 2021 Sarah Morgensen@* Copyright @copyright{} 2021 Sarah Morgensen@*
Copyright @copyright{} 2021 Josselin Poiret@*
Copyright @copyright{} 2022 Remco van 't Veer@* Copyright @copyright{} 2022 Remco van 't Veer@*
Copyright @copyright{} 2022 Aleksandr Vityazev@* Copyright @copyright{} 2022 Aleksandr Vityazev@*
Copyright @copyright{} 2022 Philip M@sup{c}Grath@* Copyright @copyright{} 2022 Philip M@sup{c}Grath@*
Copyright @copyright{} 2022 Karl Hallsby@* Copyright @copyright{} 2022 Karl Hallsby@*
Copyright @copyright{} 2022 Justin Veilleux@*
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or under the terms of the GNU Free Documentation License, Version 1.3 or
@ -169,6 +170,7 @@ Weblate} (@pxref{Translating Guix}).
* Introduction:: What is Guix about? * Introduction:: What is Guix about?
* Installation:: Installing Guix. * Installation:: Installing Guix.
* System Installation:: Installing the whole operating system. * System Installation:: Installing the whole operating system.
* System Troubleshooting Tips:: When things don't go as planned.
* Getting Started:: Your first steps. * Getting Started:: Your first steps.
* Package Management:: Package installation, upgrade, etc. * Package Management:: Package installation, upgrade, etc.
* Channels:: Customizing the package collection. * Channels:: Customizing the package collection.
@ -227,6 +229,10 @@ System Installation
* Installing Guix in a VM:: Guix System playground. * Installing Guix in a VM:: Guix System playground.
* Building the Installation Image:: How this comes to be. * Building the Installation Image:: How this comes to be.
System Troubleshooting Tips
* Chrooting into an existing system:: Fixing things from a chroot
Manual Installation Manual Installation
* Keyboard Layout and Networking and Partitioning:: Initial setup. * Keyboard Layout and Networking and Partitioning:: Initial setup.
@ -339,7 +345,7 @@ System Configuration
* Keyboard Layout:: How the system interprets key strokes. * Keyboard Layout:: How the system interprets key strokes.
* Locales:: Language and cultural convention settings. * Locales:: Language and cultural convention settings.
* Services:: Specifying system services. * Services:: Specifying system services.
* Setuid Programs:: Programs running with root privileges. * Setuid Programs:: Programs running with elevated privileges.
* X.509 Certificates:: Authenticating HTTPS servers. * X.509 Certificates:: Authenticating HTTPS servers.
* Name Service Switch:: Configuring libc's name service switch. * Name Service Switch:: Configuring libc's name service switch.
* Initial RAM Disk:: Linux-Libre bootstrapping. * Initial RAM Disk:: Linux-Libre bootstrapping.
@ -1147,12 +1153,12 @@ using @code{-G guixbuild,kvm} instead of @code{-G guixbuild}
The @code{guix-daemon} program may then be run as @code{root} with the The @code{guix-daemon} program may then be run as @code{root} with the
following command@footnote{If your machine uses the systemd init system, following command@footnote{If your machine uses the systemd init system,
dropping the @file{@var{prefix}/lib/systemd/system/guix-daemon.service} copying the @file{@var{prefix}/lib/systemd/system/guix-daemon.service}
file in @file{/etc/systemd/system} will ensure that file to @file{/etc/systemd/system} will ensure that
@command{guix-daemon} is automatically started. Similarly, if your @command{guix-daemon} is automatically started. Similarly, if your
machine uses the Upstart init system, drop the machine uses the Upstart init system, copy the
@file{@var{prefix}/lib/upstart/system/guix-daemon.conf} @file{@var{prefix}/lib/upstart/system/guix-daemon.conf}
file in @file{/etc/init}.}: file to @file{/etc/init}.}:
@example @example
# guix-daemon --build-users-group=guixbuild # guix-daemon --build-users-group=guixbuild
@ -2368,6 +2374,7 @@ See the files under @file{/run/current-system/profile/share/keymaps} for
a list of available keyboard layouts. Run @command{man loadkeys} for a list of available keyboard layouts. Run @command{man loadkeys} for
more information. more information.
@anchor{manual-installation-networking}
@subsubsection Networking @subsubsection Networking
Run the following command to see what your network interfaces are called: Run the following command to see what your network interfaces are called:
@ -2821,6 +2828,119 @@ guix system image --system=armhf-linux -e '((@@ (gnu system install) os-with-u-b
@code{A20-OLinuXino-Lime2} is the name of the board. If you specify an invalid @code{A20-OLinuXino-Lime2} is the name of the board. If you specify an invalid
board, a list of possible boards will be printed. board, a list of possible boards will be printed.
@c *********************************************************************
@cindex troubleshooting, guix system
@cindex guix system troubleshooting
@node System Troubleshooting Tips
@chapter System Troubleshooting Tips
Guix System allows rebooting into a previous generation should the last
one be malfunctioning, which makes it quite robust against being broken
irreversibly. This feature depends on GRUB being correctly functioning
though, which means that if for whatever reasons your GRUB installation
becomes corrupted during a system reconfiguration, you may not be able
to easily boot into a previous generation. A technique that can be used
in this case is to @i{chroot} into your broken system and reconfigure it
from there. Such technique is explained below.
@cindex chroot, guix system
@cindex chrooting, guix system
@cindex repairing GRUB, via chroot
@node Chrooting into an existing system
@section Chrooting into an existing system
This section details how to @i{chroot} to an already installed Guix
System with the aim of reconfiguring it, for example to fix a broken
GRUB installation. The process is similar to how it would be done on
other GNU/Linux systems, but there are some Guix System particularities
such as the daemon and profiles that make it worthy of explaining here.
@enumerate
@item
Obtain a bootable image of Guix System. It is recommended the latest
development snapshot so the kernel and the tools used are at least as as
new as those of your installed system; it can be retrieved from the
@url{https://ci.guix.gnu.org/search/latest/ISO-9660?query=spec:images+status:success+system:x86_64-linux+image.iso,
https://ci.guix.gnu.org} URL. Follow the @pxref{USB Stick and DVD
Installation} section for copying it to a bootable media.
@item
Boot the image, and proceed with the graphical text-based installer
until your network is configured. Alternatively, you could configure
the network manually by following the
@ref{manual-installation-networking} section. If you get the error
@samp{RTNETLINK answers: Operation not possible due to RF-kill}, try
@samp{rfkill list} followed by @samp{rfkill unblock 0}, where @samp{0}
is your device identifier (ID).
@item
Switch to a virtual console (tty) if you haven't already by pressing
simultaneously the @kbd{Control + Alt + F4} keys. Mount your file
system at @file{/mnt}. Assuming your root partition is
@file{/dev/sda2}, you would do:
@example sh
mount /dev/sda2 /mnt
@end example
@item
Mount special block devices and Linux-specific directories:
@example sh
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /dev /mnt/dev
@end example
If your system is EFI-based, you must also mount the ESP partition.
Assuming it is @file{/dev/sda1}, you can do so with:
@example sh
mount /dev/sda1 /mnt/boot/efi
@end example
@item
Enter your system via chroot:
@example sh
chroot /mnt /bin/sh
@end example
@item
Source your @var{user} profile to setup the environment, where
@var{user} is the user name used for the Guix System you are attempting
to repair:
@example sh
source /home/@var{user}/.guix-profile/etc/profile
@end example
To ensure you are working with the Guix revision you normally would as
your normal user, also source your current Guix profile:
@example sh
source /home/@var{user}/.config/guix/current/etc/profile
@end example
@item
Start a minimal @command{guix-daemon} in the background:
@example sh
guix-daemon --build-users-group=guixbuild --disable-chroot &
@end example
@item
Edit your Guix System configuration if needed, then reconfigure with:
@example sh
guix system reconfigure your-config.scm
@end example
@item
Finally, you should be good to reboot the system to test your fix.
@end enumerate
@c ********************************************************************* @c *********************************************************************
@node Getting Started @node Getting Started
@chapter Getting Started @chapter Getting Started
@ -9148,6 +9268,49 @@ with @code{#:zef} or removed by passing @code{#f} to the
@code{with-zef?} parameter. @code{with-zef?} parameter.
@end defvr @end defvr
@defvr {Scheme Variable} rebar-build-system
This variable is exported by @code{(guix build-system rebar)}. It
implements a build procedure around @uref{https://rebar3.org,rebar3},
a build system for programs written in the Erlang language.
It adds both @code{rebar3} and the @code{erlang} to the set of inputs.
Different packages can be specified with the @code{#:rebar} and
@code{#:erlang} parameters, respectively.
This build system is based on @code{gnu-build-system}, but with the
following phases changed:
@table @code
@item unpack
This phase, after unpacking the source like the @code{gnu-build-system}
does, checks for a file @code{contents.tar.gz} at the top-level of the
source. If this file exists, it will be unpacked, too. This eases
handling of package hosted at @uref{https://hex.pm/},
the Erlang and Elixir package repository.
@item bootstrap
@item configure
There are no @code{bootstrap} and @code{configure} phase because erlang
packages typically dont need to be configured.
@item build
This phase runs @code{rebar3 compile}
with the flags listed in @code{#:rebar-flags}.
@item check
Unless @code{#:tests? #f} is passed,
this phase runs @code{rebar3 eunit},
or some other target specified with @code{#:test-target},
with the flags listed in @code{#:rebar-flags},
@item install
This installs the files created in the @i{default} profile, or some
other profile specified with @code{#:install-profile}.
@end table
@end defvr
@defvr {Scheme Variable} texlive-build-system @defvr {Scheme Variable} texlive-build-system
This variable is exported by @code{(guix build-system texlive)}. It is This variable is exported by @code{(guix build-system texlive)}. It is
used to build TeX packages in batch mode with a specified engine. The used to build TeX packages in batch mode with a specified engine. The
@ -13300,6 +13463,33 @@ guix import egg arrays@@1.0
@end example @end example
Additional options include: Additional options include:
@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 hexpm
@cindex hexpm
Import metadata from the hex.pm Erlang and Elixir package repository
@uref{https://hex.pm, hex.pm}, as in this example:
@example
guix import hexpm stun
@end example
The importer tries to determine the build system used by the package.
The hexpm importer also allows you to specify a version string:
@example
guix import hexpm cf@@0.3.0
@end example
Additional options include:
@table @code @table @code
@item --recursive @item --recursive
@itemx -r @itemx -r
@ -15423,7 +15613,7 @@ instance to support new system services.
* Keyboard Layout:: How the system interprets key strokes. * Keyboard Layout:: How the system interprets key strokes.
* Locales:: Language and cultural convention settings. * Locales:: Language and cultural convention settings.
* Services:: Specifying system services. * Services:: Specifying system services.
* Setuid Programs:: Programs running with root privileges. * Setuid Programs:: Programs running with elevated privileges.
* X.509 Certificates:: Authenticating HTTPS servers. * X.509 Certificates:: Authenticating HTTPS servers.
* Name Service Switch:: Configuring libc's name service switch. * Name Service Switch:: Configuring libc's name service switch.
* Initial RAM Disk:: Linux-Libre bootstrapping. * Initial RAM Disk:: Linux-Libre bootstrapping.
@ -17739,6 +17929,25 @@ A directory path where the @command{guix-daemon} will perform builds.
@end table @end table
@end deftp @end deftp
@deftp {Data Type} guix-extension
This data type represents the parameters of the Guix build daemon that
are extendable. This is the type of the object that must be used within
a guix service extension.
@xref{Service Composition}, for more information.
@table @asis
@item @code{authorized-keys} (default: @code{'()})
A list of file-like objects where each element contains a public key.
@item @code{substitute-urls} (default: @code{'()})
A list of strings where each element is a substitute URL.
@item @code{chroot-directories} (default: @code{'()})
A list of file-like objects or strings pointing to additional directories the build daemon can use.
@end table
@end deftp
@deffn {Scheme Procedure} udev-service [#:udev @var{eudev} #:rules @code{'()}] @deffn {Scheme Procedure} udev-service [#:udev @var{eudev} #:rules @code{'()}]
Run @var{udev}, which populates the @file{/dev} directory dynamically. Run @var{udev}, which populates the @file{/dev} directory dynamically.
udev rules can be provided as a list of files through the @var{rules} udev rules can be provided as a list of files through the @var{rules}
@ -18028,6 +18237,142 @@ about the Pluggable Authentication Module (PAM) limits, refer to the
@samp{pam_limits} man page from the @code{linux-pam} package. @samp{pam_limits} man page from the @code{linux-pam} package.
@end deffn @end deffn
@defvr {Scheme Variable} greetd-service-type
@uref{https://git.sr.ht/~kennylevinsen/greetd, @code{greetd}} is a minimal and
flexible login manager daemon, that makes no assumptions about what you
want to launch.
If you can run it from your shell in a TTY, greetd can start it. If it
can be taught to speak a simple JSON-based IPC protocol, then it can be
a geeter.
@code{greetd-service-type} provides necessary infrastructure for logging
in users, including:
@itemize @bullet
@item
@code{greetd} PAM service
@item
Special variation of @code{pam-mount} to mount @code{XDG_RUNTIME_DIR}
@end itemize
Here is example of switching from @code{mingetty-service-type} to
@code{greetd-service-type}, and how different terminals could be:
@lisp
(append
(modify-services %base-services
;; greetd-service-type provides "greetd" PAM service
(delete login-service-type)
;; and can be used in place of mingetty-service-type
(delete mingetty-service-type))
(list
(service greetd-service-type
(greetd-configuration
(terminals
(list
;; we can make any terminal active by default
(greetd-terminal-configuration (terminal-vt "1") (terminal-switch #t))
;; we can make environment without XDG_RUNTIME_DIR set
;; even provide our own environment variables
(greetd-terminal-configuration
(terminal-vt "2")
(default-session-command
(greetd-agreety-session
(extra-env '(("MY_VAR" . "1")))
(xdg-env? #f))))
;; we can use different shell instead of default bash
(greetd-terminal-configuration
(terminal-vt "3")
(default-session-command
(greetd-agreety-session (command (file-append zsh "/bin/zsh")))))
;; we can use any other executable command as greeter
(greetd-terminal-configuration
(terminal-vt "4")
(default-session-command (program-file "my-noop-greeter" #~(exit))))
(greetd-terminal-configuration (terminal-vt "5"))
(greetd-terminal-configuration (terminal-vt "6"))))))
;; mingetty-service-type can be used in parallel
;; if needed to do so, do not (delete login-service-type)
;; as illustrated above
#| (service mingetty-service-type (mingetty-configuration (tty "tty8"))) |#))
@end lisp
@end defvr
@deftp {Data Type} greetd-configuration
Configuration record for the @code{greetd-service-type}.
@table @asis
@item @code{motd}
A file-like object containing the ``message of the day''.
@item @code{allow-empty-passwords?} (default: @code{#t})
Allow empty passwords by default so that first-time users can log in when
the 'root' account has just been created.
@item @code{terminals} (default: @code{'()})
List of @code{greetd-terminal-configuration} per terminal for which
@code{greetd} should be started.
@end table
@end deftp
@deftp {Data Type} greetd-terminal-configuration
Configuration record for per terminal greetd daemon service.
@table @asis
@item @code{greetd} (default: @code{greetd})
The greetd package to use.
@item @code{config-file-name}
Configuration file name to use for greetd daemon. Generally, autogenerated
derivation based on @code{terminal-vt} value.
@item @code{log-file-name}
Log file name to use for greetd daemon. Generally, autogenerated
name based on @code{terminal-vt} value.
@item @code{terminal-vt} (default: @samp{"7"})
The VT to run on. Use of a specific VT with appropriate conflict avoidance
is recommended.
@item @code{terminal-switch} (default: @code{#f})
Make this terminal active on start of @code{greetd}.
@item @code{default-session-user} (default: @samp{"greeter"})
The user to use for running the greeter.
@item @code{default-session-command} (default: @code{(greetd-agreety-session)})
Can be either instance of @code{greetd-agreety-session} configuration or
@code{gexp->script} like object to use as greeter.
@end table
@end deftp
@deftp {Data Type} greetd-agreety-session
Configuration record for the agreety greetd greeter.
@table @asis
@item @code{agreety} (default: @code{greetd})
The package with @command{/bin/agreety} command.
@item @code{command} (default: @code{(file-append bash "/bin/bash")})
Command to be started by @command{/bin/agreety} on successful login.
@item @code{command-args} (default: @code{'("-l")})
Command arguments to pass to command.
@item @code{extra-env} (default: @code{'()})
Extra environment variables to set on login.
@item @code{xdg-env?} (default: @code{#t})
If true @code{XDG_RUNTIME_DIR} and @code{XDG_SESSION_TYPE} will be set
before starting command. One should note that, @code{extra-env} variables
are set right after mentioned variables, so that they can be overriden.
@end table
@end deftp
@node Scheduled Job Execution @node Scheduled Job Execution
@subsection Scheduled Job Execution @subsection Scheduled Job Execution
@ -19200,15 +19545,16 @@ The node host name that is used to make the first connection to the
network. A specific port value can be provided by appending the network. A specific port value can be provided by appending the
@code{:PORT} suffix. By default, it uses the Jami bootstrap nodes, but @code{:PORT} suffix. By default, it uses the Jami bootstrap nodes, but
any host can be specified here. It's also possible to disable any host can be specified here. It's also possible to disable
bootsrapping by setting this to the @code{'disabled} symbol. bootsrapping by explicitly setting this to the @code{*unspecified*}
value.
Defaults to @samp{"bootstrap.jami.net:4222"}. Defaults to @samp{"bootstrap.jami.net:4222"}.
@end deftypevr @end deftypevr
@deftypevr {@code{opendht-configuration} parameter} maybe-number port @deftypevr {@code{opendht-configuration} parameter} maybe-number port
The UDP port to bind to. When set to @code{'disabled}, an available The UDP port to bind to. When explicitly set to @code{*unspecified*},
port is automatically selected. an available port is automatically selected.
Defaults to @samp{4222}. Defaults to @samp{4222}.
@ -21724,9 +22070,14 @@ The actual service definitions included in @code{%desktop-services} and
provided by @code{(gnu services dbus)} and @code{(gnu services desktop)} provided by @code{(gnu services dbus)} and @code{(gnu services desktop)}
are described below. are described below.
@deffn {Scheme Procedure} dbus-service [#:dbus @var{dbus}] [#:services '()] @deffn {Scheme Procedure} dbus-service [#:dbus @var{dbus}] [#:services '()] @
[#:verbose?]
Return a service that runs the ``system bus'', using @var{dbus}, with Return a service that runs the ``system bus'', using @var{dbus}, with
support for @var{services}. support for @var{services}. When @var{verbose?} is true, it causes the
@samp{DBUS_VERBOSE} environment variable to be set to @samp{1}; a
verbose-enabled D-Bus package such as @code{dbus-verbose} should be
provided as @var{dbus} in this scenario. The verbose output is logged
to @file{/var/log/dbus-daemon.log}.
@uref{https://dbus.freedesktop.org/, D-Bus} is an inter-process communication @uref{https://dbus.freedesktop.org/, D-Bus} is an inter-process communication
facility. Its system bus is used to allow system services to communicate facility. Its system bus is used to allow system services to communicate
@ -22500,6 +22851,52 @@ and ``passwd'' is with the value @code{passwd}.
@end table @end table
@end deftp @end deftp
@defvr {Scheme Variable} seatd-service-type
@uref{https://sr.ht/~kennylevinsen/seatd/, seatd} is a minimal seat
management daemon.
Seat management takes care of mediating access to shared devices (graphics,
input), without requiring the applications needing access to be root.
@lisp
(append
(list
;; make sure seatd is running
(service seatd-service-type))
;; normally one would want %base-services
%base-services)
@end lisp
@end defvr
@deftp {Data Type} seatd-configuration
Configuration record for the seatd daemon service.
@table @asis
@item @code{seatd} (default: @code{seatd})
The seatd package to use.
@item @code{user} (default: @samp{"root"})
User to own the seatd socket.
@item @code{group} (default: @samp{"users"})
Group to own the seatd socket.
@item @code{socket} (default: @samp{"/run/seatd.sock"})
Where to create the seatd socket.
@item @code{logfile} (default: @samp{"/var/log/seatd.log"})
Log file to write to.
@item @code{loglevel} (default: @samp{"error"})
Log level to output logs. Possible values: @samp{"silent"}, @samp{"error"},
@samp{"info"} and @samp{"debug"}.
@end table
@end deftp
@node Sound Services @node Sound Services
@subsection Sound Services @subsection Sound Services
@ -24923,7 +25320,7 @@ The available configuration parameters follow. Each parameter
definition is preceded by its type; for example, @samp{string-list foo} definition is preceded by its type; for example, @samp{string-list foo}
indicates that the @code{foo} parameter should be specified as a list of indicates that the @code{foo} parameter should be specified as a list of
strings. Types starting with @code{maybe-} denote parameters that won't strings. Types starting with @code{maybe-} denote parameters that won't
show up in @code{prosody.cfg.lua} when their value is @code{'disabled}. show up in @code{prosody.cfg.lua} when their value is left unspecified.
There is also a way to specify the configuration as a string, if you There is also a way to specify the configuration as a string, if you
have an old @code{prosody.cfg.lua} file that you want to port over from have an old @code{prosody.cfg.lua} file that you want to port over from
@ -25519,10 +25916,10 @@ The complete set of available configuration options is detailed below.
Available @code{jami-configuration} fields are: Available @code{jami-configuration} fields are:
@table @asis @table @asis
@item @code{jamid} (default: @code{libjami}) (type: package) @item @code{libjami} (default: @code{libjami}) (type: package)
The Jami daemon package to use. The Jami daemon package to use.
@item @code{dbus} (default: @code{dbus}) (type: package) @item @code{dbus} (default: @code{dbus-for-jami}) (type: package)
The D-Bus package to use to start the required D-Bus session. The D-Bus package to use to start the required D-Bus session.
@item @code{nss-certs} (default: @code{nss-certs}) (type: package) @item @code{nss-certs} (default: @code{nss-certs}) (type: package)
@ -25537,7 +25934,7 @@ Whether to enable debug level messages.
@item @code{auto-answer?} (default: @code{#f}) (type: boolean) @item @code{auto-answer?} (default: @code{#f}) (type: boolean)
Whether to force automatic answer to incoming calls. Whether to force automatic answer to incoming calls.
@item @code{accounts} (default: @code{disabled}) (type: maybe-jami-account-list) @item @code{accounts} (type: maybe-jami-account-list)
A list of Jami accounts to be (re-)provisioned every time the Jami A list of Jami accounts to be (re-)provisioned every time the Jami
daemon service starts. When providing this field, the account daemon service starts. When providing this field, the account
directories under @file{/var/lib/jami/} are recreated every time the directories under @file{/var/lib/jami/} are recreated every time the
@ -25559,39 +25956,39 @@ should @emph{not} be encrypted. It is highly recommended to make it
readable only to the @samp{root} user (i.e., not in the store), to guard readable only to the @samp{root} user (i.e., not in the store), to guard
against leaking the secret key material of the Jami account it contains. against leaking the secret key material of the Jami account it contains.
@item @code{allowed-contacts} (default: @code{disabled}) (type: maybe-account-fingerprint-list) @item @code{allowed-contacts} (type: maybe-account-fingerprint-list)
The list of allowed contacts for the account, entered as their 40 The list of allowed contacts for the account, entered as their 40
characters long fingerprint. Messages or calls from accounts not in characters long fingerprint. Messages or calls from accounts not in
that list will be rejected. When unspecified, the configuration of the that list will be rejected. When left specified, the configuration of
account archive is used as-is with respect to contacts and public the account archive is used as-is with respect to contacts and public
inbound calls/messaging allowance, which typically defaults to allow any inbound calls/messaging allowance, which typically defaults to allow any
contact to communicate with the account. contact to communicate with the account.
@item @code{moderators} (default: @code{disabled}) (type: maybe-account-fingerprint-list) @item @code{moderators} (type: maybe-account-fingerprint-list)
The list of contacts that should have moderation privileges (to ban, The list of contacts that should have moderation privileges (to ban,
mute, etc. other users) in rendezvous conferences, entered as their 40 mute, etc. other users) in rendezvous conferences, entered as their 40
characters long fingerprint. When unspecified, the configuration of the characters long fingerprint. When left unspecified, the configuration
account archive is used as-is with respect to moderation, which of the account archive is used as-is with respect to moderation, which
typically defaults to allow anyone to moderate. typically defaults to allow anyone to moderate.
@item @code{rendezvous-point?} (default: @code{disabled}) (type: maybe-boolean) @item @code{rendezvous-point?} (type: maybe-boolean)
Whether the account should operate in the rendezvous mode. In this Whether the account should operate in the rendezvous mode. In this
mode, all the incoming audio/video calls are mixed into a conference. mode, all the incoming audio/video calls are mixed into a conference.
When left unspecified, the value from the account archive prevails. When left unspecified, the value from the account archive prevails.
@item @code{peer-discovery?} (default: @code{disabled}) (type: maybe-boolean) @item @code{peer-discovery?} (type: maybe-boolean)
Whether peer discovery should be enabled. Peer discovery is used to Whether peer discovery should be enabled. Peer discovery is used to
discover other OpenDHT nodes on the local network, which can be useful discover other OpenDHT nodes on the local network, which can be useful
to maintain communication between devices on such network even when the to maintain communication between devices on such network even when the
connection to the the Internet has been lost. When left unspecified, connection to the the Internet has been lost. When left unspecified,
the value from the account archive prevails. the value from the account archive prevails.
@item @code{bootstrap-hostnames} (default: @code{disabled}) (type: maybe-string-list) @item @code{bootstrap-hostnames} (type: maybe-string-list)
A list of hostnames or IPs pointing to OpenDHT nodes, that should be A list of hostnames or IPs pointing to OpenDHT nodes, that should be
used to initially join the OpenDHT network. When left unspecified, the used to initially join the OpenDHT network. When left unspecified, the
value from the account archive prevails. value from the account archive prevails.
@item @code{name-server-uri} (default: @code{disabled}) (type: maybe-string) @item @code{name-server-uri} (type: maybe-string)
The URI of the name server to use, that can be used to retrieve the The URI of the name server to use, that can be used to retrieve the
account fingerprint for a registered username. account fingerprint for a registered username.
@ -26225,8 +26622,8 @@ Defaults to @samp{prefer-encrypted-connections}.
@deftypevr {@code{transmission-daemon-configuration} parameter} maybe-string peer-congestion-algorithm @deftypevr {@code{transmission-daemon-configuration} parameter} maybe-string peer-congestion-algorithm
The TCP congestion-control algorithm to use for peer connections, The TCP congestion-control algorithm to use for peer connections,
specified using a string recognized by the operating system in calls to specified using a string recognized by the operating system in calls to
@code{setsockopt} (or set to @code{disabled}, in which case the @code{setsockopt}. When left unspecified, the operating-system default
operating-system default is used). is used.
Note that on GNU/Linux systems, the kernel must be configured to allow Note that on GNU/Linux systems, the kernel must be configured to allow
processes to use a congestion-control algorithm not in the default set; processes to use a congestion-control algorithm not in the default set;
@ -29854,7 +30251,7 @@ Defaults to @samp{tun}.
If you do not have some of these files (eg.@: you use a username and If you do not have some of these files (eg.@: you use a username and
password), you can disable any of the following three fields by setting password), you can disable any of the following three fields by setting
it to @code{'disabled}. it to @code{*unspecified*}.
@deftypevr {@code{openvpn-client-configuration} parameter} maybe-string ca @deftypevr {@code{openvpn-client-configuration} parameter} maybe-string ca
The certificate authority to check connections against. The certificate authority to check connections against.
@ -29928,7 +30325,6 @@ Authenticate with server using username/password. The option is a file
containing username/password on 2 lines. Do not use a file-like object as it containing username/password on 2 lines. Do not use a file-like object as it
would be added to the store and readable by any user. would be added to the store and readable by any user.
Defaults to @samp{'disabled}.
@end deftypevr @end deftypevr
@deftypevr {@code{openvpn-client-configuration} parameter} key-usage verify-key-usage? @deftypevr {@code{openvpn-client-configuration} parameter} key-usage verify-key-usage?
@ -30009,7 +30405,7 @@ Defaults to @samp{tun}.
If you do not have some of these files (eg.@: you use a username and If you do not have some of these files (eg.@: you use a username and
password), you can disable any of the following three fields by setting password), you can disable any of the following three fields by setting
it to @code{'disabled}. it to @code{*unspecified*}.
@deftypevr {@code{openvpn-server-configuration} parameter} maybe-string ca @deftypevr {@code{openvpn-server-configuration} parameter} maybe-string ca
The certificate authority to check connections against. The certificate authority to check connections against.
@ -30808,10 +31204,10 @@ content by adding a valid @code{tlp-configuration}:
@end deffn @end deffn
Each parameter definition is preceded by its type; for example, Each parameter definition is preceded by its type; for example,
@samp{boolean foo} indicates that the @code{foo} parameter @samp{boolean foo} indicates that the @code{foo} parameter should be
should be specified as a boolean. Types starting with specified as a boolean. Types starting with @code{maybe-} denote
@code{maybe-} denote parameters that won't show up in TLP config file parameters that won't show up in TLP config file when their value is
when their value is @code{'disabled}. left unset, or is explicitly set to the @code{*unspecified*} value.
@c The following documentation was initially generated by @c The following documentation was initially generated by
@c (generate-tlp-documentation) in (gnu services pm). Manually maintained @c (generate-tlp-documentation) in (gnu services pm). Manually maintained
@ -35178,11 +35574,11 @@ that compression will be 2:1, it is possible that uncompressable data
can be written to swap and this is a method to limit how much memory can can be written to swap and this is a method to limit how much memory can
be used. It accepts a string and can be a number of bytes or use a be used. It accepts a string and can be a number of bytes or use a
suffix, eg.: @code{"2G"}. suffix, eg.: @code{"2G"}.
@item @code{priority} (default @code{-1}) @item @code{priority} (default @code{#f})
This is the priority of the swap device created from the zram device. This is the priority of the swap device created from the zram device.
@code{swapon} accepts values between -1 and 32767, with higher values @xref{Swap Space} for a description of swap priorities. You might want
indicating higher priority. Higher priority swap will generally be used to set a specific priority for the zram device, otherwise it could end
first. up not being used much for the reasons described there.
@end table @end table
@end deftp @end deftp
@ -35731,22 +36127,23 @@ Extra command line options for @code{nix-service-type}.
@section Setuid Programs @section Setuid Programs
@cindex setuid programs @cindex setuid programs
Some programs need to run with ``root'' privileges, even when they are @cindex setgid programs
Some programs need to run with elevated privileges, even when they are
launched by unprivileged users. A notorious example is the launched by unprivileged users. A notorious example is the
@command{passwd} program, which users can run to change their @command{passwd} program, which users can run to change their
password, and which needs to access the @file{/etc/passwd} and password, and which needs to access the @file{/etc/passwd} and
@file{/etc/shadow} files---something normally restricted to root, for @file{/etc/shadow} files---something normally restricted to root, for
obvious security reasons. To address that, these executables are obvious security reasons. To address that, @command{passwd} should be
@dfn{setuid-root}, meaning that they always run with root privileges @dfn{setuid-root}, meaning that it always runs with root privileges
(@pxref{How Change Persona,,, libc, The GNU C Library Reference Manual}, (@pxref{How Change Persona,,, libc, The GNU C Library Reference Manual},
for more info about the setuid mechanism). for more info about the setuid mechanism).
The store itself @emph{cannot} contain setuid programs: that would be a The store itself @emph{cannot} contain setuid programs: that would be a
security issue since any user on the system can write derivations that security issue since any user on the system can write derivations that
populate the store (@pxref{The Store}). Thus, a different mechanism is populate the store (@pxref{The Store}). Thus, a different mechanism is
used: instead of changing the setuid bit directly on files that are in used: instead of changing the setuid or setgid bits directly on files that
the store, we let the system administrator @emph{declare} which programs are in the store, we let the system administrator @emph{declare} which
should be setuid root. programs should be entrusted with these additional privileges.
The @code{setuid-programs} field of an @code{operating-system} The @code{setuid-programs} field of an @code{operating-system}
declaration contains a list of @code{<setuid-program>} denoting the declaration contains a list of @code{<setuid-program>} denoting the
@ -37976,7 +38373,7 @@ pointing to the given file.
@defvr {Scheme Variable} setuid-program-service-type @defvr {Scheme Variable} setuid-program-service-type
Type for the ``setuid-program service''. This service collects lists of Type for the ``setuid-program service''. This service collects lists of
executable file names, passed as gexps, and adds them to the set of executable file names, passed as gexps, and adds them to the set of
setuid-root programs on the system (@pxref{Setuid Programs}). setuid and setgid programs on the system (@pxref{Setuid Programs}).
@end defvr @end defvr
@defvr {Scheme Variable} profile-service-type @defvr {Scheme Variable} profile-service-type
@ -38405,15 +38802,16 @@ macro which is a shorthand of this.
@deffn {Scheme Syntax} define-maybe @var{type} @deffn {Scheme Syntax} define-maybe @var{type}
Sometimes a field should not be serialized if the user doesnt specify a Sometimes a field should not be serialized if the user doesnt specify a
value. To achieve this, you can use the @code{define-maybe} macro to value. To achieve this, you can use the @code{define-maybe} macro to
define a ``maybe type''; if the value of a maybe type is set to the define a ``maybe type''; if the value of a maybe type is left unset, or
@code{disabled}, it will not be serialized. is set to the @code{*unspecified*} value, then it will not be
serialized.
When defining a ``maybe type'', the corresponding serializer for the When defining a ``maybe type'', the corresponding serializer for the
regular type will be used by default. For example, a field of type regular type will be used by default. For example, a field of type
@code{maybe-string} will be serialized using the @code{serialize-string} @code{maybe-string} will be serialized using the @code{serialize-string}
procedure by default, you can of course change this by specifying a procedure by default, you can of course change this by specifying a
custom serializer procedure. Likewise, the type of the value would have custom serializer procedure. Likewise, the type of the value would have
to be a string, unless it is set to the @code{disabled} symbol. to be a string, or left unspecified.
@lisp @lisp
(define-maybe string) (define-maybe string)
@ -38423,9 +38821,9 @@ to be a string, unless it is set to the @code{disabled} symbol.
(define-configuration baz-configuration (define-configuration baz-configuration
(name (name
;; Nothing will be serialized by default. If set to a string, the ;; If set to a string, the `serialize-string' procedure will be used
;; `serialize-string' procedure will be used to serialize the string. ;; to serialize the string. Otherwise this field is not serialized.
(maybe-string 'disabled) maybe-string ; equivalent to (maybe-string *unspecified*)
"The name of this module.")) "The name of this module."))
@end lisp @end lisp
@ -38442,7 +38840,7 @@ serializer name by using the @code{prefix} literal.
There is also the @code{no-serialization} literal, which when set means There is also the @code{no-serialization} literal, which when set means
that no serializer will be defined for the ``maybe type'', regardless of that no serializer will be defined for the ``maybe type'', regardless of
its value is @code{disabled} or not. whether its value is set or not.
@code{define-maybe/no-serialization} is a shorthand for specifying the @code{define-maybe/no-serialization} is a shorthand for specifying the
@code{no-serialization} literal. @code{no-serialization} literal.
@ -38451,7 +38849,7 @@ its value is @code{disabled} or not.
(define-configuration/no-serialization test-configuration (define-configuration/no-serialization test-configuration
(mode (mode
(maybe-symbol 'disabled) maybe-symbol
"Docstring.")) "Docstring."))
@end lisp @end lisp
@end deffn @end deffn
@ -38583,10 +38981,10 @@ Below is an example of a record type created using
"The name of the contact." "The name of the contact."
serialize-contact-name) serialize-contact-name)
(phone-number (phone-number
(maybe-integer 'disabled) maybe-integer
"The person's phone number.") "The person's phone number.")
(email (email
(maybe-string 'disabled) maybe-string
"The person's email address.") "The person's email address.")
(married? (married?
(boolean) (boolean)
@ -38874,6 +39272,7 @@ services)}.
* Shells: Shells Home Services. POSIX shells, Bash, Zsh. * Shells: Shells Home Services. POSIX shells, Bash, Zsh.
* Mcron: Mcron Home Service. Scheduled User's Job Execution. * Mcron: Mcron Home Service. Scheduled User's Job Execution.
* Shepherd: Shepherd Home Service. Managing User's Daemons. * Shepherd: Shepherd Home Service. Managing User's Daemons.
* SSH: Secure Shell. Setting up the secure shell client.
* Desktop: Desktop Home Services. Services for graphical environments. * Desktop: Desktop Home Services. Services for graphical environments.
@end menu @end menu
@c In addition to that Home Services can provide @c In addition to that Home Services can provide
@ -39194,7 +39593,7 @@ GNU@tie{}mcron, a daemon to run jobs at scheduled times (@pxref{Top,,,
mcron, GNU@tie{}mcron}). The information about system's mcron is mcron, GNU@tie{}mcron}). The information about system's mcron is
applicable here (@pxref{Scheduled Job Execution}), the only difference applicable here (@pxref{Scheduled Job Execution}), the only difference
for home services is that they have to be declared in a for home services is that they have to be declared in a
@code{home-envirnoment} record instead of an @code{operating-system} @code{home-environment} record instead of an @code{operating-system}
record. record.
@defvr {Scheme Variable} home-mcron-service-type @defvr {Scheme Variable} home-mcron-service-type
@ -39262,6 +39661,181 @@ mechanism instead (@pxref{Shepherd Services}).
@end table @end table
@end deftp @end deftp
@node Secure Shell
@subsection Secure Shell
@cindex secure shell client, configuration
@cindex SSH client, configuration
The @uref{https://www.openssh.com, OpenSSH package} includes a client,
the @command{ssh} command, that allows you to connect to remote machines
using the @acronym{SSH, secure shell} protocol. With the @code{(gnu
home services ssh)} module, you can set up OpenSSH so that it works in a
predictable fashion, almost independently of state on the local machine.
To do that, you instantiate @code{home-openssh-service-type} in your
Home configuration, as explained below.
@defvr {Scheme Variable} home-openssh-service-type
This is the type of the service to set up the OpenSSH client. It takes
care of several things:
@itemize
@item
providing a @file{~/.ssh/config} file based on your configuration so
that @command{ssh} knows about hosts you regularly connect to and their
associated parameters;
@item
providing a @file{~/.ssh/authorized_keys}, which lists public keys that
the local SSH server, @command{sshd}, may accept to connect to this user
account;
@item
optionally providing a @file{~/.ssh/known_hosts} file so that @file{ssh}
can authenticate hosts you connect to.
@end itemize
Here is an example of a service and its configuration that you could add
to the @code{services} field of your @code{home-environment}:
@lisp
(service home-openssh-service-type
(home-openssh-configuration
(hosts
(list (openssh-host (name "ci.guix.gnu.org")
(user "charlie"))
(openssh-host (name "chbouib")
(host-name "chbouib.example.org")
(user "supercharlie")
(port 10022))))
(authorized-keys (list (local-file "alice.pub")))))
@end lisp
The example above lists two hosts and their parameters. For instance,
running @command{ssh chbouib} will automatically connect to
@code{chbouib.example.org} on port 10022, logging in as user
@samp{supercharlie}. Further, it marks the public key in
@file{alice.pub} as authorized for incoming connections.
The value associated with a @code{home-openssh-service-type} instance
must be a @code{home-openssh-configuration} record, as describe below.
@end defvr
@deftp {Data Type} home-openssh-configuration
This is the datatype representing the OpenSSH client and server
configuration in one's home environment. It contains the following
fields:
@table @asis
@item @code{hosts} (default: @code{'()})
A list of @code{openssh-host} records specifying host names and
associated connection parameters (see below). This host list goes into
@file{~/.ssh/config}, which @command{ssh} reads at startup.
@item @code{known-hosts} (default: @code{*unspecified*})
This must be either:
@itemize
@item
@code{*unspecified*}, in which case @code{home-openssh-service-type}
leaves it up to @command{ssh} and to the user to maintain the list of
known hosts at @file{~/.ssh/known_hosts}, or
@item
a list of file-like objects, in which case those are concatenated and
emitted as @file{~/.ssh/known_hosts}.
@end itemize
The @file{~/.ssh/known_hosts} contains a list of host name/host key
pairs that allow @command{ssh} to authenticate hosts you connect to and
to detect possible impersonation attacks. By default, @command{ssh}
updates it in a @dfn{TOFU, trust-on-first-use} fashion, meaning that it
records the host's key in that file the first time you connect to it.
This behavior is preserved when @code{known-hosts} is set to
@code{*unspecified*}.
If you instead provide a list of host keys upfront in the
@code{known-hosts} field, your configuration becomes self-contained and
stateless: it can be replicated elsewhere or at another point in time.
Preparing this list can be relatively tedious though, which is why
@code{*unspecified*} is kept as a default.
@item @code{authorized-keys} (default: @code{'()})
This must be a list of file-like objects, each of which containing an
SSH public key that should be authorized to connect to this machine.
Concretely, these files are concatenated and made available as
@file{~/.ssh/authorized_keys}. If an OpenSSH server, @command{sshd}, is
running on this machine, then it @emph{may} take this file into account:
this is what @command{sshd} does by default, but be aware that it can
also be configured to ignore it.
@end table
@end deftp
@c %start of fragment
@deftp {Data Type} openssh-host
Available @code{openssh-host} fields are:
@table @asis
@item @code{name} (type: string)
Name of this host declaration.
@item @code{host-name} (type: maybe-string)
Host name---e.g., @code{"foo.example.org"} or @code{"192.168.1.2"}.
@item @code{address-family} (type: address-family)
Address family to use when connecting to this host: one of
@code{AF_INET} (for IPv4 only), @code{AF_INET6} (for IPv6 only), or
@code{*unspecified*} (allowing any address family).
@item @code{identity-file} (type: maybe-string)
The identity file to use---e.g., @code{"/home/charlie/.ssh/id_ed25519"}.
@item @code{port} (type: maybe-natural-number)
TCP port number to connect to.
@item @code{user} (type: maybe-string)
User name on the remote host.
@item @code{forward-x11?} (default: @code{#f}) (type: boolean)
Whether to forward remote client connections to the local X11 graphical
display.
@item @code{forward-x11-trusted?} (default: @code{#f}) (type: boolean)
Whether remote X11 clients have full access to the original X11
graphical display.
@item @code{forward-agent?} (default: @code{#f}) (type: boolean)
Whether the authentication agent (if any) is forwarded to the remote
machine.
@item @code{compression?} (default: @code{#f}) (type: boolean)
Whether to compress data in transit.
@item @code{proxy-command} (type: maybe-string)
The command to use to connect to the server. As an example, a command
to connect via an HTTP proxy at 192.0.2.0 would be: @code{"nc -X connect
-x 192.0.2.0:8080 %h %p"}.
@item @code{host-key-algorithms} (type: maybe-string-list)
The list of accepted host key algorithms---e.g.,
@code{'("ssh-ed25519")}.
@item @code{accepted-key-types} (type: maybe-string-list)
The list of accepted user public key types.
@item @code{extra-content} (default: @code{""}) (type: raw-configuration-string)
Extra content appended as-is to this @code{Host} block in
@file{~/.ssh/config}.
@end table
@end deftp
@c %end of fragment
@node Desktop Home Services @node Desktop Home Services
@subsection Desktop Home Services @subsection Desktop Home Services
@ -39310,24 +39884,24 @@ Daytime color temperature (kelvins).
@item @code{nighttime-temperature} (default: @code{4500}) (type: integer) @item @code{nighttime-temperature} (default: @code{4500}) (type: integer)
Nighttime color temperature (kelvins). Nighttime color temperature (kelvins).
@item @code{daytime-brightness} (default: @code{disabled}) (type: maybe-inexact-number) @item @code{daytime-brightness} (type: maybe-inexact-number)
Daytime screen brightness, between 0.1 and 1.0. Daytime screen brightness, between 0.1 and 1.0, or left unspecified.
@item @code{nighttime-brightness} (default: @code{disabled}) (type: maybe-inexact-number) @item @code{nighttime-brightness} (type: maybe-inexact-number)
Nighttime screen brightness, between 0.1 and 1.0. Nighttime screen brightness, between 0.1 and 1.0, or left unspecified.
@item @code{latitude} (default: @code{disabled}) (type: maybe-inexact-number) @item @code{latitude} (type: maybe-inexact-number)
Latitude, when @code{location-provider} is @code{'manual}. Latitude, when @code{location-provider} is @code{'manual}.
@item @code{longitude} (default: @code{disabled}) (type: maybe-inexact-number) @item @code{longitude} (type: maybe-inexact-number)
Longitude, when @code{location-provider} is @code{'manual}. Longitude, when @code{location-provider} is @code{'manual}.
@item @code{dawn-time} (default: @code{disabled}) (type: maybe-string) @item @code{dawn-time} (type: maybe-string)
Custom time for the transition from night to day in the Custom time for the transition from night to day in the
morning---@code{"HH:MM"} format. When specified, solar elevation is not morning---@code{"HH:MM"} format. When specified, solar elevation is not
used to determine the daytime/nighttime period. used to determine the daytime/nighttime period.
@item @code{dusk-time} (default: @code{disabled}) (type: maybe-string) @item @code{dusk-time} (type: maybe-string)
Likewise, custom time for the transition from day to night in the Likewise, custom time for the transition from day to night in the
evening. evening.

View file

@ -13,12 +13,13 @@
(service home-bash-service-type (service home-bash-service-type
(home-bash-configuration (home-bash-configuration
(guix-defaults? #t) (guix-defaults? #t)
(bash-profile '("\ (bash-profile (list (plain-file "bash-profile" "\
export HISTFILE=$XDG_CACHE_HOME/.bash_history")))) export HISTFILE=$XDG_CACHE_HOME/.bash_history")))))
(simple-service 'test-config (simple-service 'test-config
home-files-service-type home-xdg-configuration-files-service-type
(list `("config/test.conf" (list `("test.conf"
,(plain-file "tmp-file.txt" ,(plain-file "tmp-file.txt"
"the content of ~/.config/test.conf"))))))) "the content of
~/.config/test.conf")))))))

View file

@ -1,7 +1,7 @@
# htmlxref.cnf - reference file for free Texinfo manuals on the web. # htmlxref.cnf - reference file for free Texinfo manuals on the web.
# Modified by Ludovic Courtès <ludo@gnu.org> for the GNU Guix manual. # Modified by Ludovic Courtès <ludo@gnu.org> for the GNU Guix manual.
htmlxrefversion=2022-04-08.17; # UTC htmlxrefversion=2022-06-16.15; # UTC
# Copyright 2010-2020, 2022 Free Software Foundation, Inc. # Copyright 2010-2020, 2022 Free Software Foundation, Inc.
# #
@ -291,8 +291,6 @@ gdbm chapter ${GDBM}/html_chapter/
gdbm section ${GDBM}/html_section/ gdbm section ${GDBM}/html_section/
gdbm node ${GDBM}/html_node/ gdbm node ${GDBM}/html_node/
# XXX: These are actually pages created by texi2html, so no quite following
# the expected naming scheme.
geiser chapter http://geiser.nongnu.org/ geiser chapter http://geiser.nongnu.org/
gettext mono ${GS}/gettext/manual/gettext.html gettext mono ${GS}/gettext/manual/gettext.html

213
gnu/build/dbus-service.scm Normal file
View file

@ -0,0 +1,213 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@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/>.
;;; Commentary:
;;;
;;; This module contains procedures to interact with D-Bus via the 'dbus-send'
;;; command line utility. Before using any public procedure
;;;
;;; Code:
(define-module (gnu build dbus-service)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-19)
#:use-module (srfi srfi-26)
#:autoload (d-bus protocol connections) (d-bus-conn?
d-bus-conn-flush
d-bus-connect
d-bus-disconnect
d-bus-session-bus-address
d-bus-system-bus-address)
#:autoload (d-bus protocol messages) (MESSAGE_TYPE_METHOD_CALL
d-bus-headers-ref
d-bus-message-body
d-bus-message-headers
d-bus-read-message
d-bus-write-message
header-PATH
header-DESTINATION
header-INTERFACE
header-MEMBER
header-SIGNATURE
make-d-bus-message)
#:export (%dbus-query-timeout
initialize-dbus-connection!
%current-dbus-connection
send-dbus
call-dbus-method
dbus-available-services
dbus-service-available?
with-retries))
(define %dbus-query-timeout 2) ;in seconds
;;; Use Fibers' sleep to enable cooperative scheduling in Shepherd >= 0.9.0,
;;; which is required at least for the Jami service.
(define sleep*
(lambda () ;delay execution
(if (resolve-module '(fibers) #f)
(module-ref (resolve-interface '(fibers)) 'sleep)
(begin
(format #f "fibers not available -- blocking 'sleep' in use")
sleep))))
;;;
;;; Utilities.
;;;
(define-syntax-rule (with-retries n delay body ...)
"Retry the code in BODY up to N times until it doesn't raise an exception nor
return #f, else raise an error. A delay of DELAY seconds is inserted before
each retry."
(let loop ((attempts 0))
(catch #t
(lambda ()
(let ((result (begin body ...)))
(if (not result)
(error "failed attempt" attempts)
result)))
(lambda args
(if (< attempts n)
(begin
((sleep*) delay) ;else wait and retry
(loop (+ 1 attempts)))
(error "maximum number of retry attempts reached"
body ... args))))))
;;;
;;; Low level wrappers above AC/D-Bus.
;;;
;; The active D-Bus connection (a parameter) used by the other procedures.
(define %current-dbus-connection (make-parameter #f))
(define* (initialize-dbus-connection!
#:key (address (or (d-bus-session-bus-address)
(d-bus-system-bus-address))))
"Initialize the D-Bus connection. ADDRESS should be the address of the D-Bus
session, e.g. \"unix:path=/var/run/dbus/system_bus_socket\", the default value
if ADDRESS is not provided and DBUS_SESSION_BUS_ADDRESS is not set. Return
the initialized D-Bus connection."
;; Clear current correction if already active.
(when (d-bus-conn? (%current-dbus-connection))
(d-bus-disconnect (%current-dbus-connection)))
(let ((connection (d-bus-connect address)))
(%current-dbus-connection connection) ;update connection parameter
(call-dbus-method "Hello")) ;initial handshake
(%current-dbus-connection))
(define* (send-dbus message #:key
(connection (%current-dbus-connection))
timeout)
"Send a D-Bus MESSAGE to CONNECTION and return the body of its reply. Up to
READ-RETRIES replies are read until a matching reply is found, else an error
is raised. MESSAGE is to be constructed with `make-d-bus-message'. When the
body contains a single element, it is returned directly, else the body
elements are returned as a list. TIMEOUT is a timeout value in seconds."
(let ((serial (d-bus-write-message connection message))
(start-time (current-time time-monotonic))
(timeout* (or timeout %dbus-query-timeout)))
(d-bus-conn-flush connection)
(let retry ()
(when (> (time-second (time-difference (current-time time-monotonic)
start-time))
timeout*)
(error 'dbus "fail to get reply in timeout" timeout*))
(let* ((reply (d-bus-read-message connection))
(reply-headers (d-bus-message-headers reply))
(reply-serial (d-bus-headers-ref reply-headers 'REPLY_SERIAL))
(error-name (d-bus-headers-ref reply-headers 'ERROR_NAME))
(body (d-bus-message-body reply)))
;; Validate the reply matches the message.
(when error-name
(error 'dbus "method failed with error" error-name body))
;; Some replies do not include a serial header, such as the for the
;; org.freedesktop.DBus NameAcquired one.
(if (and reply-serial (= serial reply-serial))
(match body
((x x* ..1) ;contains 2 ore more elements
body)
((x)
x) ;single element; return it directly
(#f #f))
(retry))))))
(define (argument->signature-type argument)
"Infer the D-Bus signature type from ARGUMENT."
;; XXX: avoid ..1 when using vectors due to a bug (?) in (ice-9 match).
(match argument
((? boolean?) "b")
((? string?) "s")
(#((? string?) (? string?) ...) "as")
(#(((? string?) . (? string?))
((? string?) . (? string?)) ...) "a{ss}")
(_ (error 'dbus "no rule to infer type from argument" argument))))
(define* (call-dbus-method method
#:key
(path "/org/freedesktop/DBus")
(destination "org.freedesktop.DBus")
(interface "org.freedesktop.DBus")
(connection (%current-dbus-connection))
arguments
timeout)
"Call the D-Bus method specified by METHOD, PATH, DESTINATION and INTERFACE.
The currently active D-Bus CONNECTION is used unless explicitly provided.
Method arguments may be provided via ARGUMENTS sent as the message body.
TIMEOUT limit the maximum time to allow for the reply. Return the body of the
reply."
(let ((message (make-d-bus-message
MESSAGE_TYPE_METHOD_CALL 0 #f '()
`#(,(header-PATH path)
,(header-DESTINATION destination)
,(header-INTERFACE interface)
,(header-MEMBER method)
,@(if arguments
(list (header-SIGNATURE
(string-join
(map argument->signature-type arguments)
"")))
'()))
arguments)))
(send-dbus message #:connection connection #:timeout timeout)))
;;;
;;; Higher-level, D-Bus procedures.
;;;
(define (dbus-available-services)
"Return the list of available (acquired) D-Bus services."
(let ((names (vector->list (call-dbus-method "ListNames"))))
;; Remove entries such as ":1.7".
(remove (cut string-prefix? ":" <>) names)))
(define (dbus-service-available? service)
"Predicate to check for the D-Bus SERVICE availability."
(member service (dbus-available-services)))
;; Local Variables:
;; eval: (put 'with-retries 'scheme-indent-function 2)
;; End:

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -24,16 +24,16 @@
;;; Code: ;;; Code:
(define-module (gnu build jami-service) (define-module (gnu build jami-service)
#:use-module (gnu build dbus-service)
#:use-module (ice-9 format) #:use-module (ice-9 format)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (ice-9 peg)
#:use-module (ice-9 rdelim) #:use-module (ice-9 rdelim)
#:use-module (ice-9 regex) #:use-module (ice-9 regex)
#:use-module (rnrs io ports)
#:autoload (shepherd service) (fork+exec-command)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:export (account-fingerprint? #:export (jami-service-available?
account-fingerprint?
account-details->recutil account-details->recutil
get-accounts get-accounts
get-usernames get-usernames
@ -51,43 +51,12 @@
set-all-moderators set-all-moderators
set-moderator set-moderator
username->all-moderators? username->all-moderators?
username->moderators username->moderators))
dbus-available-services
dbus-service-available?
%send-dbus-binary
%send-dbus-bus
%send-dbus-user
%send-dbus-group
%send-dbus-debug
send-dbus
with-retries))
;;; ;;;
;;; Utilities. ;;; Utilities.
;;; ;;;
(define-syntax-rule (with-retries n delay body ...)
"Retry the code in BODY up to N times until it doesn't raise an exception
nor return #f, else raise an error. A delay of DELAY seconds is inserted
before each retry."
(let loop ((attempts 0))
(catch #t
(lambda ()
(let ((result (begin body ...)))
(if (not result)
(error "failed attempt" attempts)
result)))
(lambda args
(if (< attempts n)
(begin
(sleep delay) ;else wait and retry
(loop (+ 1 attempts)))
(error "maximum number of retry attempts reached"
body ... args))))))
(define (alist->list alist) (define (alist->list alist)
"Flatten ALIST into a list." "Flatten ALIST into a list."
(append-map (match-lambda (append-map (match-lambda
@ -104,212 +73,34 @@ hexadecimal characters."
(and (string? val) (and (string? val)
(regexp-exec account-fingerprint-rx val))) (regexp-exec account-fingerprint-rx val)))
;;;
;;; D-Bus reply parser.
;;;
(define (parse-dbus-reply reply)
"Return the parse tree of REPLY, a string returned by the 'dbus-send'
command."
;; Refer to 'man 1 dbus-send' for the grammar reference. Note that the
;; format of the replies doesn't match the format of the input, which is the
;; one documented, but it gives an idea. For an even better reference, see
;; the `print_iter' procedure of the 'dbus-print-message.c' file from the
;; 'dbus' package sources.
(define-peg-string-patterns
"contents <- header (item / container (item / container*)?)
item <-- WS type WS value NL
container <- array / dict / variant
array <-- array-start (item / container)* array-end
dict <-- array-start dict-entry* array-end
dict-entry <-- dict-entry-start item item dict-entry-end
variant <-- variant-start item
type <-- 'string' / 'int16' / 'uint16' / 'int32' / 'uint32' / 'int64' /
'uint64' / 'double' / 'byte' / 'boolean' / 'objpath'
value <-- (!NL .)* NL
header < (!NL .)* NL
variant-start < WS 'variant'
array-start < WS 'array [' NL
array-end < WS ']' NL
dict-entry-start < WS 'dict entry(' NL
dict-entry-end < WS ')' NL
DQ < '\"'
WS < ' '*
NL < '\n'*")
(peg:tree (match-pattern contents reply)))
(define (strip-quotes text)
"Strip the leading and trailing double quotes (\") characters from TEXT."
(let* ((text* (if (string-prefix? "\"" text)
(string-drop text 1)
text))
(text** (if (string-suffix? "\"" text*)
(string-drop-right text* 1)
text*)))
text**))
(define (deserialize-item item)
"Return the value described by the ITEM parse tree as a Guile object."
;; Strings are printed wrapped in double quotes (see the print_iter
;; procedure in dbus-print-message.c).
(match item
(('item ('type "string") ('value value))
(strip-quotes value))
(('item ('type "boolean") ('value value))
(if (string=? "true" value)
#t
#f))
(('item _ ('value value))
value)))
(define (serialize-boolean bool)
"Return the serialized format expected by dbus-send for BOOL."
(format #f "boolean:~:[false~;true~]" bool))
(define (dict->alist dict-parse-tree)
"Translate a dict parse tree to an alist."
(define (tuples->alist tuples)
(map (lambda (x) (apply cons x)) tuples))
(match dict-parse-tree
('dict
'())
(('dict ('dict-entry keys values) ...)
(let ((keys* (map deserialize-item keys))
(values* (map deserialize-item values)))
(tuples->alist (zip keys* values*))))))
(define (array->list array-parse-tree)
"Translate an array parse tree to a list."
(match array-parse-tree
('array
'())
(('array items ...)
(map deserialize-item items))))
;;;
;;; Low-level, D-Bus-related procedures.
;;;
;;; The following parameters are used in the jami-service-type service
;;; definition to conveniently customize the behavior of the send-dbus helper,
;;; even when called indirectly.
(define %send-dbus-binary (make-parameter "dbus-send"))
(define %send-dbus-bus (make-parameter #f))
(define %send-dbus-user (make-parameter #f))
(define %send-dbus-group (make-parameter #f))
(define %send-dbus-debug (make-parameter #f))
(define* (send-dbus #:key service path interface method
bus
dbus-send
user group
timeout
arguments)
"Return the response of DBUS-SEND, else raise an error. Unless explicitly
provided, DBUS-SEND takes the value of the %SEND-DBUS-BINARY parameter. BUS
can be used to specify the bus address, such as 'unix:path=/var/run/jami/bus'.
Alternatively, the %SEND-DBUS-BUS parameter can be used. ARGUMENTS can be
used to pass input values to a D-Bus method call. TIMEOUT is the amount of
time to wait for a reply in milliseconds before giving up with an error. USER
and GROUP allow choosing under which user/group the DBUS-SEND command is
executed. Alternatively, the %SEND-DBUS-USER and %SEND-DBUS-GROUP parameters
can be used instead."
(let* ((command `(,(if dbus-send
dbus-send
(%send-dbus-binary))
,@(if (or bus (%send-dbus-bus))
(list (string-append "--bus="
(or bus (%send-dbus-bus))))
'())
"--print-reply"
,@(if timeout
(list (format #f "--reply-timeout=~d" timeout))
'())
,(string-append "--dest=" service) ;e.g., cx.ring.Ring
,path ;e.g., /cx/ring/Ring/ConfigurationManager
,(string-append interface "." method)
,@(or arguments '())))
(temp-port (mkstemp! (string-copy "/tmp/dbus-send-output-XXXXXXX")))
(temp-file (port-filename temp-port)))
(dynamic-wind
(lambda ()
(let* ((uid (or (and=> (or user (%send-dbus-user))
(compose passwd:uid getpwnam)) -1))
(gid (or (and=> (or group (%send-dbus-group))
(compose group:gid getgrnam)) -1)))
(chown temp-port uid gid)))
(lambda ()
(let ((pid (fork+exec-command command
#:user (or user (%send-dbus-user))
#:group (or group (%send-dbus-group))
#:log-file temp-file)))
(match (waitpid pid)
((_ . status)
(let ((exit-status (status:exit-val status))
(output (call-with-port temp-port get-string-all)))
(if (= 0 exit-status)
output
(error "the send-dbus command exited with: "
command exit-status output)))))))
(lambda ()
(false-if-exception (delete-file temp-file))))))
(define (parse-account-ids reply)
"Return the Jami account IDs from REPLY, which is assumed to be the output
of the Jami D-Bus `getAccountList' method."
(array->list (parse-dbus-reply reply)))
(define (parse-account-details reply)
"Parse REPLY, which is assumed to be the output of the Jami D-Bus
`getAccountDetails' method, and return its content as an alist."
(dict->alist (parse-dbus-reply reply)))
(define (parse-contacts reply)
"Parse REPLY, which is assumed to be the output of the Jamid D-Bus
`getContacts' method, and return its content as an alist."
(match (parse-dbus-reply reply)
('array
'())
(('array dicts ...)
(map dict->alist dicts))))
;;;
;;; Higher-level, D-Bus-related procedures.
;;;
(define (validate-fingerprint fingerprint) (define (validate-fingerprint fingerprint)
"Validate that fingerprint is 40 characters long." "Validate that fingerprint is 40 characters long."
(unless (account-fingerprint? fingerprint) (unless (account-fingerprint? fingerprint)
(error "Account fingerprint is not valid:" fingerprint))) (error "Account fingerprint is not valid:" fingerprint)))
(define (dbus-available-services) (define (jami-service-available?)
"Return the list of available (acquired) D-Bus services." "Whether the Jami D-Bus service was acquired by the D-Bus daemon."
(let ((reply (parse-dbus-reply (unless (%current-dbus-connection)
(send-dbus #:service "org.freedesktop.DBus" (initialize-dbus-connection!))
#:path "/org/freedesktop/DBus" (dbus-service-available? "cx.ring.Ring"))
#:interface "org.freedesktop.DBus"
#:method "ListNames"))))
;; Remove entries such as ":1.7".
(remove (cut string-prefix? ":" <>)
(array->list reply))))
(define (dbus-service-available? service)
"Predicate to check for the D-Bus SERVICE availability." ;;;
(member service (dbus-available-services))) ;;; Bindings for the Jami D-Bus API.
;;;
(define* (send-dbus/configuration-manager #:key method arguments timeout) (define* (call-configuration-manager-method method #:optional arguments
"Query the Jami D-Bus ConfigurationManager service." #:key timeout)
(send-dbus #:service "cx.ring.Ring" "Query the Jami D-Bus ConfigurationManager interface with METHOD applied to
#:path "/cx/ring/Ring/ConfigurationManager" ARGUMENTS. TIMEOUT can optionally be provided as a value in seconds."
#:interface "cx.ring.Ring.ConfigurationManager" (unless (%current-dbus-connection)
#:method method (initialize-dbus-connection!))
#:arguments arguments (call-dbus-method method
#:timeout timeout)) #:path "/cx/ring/Ring/ConfigurationManager"
#:destination "cx.ring.Ring"
#:interface "cx.ring.Ring.ConfigurationManager"
#:arguments arguments
#:timeout timeout))
;;; The following methods are for internal use; they make use of the account ;;; The following methods are for internal use; they make use of the account
;;; ID, an implementation detail of Jami the user should not need to be ;;; ID, an implementation detail of Jami the user should not need to be
@ -317,22 +108,17 @@ of the Jami D-Bus `getAccountList' method."
(define (get-account-ids) (define (get-account-ids)
"Return the available Jami account identifiers (IDs). Account IDs are an "Return the available Jami account identifiers (IDs). Account IDs are an
implementation detail used to identify the accounts in Jami." implementation detail used to identify the accounts in Jami."
(parse-account-ids (vector->list (call-configuration-manager-method "getAccountList")))
(send-dbus/configuration-manager #:method "getAccountList")))
(define (id->account-details id) (define (id->account-details id)
"Retrieve the account data associated with the given account ID." "Retrieve the account data associated with the given account ID."
(parse-account-details (vector->list (call-configuration-manager-method "getAccountDetails"
(send-dbus/configuration-manager (list id))))
#:method "getAccountDetails"
#:arguments (list (string-append "string:" id)))))
(define (id->volatile-account-details id) (define (id->volatile-account-details id)
"Retrieve the account data associated with the given account ID." "Retrieve the account data associated with the given account ID."
(parse-account-details (vector->list (call-configuration-manager-method "getVolatileAccountDetails"
(send-dbus/configuration-manager (list id))))
#:method "getVolatileAccountDetails"
#:arguments (list (string-append "string:" id)))))
(define (id->account id) (define (id->account id)
"Retrieve the complete account data associated with the given account ID." "Retrieve the complete account data associated with the given account ID."
@ -362,8 +148,8 @@ implementation detail used to identify the accounts in Jami."
'())))) '()))))
(get-account-ids)))) (get-account-ids))))
(or (assoc-ref %username-to-id-cache username) (or (assoc-ref %username-to-id-cache username)
(let ((message (format #f "Could not retrieve a local account ID\ (let ((message (format #f "no account ID for ~:[username~;fingerprint~]"
for ~:[username~;fingerprint~]" (account-fingerprint? username)))) (account-fingerprint? username))))
(error message username)))) (error message username))))
(define (account->username account) (define (account->username account)
@ -400,27 +186,21 @@ registered username."
should *not* be encrypted with a password. Return the username associated should *not* be encrypted with a password. Return the username associated
with the account." with the account."
(invalidate-username-to-id-cache!) (invalidate-username-to-id-cache!)
(let ((reply (send-dbus/configuration-manager (let ((id (call-configuration-manager-method
#:method "addAccount" "addAccount" (list `#(("Account.archivePath" . ,archive)
#:arguments (list (string-append ("Account.type" . "RING"))))))
"dict:string:string:Account.archivePath,"
archive
",Account.type,RING")))))
;; The account information takes some time to be populated. ;; The account information takes some time to be populated.
(let ((id (deserialize-item (parse-dbus-reply reply)))) (with-retries 20 1
(with-retries 20 1 (let ((username (id->username id)))
(let ((username (id->username id))) (if (and=> username (negate string-null?))
(if (string-null? username) username
#f #f)))))
username))))))
(define (remove-account username) (define (remove-account username)
"Delete the Jami account associated with USERNAME, the account 40 characters "Delete the Jami account associated with USERNAME, the account 40 characters
fingerprint or a registered username." fingerprint or a registered username."
(let ((id (username->id username))) (let ((id (username->id username)))
(send-dbus/configuration-manager (call-configuration-manager-method "removeAccount" (list id)))
#:method "removeAccount"
#:arguments (list (string-append "string:" id))))
(invalidate-username-to-id-cache!)) (invalidate-username-to-id-cache!))
(define* (username->contacts username) (define* (username->contacts username)
@ -430,15 +210,16 @@ contacts. USERNAME can be either the account 40 characters public key
fingerprint or a registered username. The contacts returned are represented fingerprint or a registered username. The contacts returned are represented
using their 40 characters fingerprint." using their 40 characters fingerprint."
(let* ((id (username->id username)) (let* ((id (username->id username))
(reply (send-dbus/configuration-manager ;; The contacts are returned as "aa{ss}", that is, an array of arrays
#:method "getContacts" ;; containing (string . string) pairs.
#:arguments (list (string-append "string:" id)))) (contacts (map vector->list
(all-contacts (parse-contacts reply)) (vector->list (call-configuration-manager-method
"getContacts" (list id)))))
(banned? (lambda (contact) (banned? (lambda (contact)
(and=> (assoc-ref contact "banned") (and=> (assoc-ref contact "banned")
(cut string=? "true" <>)))) (cut string=? "true" <>))))
(banned (filter banned? all-contacts)) (banned (filter banned? contacts))
(not-banned (filter (negate banned?) all-contacts)) (not-banned (filter (negate banned?) contacts))
(fingerprint (cut assoc-ref <> "id"))) (fingerprint (cut assoc-ref <> "id")))
(values (map fingerprint not-banned) (values (map fingerprint not-banned)
(map fingerprint banned)))) (map fingerprint banned))))
@ -449,27 +230,20 @@ the account associated with USERNAME (either a fingerprint or a registered
username). When BAN? is true, also mark the contact as banned." username). When BAN? is true, also mark the contact as banned."
(validate-fingerprint contact) (validate-fingerprint contact)
(let ((id (username->id username))) (let ((id (username->id username)))
(send-dbus/configuration-manager (call-configuration-manager-method "removeContact" (list id contact ban?))))
#:method "removeContact"
#:arguments (list (string-append "string:" id)
(string-append "string:" contact)
(serialize-boolean ban?)))))
(define (add-contact contact username) (define (add-contact contact username)
"Add CONTACT, the 40 characters public key fingerprint of a contact, to the "Add CONTACT, the 40 characters public key fingerprint of a contact, to the
account of USERNAME (either a fingerprint or a registered username)." account of USERNAME (either a fingerprint or a registered username)."
(validate-fingerprint contact) (validate-fingerprint contact)
(let ((id (username->id username))) (let ((id (username->id username)))
(send-dbus/configuration-manager (call-configuration-manager-method "addContact" (list id contact))))
#:method "addContact"
#:arguments (list (string-append "string:" id)
(string-append "string:" contact)))))
(define* (set-account-details details username #:key timeout) (define* (set-account-details details username #:key timeout)
"Set DETAILS, an alist containing the key value pairs to set for the account "Set DETAILS, an alist containing the key value pairs to set for the account
of USERNAME, a registered username or account fingerprint. The value of the of USERNAME, a registered username or account fingerprint. The value of the
parameters not provided are unchanged. TIMEOUT is a value in milliseconds to parameters not provided are unchanged. TIMEOUT is a value in milliseconds to
pass to the `send-dbus/configuration-manager' procedure." pass to the `call-configuration-manager-method' procedure."
(let* ((id (username->id username)) (let* ((id (username->id username))
(current-details (id->account-details id)) (current-details (id->account-details id))
(updated-details (map (match-lambda (updated-details (map (match-lambda
@ -477,52 +251,29 @@ pass to the `send-dbus/configuration-manager' procedure."
(or (and=> (assoc-ref details key) (or (and=> (assoc-ref details key)
(cut cons key <>)) (cut cons key <>))
(cons key value)))) (cons key value))))
current-details)) current-details)))
;; dbus-send does not permit sending null strings (it throws a (call-configuration-manager-method
;; "malformed dictionary" error). Luckily they seem to have the "setAccountDetails" (list id (list->vector updated-details))
;; semantic of "default account value" in Jami; so simply drop them. #:timeout timeout)))
(updated-details* (remove (match-lambda
((_ . value)
(string-null? value)))
updated-details)))
(send-dbus/configuration-manager
#:timeout timeout
#:method "setAccountDetails"
#:arguments
(list (string-append "string:" id)
(string-append "dict:string:string:"
(string-join (alist->list updated-details*)
","))))))
(define (set-all-moderators enabled? username) (define (set-all-moderators enabled? username)
"Set the 'AllModerators' property to enabled? for the account of USERNAME, a "Set the 'AllModerators' property to enabled? for the account of USERNAME, a
registered username or account fingerprint." registered username or account fingerprint."
(let ((id (username->id username))) (let ((id (username->id username)))
(send-dbus/configuration-manager (call-configuration-manager-method "setAllModerators" (list id enabled?))))
#:method "setAllModerators"
#:arguments
(list (string-append "string:" id)
(serialize-boolean enabled?)))))
(define (username->all-moderators? username) (define (username->all-moderators? username)
"Return the 'AllModerators' property for the account of USERNAME, a "Return the 'AllModerators' property for the account of USERNAME, a
registered username or account fingerprint." registered username or account fingerprint."
(let* ((id (username->id username)) (let ((id (username->id username)))
(reply (send-dbus/configuration-manager (call-configuration-manager-method "isAllModerators" (list id))))
#:method "isAllModerators"
#:arguments
(list (string-append "string:" id)))))
(deserialize-item (parse-dbus-reply reply))))
(define (username->moderators username) (define (username->moderators username)
"Return the moderators for the account of USERNAME, a registered username or "Return the moderators for the account of USERNAME, a registered username or
account fingerprint." account fingerprint."
(let* ((id (username->id username)) (let* ((id (username->id username)))
(reply (send-dbus/configuration-manager (vector->list (call-configuration-manager-method "getDefaultModerators"
#:method "getDefaultModerators" (list id)))))
#:arguments
(list (string-append "string:" id)))))
(array->list (parse-dbus-reply reply))))
(define (set-moderator contact enabled? username) (define (set-moderator contact enabled? username)
"Set the moderator flag to ENABLED? for CONTACT, the 40 characters public "Set the moderator flag to ENABLED? for CONTACT, the 40 characters public
@ -530,11 +281,8 @@ key fingerprint of a contact for the account of USERNAME, a registered
username or account fingerprint." username or account fingerprint."
(validate-fingerprint contact) (validate-fingerprint contact)
(let* ((id (username->id username))) (let* ((id (username->id username)))
(send-dbus/configuration-manager #:method "setDefaultModerator" (call-configuration-manager-method "setDefaultModerator"
#:arguments (list id contact enabled?))))
(list (string-append "string:" id)
(string-append "string:" contact)
(serialize-boolean enabled?)))))
(define (disable-account username) (define (disable-account username)
"Disable the account known by USERNAME, a registered username or account "Disable the account known by USERNAME, a registered username or account
@ -543,7 +291,7 @@ fingerprint."
;; Waiting for the reply on this command takes a very ;; Waiting for the reply on this command takes a very
;; long time that trips the default D-Bus timeout value ;; long time that trips the default D-Bus timeout value
;; (25 s), for some reason. ;; (25 s), for some reason.
#:timeout 60000)) #:timeout 60))
(define (enable-account username) (define (enable-account username)
"Enable the account known by USERNAME, a registered username or account "Enable the account known by USERNAME, a registered username or account
@ -581,7 +329,3 @@ requirements."
(fold alist-delete account-details first-items)))) (fold alist-delete account-details first-items))))
(string-join (map pair->recutil-property sorted-account-details) "\n")) (string-join (map pair->recutil-property sorted-account-details) "\n"))
;; Local Variables:
;; eval: (put 'with-retries 'scheme-indent-function 2)
;; End:

View file

@ -91,26 +91,26 @@ queried for location information.")
"Nighttime color temperature (kelvins).") "Nighttime color temperature (kelvins).")
(daytime-brightness (daytime-brightness
(maybe-inexact-number 'disabled) maybe-inexact-number
"Daytime screen brightness, between 0.1 and 1.0.") "Daytime screen brightness, between 0.1 and 1.0.")
(nighttime-brightness (nighttime-brightness
(maybe-inexact-number 'disabled) maybe-inexact-number
"Nighttime screen brightness, between 0.1 and 1.0.") "Nighttime screen brightness, between 0.1 and 1.0.")
(latitude (latitude
(maybe-inexact-number 'disabled) maybe-inexact-number
"Latitude, when @code{location-provider} is @code{'manual}.") "Latitude, when @code{location-provider} is @code{'manual}.")
(longitude (longitude
(maybe-inexact-number 'disabled) maybe-inexact-number
"Longitude, when @code{location-provider} is @code{'manual}.") "Longitude, when @code{location-provider} is @code{'manual}.")
(dawn-time (dawn-time
(maybe-string 'disabled) maybe-string
"Custom time for the transition from night to day in the "Custom time for the transition from night to day in the
morning---@code{\"HH:MM\"} format. When specified, solar elevation is not morning---@code{\"HH:MM\"} format. When specified, solar elevation is not
used to determine the daytime/nighttime period.") used to determine the daytime/nighttime period.")
(dusk-time (dusk-time
(maybe-string 'disabled) maybe-string
"Likewise, custom time for the transition from day to night in the "Likewise, custom time for the transition from day to night in the
evening.") evening.")

254
gnu/home/services/ssh.scm Normal file
View file

@ -0,0 +1,254 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2022 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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 home services ssh)
#:use-module (guix gexp)
#:use-module (guix records)
#:use-module (guix diagnostics)
#:use-module (guix i18n)
#:use-module (gnu services)
#:use-module (gnu services configuration)
#:use-module (guix modules)
#:use-module (gnu home services)
#:use-module ((gnu home services utils)
#:select (object->camel-case-string))
#:autoload (gnu packages base) (glibc-utf8-locales)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (ice-9 match)
#:export (home-openssh-configuration
home-openssh-configuration-authorized-keys
home-openssh-configuration-known-hosts
home-openssh-configuration-hosts
openssh-host
openssh-host-host-name
openssh-host-identity-file
openssh-host-name
openssh-host-port
openssh-host-user
openssh-host-forward-x11?
openssh-host-forward-x11-trusted?
openssh-host-forward-agent?
openssh-host-compression?
openssh-host-proxy-command
openssh-host-host-key-algorithms
openssh-host-accepted-key-types
openssh-host-extra-content
home-openssh-service-type))
(define (serialize-field-name name)
(match name
('accepted-key-types "PubkeyAcceptedKeyTypes")
(_
(let ((name (let ((str (symbol->string name)))
(if (string-suffix? "?" str)
(string->symbol (string-drop-right str 1))
name))))
(object->camel-case-string name 'upper)))))
(define (serialize-string field value)
(string-append " " (serialize-field-name field)
" " value "\n"))
(define (address-family? obj)
(memv obj (list *unspecified* AF_INET AF_INET6)))
(define (serialize-address-family field family)
(if (unspecified? family)
""
(string-append " " (serialize-field-name field) " "
(cond ((= family AF_INET) "inet")
((= family AF_INET6) "inet6")
;; The 'else' branch is unreachable.
(else (raise (condition (&error)))))
"\n")))
(define (natural-number? obj)
(and (integer? obj) (exact? obj) (> obj 0)))
(define (serialize-natural-number field value)
(string-append " " (serialize-field-name field) " "
(number->string value) "\n"))
(define (serialize-boolean field value)
(string-append " " (serialize-field-name field) " "
(if value "yes" "no") "\n"))
(define-maybe string)
(define-maybe natural-number)
(define (serialize-raw-configuration-string field value)
(string-append value "\n"))
(define raw-configuration-string? string?)
(define (string-list? lst)
(and (pair? lst) (every string? lst)))
(define (serialize-string-list field lst)
(string-append " " (serialize-field-name field) " "
(string-join lst ",") "\n"))
(define-maybe string-list)
(define-configuration openssh-host
(name
(string)
"Name of this host declaration.")
(host-name
maybe-string
"Host name---e.g., @code{\"foo.example.org\"} or @code{\"192.168.1.2\"}.")
(address-family
address-family
"Address family to use when connecting to this host: one of
@code{AF_INET} (for IPv4 only), @code{AF_INET6} (for IPv6 only), or
@code{*unspecified*} (allowing any address family).")
(identity-file
maybe-string
"The identity file to use---e.g.,
@code{\"/home/charlie/.ssh/id_ed25519\"}.")
(port
maybe-natural-number
"TCP port number to connect to.")
(user
maybe-string
"User name on the remote host.")
(forward-x11?
(boolean #f)
"Whether to forward remote client connections to the local X11 graphical
display.")
(forward-x11-trusted?
(boolean #f)
"Whether remote X11 clients have full access to the original X11 graphical
display.")
(forward-agent?
(boolean #f)
"Whether the authentication agent (if any) is forwarded to the remote
machine.")
(compression?
(boolean #f)
"Whether to compress data in transit.")
(proxy-command
maybe-string
"The command to use to connect to the server. As an example, a command
to connect via an HTTP proxy at 192.0.2.0 would be: @code{\"nc -X
connect -x 192.0.2.0:8080 %h %p\"}.")
(host-key-algorithms
maybe-string-list
"The list of accepted host key algorithms---e.g.,
@code{'(\"ssh-ed25519\")}.")
(accepted-key-types
maybe-string-list
"The list of accepted user public key types.")
(extra-content
(raw-configuration-string "")
"Extra content appended as-is to this @code{Host} block in
@file{~/.ssh/config}."))
(define (serialize-openssh-host config)
(define (openssh-host-name-field? field)
(eq? (configuration-field-name field) 'name))
(string-append
"Host " (openssh-host-name config) "\n"
(string-concatenate
(map (lambda (field)
((configuration-field-serializer field)
(configuration-field-name field)
((configuration-field-getter field) config)))
(remove openssh-host-name-field?
openssh-host-fields)))))
(define-record-type* <home-openssh-configuration>
home-openssh-configuration make-home-openssh-configuration
home-openssh-configuration?
(authorized-keys home-openssh-configuration-authorized-keys ;list of file-like
(default '()))
(known-hosts home-openssh-configuration-known-hosts ;unspec | list of file-like
(default *unspecified*))
(hosts home-openssh-configuration-hosts ;list of <openssh-host>
(default '())))
(define (openssh-configuration->string config)
(string-join (map serialize-openssh-host
(home-openssh-configuration-hosts config))
"\n"))
(define* (file-join name files #:optional (delimiter " "))
"Return a file in the store called @var{name} that is the concatenation
of all the file-like objects listed in @var{files}, with @var{delimited}
inserted after each of them."
(computed-file name
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
;; Support non-ASCII file names.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales
"/lib/locale"))
(setlocale LC_ALL "en_US.utf8")
(call-with-output-file #$output
(lambda (output)
(for-each (lambda (file)
(call-with-input-file file
(lambda (input)
(dump-port input output)))
(display #$delimiter output))
'#$files)))))))
(define (openssh-configuration-files config)
(let ((config (plain-file "ssh.conf"
(openssh-configuration->string config)))
(known-hosts (home-openssh-configuration-known-hosts config))
(authorized-keys (file-join
"authorized_keys"
(home-openssh-configuration-authorized-keys config)
"\n")))
`((".ssh/authorized_keys" ,authorized-keys)
,@(if (unspecified? known-hosts)
'()
`((".ssh/known_hosts"
,(file-join "known_hosts" known-hosts "\n"))))
(".ssh/config" ,config))))
(define openssh-activation
(with-imported-modules (source-module-closure
'((gnu build activation)))
#~(begin
(use-modules (gnu build activation))
;; Make sure ~/.ssh is #o700.
(let* ((home (getenv "HOME"))
(dot-ssh (string-append home "/.ssh")))
(mkdir-p/perms dot-ssh (getpw (getuid)) #o700)))))
(define home-openssh-service-type
(service-type
(name 'home-openssh)
(extensions
(list (service-extension home-files-service-type
openssh-configuration-files)
(service-extension home-activation-service-type
(const openssh-activation))))
(description "Configure the OpenSSH @acronym{SSH, secure shell} client
by providing a @file{~/.ssh/config} file, which is honored by the OpenSSH
client,@command{ssh}, and by other tools such as @command{guix deploy}.")
(default-value (home-openssh-configuration))))

View file

@ -1,6 +1,6 @@
# GNU Guix --- Functional package management for GNU # GNU Guix --- Functional package management for GNU
# Copyright © 2012-2021, 2021-2022 Ludovic Courtès <ludo@gnu.org> # Copyright © 2012-2021, 2021-2022 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Andreas Enge <andreas@enge.fr> # Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2022 Andreas Enge <andreas@enge.fr>
# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> # Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Mark H Weaver <mhw@netris.org> # Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Mark H Weaver <mhw@netris.org>
# Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> # Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
@ -85,6 +85,7 @@ GNU_SYSTEM_MODULES = \
%D%/home/services/fontutils.scm \ %D%/home/services/fontutils.scm \
%D%/home/services/shells.scm \ %D%/home/services/shells.scm \
%D%/home/services/shepherd.scm \ %D%/home/services/shepherd.scm \
%D%/home/services/ssh.scm \
%D%/home/services/mcron.scm \ %D%/home/services/mcron.scm \
%D%/home/services/utils.scm \ %D%/home/services/utils.scm \
%D%/home/services/xdg.scm \ %D%/home/services/xdg.scm \
@ -181,6 +182,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/cvassistant.scm \ %D%/packages/cvassistant.scm \
%D%/packages/cybersecurity.scm \ %D%/packages/cybersecurity.scm \
%D%/packages/cyrus-sasl.scm \ %D%/packages/cyrus-sasl.scm \
%D%/packages/darwin.scm \
%D%/packages/databases.scm \ %D%/packages/databases.scm \
%D%/packages/datamash.scm \ %D%/packages/datamash.scm \
%D%/packages/datastructures.scm \ %D%/packages/datastructures.scm \
@ -715,6 +717,7 @@ GNU_SYSTEM_MODULES = \
%D%/build/bootloader.scm \ %D%/build/bootloader.scm \
%D%/build/chromium-extension.scm \ %D%/build/chromium-extension.scm \
%D%/build/cross-toolchain.scm \ %D%/build/cross-toolchain.scm \
%D%/build/dbus-service.scm \
%D%/build/image.scm \ %D%/build/image.scm \
%D%/build/jami-service.scm \ %D%/build/jami-service.scm \
%D%/build/file-systems.scm \ %D%/build/file-systems.scm \
@ -848,7 +851,6 @@ dist_patch_DATA = \
%D%/packages/patches/akonadi-not-relocatable.patch \ %D%/packages/patches/akonadi-not-relocatable.patch \
%D%/packages/patches/akonadi-timestamps.patch \ %D%/packages/patches/akonadi-timestamps.patch \
%D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \ %D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \
%D%/packages/patches/alpine-fix-privacy-policy-crash.patch \
%D%/packages/patches/anki-mpv-args.patch \ %D%/packages/patches/anki-mpv-args.patch \
%D%/packages/patches/antiword-CVE-2014-8123.patch \ %D%/packages/patches/antiword-CVE-2014-8123.patch \
%D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \ %D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \
@ -1039,7 +1041,6 @@ dist_patch_DATA = \
%D%/packages/patches/enjarify-setup-py.patch \ %D%/packages/patches/enjarify-setup-py.patch \
%D%/packages/patches/enlightenment-fix-setuid-path.patch \ %D%/packages/patches/enlightenment-fix-setuid-path.patch \
%D%/packages/patches/eog-update-libportal-usage.patch \ %D%/packages/patches/eog-update-libportal-usage.patch \
%D%/packages/patches/epiphany-update-libportal-usage.patch \
%D%/packages/patches/erlang-man-path.patch \ %D%/packages/patches/erlang-man-path.patch \
%D%/packages/patches/esmtp-add-lesmtp.patch \ %D%/packages/patches/esmtp-add-lesmtp.patch \
%D%/packages/patches/eudev-rules-directory.patch \ %D%/packages/patches/eudev-rules-directory.patch \
@ -1074,7 +1075,6 @@ dist_patch_DATA = \
%D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \
%D%/packages/patches/fp16-system-libraries.patch \ %D%/packages/patches/fp16-system-libraries.patch \
%D%/packages/patches/fpc-reproducibility.patch \ %D%/packages/patches/fpc-reproducibility.patch \
%D%/packages/patches/fplll-std-fenv.patch \
%D%/packages/patches/freedink-engine-fix-sdl-hints.patch \ %D%/packages/patches/freedink-engine-fix-sdl-hints.patch \
%D%/packages/patches/freeglut-gcc-compat.patch \ %D%/packages/patches/freeglut-gcc-compat.patch \
%D%/packages/patches/freeimage-unbundle.patch \ %D%/packages/patches/freeimage-unbundle.patch \
@ -1319,6 +1319,7 @@ dist_patch_DATA = \
%D%/packages/patches/java-tunnelvisionlabs-antlr-code-too-large.patch \ %D%/packages/patches/java-tunnelvisionlabs-antlr-code-too-large.patch \
%D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \ %D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \
%D%/packages/patches/java-commons-collections-fix-java8.patch \ %D%/packages/patches/java-commons-collections-fix-java8.patch \
%D%/packages/patches/java-commons-lang-fix-dependency.patch \
%D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \
%D%/packages/patches/java-openjfx-build-jdk_version.patch \ %D%/packages/patches/java-openjfx-build-jdk_version.patch \
%D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \
@ -1349,6 +1350,7 @@ dist_patch_DATA = \
%D%/packages/patches/kinit-kdeinit-extra_libs.patch \ %D%/packages/patches/kinit-kdeinit-extra_libs.patch \
%D%/packages/patches/kinit-kdeinit-libpath.patch \ %D%/packages/patches/kinit-kdeinit-libpath.patch \
%D%/packages/patches/kio-search-smbd-on-PATH.patch \ %D%/packages/patches/kio-search-smbd-on-PATH.patch \
%D%/packages/patches/kismet-unbundle-boost.patch \
%D%/packages/patches/kmail-Fix-missing-link-libraries.patch \ %D%/packages/patches/kmail-Fix-missing-link-libraries.patch \
%D%/packages/patches/kmod-module-directory.patch \ %D%/packages/patches/kmod-module-directory.patch \
%D%/packages/patches/kmscon-runtime-keymap-switch.patch \ %D%/packages/patches/kmscon-runtime-keymap-switch.patch \
@ -1453,9 +1455,8 @@ dist_patch_DATA = \
%D%/packages/patches/llvm-9-fix-bitcast-miscompilation.patch \ %D%/packages/patches/llvm-9-fix-bitcast-miscompilation.patch \
%D%/packages/patches/llvm-9-fix-lpad-miscompilation.patch \ %D%/packages/patches/llvm-9-fix-lpad-miscompilation.patch \
%D%/packages/patches/llvm-9-fix-scev-miscompilation.patch \ %D%/packages/patches/llvm-9-fix-scev-miscompilation.patch \
%D%/packages/patches/llvm-roc-3.0.0-add_libraries.patch \
%D%/packages/patches/llvm-roc-4.0.0-remove-isystem-usr-include.patch \ %D%/packages/patches/llvm-roc-4.0.0-remove-isystem-usr-include.patch \
%D%/packages/patches/llvm-roc-4.2.0-add_Object.patch \ %D%/packages/patches/llvm-roc-5.0.0-linkdl.patch \
%D%/packages/patches/lm-sensors-hwmon-attrs.patch \ %D%/packages/patches/lm-sensors-hwmon-attrs.patch \
%D%/packages/patches/lrcalc-includes.patch \ %D%/packages/patches/lrcalc-includes.patch \
%D%/packages/patches/lsh-fix-x11-forwarding.patch \ %D%/packages/patches/lsh-fix-x11-forwarding.patch \
@ -1477,6 +1478,7 @@ dist_patch_DATA = \
%D%/packages/patches/mars-sfml-2.3.patch \ %D%/packages/patches/mars-sfml-2.3.patch \
%D%/packages/patches/mathjax-disable-webpack.patch \ %D%/packages/patches/mathjax-disable-webpack.patch \
%D%/packages/patches/mathjax-no-a11y.patch \ %D%/packages/patches/mathjax-no-a11y.patch \
%D%/packages/patches/mathjax-3.1.2-no-a11y.patch \
%D%/packages/patches/maxima-defsystem-mkdir.patch \ %D%/packages/patches/maxima-defsystem-mkdir.patch \
%D%/packages/patches/maven-generate-component-xml.patch \ %D%/packages/patches/maven-generate-component-xml.patch \
%D%/packages/patches/maven-generate-javax-inject-named.patch \ %D%/packages/patches/maven-generate-javax-inject-named.patch \
@ -1528,7 +1530,6 @@ dist_patch_DATA = \
%D%/packages/patches/netsurf-system-utf8proc.patch \ %D%/packages/patches/netsurf-system-utf8proc.patch \
%D%/packages/patches/netsurf-y2038-tests.patch \ %D%/packages/patches/netsurf-y2038-tests.patch \
%D%/packages/patches/netsurf-longer-test-timeout.patch \ %D%/packages/patches/netsurf-longer-test-timeout.patch \
%D%/packages/patches/nftables-fix-makefile.patch \
%D%/packages/patches/nhc98-c-update.patch \ %D%/packages/patches/nhc98-c-update.patch \
%D%/packages/patches/nix-dont-build-html-doc.diff \ %D%/packages/patches/nix-dont-build-html-doc.diff \
%D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \ %D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \
@ -1653,6 +1654,7 @@ dist_patch_DATA = \
%D%/packages/patches/psm-disable-memory-stats.patch \ %D%/packages/patches/psm-disable-memory-stats.patch \
%D%/packages/patches/psm-ldflags.patch \ %D%/packages/patches/psm-ldflags.patch \
%D%/packages/patches/psm-repro.patch \ %D%/packages/patches/psm-repro.patch \
%D%/packages/patches/public-inbox-fix-spawn-test.patch \
%D%/packages/patches/pulseaudio-fix-mult-test.patch \ %D%/packages/patches/pulseaudio-fix-mult-test.patch \
%D%/packages/patches/pulseaudio-longer-test-timeout.patch \ %D%/packages/patches/pulseaudio-longer-test-timeout.patch \
%D%/packages/patches/pulseview-qt515-compat.patch \ %D%/packages/patches/pulseview-qt515-compat.patch \
@ -1721,6 +1723,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-werkzeug-tests.patch \ %D%/packages/patches/python-werkzeug-tests.patch \
%D%/packages/patches/python-mypy-12332.patch \ %D%/packages/patches/python-mypy-12332.patch \
%D%/packages/patches/python-mypy-use-sys-path.patch \ %D%/packages/patches/python-mypy-use-sys-path.patch \
%D%/packages/patches/python-zeep-Fix-pytest_httpx-test-cases.patch \
%D%/packages/patches/qemu-build-info-manual.patch \ %D%/packages/patches/qemu-build-info-manual.patch \
%D%/packages/patches/qemu-glibc-2.27.patch \ %D%/packages/patches/qemu-glibc-2.27.patch \
%D%/packages/patches/qemu-glibc-2.30.patch \ %D%/packages/patches/qemu-glibc-2.30.patch \
@ -1763,9 +1766,7 @@ dist_patch_DATA = \
%D%/packages/patches/rnp-disable-ruby-rnp-tests.patch \ %D%/packages/patches/rnp-disable-ruby-rnp-tests.patch \
%D%/packages/patches/rnp-unbundle-googletest.patch \ %D%/packages/patches/rnp-unbundle-googletest.patch \
%D%/packages/patches/rocm-comgr-3.1.0-dependencies.patch \ %D%/packages/patches/rocm-comgr-3.1.0-dependencies.patch \
%D%/packages/patches/rocm-opencl-runtime-3.10.0-includes.patch \
%D%/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch \ %D%/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch \
%D%/packages/patches/rocm-opencl-runtime-4.3-nocltrace.patch \
%D%/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch \ %D%/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch \
%D%/packages/patches/ruby-mustache-1.1.1-fix-race-condition-tests.patch \ %D%/packages/patches/ruby-mustache-1.1.1-fix-race-condition-tests.patch \
%D%/packages/patches/ruby-sanitize-system-libxml.patch \ %D%/packages/patches/ruby-sanitize-system-libxml.patch \
@ -1846,6 +1847,7 @@ dist_patch_DATA = \
%D%/packages/patches/texi2html-i18n.patch \ %D%/packages/patches/texi2html-i18n.patch \
%D%/packages/patches/thefuck-test-environ.patch \ %D%/packages/patches/thefuck-test-environ.patch \
%D%/packages/patches/tidy-CVE-2015-5522+5523.patch \ %D%/packages/patches/tidy-CVE-2015-5522+5523.patch \
%D%/packages/patches/timescaledb-flaky-test.patch \
%D%/packages/patches/tinyxml-use-stl.patch \ %D%/packages/patches/tinyxml-use-stl.patch \
%D%/packages/patches/tipp10-disable-downloader.patch \ %D%/packages/patches/tipp10-disable-downloader.patch \
%D%/packages/patches/tipp10-fix-compiling.patch \ %D%/packages/patches/tipp10-fix-compiling.patch \

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2018, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2021, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Andrew Miloradovsky <andrew@interpretmath.pw> ;;; Copyright © 2019 Andrew Miloradovsky <andrew@interpretmath.pw>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; ;;;
@ -89,14 +89,14 @@ terminals.")
(define-public brltty (define-public brltty
(package (package
(name "brltty") (name "brltty")
(version "6.4") (version "6.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (uri
(string-append "https://brltty.app/archive/brltty-" version ".tar.gz")) (string-append "https://brltty.app/archive/brltty-" version ".tar.gz"))
(sha256 (sha256
(base32 "0zybi9i9izv25g0wphl0snddrhb6xl5879y4pkpjpnxq61wm9gry")))) (base32 "1h62xzd5k0aaq2k4v3w93rizxnb8psvkxrlx62wr08ybwpspgp7z"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
`(#:tests? #f ; No target `(#:tests? #f ; No target

View file

@ -45,6 +45,8 @@
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 muradm <mail@muradm.net>
;;; Copyright © 2021 pineapples <guixuser6392@protonmail.com>
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2021 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2021 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com> ;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com>
@ -66,6 +68,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages admin) (define-module (gnu packages admin)
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system emacs) #:use-module (guix build-system emacs)
#:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system glib-or-gtk)
@ -93,6 +96,7 @@
#:use-module (gnu packages c) #:use-module (gnu packages c)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages cross-base) #:use-module (gnu packages cross-base)
#:use-module (gnu packages crypto) #:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup) #:use-module (gnu packages cryptsetup)
@ -101,6 +105,7 @@
#:use-module (gnu packages elf) #:use-module (gnu packages elf)
#:use-module (gnu packages file) #:use-module (gnu packages file)
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk) #:use-module (gnu packages gawk)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages gl) #:use-module (gnu packages gl)
@ -680,7 +685,7 @@ console.")
(define-public htop (define-public htop
(package (package
(name "htop") (name "htop")
(version "3.2.0") (version "3.2.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -688,7 +693,7 @@ console.")
(url "https://github.com/htop-dev/htop") (url "https://github.com/htop-dev/htop")
(commit version))) (commit version)))
(sha256 (sha256
(base32 "16l1r2ixzs640ybqp2x8bfyvk98kiywy7k3sjmp5j5npdzn5ryd7")) (base32 "0yfmkw3y4qyd42svhpiijif7krvmnb8z88y6h9g4fwf7sfynq2rk"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
@ -1127,6 +1132,77 @@ IPv6, proxies, and Unix sockets.")
(license (list license:bsd-3 (license (list license:bsd-3
license:bsd-2)))) ; atomicio.*, socks.c license:bsd-2)))) ; atomicio.*, socks.c
(define-public nmon
(package
(name "nmon")
(version "16n")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/nmon/lmon" version ".c"))
(sha256
(base32 "1wpm2f30414b87kpbr9hbidblr5cmfby5skwqd0fkpi5v712q0f0"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ; no test suite
#:phases
#~(modify-phases %standard-phases
(replace 'unpack
(lambda _
(copy-file #$(package-source this-package) "lmon.c")))
(delete 'configure) ; no build system
(replace 'build
;; There is an example Makefile in the .c file.
(lambda _
;; These #defines aren't well-documented and, e.g., POWER was
;; not actually tested on every possible TARGET-POWERPC?.
(let* ((system #$(cond ((target-x86-32?) "X86")
((target-x86-64?) "X86")
((target-arm?) "ARM")
((target-powerpc?) "POWER")
(else "CROSS_FINGERS"))))
(format #t "Building for ~a~%" system)
(invoke #$(cc-for-target) "-o" "nmon" "lmon.c"
"-g" "-Wall" "-D" system
"-lncurses" "-lm"))))
(replace 'install
(lambda _
(let ((bin (string-append #$output "/bin"))
(man1 (string-append #$output "/share/man/man1")))
(install-file "nmon" bin)
(mkdir-p man1)
(copy-file #$(this-package-native-input "man-page")
(string-append man1 "/nmon.1"))))))))
(native-inputs
(list `("man-page"
,(origin
;; There is no man page upstream, so install Debian's.
(method url-fetch)
(uri (string-append "https://salsa.debian.org/carnil/nmon/"
"-/raw/debian/" version "+debian-1/"
"debian/nmon.1"))
(sha256
(base32
"1gpvd2kjyhs18sh6sga5bk9wj8s78blfd4c0m38r0wl92jx2yv1b"))))))
(inputs
(list ncurses))
(home-page "http://nmon.sourceforge.net/")
(synopsis
"Monitor system performance in a terminal or to a @file{.csv} log file")
(description
"@acronym{Nmon, Nigel's performance monitor} is yet another system monitor
useful in systems administration, debugging, tuning, and benchmarking.
The configurable ncurses interface displays all the classic resource usage
statistics (CPU, memory, network, disk, ...) as real-time graphs or numbers.
It can also list the processes responsible in a @command{top}-like table.
A less common nmon feature is its ability to create highly detailed log files
in @acronym{CSV, comma-separated values} format. These can be imported into
spreadsheets or fed straight into an @acronym{RRD, round-robin database} using
@command{rrdtool} for further analyisis, or to create colourful graphs.")
(license license:gpl3+)))
(define-public sipcalc (define-public sipcalc
(package (package
(name "sipcalc") (name "sipcalc")
@ -1769,7 +1845,7 @@ system administrator.")
(define-public sudo (define-public sudo
(package (package
(name "sudo") (name "sudo")
(version "1.9.11") (version "1.9.11p2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -1779,7 +1855,7 @@ system administrator.")
version ".tar.gz"))) version ".tar.gz")))
(sha256 (sha256
(base32 (base32
"1gjingc1h7d6p17m0nn87yiwh8gbdchg4w4kv8s4g89wv0q6wixm")) "1lli4z10b5j238cn7471jb8vcjlj5px68x48ysa3f1n0kzmih6d2"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -4987,4 +5063,161 @@ it won't take longer to install 15 machines than it would to install just 2.")
(home-page "https://www.udpcast.linux.lu") (home-page "https://www.udpcast.linux.lu")
(license license:gpl2+))) (license license:gpl2+)))
(define-public greetd
(package
(name "greetd")
(version "0.8.0")
(home-page "https://git.sr.ht/~kennylevinsen/greetd")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0x5c3jkw09kvj2grcxm899y2n6ws8p990cyp9cs0fy6lm4fzlh6v"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-nix" ,rust-nix-0.19)
("rust-pam-sys" ,rust-pam-sys-0.5)
("rust-rpassword" ,rust-rpassword-5)
("rust-users" ,rust-users-0.11)
("rust-serde" ,rust-serde-1)
("rust-serde-json" ,rust-serde-json-1)
("rust-libc" ,rust-libc-0.2)
("rust-tokio" ,rust-tokio-1)
("rust-getopts" ,rust-getopts-0.2)
("rust-thiserror" ,rust-thiserror-1)
("rust-async-trait" ,rust-async-trait-0.1)
("rust-enquote" ,rust-enquote-1))
#:phases
(modify-phases %standard-phases
(delete 'package)
(add-after 'build 'build-man-pages
(lambda* (#:key inputs #:allow-other-keys)
(define (scdoc-cmd doc lvl)
(system (string-append "scdoc < "
doc "-" lvl ".scd > "
doc "." lvl)))
(with-directory-excursion "man"
(scdoc-cmd "greetd" "1")
(scdoc-cmd "greetd" "5")
(scdoc-cmd "greetd-ipc" "7")
(scdoc-cmd "agreety" "1"))))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(sbin (string-append out "/sbin"))
(share (string-append out "/share"))
(man (string-append share "/man"))
(man1 (string-append man "/man1"))
(man5 (string-append man "/man5"))
(man7 (string-append man "/man7"))
(release "target/release")
(greetd-bin (string-append release "/greetd"))
(agreety-bin (string-append release "/agreety")))
(install-file greetd-bin sbin)
(install-file agreety-bin bin)
(with-directory-excursion "man"
(install-file "greetd.1" man1)
(install-file "greetd.5" man5)
(install-file "greetd-ipc.7" man7)
(install-file "agreety.1" man1))))))))
(native-inputs
`(("linux-pam" ,linux-pam)
("scdoc" ,scdoc)))
(synopsis "minimal and flexible login manager daemon")
(description
"greetd is a minimal and flexible login manager daemon
that makes no assumptions about what you want to launch.
If you can run it from your shell in a TTY, greetd can start it.
If it can be taught to speak a simple JSON-based IPC protocol,
then it can be a greeter.")
(license license:gpl3+)))
(define-public greetd-pam-mount
(package
(inherit pam-mount)
(name "greetd-pam-mount")
(arguments
(substitute-keyword-arguments (package-arguments pam-mount)
((#:configure-flags flags ''())
#~(cons* "--with-rundir=/run/greetd" #$flags))
((#:phases phases)
#~(modify-phases #$phases
(add-after 'unpack 'patch-config-file-name
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/pam_mount.c"
((".*define CONFIGFILE .*$")
"#define CONFIGFILE \"/etc/security/greetd_pam_mount.conf.xml\"\n")
(("pam_mount_config") "greetd_pam_mount_config")
(("pam_mount_system_authtok") "greetd_pam_mount_system_authtok"))))))))
(synopsis "pam-mount specifically compiled for use with greetd")
(description
"Pam-mount is a PAM module that can mount volumes when a user logs in.
It supports mounting local filesystems of any kind the normal mount utility
supports. It can also mount encrypted LUKS volumes using the password
supplied by the user when logging in.
This package inherits pam-mount in the way that it is compiled specifically
for use with greetd daemon. It uses different configuration location and
name space for storing data in PAM.
greetd-pam-mount is used in configuration of greetd to provide
auto-(mounting/unmounting) of XDG_RUNTIME_DIR in the way that it will not
interfere with default pam-mount configuration.")))
(define-public libseat
(package
(name "libseat")
(version "0.7.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~kennylevinsen/seatd")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"10f8387yy5as547xjjhl0cna6iywdgjmw0iq2nvcs8q6vlpnik4v"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags '("-Dlibseat-logind=elogind"
"-Dserver=disabled")))
(native-inputs
`(("pkg-config" ,pkg-config)))
(propagated-inputs
`(("elogind" ,elogind)))
(home-page "https://sr.ht/~kennylevinsen/seatd")
(synopsis "Seat management library")
(description
"This package provides a universal seat management library that
allows applications to use whatever seat management is available.")
(license license:expat)))
(define-public seatd
(package
(inherit libseat)
(name "seatd")
(arguments
`(#:configure-flags '("-Dlibseat-logind=elogind")
#:phases
(modify-phases %standard-phases
(add-after 'install 'remove-libs
(lambda* (#:key outputs #:allow-other-keys)
(with-directory-excursion (assoc-ref outputs "out")
(for-each delete-file-recursively '("lib" "include"))))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("scdoc" ,scdoc)))
(inputs '())
(synopsis "Seat management daemon")
(description
"This package provides a minimal seat management daemon whose task is to
mediate access to shared devices, such as graphics and input, for applications
that require it.")
(license license:expat)))

View file

@ -1,10 +1,10 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2022 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2015, 2017, 2018, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2015, 2017, 2018, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016-2022 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016-2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2020-2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 20172021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20172021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2019, 2021, 2022 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2017, 2019, 2021, 2022 Eric Bavier <bavier@posteo.net>
@ -154,7 +154,7 @@ line applications.")
(define-public fplll (define-public fplll
(package (package
(name "fplll") (name "fplll")
(version "5.3.3") (version "5.4.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -163,8 +163,7 @@ line applications.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"06nyfidagp8pc2kfcw88ldgb2b1xm0a8z31n0sln7j72ihlmd8zj")) "0044nyfnwzgyfrsikbcbh00f54dd61hwn3fb6711rrskkfnw977a"))))
(patches (search-patches "fplll-std-fenv.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list autoconf automake libtool pkg-config)) (list autoconf automake libtool pkg-config))
@ -199,19 +198,14 @@ the real span of the lattice.")
(define-public python-fpylll (define-public python-fpylll
(package (package
(name "python-fpylll") (name "python-fpylll")
(version "0.5.2") (version "0.5.7")
(source (source
(origin (origin
;; Pypi contains and older release, so we use a tagged release from (method url-fetch)
;; Github instead. (uri (pypi-uri "fpylll" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/fplll/fpylll")
(commit (string-append version "dev"))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1a25iibihph626jl4wbs4b77xc4a2c4nfc2ypscf9wpani3dnhjf")))) "1xjqcwq90blgzvnbkbzdys8mdhi2b4li6faywm6yi8shxvz8iz0s"))))
(build-system python-build-system) (build-system python-build-system)
(inputs (inputs
(list fplll gmp mpfr pari-gp)) (list fplll gmp mpfr pari-gp))
@ -248,6 +242,7 @@ the real span of the lattice.")
(replace 'configure (replace 'configure
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(invoke "./Configure" (invoke "./Configure"
"--mt=pthread"
(string-append "--prefix=" (string-append "--prefix="
(assoc-ref outputs "out")))))))) (assoc-ref outputs "out"))))))))
(synopsis "PARI/GP, a computer algebra system for number theory") (synopsis "PARI/GP, a computer algebra system for number theory")
@ -1021,17 +1016,18 @@ extends it by a set of algebraic capabilities.")
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda _ (lambda* (#:key tests? #:allow-other-keys)
(let* ((cores (parallel-job-count)) (let* ((cores (parallel-job-count))
(dash-j (format #f "-j~a" cores))) (dash-j (format #f "-j~a" cores)))
(setenv "EIGEN_SEED" "1") ;for reproducibility (when tests?
;; First build the tests, in parallel. See (setenv "EIGEN_SEED" "1") ;for reproducibility
;; <http://eigen.tuxfamily.org/index.php?title=Tests>. ;; First build the tests, in parallel. See
(invoke "make" "buildtests" dash-j) ;; <http://eigen.tuxfamily.org/index.php?title=Tests>.
(invoke "make" "buildtests" dash-j)
;; Then run 'CTest' with -V so we get more ;; Then run 'CTest' with -V so we get more
;; details upon failure. ;; details upon failure.
(invoke "ctest" "-V" dash-j))))))) (invoke "ctest" "-V" dash-j))))))))
(home-page "https://eigen.tuxfamily.org") (home-page "https://eigen.tuxfamily.org")
(synopsis "C++ template library for linear algebra") (synopsis "C++ template library for linear algebra")
(description (description
@ -1734,14 +1730,14 @@ no more than about 20 bits long).")
(define-public sollya (define-public sollya
(package (package
(name "sollya") (name "sollya")
(version "7.0") (version "8.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.sollya.org/releases/" (uri (string-append "https://www.sollya.org/releases/"
"sollya-" version "/sollya-" version ".tar.bz2")) "sollya-" version "/sollya-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"11290ivi9h665cxi8f1shlavhy10vzb8s28m57hrcgnxyxqmhx0m")))) "1sf1cjcr6x035n97l64ppzb9pzq5568h7waz0zfc3120894gcnjz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list fplll (list fplll

View file

@ -3210,7 +3210,7 @@ tempo and pitch of an audio recording independently of one another.")
(define-public rtmidi (define-public rtmidi
(package (package
(name "rtmidi") (name "rtmidi")
(version "4.0.0") (version "5.0.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.music.mcgill.ca/~gary/rtmidi" (uri (string-append "https://www.music.mcgill.ca/~gary/rtmidi"
@ -3218,7 +3218,7 @@ tempo and pitch of an audio recording independently of one another.")
(file-name (string-append "rtmidi-" version ".tar.gz")) (file-name (string-append "rtmidi-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1k962ljpnwyjw9jjiky2372khhri1wqvrj5qsalfpys31xqzw31p")))) "1ff2yfq3k4l209fr71v3w98fpjjv1chs09vkbmxj03lcikahxns8"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list jack-1 alsa-lib)) (list jack-1 alsa-lib))
@ -3232,6 +3232,19 @@ classes) that provide a common cross-platform API for realtime MIDI
input/output.") input/output.")
(license license:expat))) (license license:expat)))
(define-public rtmidi-4.0
(package
(inherit rtmidi)
(version "4.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.music.mcgill.ca/~gary/rtmidi"
"/release/rtmidi-" version ".tar.gz"))
(file-name (string-append "rtmidi-" version ".tar.gz"))
(sha256
(base32
"1k962ljpnwyjw9jjiky2372khhri1wqvrj5qsalfpys31xqzw31p"))))))
(define-public sratom (define-public sratom
(package (package
(name "sratom") (name "sratom")

View file

@ -49,7 +49,7 @@
"def_bf[MAXNAMELEN + 10]"))))) "def_bf[MAXNAMELEN + 10]")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (list pkg-config which)) (native-inputs (list pkg-config which))
(inputs (list guile-2.2 perl)) ; for doc generator mdoc (inputs (list guile-3.0 perl)) ; for doc generator mdoc
(arguments (arguments
'(#:configure-flags '(#:configure-flags
;; XXX Needed to build 5.18.16. ./configure fails without it: ;; XXX Needed to build 5.18.16. ./configure fails without it:
@ -62,6 +62,24 @@
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'support-guile-3.0
;; Upstream bug:
;; https://sourceforge.net/p/autogen/bugs/196/
;;
;; Supported in Debian and openSUSE:
;; https://salsa.debian.org/debian/autogen/-/blob/master/debian/patches/40_suse_04-guile-version.patch
(lambda _
(substitute* "agen5/guile-iface.h"
(("#elif GUILE_VERSION < 203000") "#elif GUILE_VERSION < 301000"))
(substitute* "configure"
(("2.2 2.0 1.8") "3.0 2.2 2.0 1.8"))))
(add-after 'unpack 'use-numeric-ids-in-tarball
;; Pass arguments to tar to generate tarball with consistent uid
;; and gid to ensure reproducible build
(lambda _
(substitute* "pkg/libopts/mklibsrc.sh"
(("--sort=name --format=gnu")
"--sort=name --format=gnu --owner=0 --group=0 --numeric-owner"))))
(add-before 'build 'set-man-page-date (add-before 'build 'set-man-page-date
;; Avoid embedding the current date for reproducible builds ;; Avoid embedding the current date for reproducible builds
(lambda _ (lambda _

View file

@ -1,12 +1,29 @@
#! @PYTHON@ #! @PYTHON@
# -*- mode: python -*- # -*- mode: python -*-
from __future__ import print_function import glob
import os import os
import sys import sys
import warnings import warnings
def __renpy_files(directory):
for pattern in ['*.rpa', '*.rpyc', '*.rpy']:
for file in glob.iglob(pattern, root_dir=directory):
yield file
def path_to_gamedir(basedir, name):
candidates = [name, 'game', 'data', 'launcher/game']
if __renpy_files(basedir):
return basedir
for candidate in candidates:
gamedir = os.path.join(basedir, candidate)
if __renpy_files(gamedir):
return gamedir
return basedir
def path_to_common(renpy_base): def path_to_common(renpy_base):
return renpy_base + "/common" return renpy_base + "/common"

View file

@ -46,7 +46,7 @@
(recursive? #t))) (recursive? #t)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "10xk9szxxnqgfym53mcd9hqj1cw2ipncmiixw3i3ajlj1vn88qh1")))) (base32 "19bwa9qidq2mxv1fkyxxc1xdmv3jx6bj35bkaaw70jzkblnfmlfs"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:configure-flags '(#:configure-flags

View file

@ -1308,7 +1308,7 @@ command.")
(name "tzdata") (name "tzdata")
;; This package should be kept in sync with python-pytz in (gnu packages ;; This package should be kept in sync with python-pytz in (gnu packages
;; time). ;; time).
(version "2021e") (version "2022a")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1316,7 +1316,7 @@ command.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1cdjdcxl0s9xf0dg1z64kh7llm80byxqlzrkkjzcdlyh6yvl5v07")))) "0r0nhwpk9nyxj5kkvjy58nr5d85568m04dcb69c4y3zmykczyzzg"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list #:tests? #f (list #:tests? #f
@ -1384,7 +1384,7 @@ command.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0x8pcfmjvxk29yfh8bklchv2f0vpl4yih0gc4wyx292l78wncijq"))))) "1iysv8fdkm79k8wh8jizmjmq075q4qjhk090vxjy57my6dz5wmzq")))))
(home-page "https://www.iana.org/time-zones") (home-page "https://www.iana.org/time-zones")
(synopsis "Database of current and historical time zones") (synopsis "Database of current and historical time zones")
(description "The Time Zone Database (often called tz or zoneinfo) (description "The Time Zone Database (often called tz or zoneinfo)

View file

@ -2188,6 +2188,50 @@ set analyses, and can deal with repeated or longitudinal data.")
biological sequences.") biological sequences.")
(license license:gpl3))) (license license:gpl3)))
(define-public r-deconvr
(package
(name "r-deconvr")
(version "1.2.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "deconvR" version))
(sha256
(base32
"091z3lncamscsvzj63zzbw7dr7vnkn0jwfkm5ljq4112w4rxgrm3"))))
(properties `((upstream-name . "deconvR")))
(build-system r-build-system)
(propagated-inputs
(list r-assertthat
r-biocgenerics
r-data-table
r-dplyr
r-e1071
r-foreach
r-genomicranges
r-iranges
r-magrittr
r-mass
r-matrixstats
r-methylkit
r-nnls
r-quadprog
r-rsq
r-s4vectors
r-tidyr))
(native-inputs (list r-knitr))
(home-page "https://github.com/BIMSBbioinfo/deconvR")
(synopsis "Simulation and deconvolution of omic profiles")
(description
"This package provides a collection of functions designed for analyzing
deconvolution of the bulk sample(s) using an atlas of reference omic signature
profiles and a user-selected model. Users are given the option to create or
extend a reference atlas and,also simulate the desired size of the bulk
signature profile of the reference cell types. The package includes the
cell-type-specific methylation atlas and, Illumina Epic B5 probe ids that can
be used in deconvolution. Additionally, we included @code{BSmeth2Probe}, to
make mapping WGBS data to their probe IDs easier.")
(license license:artistic2.0)))
(define-public r-decoupler (define-public r-decoupler
(package (package
(name "r-decoupler") (name "r-decoupler")
@ -2232,13 +2276,13 @@ targeted by a kinase.")
(define-public r-deepsnv (define-public r-deepsnv
(package (package
(name "r-deepsnv") (name "r-deepsnv")
(version "1.42.0") (version "1.42.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "deepSNV" version)) (uri (bioconductor-uri "deepSNV" version))
(sha256 (sha256
(base32 (base32
"0si1x2bi5pff1dicpqg7hv4ziq46vm7lic72724ljsclpz9bfv6q")))) "0bgj1grv3a5bqhcdsw445x49kl3pz367svy6fnrzfsk9bmj46kgn"))))
(properties `((upstream-name . "deepSNV"))) (properties `((upstream-name . "deepSNV")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -3103,13 +3147,13 @@ powerful online queries from gene annotation to database mining.")
(define-public r-biocparallel (define-public r-biocparallel
(package (package
(name "r-biocparallel") (name "r-biocparallel")
(version "1.30.2") (version "1.30.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "BiocParallel" version)) (uri (bioconductor-uri "BiocParallel" version))
(sha256 (sha256
(base32 (base32
"0rqvwhs6d8ls1rq7j5ywl5k0qgblxpzimilyw335bi1yad5s10h3")))) "1rs3wmasl9mx7f399iclvm0bnvggvjj2a88zbi294r5m8wxqlc92"))))
(properties (properties
`((upstream-name . "BiocParallel"))) `((upstream-name . "BiocParallel")))
(build-system r-build-system) (build-system r-build-system)
@ -3142,7 +3186,7 @@ powerful online queries from gene annotation to database mining.")
(string-append (string-append
m "; if (!is.na(Sys.getenv(\"SOURCE_DATE_EPOCH\"))) {set.seed(100)}\n")))))))) m "; if (!is.na(Sys.getenv(\"SOURCE_DATE_EPOCH\"))) {set.seed(100)}\n"))))))))
(propagated-inputs (propagated-inputs
(list r-futile-logger r-snow r-bh)) (list r-bh r-codetools r-futile-logger r-snow))
(native-inputs (native-inputs
(list r-knitr)) (list r-knitr))
(home-page "https://bioconductor.org/packages/BiocParallel") (home-page "https://bioconductor.org/packages/BiocParallel")
@ -3934,13 +3978,13 @@ alignments.")
(define-public r-genomicfeatures (define-public r-genomicfeatures
(package (package
(name "r-genomicfeatures") (name "r-genomicfeatures")
(version "1.48.1") (version "1.48.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "GenomicFeatures" version)) (uri (bioconductor-uri "GenomicFeatures" version))
(sha256 (sha256
(base32 (base32
"18ain5s0ry6w0ki4c0czvwax2ncigrldyac30a6mlbzyaga6i54h")))) "0f14p1ma2y8l60p9sxmh5j0axws9by1cznczb2jxipphpb4slpl1"))))
(properties (properties
`((upstream-name . "GenomicFeatures"))) `((upstream-name . "GenomicFeatures")))
(build-system r-build-system) (build-system r-build-system)
@ -4193,14 +4237,14 @@ Shiny-based display methods for Bioconductor objects.")
(define-public r-keggrest (define-public r-keggrest
(package (package
(name "r-keggrest") (name "r-keggrest")
(version "1.36.0") (version "1.36.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "KEGGREST" version)) (uri (bioconductor-uri "KEGGREST" version))
(sha256 (sha256
(base32 (base32
"0hzlm6nzmx0iyjh063512a3ghc1xqb58g5z2bnd2wl4y42iww7bg")))) "1rn03w8y80prbvzahkvf8275haiymnjj1ijcgn55p3d0sb54yzgw"))))
(properties `((upstream-name . "KEGGREST"))) (properties `((upstream-name . "KEGGREST")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -4932,14 +4976,14 @@ tab-delimited (tabix) files.")
(define-public r-restfulr (define-public r-restfulr
(package (package
(name "r-restfulr") (name "r-restfulr")
(version "0.0.13") (version "0.0.14")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "restfulr" version)) (uri (cran-uri "restfulr" version))
(sha256 (sha256
(base32 (base32
"1dk45mzrr6ka92yjz7hfhkj12kpx1wg4szv1h1mg80mgga4ganbv")))) "1sdlz8zl4xvd7cpn1gm86q7jv9v7561gg4wk6y7zybiw37pxghq6"))))
(properties `((upstream-name . "restfulr"))) (properties `((upstream-name . "restfulr")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -5909,13 +5953,13 @@ libraries for systems that do not have these available via other means.")
(define-public r-zellkonverter (define-public r-zellkonverter
(package (package
(name "r-zellkonverter") (name "r-zellkonverter")
(version "1.6.1") (version "1.6.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "zellkonverter" version)) (uri (bioconductor-uri "zellkonverter" version))
(sha256 (sha256
(base32 "1w3qi35vk289cpky1pb0wgg1hr55s5kdw7np98i9c1vmwi3gvwr7")))) (base32 "0s1n3impm4k55pac8mr18czylsc30yqcvdfdki4sawk74b2rkx8c"))))
(properties `((upstream-name . "zellkonverter"))) (properties `((upstream-name . "zellkonverter")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -6383,14 +6427,14 @@ determining dependencies between variables, code improvement suggestions.")
(define-public r-chippeakanno (define-public r-chippeakanno
(package (package
(name "r-chippeakanno") (name "r-chippeakanno")
(version "3.30.0") (version "3.30.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "ChIPpeakAnno" version)) (uri (bioconductor-uri "ChIPpeakAnno" version))
(sha256 (sha256
(base32 (base32
"1ch636j3zd6hcfnl455vjs36wffrdhwzyvkbikcwjg7idiknjdkf")))) "0a26glldxczcfymjvd45gv5m4hympziivm6wwx4ab9wld7n43l8y"))))
(properties `((upstream-name . "ChIPpeakAnno"))) (properties `((upstream-name . "ChIPpeakAnno")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -7368,14 +7412,14 @@ and summarizing a set of statistics using a weighted distance approach.")
(define-public r-nbpseq (define-public r-nbpseq
(package (package
(name "r-nbpseq") (name "r-nbpseq")
(version "0.3.0") (version "0.3.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "NBPSeq" version)) (uri (cran-uri "NBPSeq" version))
(sha256 (sha256
(base32 (base32
"0l4ylxhs2k9ww21jjqs67fygk92avdchhx2y1ixzl7yr2yh1y9by")))) "07mnnk4n0cyksp1mw36y6369is62kxsfg3wb8d3dwswycdmj8m14"))))
(properties `((upstream-name . "NBPSeq"))) (properties `((upstream-name . "NBPSeq")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -7652,14 +7696,14 @@ single cell assay data.")
(define-public r-monocle (define-public r-monocle
(package (package
(name "r-monocle") (name "r-monocle")
(version "2.24.0") (version "2.24.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "monocle" version)) (uri (bioconductor-uri "monocle" version))
(sha256 (sha256
(base32 (base32
"1fyqd7qhij2iyx9vdmgnx2qf0w3kwbkmg805539zrmxry8cwfldb")))) "11g1wx0f1yzhg3x1aa3d5l7pqlzxj16s0gha21skxkgld8k2x8xn"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
(list r-biobase (list r-biobase
@ -8699,14 +8743,14 @@ All the visualization methods are developed based on ggplot2 graphics.")
(define-public r-clusterprofiler (define-public r-clusterprofiler
(package (package
(name "r-clusterprofiler") (name "r-clusterprofiler")
(version "4.4.1") (version "4.4.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "clusterProfiler" version)) (uri (bioconductor-uri "clusterProfiler" version))
(sha256 (sha256
(base32 (base32
"03bg3agisrm4q10gg57dksvd1ws37if6a1gwcxaybb4c50zadm8p")))) "07fbc3d06990qy1qcaqqgm5ma2l0h08bwfkqrnlfd9f2xcppdywd"))))
(properties (properties
`((upstream-name . "clusterProfiler"))) `((upstream-name . "clusterProfiler")))
(build-system r-build-system) (build-system r-build-system)
@ -10768,14 +10812,14 @@ annotations.")
(define-public r-rsubread (define-public r-rsubread
(package (package
(name "r-rsubread") (name "r-rsubread")
(version "2.10.1") (version "2.10.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "Rsubread" version)) (uri (bioconductor-uri "Rsubread" version))
(sha256 (sha256
(base32 (base32
"1cf80gmzz4c1pvif3350ifsmsbfplyl2na39n8g3x0zkwpl6ijdc")))) "1pvyx8nxv10s816hgxrnw60hp9rlqjdgjq3ajpzqxgxmmlhnk0v0"))))
(properties `((upstream-name . "Rsubread"))) (properties `((upstream-name . "Rsubread")))
(build-system r-build-system) (build-system r-build-system)
(inputs (list zlib)) (inputs (list zlib))
@ -12235,14 +12279,14 @@ data.")
(define-public r-universalmotif (define-public r-universalmotif
(package (package
(name "r-universalmotif") (name "r-universalmotif")
(version "1.14.0") (version "1.14.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "universalmotif" version)) (uri (bioconductor-uri "universalmotif" version))
(sha256 (sha256
(base32 (base32
"0n2msyyy1xhapkd66j4xwabg4qfd62l01p1nmafjwifnjsx45xvp")))) "1sm54z8aq3534qjsa19wychhwcvwnjlkydmiqqvidiiwcxwqpjsr"))))
(properties (properties
`((upstream-name . "universalmotif"))) `((upstream-name . "universalmotif")))
(build-system r-build-system) (build-system r-build-system)
@ -13806,14 +13850,14 @@ provided.")
(define-public r-hdf5array (define-public r-hdf5array
(package (package
(name "r-hdf5array") (name "r-hdf5array")
(version "1.24.0") (version "1.24.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "HDF5Array" version)) (uri (bioconductor-uri "HDF5Array" version))
(sha256 (sha256
(base32 (base32
"0s9vj74359ckmwl8r951jxrzkidslwdl9qamkhz8ilw8b5awxyw4")))) "1r1lg7k60qgb489xkypd4gvm1fmdlihvylb5va6xj58ipndbfday"))))
(properties `((upstream-name . "HDF5Array"))) (properties `((upstream-name . "HDF5Array")))
(build-system r-build-system) (build-system r-build-system)
(inputs (inputs

View file

@ -111,6 +111,7 @@
#:use-module (gnu packages jupyter) #:use-module (gnu packages jupyter)
#:use-module (gnu packages libffi) #:use-module (gnu packages libffi)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages logging) #:use-module (gnu packages logging)
#:use-module (gnu packages lsof) #:use-module (gnu packages lsof)
#:use-module (gnu packages machine-learning) #:use-module (gnu packages machine-learning)
@ -830,13 +831,13 @@ servers supporting the protocol.")
(define-public python-pybedtools (define-public python-pybedtools
(package (package
(name "python-pybedtools") (name "python-pybedtools")
(version "0.8.2") (version "0.9.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "pybedtools" version)) (uri (pypi-uri "pybedtools" version))
(sha256 (sha256
(base32 (base32
"0wc7z8g8prgdx7n5chjva2fdq03wiwhqisjjxzkjg1j5k5ha7151")))) "18rhzk08d3rpxhi5xh6pqg64x6v5q3daw6y3v54k85v4swncjrwj"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:modules ((srfi srfi-26) `(#:modules ((srfi srfi-26)
@ -896,11 +897,16 @@ servers supporting the protocol.")
(home-page "https://pythonhosted.org/pybedtools/") (home-page "https://pythonhosted.org/pybedtools/")
(synopsis "Python wrapper for BEDtools programs") (synopsis "Python wrapper for BEDtools programs")
(description (description
"pybedtools is a Python wrapper for Aaron Quinlan's BEDtools programs, "This package is a Python wrapper for Aaron Quinlan's BEDtools programs,
which are widely used for genomic interval manipulation or \"genome algebra\". which are widely used for genomic interval manipulation or \"genome algebra\".
pybedtools extends BEDTools by offering feature-level manipulations from with pybedtools extends BEDTools by offering feature-level manipulations from with
Python.") Python.")
(license license:gpl2+))) ;; pypi lists GPLv2 in the PKG-INFO and website, but was relicensed in
;; version 0.9.0 and the LICENSE.txt is consistant with the source code.
;;
;; pybedtools/include/gzstream.cpp and pybedtools/include/gzstream.h are
;; licensed lgpl2.1+
(license (list license:expat license:lgpl2.1+))))
(define-public python-biom-format (define-public python-biom-format
(package (package
@ -13375,6 +13381,145 @@ information... The package can also be used to extract data from @code{.loom}
files.") files.")
(license license:expat)))) (license license:expat))))
(define-public python-ctxcore
(package
(name "python-ctxcore")
(version "0.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aertslab/ctxcore")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"16nlj7z8pirgjad7vlgm7226b3hpw4a7n967vyfg26dsf5n8k70d"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'pretend-version
;; The version string is usually derived via setuptools-scm, but
;; it doesn't work without the .git directory.
(lambda _
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
(propagated-inputs
(list python-cytoolz
python-numba
python-frozendict
python-numpy
python-pandas
python-pyyaml
python-pyarrow-0.16
python-tqdm))
(native-inputs
(list python-pytest
python-setuptools-scm))
(home-page "https://github.com/aertslab/ctxcore")
(synopsis "Core functions for pycisTarget and the SCENIC tool suite")
(description
"ctxcore is part of the SCENIC suite of tools. It provides core functions for
pycisTarget and SCENIC.")
(license license:gpl3+)))
(define-public python-arboreto
(package
(name "python-arboreto")
(version "0.1.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aertslab/arboreto")
(commit "2f475dca08f47a60acc2beb8dd897e77b7495ca4")))
(file-name (git-file-name name version))
(sha256
(base32
"0l0im8ay7l2d24f7vaha454vsaha9s36bfqhbijg3b8ir8apsd7l"))))
(build-system python-build-system)
;; Lots of tests fail because python-distributed fails to start the
;; "Nanny" process.
(arguments '(#:tests? #false))
(propagated-inputs
(list python-bokeh
python-dask
python-distributed
python-numpy
python-pandas
python-scikit-learn
python-scipy
python-tornado-6))
(home-page "https://github.com/aertslab/arboreto")
(synopsis "Gene regulatory network inference using tree-based ensemble regressors")
(description
"This package implements scalable gene regulatory network inference using
tree-based ensemble regressors.")
(license license:bsd-3)))
(define-public pyscenic
(package
(name "pyscenic")
(version "0.11.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aertslab/pySCENIC")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0pbmmr1zdb1vbbs6wx357s59d13pna6x03wq8blj6ckjws8bbq73"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; Numba needs a writable dir to cache functions.
(add-before 'check 'set-numba-cache-dir
(lambda _
(setenv "NUMBA_CACHE_DIR" "/tmp")))
(replace 'check
(lambda _
(invoke "pytest" "-v"))))))
(propagated-inputs
(list python-ctxcore
python-cytoolz
python-multiprocessing-on-dill
python-llvmlite
python-numba
python-attrs
python-frozendict
python-numpy
python-pandas
python-cloudpickle
python-dask
python-distributed
python-arboreto
python-boltons
python-setuptools
python-pyyaml
python-tqdm
python-interlap
python-umap-learn
python-loompy
python-networkx
python-scipy
python-fsspec
python-requests
python-aiohttp
python-scikit-learn))
(native-inputs
(list python-pytest))
(home-page "https://scenic.aertslab.org/")
(synopsis "Single-Cell regulatory network inference and clustering")
(description
"pySCENIC is a Python implementation of the SCENIC pipeline (Single-Cell
rEgulatory Network Inference and Clustering) which enables biologists to infer
transcription factors, gene regulatory networks and cell types from
single-cell RNA-seq data.")
(license license:gpl3+)))
(define-public vbz-compression (define-public vbz-compression
(package (package
(name "vbz-compression") (name "vbz-compression")

View file

@ -51,7 +51,7 @@ supported content to the Kodi media center.")
(define ublock-origin (define ublock-origin
(package (package
(name "ublock-origin") (name "ublock-origin")
(version "1.42.4") (version "1.43.0")
(home-page "https://github.com/gorhill/uBlock") (home-page "https://github.com/gorhill/uBlock")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -62,7 +62,7 @@ supported content to the Kodi media center.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1is55pxnlylcr1pfigwgfn7kcx1rapy1cafdh6g83bdhscgh75g3")))) "0w0by41v1s1cbd3bfjlb7kxr2bl6r5z3jvizlx02x14hqlppma9k"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("xpi" "firefox" "chromium")) (outputs '("xpi" "firefox" "chromium"))
(arguments (arguments

View file

@ -3,7 +3,7 @@
;;; Copyright © 2016, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 20202022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 20202022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019, 2020, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019, 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019, 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
@ -399,7 +399,7 @@ as dictionaries, skip lists, and memory pools.")
(define-public packcc (define-public packcc
(package (package
(name "packcc") (name "packcc")
(version "1.5.0") (version "1.7.2")
(home-page "https://github.com/arithy/packcc") (home-page "https://github.com/arithy/packcc")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -409,7 +409,7 @@ as dictionaries, skip lists, and memory pools.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1n9ivsa6b9ps2jbh34bycjqjpbwbk85l4jjg46pfhqxzz96793wy")))) "1mb6ys5ylvjz0xpq6769ir98s80p98s9ahd0c9k8p2ra1w20vz33"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases (modify-phases %standard-phases '(#:phases (modify-phases %standard-phases
@ -433,8 +433,7 @@ as dictionaries, skip lists, and memory pools.")
(install-file "release/bin/packcc" (install-file "release/bin/packcc"
(string-append out "/bin")) (string-append out "/bin"))
(install-file "../../README.md" (install-file "../../README.md"
(string-append out "/share/doc/packcc")) (string-append out "/share/doc/packcc"))))))))
#t))))))
(native-inputs (native-inputs
(list bats)) (list bats))
(synopsis "Packrat parser generator for C") (synopsis "Packrat parser generator for C")

View file

@ -32,14 +32,14 @@
(define-public ccache (define-public ccache
(package (package
(name "ccache") (name "ccache")
(version "4.6") (version "4.6.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/ccache/ccache/releases/download/v" (uri (string-append "https://github.com/ccache/ccache/releases/download/v"
version "/ccache-" version ".tar.xz")) version "/ccache-" version ".tar.xz"))
(sha256 (sha256
(base32 "1sa576ff8hc1swq55mdfp5gsnpys276gf37n83k6k49myihbharx")))) (base32 "1lgk6fbfsnh2fscjmhpak8gwp3njq3kr0ihjcjlas15mrg9ppm75"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (list perl ; for test/run (native-inputs (list perl ; for test/run
(@ (gnu packages base) which))) (@ (gnu packages base) which)))

View file

@ -28,6 +28,7 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system copy) #:use-module (guix build-system copy)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
@ -159,31 +160,27 @@ that was originally contributed to Debian.")
(inputs '()) (inputs '())
(propagated-inputs '()) (propagated-inputs '())
(arguments (arguments
`(#:modules ((guix build gnu-build-system) (list #:modules '((guix build gnu-build-system)
(guix build utils) (guix build utils)
(rnrs io ports) (rnrs io ports)
(srfi srfi-26)) (srfi srfi-26))
#:phases #:phases
(modify-phases #~(modify-phases
(map (cut assq <> %standard-phases) (map (cut assq <> %standard-phases)
'(set-paths install-locale unpack)) '(set-paths install-locale unpack))
(add-after 'unpack 'install (add-after 'unpack 'install
(lambda _ (lambda _
;; TODO: On the next rebuild cycle, remove references to (let ((certsdir (string-append #$output
;; '%output' and '%outputs'. "/etc/ssl/certs/")))
(let ((certsdir (string-append ,(if (%current-target-system) (with-directory-excursion "nss/lib/ckfw/builtins/"
'(assoc-ref %outputs "out") (unless (file-exists? "blacklist.txt")
'%output) (call-with-output-file "blacklist.txt" (const #t)))
"/etc/ssl/certs/"))) ;; Extract selected single certificates from blob.
(with-directory-excursion "nss/lib/ckfw/builtins/" (invoke "certdata2pem")
(unless (file-exists? "blacklist.txt") ;; Copy .pem files into the output.
(call-with-output-file "blacklist.txt" (const #t))) (for-each (cut install-file <> certsdir)
;; Extract selected single certificates from blob. (find-files "." ".*\\.pem$")))
(invoke "certdata2pem") (invoke "openssl" "rehash" certsdir)))))))
;; Copy .pem files into the output.
(for-each (cut install-file <> certsdir)
(find-files "." ".*\\.pem$")))
(invoke "openssl" "rehash" certsdir)))))))
(synopsis "CA certificates from Mozilla") (synopsis "CA certificates from Mozilla")
(description (description
"This package provides certificates for Certification Authorities (CA) "This package provides certificates for Certification Authorities (CA)

View file

@ -312,8 +312,8 @@
;; run the Blink performance tests, just remove everything to save ~70MiB. ;; run the Blink performance tests, just remove everything to save ~70MiB.
'("third_party/blink/perf_tests")) '("third_party/blink/perf_tests"))
(define %chromium-version "102.0.5005.61") (define %chromium-version "102.0.5005.115")
(define %ungoogled-revision (string-append %chromium-version "-3")) (define %ungoogled-revision (string-append %chromium-version "-1"))
(define %debian-revision "debian/102.0.5005.61-1") (define %debian-revision "debian/102.0.5005.61-1")
(define %ungoogled-origin (define %ungoogled-origin
@ -324,7 +324,7 @@
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision)) (file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
(sha256 (sha256
(base32 (base32
"19i4ygxjm503dmck3bdqv3fcpda3dp9wr7z306pi6i1k989rbs8l")))) "1z2xkxxviggyyksga74cqa4v73gynlgzi22ckg8yv84qxrklik6p"))))
(define %debian-origin (define %debian-origin
(origin (origin
@ -477,7 +477,7 @@
%chromium-version ".tar.xz")) %chromium-version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"07vbi3gn9g4n04b2qi2hm34r122snrqaifa46yk3pyh1d79rfdqs")) "1rj7vy824vn513hiivc90lnxvxyi2s0qkdmfqsdssv9v6zjl079h"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet)))) (snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system) (build-system gnu-build-system)

View file

@ -390,7 +390,7 @@ features that are not supported by the standard @code{stdio} implementation.")
(define-public universal-ctags (define-public universal-ctags
(package (package
(name "universal-ctags") (name "universal-ctags")
(version "5.9.20210509.0") (version "5.9.20220605.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -400,14 +400,14 @@ features that are not supported by the standard @code{stdio} implementation.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1sq94bnbzr40zwihfnsna759bbak0lw27j0yn12iwpg4xgb4hhwp")) "0mri7m2qsw5pyq1ajapawvxn2cdrzg1vi4w2bdq0z4ws4q03lj7k"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
;; Remove the bundled PackCC and associated build rules. ;; Remove the bundled PackCC and associated build rules.
(substitute* "Makefile.am" (substitute* "Makefile.am"
(("^PACKCC = .*") (("^PACKCC = .*")
"PACKCC = packcc") "PACKCC = packcc\n")
(("\\$\\(PACKCC_FILES\\)") (("\\$\\(PACKCC_FILES\\)")
"") "")
(("\\$\\(PEG_SRCS\\) \\$\\(PEG_HEADS\\): \\$\\(PACKCC\\)") (("\\$\\(PEG_SRCS\\) \\$\\(PEG_HEADS\\): \\$\\(PACKCC\\)")
@ -437,7 +437,7 @@ features that are not supported by the standard @code{stdio} implementation.")
(native-inputs (native-inputs
(list autoconf automake packcc perl pkg-config)) (list autoconf automake packcc perl pkg-config))
(inputs (inputs
(list jansson libseccomp libxml2 libyaml)) (list jansson libseccomp libxml2 libyaml pcre2))
(home-page "https://ctags.io/") (home-page "https://ctags.io/")
(synopsis "Generate tag files for source code") (synopsis "Generate tag files for source code")
(description (description

View file

@ -2554,29 +2554,30 @@ chunks.")
(define-public c-blosc (define-public c-blosc
(package (package
(name "c-blosc") (name "c-blosc")
(version "1.18.1") (version "1.21.1")
(source (origin (source
(method git-fetch) (origin
(uri (git-reference (method git-fetch)
(url "https://github.com/Blosc/c-blosc") (uri (git-reference
(commit (string-append "v" version)))) (url "https://github.com/Blosc/c-blosc")
(file-name (git-file-name name version)) (commit (string-append "v" version))))
(sha256 (file-name (git-file-name name version))
(base32 (sha256
"1ywq8j70149859vvs19wgjq89d6xsvvmvm2n1dmkzpchxgrvnw70")))) (base32 "0gy9a7wp7x71x5l3rprx8wpb3c5cn7wqc77gdiffq35hr34q88p9"))
(modules '((guix build utils)))
(snippet
;; In a rare victory, we may delete all bundled libs to no ill effect.
'(delete-file-recursively "internal-complibs"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
'("-DDEACTIVATE_AVX2=ON" '("-DBUILD_STATIC=OFF"
"-DDEACTIVATE_AVX2=ON"
"-DPREFER_EXTERNAL_LZ4=ON" "-DPREFER_EXTERNAL_LZ4=ON"
"-DPREFER_EXTERNAL_SNAPPY=ON"
"-DPREFER_EXTERNAL_ZLIB=ON" "-DPREFER_EXTERNAL_ZLIB=ON"
"-DPREFER_EXTERNAL_ZSTD=ON"))) "-DPREFER_EXTERNAL_ZSTD=ON")))
(inputs (inputs
`(("lz4" ,lz4) (list lz4 snappy zlib `(,zstd "lib")))
("snappy" ,snappy)
("zlib" ,zlib)
("zstd:lib" ,zstd "lib")))
(home-page "https://blosc.org") (home-page "https://blosc.org")
(synopsis "Blocking, shuffling and lossless compression library") (synopsis "Blocking, shuffling and lossless compression library")
(description (description

View file

@ -52,7 +52,7 @@
(define-public coq-core (define-public coq-core
(package (package
(name "coq-core") (name "coq-core")
(version "8.15.1") (version "8.15.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -62,7 +62,7 @@
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"04csl4fvl41hizn95c4j9gxkl28495fzqdgm83ss67s5jvbfczvs")) "1m6dilfbp9q8j8sya4ap82q72m3a4mq6m96gzvi6vgv04cr6r33c"))
(patches (search-patches "coq-fix-envvars.patch")))) (patches (search-patches "coq-fix-envvars.patch"))))
(native-search-paths (native-search-paths
(list (search-path-specification (list (search-path-specification

View file

@ -886,7 +886,7 @@ and make @code{cpplint} usable in wider contexts.")
(define-public reproc (define-public reproc
(package (package
(name "reproc") (name "reproc")
(version "14.1.0") (version "14.2.4")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -895,13 +895,12 @@ and make @code{cpplint} usable in wider contexts.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32 "09xnf8hmld1fk8j33zwlz1qcxnjdx1ncbg62csic9va4m1wc2v1d"))))
"1n71wb50qv2dmhjgw7azx5gigbrp19l2n3d41g9p05l5l0y1qg0q"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
;; No tests. ;; No tests.
`(#:tests? #f `(#:tests? #f
;; Enable building of shared library. ;; Build the shared library instead of a static one.
#:configure-flags `("-DBUILD_SHARED_LIBS=1"))) #:configure-flags `("-DBUILD_SHARED_LIBS=1")))
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))

View file

@ -104,6 +104,7 @@
#:use-module (gnu packages sqlite) #:use-module (gnu packages sqlite)
#:use-module (gnu packages statistics) #:use-module (gnu packages statistics)
#:use-module (gnu packages tcl) #:use-module (gnu packages tcl)
#:use-module (gnu packages tex)
#:use-module (gnu packages textutils) #:use-module (gnu packages textutils)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages uglifyjs) #:use-module (gnu packages uglifyjs)
@ -116,13 +117,13 @@
(define-public r-afpt (define-public r-afpt
(package (package
(name "r-afpt") (name "r-afpt")
(version "1.1.0.1") (version "1.1.0.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "afpt" version)) (uri (cran-uri "afpt" version))
(sha256 (sha256
(base32 (base32
"0cg5cdm9nl1hs6f3j0ljpw4bkqvh3ksyj615b9nnbqs5k28lyds9")))) "1z0r4r7prxbhadmkdg6345g0b5vq9dqyyw9hh3fpad9zkc7k6xbc"))))
(properties `((upstream-name . "afpt"))) (properties `((upstream-name . "afpt")))
(build-system r-build-system) (build-system r-build-system)
(native-inputs (list r-knitr)) (native-inputs (list r-knitr))
@ -635,13 +636,13 @@ benchmarks from running the @code{benchmarkme} package.")
(define-public r-benchmarkme (define-public r-benchmarkme
(package (package
(name "r-benchmarkme") (name "r-benchmarkme")
(version "1.0.7") (version "1.0.8")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "benchmarkme" version)) (uri (cran-uri "benchmarkme" version))
(sha256 (sha256
(base32 (base32
"0ymgsxzrvnpyvs0cff09d3lrkl12qyqx5bwammsc4vgl5ng9p69p")))) "0qaz8wy3n08k9lr8qljk5i8z8db18scbdc8m734aymd307h00w8x"))))
(build-system r-build-system) (build-system r-build-system)
(native-inputs (native-inputs
(list r-knitr)) (list r-knitr))
@ -652,6 +653,7 @@ benchmarks from running the @code{benchmarkme} package.")
r-foreach r-foreach
r-httr r-httr
r-matrix r-matrix
r-stringr
r-tibble)) r-tibble))
(home-page "https://csgillespie.github.io/benchmarkme/") (home-page "https://csgillespie.github.io/benchmarkme/")
(synopsis "Crowd-sourced system benchmarks") (synopsis "Crowd-sourced system benchmarks")
@ -4349,13 +4351,13 @@ curve to a data matrix in arbitrary dimensions.")
(define-public r-restrserve (define-public r-restrserve
(package (package
(name "r-restrserve") (name "r-restrserve")
(version "1.1.1") (version "1.2.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "RestRserve" version)) (uri (cran-uri "RestRserve" version))
(sha256 (sha256
(base32 "1ydsdgy6mxl0zqk7xqf4v6if5nf2qv7k48q340fhaqyjk2gd60p7")))) (base32 "03mlzhs2k728kwy6csp60m7qy8n9ma5dd37j87rzh07fcdlx8wim"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
(list r-checkmate (list r-checkmate
@ -4442,14 +4444,14 @@ plot networks.")
(define-public r-proxy (define-public r-proxy
(package (package
(name "r-proxy") (name "r-proxy")
(version "0.4-26") (version "0.4-27")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "proxy" version)) (uri (cran-uri "proxy" version))
(sha256 (sha256
(base32 (base32
"0k8sr24mjfvxp12sf1j9228ah3ngy15nqmm0jw14x5s32f1assv7")))) "0gsng2aggnljl4z82la9hpnd26hngzhj8fizx4wx22npqjj93694"))))
(build-system r-build-system) (build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/proxy") (home-page "https://cran.r-project.org/web/packages/proxy")
(synopsis "Distance and similarity measures") (synopsis "Distance and similarity measures")
@ -4462,13 +4464,13 @@ most popular ones.")
(define-public r-sp (define-public r-sp
(package (package
(name "r-sp") (name "r-sp")
(version "1.4-7") (version "1.5-0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "sp" version)) (uri (cran-uri "sp" version))
(sha256 (sha256
(base32 "1bdi06n5zkjnnyh0rallf04s0vlcx9rg9p5q7s6vfqvkf19nk501")))) (base32 "077q1wh9ihhcn1338xspnd90hy16ljxsav1xcrxdxj4fyynhd6lk"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
(list r-lattice)) (list r-lattice))
@ -4794,14 +4796,14 @@ those for the gamma distribution in the @code{stats} package.")
(define-public r-bdsmatrix (define-public r-bdsmatrix
(package (package
(name "r-bdsmatrix") (name "r-bdsmatrix")
(version "1.3-4") (version "1.3-6")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "bdsmatrix" version)) (uri (cran-uri "bdsmatrix" version))
(sha256 (sha256
(base32 (base32
"1sh6pg43rgqvips4fx0k4vmp5i9lmniix0bqwj2yq5m06gs227i5")))) "1g300x11rv56f826mbv7mbb67a5xz3dv74hpjc18jh3q8gap3j7r"))))
(properties `((upstream-name . "bdsmatrix"))) (properties `((upstream-name . "bdsmatrix")))
(build-system r-build-system) (build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/bdsmatrix/") (home-page "https://cran.r-project.org/web/packages/bdsmatrix/")
@ -5083,13 +5085,13 @@ available in a vignette.")
(define-public r-progressr (define-public r-progressr
(package (package
(name "r-progressr") (name "r-progressr")
(version "0.10.0") (version "0.10.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "progressr" version)) (uri (cran-uri "progressr" version))
(sha256 (sha256
(base32 "1p5s35rzh28n2id2lipgyqmh3wzib66m7x0pz9028y8cql8xr5ac")))) (base32 "1ldf7hqsz8vbjggz31990sqqyhrbiilzcnyla1krjlkg595h50wg"))))
(properties `((upstream-name . "progressr"))) (properties `((upstream-name . "progressr")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -5425,14 +5427,14 @@ provided.")
(define-public r-ipred (define-public r-ipred
(package (package
(name "r-ipred") (name "r-ipred")
(version "0.9-12") (version "0.9-13")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "ipred" version)) (uri (cran-uri "ipred" version))
(sha256 (sha256
(base32 (base32
"0hsq00382pfd9hzpcgphjxazbxm4zx0k2r6pk6kib56k0ibm7qfn")))) "162ckhqn24l0l5ih7qi2k3lxw5iprm1g5a34q1ik0b9wv5ia0s31"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
(list r-class (list r-class
@ -6152,14 +6154,14 @@ modeling for empirical income distributions.")
(define-public r-vcd (define-public r-vcd
(package (package
(name "r-vcd") (name "r-vcd")
(version "1.4-9") (version "1.4-10")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "vcd" version)) (uri (cran-uri "vcd" version))
(sha256 (sha256
(base32 (base32
"13sn77qdcyll9lz7nab0bxzfvpgj8f5rl2cq5ylpz8pibynj1d55")))) "0nxkl1x39xf8l0apgvlbr30i8lasix7hyyc93g6514r8z8m1k23i"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
(list r-colorspace r-lmtest r-mass)) (list r-colorspace r-lmtest r-mass))
@ -6406,13 +6408,13 @@ constants, and control debugging of packages via environment variables.")
(define-public r-processx (define-public r-processx
(package (package
(name "r-processx") (name "r-processx")
(version "3.5.3") (version "3.6.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "processx" version)) (uri (cran-uri "processx" version))
(sha256 (sha256
(base32 "0ail3w8n5g1ibdamgpxcfpla18kqkilmppiasm7ms67cavx2k5k7")))) (base32 "0kx6hvkkj6lh8lrdh819hvkx8nyq5aac53mkvpqyskwkmmlnf63m"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
(list r-ps r-r6)) (list r-ps r-r6))
@ -6913,14 +6915,14 @@ detect possible inconsistencies.")
(define-public r-sna (define-public r-sna
(package (package
(name "r-sna") (name "r-sna")
(version "2.6") (version "2.7")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "sna" version)) (uri (cran-uri "sna" version))
(sha256 (sha256
(base32 (base32
"0ai0v4538d30m4wks5s3lch1yfmx1ml0nnrz7ihs097lv586a09s")))) "0ka319s1w857fj28ja1i1ljgv2h6ji4d69riqy9pwhvvghsa83s4"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
(list r-network r-statnet-common)) (list r-network r-statnet-common))
@ -9287,14 +9289,14 @@ publication-ready plots.")
(define-public r-ellipse (define-public r-ellipse
(package (package
(name "r-ellipse") (name "r-ellipse")
(version "0.4.2") (version "0.4.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "ellipse" version)) (uri (cran-uri "ellipse" version))
(sha256 (sha256
(base32 (base32
"1wm5v7zdv2drgdba7z96jwsx74mqhlq80qgrvdb4vb5r02dcw68p")))) "0im9d36dixpksms52v6nsb3l0z2c7wc25r9j0f08naj6qc8jpvq2"))))
(build-system r-build-system) (build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/ellipse/") (home-page "https://cran.r-project.org/web/packages/ellipse/")
(synopsis "Functions for drawing ellipses and ellipse-like confidence regions") (synopsis "Functions for drawing ellipses and ellipse-like confidence regions")
@ -9648,14 +9650,14 @@ implemented in bibutils.")
(define-public r-rdpack (define-public r-rdpack
(package (package
(name "r-rdpack") (name "r-rdpack")
(version "2.3") (version "2.3.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "Rdpack" version)) (uri (cran-uri "Rdpack" version))
(sha256 (sha256
(base32 (base32
"1igpa4hnpiykbdnq57mglby5jsbind6izkkfy81wx4ib6nw1lpn4")))) "12j45n4srs987s9mqvp3524cviqbl2pnpx7yw8agac9ynnfmwgmm"))))
(properties `((upstream-name . "Rdpack"))) (properties `((upstream-name . "Rdpack")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -9674,14 +9676,14 @@ references and Rd files.")
(define-public r-officer (define-public r-officer
(package (package
(name "r-officer") (name "r-officer")
(version "0.4.2") (version "0.4.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "officer" version)) (uri (cran-uri "officer" version))
(sha256 (sha256
(base32 (base32
"0qmn62srh9zicgizyblanirbdva7f09g967yb86kfrn05ckh5y10")))) "1ksfmwqb91j8n8x4vchpqr848scvf817mgiknwac7n8lfz79synk"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
(list r-r6 r-uuid r-xml2 r-zip)) (list r-r6 r-uuid r-xml2 r-zip))
@ -10026,14 +10028,14 @@ functions.")
(define-public r-flextable (define-public r-flextable
(package (package
(name "r-flextable") (name "r-flextable")
(version "0.7.0") (version "0.7.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "flextable" version)) (uri (cran-uri "flextable" version))
(sha256 (sha256
(base32 (base32
"15vr5lb87712mymsvv01kz9s1fb54sx5kybsa2x547k5g10dbrbm")))) "03nxh9a9q0jgqz05i7kgp8zjncpq9m4f54dx3bvqgpds4hcqxli9"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
(list r-base64enc (list r-base64enc
@ -13444,17 +13446,19 @@ Bioconductor packages.")
(define-public r-rgl (define-public r-rgl
(package (package
(name "r-rgl") (name "r-rgl")
(version "0.108.3.2") (version "0.109.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "rgl" version)) (uri (cran-uri "rgl" version))
(sha256 (sha256
(base32 (base32
"0r9wzhjzl346i37ngs6hqzmizhi53kzqz582lv822v6yxang6fh3")))) "15rckpi2vzjc45glqk1mibxw1vja9y08hj9id2qd1si2bb708x8i"))))
(build-system r-build-system) (build-system r-build-system)
(native-inputs (native-inputs
(list pkg-config r-knitr)) (list pkg-config
r-knitr
r-rmarkdown)) ;for vignettes
(inputs (inputs
(list freetype (list freetype
libpng libpng
@ -13463,11 +13467,13 @@ Bioconductor packages.")
pandoc pandoc
zlib)) zlib))
(propagated-inputs (propagated-inputs
(list r-htmltools (list r-base64enc
r-htmltools
r-htmlwidgets r-htmlwidgets
r-jsonlite r-jsonlite
r-knitr r-knitr
r-magrittr r-magrittr
r-mime
r-r6)) r-r6))
(home-page "https://r-forge.r-project.org/projects/rgl/") (home-page "https://r-forge.r-project.org/projects/rgl/")
(synopsis "3D visualization using OpenGL") (synopsis "3D visualization using OpenGL")
@ -13762,13 +13768,13 @@ Anderson-Darling Distribution\".")
(define-public r-admisc (define-public r-admisc
(package (package
(name "r-admisc") (name "r-admisc")
(version "0.27") (version "0.28")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "admisc" version)) (uri (cran-uri "admisc" version))
(sha256 (sha256
(base32 "07hfrhv3pcldsffnyfzpa1q3x32gxr1386r8fik1nhql2w46mm13")))) (base32 "0cfx4g64mybd69xm595zzv79j4fbzn7vihpvzcvicggs3immppha"))))
(properties `((upstream-name . "admisc"))) (properties `((upstream-name . "admisc")))
(build-system r-build-system) (build-system r-build-system)
(home-page "https://github.com/dusadrian/admisc") (home-page "https://github.com/dusadrian/admisc")
@ -13787,14 +13793,14 @@ the base function @code{with()}.")
(define-public r-sodium (define-public r-sodium
(package (package
(name "r-sodium") (name "r-sodium")
(version "1.2.0") (version "1.2.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "sodium" version)) (uri (cran-uri "sodium" version))
(sha256 (sha256
(base32 (base32
"0x4jb3cf1nv1spz1jc9xp8hly2b4a7nj48xr4s33jnfcpdjkmn5q")))) "1a03z2asvmalnmsn89lapzp8a4fr0qvzdv3xgin8pbqhjyb9hvpp"))))
(properties `((upstream-name . "sodium"))) (properties `((upstream-name . "sodium")))
(build-system r-build-system) (build-system r-build-system)
(inputs (inputs
@ -14931,14 +14937,14 @@ limitations\" using the GNU Multiple Precision library.")
(define-public r-rmpfr (define-public r-rmpfr
(package (package
(name "r-rmpfr") (name "r-rmpfr")
(version "0.8-7") (version "0.8-9")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "Rmpfr" version)) (uri (cran-uri "Rmpfr" version))
(sha256 (sha256
(base32 (base32
"1ljpbxvm4agbxnab5dfffbpw5k964hy3gw57dzydq1gpbxwdphlk")))) "12mwvgyalzh4zf5d002fm1hpr3wwhiypy9ia6wy47ij9gns5mvng"))))
(properties `((upstream-name . "Rmpfr"))) (properties `((upstream-name . "Rmpfr")))
(build-system r-build-system) (build-system r-build-system)
(inputs (inputs
@ -15899,14 +15905,14 @@ them in distributed compute environments.")
(define-public r-parallelly (define-public r-parallelly
(package (package
(name "r-parallelly") (name "r-parallelly")
(version "1.31.1") (version "1.32.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "parallelly" version)) (uri (cran-uri "parallelly" version))
(sha256 (sha256
(base32 (base32
"1nhp66psk3m79is5qm4ppxkj7bdy46jr2h2pir22ia9ghhyzris0")))) "0yg1hmgkp81ihgwqaynqh0jgki2mkdy78j4fgjmqvc1ig5ga774h"))))
(properties `((upstream-name . "parallelly"))) (properties `((upstream-name . "parallelly")))
(build-system r-build-system) (build-system r-build-system)
(home-page "https://github.com/HenrikBengtsson/parallelly") (home-page "https://github.com/HenrikBengtsson/parallelly")
@ -16956,14 +16962,14 @@ network.")
(define-public r-apcluster (define-public r-apcluster
(package (package
(name "r-apcluster") (name "r-apcluster")
(version "1.4.9") (version "1.4.10")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "apcluster" version)) (uri (cran-uri "apcluster" version))
(sha256 (sha256
(base32 (base32
"0wnbb3kj9m7rfq63xr43jjf6n8jxm1r2wvvx6g0qkss0wvipbb1s")))) "1820j1xjlbmw6j2fwwv2g806dqpk5qrbbaqsrbrn6igql8pzf552"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
(list r-matrix r-rcpp)) (list r-matrix r-rcpp))
@ -17364,14 +17370,14 @@ classes.")
(define-public r-classint (define-public r-classint
(package (package
(name "r-classint") (name "r-classint")
(version "0.4-3") (version "0.4-7")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "classInt" version)) (uri (cran-uri "classInt" version))
(sha256 (sha256
(base32 (base32
"1b1lqhpzxm6b8pza8l3s0cxy74mm9y45lcd3354i2v3bg8m7mply")))) "0vk06k10mxcm6wn4b74njzc1kc1ividsn03ii523j4yfhy4kl3m3"))))
(properties `((upstream-name . "classInt"))) (properties `((upstream-name . "classInt")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -17593,14 +17599,14 @@ spanning tree.")
(define-public r-adegenet (define-public r-adegenet
(package (package
(name "r-adegenet") (name "r-adegenet")
(version "2.1.6") (version "2.1.7")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "adegenet" version)) (uri (cran-uri "adegenet" version))
(sha256 (sha256
(base32 (base32
"0sx25p7bgz0h9mc3jsdnnjhvmb7sy8nb3r0z923vhk336d4xw8vq")))) "0zkbxw9w0fcb4s3zv2a8nxcsihzkfz49psaipxw99nwgm7l9jrh9"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
(list r-ade4 (list r-ade4
@ -17835,14 +17841,14 @@ include
(define-public r-haplo-stats (define-public r-haplo-stats
(package (package
(name "r-haplo-stats") (name "r-haplo-stats")
(version "1.8.7") (version "1.8.9")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "haplo.stats" version)) (uri (cran-uri "haplo.stats" version))
(sha256 (sha256
(base32 (base32
"1q2zn72j92bwhcdswk4qqfgzch56p9pcy2xhkd3safvqp3l9rzpw")))) "0np9kw4f30xbvwr4f79g909ilis5n273ridmlwyzjxiskiry6mx0"))))
(properties `((upstream-name . "haplo.stats"))) (properties `((upstream-name . "haplo.stats")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -18051,13 +18057,13 @@ that accept short and long options.")
(define-public r-kernlab (define-public r-kernlab
(package (package
(name "r-kernlab") (name "r-kernlab")
(version "0.9-30") (version "0.9-31")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "kernlab" version)) (uri (cran-uri "kernlab" version))
(sha256 (sha256
(base32 "10gfb542nbl1d5pfy6r7gcg3j1ikra9l18r6xjv8lzp5ka1kmz28")))) (base32 "12i7ffc1aacyy7bpjc0w60wwivn88wri8jz43h77irn5q5jwcnbk"))))
(build-system r-build-system) (build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/kernlab") (home-page "https://cran.r-project.org/web/packages/kernlab")
(synopsis "Kernel-based machine learning tools") (synopsis "Kernel-based machine learning tools")
@ -19317,14 +19323,14 @@ external dependencies. This package has is implemented purely in R.")
(define-public r-aplot (define-public r-aplot
(package (package
(name "r-aplot") (name "r-aplot")
(version "0.1.4") (version "0.1.6")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "aplot" version)) (uri (cran-uri "aplot" version))
(sha256 (sha256
(base32 (base32
"1b4jjj05a602dgn6yr1bsmbzlzkj6wf6af3k3w63g3mkqv0xzsfd")))) "0310z9db2r8vr4053vy6w4rbcqhg5cv56p60rk7dh4y6ifbd2sbx"))))
(properties `((upstream-name . "aplot"))) (properties `((upstream-name . "aplot")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -20675,14 +20681,14 @@ emphasize hidden group structures in networks or focus on specific nodes.")
(define-public r-terra (define-public r-terra
(package (package
(name "r-terra") (name "r-terra")
(version "1.5-21") (version "1.5-34")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "terra" version)) (uri (cran-uri "terra" version))
(sha256 (sha256
(base32 (base32
"0gzl0ka19jjw0dmaghjk2sgwi78kkz4w3rlfkym62rdarhlfj7h9")))) "075azi23gi1b1jxm3s1f1hpc6in7qz4fp38shq9pflfnzbs8ib9w"))))
(properties `((upstream-name . "terra"))) (properties `((upstream-name . "terra")))
(build-system r-build-system) (build-system r-build-system)
(inputs (inputs
@ -21980,14 +21986,14 @@ and prints vectorized images.")
(define-public r-randtoolbox (define-public r-randtoolbox
(package (package
(name "r-randtoolbox") (name "r-randtoolbox")
(version "2.0.0") (version "2.0.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "randtoolbox" version)) (uri (cran-uri "randtoolbox" version))
(sha256 (sha256
(base32 (base32
"005x2igljc6vm0nsmkld9aqjqz1ccwapc8z3aw5c3ivh4n2bghf9")))) "1p2jsn0hpihc49zk605z82mhhvma0ji2f5b94wa85g2xzriqkwn4"))))
(properties `((upstream-name . "randtoolbox"))) (properties `((upstream-name . "randtoolbox")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -23535,14 +23541,14 @@ functions.")
(define-public r-univoutl (define-public r-univoutl
(package (package
(name "r-univoutl") (name "r-univoutl")
(version "0.3") (version "0.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "univOutl" version)) (uri (cran-uri "univOutl" version))
(sha256 (sha256
(base32 (base32
"1hhpxrpmp2wbrynx9xjndnp2sccirgky2x6ksd6yk6phmk0rbzjp")))) "1kp014bhs8v02fp7misrj4fpfp2na9lg45p5zqvlfaypnm5imsr9"))))
(properties `((upstream-name . "univOutl"))) (properties `((upstream-name . "univOutl")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -23591,13 +23597,13 @@ Visualizations are also available for most of these settings.")
(define-public r-torch (define-public r-torch
(package (package
(name "r-torch") (name "r-torch")
(version "0.7.2") (version "0.8.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "torch" version)) (uri (cran-uri "torch" version))
(sha256 (sha256
(base32 "163pvl3gyz7l2fmqhgg4k6pw4dmvfir71yp9l5ra2k4zc32lz166")))) (base32 "0n2rmv2mwfp4y002x46fd278kssmhi54zcyj37558k4r1kazzfxp"))))
(properties `((upstream-name . "torch"))) (properties `((upstream-name . "torch")))
(build-system r-build-system) (build-system r-build-system)
(arguments (arguments
@ -23961,13 +23967,13 @@ from PLINK results.")
(define-public r-gghighlight (define-public r-gghighlight
(package (package
(name "r-gghighlight") (name "r-gghighlight")
(version "0.3.2") (version "0.3.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "gghighlight" version)) (uri (cran-uri "gghighlight" version))
(sha256 (sha256
(base32 "0bxgn4srxz1qhawqa8ck57p8hg5ikwfa9ll03zmnn8fb19akwm2v")))) (base32 "0isfp5n0ijqpy3z5d7l75mlq15nbkjppv6812lcya6097ar2d381"))))
(properties `((upstream-name . "gghighlight"))) (properties `((upstream-name . "gghighlight")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -24815,18 +24821,20 @@ Models.")
(define-public r-mi (define-public r-mi
(package (package
(name "r-mi") (name "r-mi")
(version "1.0") (version "1.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "mi" version)) (uri (cran-uri "mi" version))
(sha256 (sha256
(base32 (base32
"1h47k5mpbvhid83277dvvj2di493bgzz9iarpyv3r30y219l7x1l")))) "11f75ivnax6p48mp2pasprws488cm2daym87sw2mcrywvf89fyjd"))))
(properties `((upstream-name . "mi"))) (properties `((upstream-name . "mi")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
(list r-arm r-matrix)) (list r-arm r-matrix))
(native-inputs
(list r-knitr))
(home-page "http://www.stat.columbia.edu/~gelman/") (home-page "http://www.stat.columbia.edu/~gelman/")
(synopsis "Missing data imputation and model checking") (synopsis "Missing data imputation and model checking")
(description (description
@ -25457,14 +25465,14 @@ and reproducible way.")
(define-public r-rsconnect (define-public r-rsconnect
(package (package
(name "r-rsconnect") (name "r-rsconnect")
(version "0.8.25") (version "0.8.26")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "rsconnect" version)) (uri (cran-uri "rsconnect" version))
(sha256 (sha256
(base32 (base32
"1kyr4v7vds2yw3xmkk2yr56ylz1h95944brylwvwmwj5yxvm419w")))) "1vazdgpha7545h4riz11njbl8azg38i1y1a5nfckfx03v2zapbzs"))))
(properties `((upstream-name . "rsconnect"))) (properties `((upstream-name . "rsconnect")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -26696,14 +26704,14 @@ including means, variances, intervals, and highest density regions.")
(define-public r-posterior (define-public r-posterior
(package (package
(name "r-posterior") (name "r-posterior")
(version "1.2.1") (version "1.2.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "posterior" version)) (uri (cran-uri "posterior" version))
(sha256 (sha256
(base32 (base32
"1qdg22l868daqg2axr36szl1m9z0rfpgx8zmv1x1xwm1hmlf0mxp")))) "0frm7p6cjkjfl4gviixaa7448qaac8n9ilkr5c02fa9vnisys5fn"))))
(properties `((upstream-name . "posterior"))) (properties `((upstream-name . "posterior")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -26993,14 +27001,14 @@ counting and recursive k-means partitioning.")
(define-public r-hardhat (define-public r-hardhat
(package (package
(name "r-hardhat") (name "r-hardhat")
(version "0.2.0") (version "1.1.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "hardhat" version)) (uri (cran-uri "hardhat" version))
(sha256 (sha256
(base32 (base32
"0a4nq93cmps5xy8h0qsv6xyzrbsz9ka4iwkrvb8m8v10wq7wm5wl")))) "1cdl52lzv3wffq8fzrb6sk85i4i8lm8skgad1c8az3ifmzssjx03"))))
(properties `((upstream-name . "hardhat"))) (properties `((upstream-name . "hardhat")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -28428,20 +28436,20 @@ object sizes.")
(define-public r-yardstick (define-public r-yardstick
(package (package
(name "r-yardstick") (name "r-yardstick")
(version "0.0.9") (version "1.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "yardstick" version)) (uri (cran-uri "yardstick" version))
(sha256 (sha256
(base32 (base32
"00hv4gk1ba4dab8i3dcq7lim4bll7l572rgc8km9x4ja8by95j8h")))) "0mnpvwbzybxp47w4yibmjb7xppwinbjcqcyqfn8qn38l5liwy8yd"))))
(properties `((upstream-name . "yardstick"))) (properties `((upstream-name . "yardstick")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
(list r-dplyr (list r-dplyr
r-generics r-generics
r-proc r-hardhat
r-rlang r-rlang
r-tidyselect r-tidyselect
r-vctrs)) r-vctrs))
@ -28963,14 +28971,14 @@ functions or computational engines (e.g. R, Spark, Stan, etc).")
(define-public r-infer (define-public r-infer
(package (package
(name "r-infer") (name "r-infer")
(version "1.0.0") (version "1.0.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "infer" version)) (uri (cran-uri "infer" version))
(sha256 (sha256
(base32 (base32
"1qbpcn7jqbvgwnpiyylj021j8m33p58a204yd1pfkpzd3x2lbsm6")))) "0qfrxljvwpa8d1k66ii80irarlv593wr6rmcsmi4flc7adgydrnp"))))
(properties `((upstream-name . "infer"))) (properties `((upstream-name . "infer")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -30409,14 +30417,14 @@ in output to the equivalent HTML.")
(define-public r-pkgdown (define-public r-pkgdown
(package (package
(name "r-pkgdown") (name "r-pkgdown")
(version "2.0.3") (version "2.0.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "pkgdown" version)) (uri (cran-uri "pkgdown" version))
(sha256 (sha256
(base32 (base32
"0wqga9bcl7wmvkwpkkmf5hx1cl7rjq5ddvqmxhl4p1dczys3adnr")))) "02lwr53xvxybcsg8md8qbq1wq833ap7ssn5v92cd4qqay5iya374"))))
(properties `((upstream-name . "pkgdown"))) (properties `((upstream-name . "pkgdown")))
(build-system r-build-system) (build-system r-build-system)
(inputs (list pandoc)) (inputs (list pandoc))
@ -30466,7 +30474,26 @@ package online.")
(properties `((upstream-name . "prereg"))) (properties `((upstream-name . "prereg")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
(list r-rmarkdown)) (list r-rmarkdown
;; The package provides a custom LaTex template in
;; inst/rmd/prereg_form.tex, which depends on these packages:
texlive-amsmath
texlive-booktabs
texlive-etoolbox
texlive-generic-iftex
texlive-latex-fancyhdr
texlive-latex-fancyvrb
texlive-latex-geometry
texlive-latex-graphics
texlive-latex-threeparttable
texlive-latex-titlesec
texlive-latex-upquote
texlive-listings
texlive-polyglossia
texlive-titling
texlive-tools
texlive-ulem
(texlive-updmap.cfg (list texlive-amsfonts texlive-lm))))
(home-page "https://github.com/crsh/prereg") (home-page "https://github.com/crsh/prereg")
(synopsis (synopsis
"R Markdown Templates to preregister Scientific Studies") "R Markdown Templates to preregister Scientific Studies")
@ -31597,6 +31624,32 @@ asynchronously from formatting.")
utility operations.") utility operations.")
(license license:gpl3))) (license license:gpl3)))
(define-public r-rsq
(package
(name "r-rsq")
(version "2.5")
(source (origin
(method url-fetch)
(uri (cran-uri "rsq" version))
(sha256
(base32
"1r628srxhhf7b51lnj4qrzgbqajkm0ls47a9rzjkvmfq4ax5i73f"))))
(properties `((upstream-name . "rsq")))
(build-system r-build-system)
(propagated-inputs
(list r-deriv
r-lme4
r-mass
r-matrix
r-nlme))
(home-page "https://cran.r-project.org/package=rsq")
(synopsis "R-squared and related measures")
(description
"Calculate generalized R-squared, partial R-squared, and partial correlation
coefficients for generalized linear (mixed) models (including quasi models
with well defined variance functions).")
(license license:gpl2)))
(define-public r-webutils (define-public r-webutils
(package (package
(name "r-webutils") (name "r-webutils")
@ -32582,14 +32635,14 @@ participants and their emotional expressions throughout the meeting.")
(define-public r-zoom (define-public r-zoom
(package (package
(name "r-zoom") (name "r-zoom")
(version "2.0.4") (version "2.0.6")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "zoom" version)) (uri (cran-uri "zoom" version))
(sha256 (sha256
(base32 (base32
"03f5rxfr6ncf1j6vpn7pip21q7ylj4bx0a5xphqb6x6i33lxf1g5")))) "05ikad4j1qi5y8mn77n9bw7d6ic3api9d7mbcn855w8xcc69ja4q"))))
(properties `((upstream-name . "zoom"))) (properties `((upstream-name . "zoom")))
(build-system r-build-system) (build-system r-build-system)
(home-page "https://github.com/cbarbu/R-package-zoom") (home-page "https://github.com/cbarbu/R-package-zoom")
@ -33342,6 +33395,30 @@ facets. It also allows multiple colour, fill scales per plot and hosts a
smaller collection of stats, geoms and axis guides.") smaller collection of stats, geoms and axis guides.")
(license license:expat))) (license license:expat)))
(define-public r-gghalves
(package
(name "r-gghalves")
(version "0.1.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "gghalves" version))
(sha256
(base32
"1lj4c38fzxwg8gy57ymf00lqjdplb7v2a0lnd262c1d5cavqiws4"))))
(properties `((upstream-name . "gghalves")))
(build-system r-build-system)
(propagated-inputs
(list r-ggplot2 r-gtable))
(native-inputs
(list r-knitr))
(home-page "https://github.com/erocoar/gghalves")
(synopsis "Compose half-half plots using your favourite geoms")
(description "This package provides a @code{ggplot2} extension for easy
plotting of half-half geom combinations. Think half boxplot and half
jitterplot, or half violinplot and half dotplot.")
(license license:expat)))
(define-public r-zoeppritz (define-public r-zoeppritz
(package (package
(name "r-zoeppritz") (name "r-zoeppritz")

View file

@ -19,6 +19,7 @@
;;; Copyright © 2021 Antero Mejr <antero@kodmin.com> ;;; Copyright © 2021 Antero Mejr <antero@kodmin.com>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 muradm <mail@muradm.net>
;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2021, 2022 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Jacob Hrbek <kreyren@rixotstudio.cz> ;;; Copyright © 2021 Jacob Hrbek <kreyren@rixotstudio.cz>
@ -31352,7 +31353,10 @@ algorithm and related formats (ZLIB, GZIP).")
(string-append name "-" version ".tar.gz")) (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1axsdyb2i67pn85vh8sb2z037n88fiiwqghkzsr1jrcdy2g1cs4g")))) "1axsdyb2i67pn85vh8sb2z037n88fiiwqghkzsr1jrcdy2g1cs4g"))
(modules '((guix build utils)))
(snippet
'(begin (delete-file-recursively "libgit2")))))
(build-system cargo-build-system) (build-system cargo-build-system)
(arguments (arguments
`(#:cargo-inputs `(#:cargo-inputs
@ -62496,13 +62500,13 @@ different for every thread.")
(name "rust-thread-id") (name "rust-thread-id")
(version "3.3.0") (version "3.3.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (crate-uri "thread-id" version)) (uri (crate-uri "thread-id" version))
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1h90v19fjz3x9b25ywh68z5yf2zsmm6h5zb4rl302ckbsp4z9yy7")))) "1h90v19fjz3x9b25ywh68z5yf2zsmm6h5zb4rl302ckbsp4z9yy7"))))
(arguments (arguments
`(#:cargo-inputs `(#:cargo-inputs
(("rust-libc" ,rust-libc-0.2) (("rust-libc" ,rust-libc-0.2)
@ -73053,3 +73057,42 @@ including a line breaking iterator.")
and automatically convert it to a windows batch file, this library provides a and automatically convert it to a windows batch file, this library provides a
way to convert simple shell commands to windows batch commands.") way to convert simple shell commands to windows batch commands.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public rust-enquote-1
(package
(name "rust-enquote")
(version "1.1.0")
(home-page "https://github.com/reujab/enquote")
(source (origin
(method url-fetch)
(uri (crate-uri "enquote" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0clrjghlfkkb7sndabs5wch0fz2nif6nj4b117s8kqxx3nqnrhq6"))))
(build-system cargo-build-system)
(synopsis "Rust library that quotes, unquotes, and unescapes strings")
(description "A Rust library quotes, unquotes, and unescapes strings")
(license license:unlicense)))
(define-public rust-pam-sys-0.5
(package
(name "rust-pam-sys")
(version "0.5.6")
(home-page "https://github.com/1wilkens/pam-sys")
(source (origin
(method url-fetch)
(uri (crate-uri "pam-sys" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0d14501d5vybjnzxfjf96321xa5wa36x1xvf02h02zq938qmhj6d"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
(inputs `(("linux-pam" ,linux-pam)))
(synopsis
"Rust FFI wrappers for the Linux Pluggable Authentication Modules (PAM)")
(description
"This crate uses bindgen to generate the raw FFI definitions for PAM. For a rustified API consider using pam.")
(license (list license:expat license:asl2.0))))

107
gnu/packages/darwin.scm Normal file
View file

@ -0,0 +1,107 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.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 darwin)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages gnustep)
#:use-module (gnu packages llvm)
#:use-module (guix build-system gnu)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:))
(define-public cctools
(let ((cctools-version "973.0.1")
(ld64-version "609")
(revision "0")
(commit "04663295d0425abfac90a42440a7ec02d7155fea"))
(package
(name "cctools")
(version (git-version (string-append cctools-version
"-ld64-"
ld64-version)
revision
commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tpoechtrager/cctools-port")
(commit commit)))
(sha256
(base32 "0vihfa8y64vvd3pxy8qh4mhcnzinxh9flpz9dvw4wch4zj2nnfjs"))
(file-name (git-file-name name version))
(snippet
#~(begin
(use-modules (guix build utils))
(with-directory-excursion "cctools"
;; use system libobjc2
(substitute* "configure.ac"
(("AC_CONFIG_FILES[(]\\[libobjc2/Makefile][)]")
""))
(substitute* "Makefile.am"
(("SUBDIRS=libobjc2 ")
"SUBDIRS="))
(substitute* "otool/Makefile.am"
(("\\$[(]top_builddir[)]/libobjc2/libobjc\\.la")
"-lobjc")
(("-I\\$[(]top_srcdir[)]/libobjc2")
""))
;; delete files
(for-each (lambda (pth)
(when (file-exists? pth)
(delete-file-recursively pth)))
`("include/gnu/symseg.h" ;; obsolete
"libobjc2" ;; unbundle
;; generated files:
"compile"
"config.guess"
"config.sub"
"configure"
"install-sh"
"ltmain.sh"
"missing"
,@(find-files "." "^Makefile\\.in$"))))))))
(inputs (list libobjc2
clang-toolchain))
(native-inputs (list libtool
autoconf
automake
clang-toolchain))
(build-system gnu-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda args
(chdir "cctools"))))))
(home-page "https://github.com/tpoechtrager/cctools-port")
(synopsis "Darwin's @code{cctools} and @code{ld64}")
;; Confusingly enough, the program is called ld64, but the command is
;; just ld (with no symlink), so @command{ld64} would be wrong.
(description
"Darwin's @code{cctools} are a set of tools somewhat similar in purpose
to GNU Binutils, but for Mach-O files targeting Darwin. The suite includes
@command{install_name_tool}, @command{dyldinfo}, and other specialized tools
in addition to standard utilities like @command{ld} and @command{as}. This
package provides portable versions of the tools.")
(license license:apsl2))))

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012-2016, 2018, 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2012, 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2017 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2013, 2017 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2014, 2016 David Thompson <davet@gnu.org>
@ -1160,7 +1160,7 @@ developed in C/C++ to MariaDB and MySQL databases.")
(define-public galera (define-public galera
(package (package
(name "galera") (name "galera")
(version "26.4.10") (version "26.4.12")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1169,7 +1169,7 @@ developed in C/C++ to MariaDB and MySQL databases.")
(recursive? #t))) (recursive? #t)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1n6zhzwj713ixyqvcjn4ldlq0y9fxqgvmqv3cj3h4207v9lwlxxz")))) (base32 "0n4272mvr8a6h5prbhvl376asdp89ipix5yx5n6i1iiw9bs3v76l"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs (inputs
(list check boost openssl)) (list check boost openssl))
@ -1184,14 +1184,14 @@ and high-availability (HA).")
(define-public postgresql-14 (define-public postgresql-14
(package (package
(name "postgresql") (name "postgresql")
(version "14.2") (version "14.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v" (uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2")) version "/postgresql-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0ylpka64wli72jvjyqcayvlw44zk1hsbapb93l8gh4l98qp8pxrc")) "0f5gm43hx8j67nfad8mrfhzb9aq4brfgka5d0nf936pmicv5g417"))
(patches (search-patches "postgresql-disable-resolve_symlinks.patch")))) (patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
@ -1247,6 +1247,7 @@ pictures, sounds, or video.")
(package (package
(inherit postgresql-14) (inherit postgresql-14)
(version "13.6") (version "13.6")
(replacement postgresql-13/replacement)
(source (origin (source (origin
(inherit (package-source postgresql-14)) (inherit (package-source postgresql-14))
(uri (string-append "https://ftp.postgresql.org/pub/source/v" (uri (string-append "https://ftp.postgresql.org/pub/source/v"
@ -1256,37 +1257,70 @@ pictures, sounds, or video.")
"1z37ix80hb2bqa2smh1hbj9r507ypnl3pil43gkqznnlv6ipzz5s")) "1z37ix80hb2bqa2smh1hbj9r507ypnl3pil43gkqznnlv6ipzz5s"))
(patches (search-patches "postgresql-riscv-spinlocks.patch")))))) (patches (search-patches "postgresql-riscv-spinlocks.patch"))))))
;; The merge of commit ...
;; 781dd2de230e3 gnu: postgresql-13: Fix building on riscv64-linux.
;; ... in ...
;; 49b350fafc2c3 Merge branch 'master' into staging.
;; ... lost the inherited patch from postgresql-14, causing problems such as ...
;; 05fef7bfc6005 gnu: timescaledb: Adjust test preparation to PostgreSQL 13.6.
;;
;; While at it, remove the RISC-V spinlock patch, which has been upstreamed
;; in a different form (so the old patch still applies).
;; TODO: Remove in the next rebuild cycle.
(define postgresql-13/replacement
(package
(inherit postgresql-13)
(version "13.7")
(source
(origin
(inherit (package-source postgresql-13))
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"16b3ljid7zd1v5l4l4pmwihx43wi8p9izidkjfii8dnqygs5p40v"))
(patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))))
(define-public postgresql-11 (define-public postgresql-11
(package (package
(inherit postgresql-13) (inherit postgresql-13)
(name "postgresql") (name "postgresql")
(version "11.15") (version "11.16")
(source (origin (source (origin
(inherit (package-source postgresql-13)) (inherit (package-source postgresql-13))
(uri (string-append "https://ftp.postgresql.org/pub/source/v" (uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2")) version "/postgresql-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1qvrm0vhwnc5nijfbqybhwfjbq4r7vmk445sz7s6fiagpn78xxf8")))))) "1983a7y4y6zhbgh0qcdfkf99445j1zm5q1ncrbkrx555y08y3n9d"))
(patches (search-patches
"postgresql-disable-resolve_symlinks.patch"))))
(native-inputs
(modify-inputs (package-native-inputs postgresql-13)
(replace "docbook-xml" docbook-xml-4.2)))))
(define-public postgresql-10 (define-public postgresql-10
(package (package
(inherit postgresql-11) (inherit postgresql-11)
(version "10.20") (version "10.21")
(source (origin (source (origin
(inherit (package-source postgresql-11)) (inherit (package-source postgresql-11))
(uri (string-append "https://ftp.postgresql.org/pub/source/v" (uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2")) version "/postgresql-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"17v51a9vnz6lgbfmbdmcwsiyi572wndwa4n30nk2zr6gkgaidpl7")))))) "1la5dx4hhy5yaznwk9gwdsymih3sd23fyhh6spssdaajdn2rh8fk"))))
(native-inputs
(modify-inputs (package-native-inputs postgresql-11)
(append opensp docbook-sgml-4.2)
(delete "docbook-xml")))))
(define-public postgresql postgresql-13) (define-public postgresql postgresql-14)
(define-public timescaledb (define-public timescaledb
(package (package
(name "timescaledb") (name "timescaledb")
(version "2.5.1") (version "2.7.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1295,14 +1329,18 @@ pictures, sounds, or video.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"174dm3higa0i7al9r2hdv5hk36pd0d5fnqj57w5a350kxshxyvyw")) "18wszj8ia5rs4y4zkyfb0f5z4y1g7ac3jym748nbkbszhxmq7nc7"))
(patches (search-patches "timescaledb-flaky-test.patch"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Remove files carrying the proprietary TIMESCALE license. ;; Remove files carrying the proprietary TIMESCALE license.
'(begin '(begin
(delete-file-recursively "tsl") (delete-file-recursively "tsl")
(for-each delete-file (for-each delete-file
'("test/perl/AccessNode.pm" '("scripts/c_license_header-timescale.h"
"scripts/license_tsl.spec"
"scripts/sql_license_tsl.sql"
"test/perl/AccessNode.pm"
"test/perl/DataNode.pm" "test/perl/DataNode.pm"
"test/perl/TimescaleNode.pm")))))) "test/perl/TimescaleNode.pm"))))))
(build-system cmake-build-system) (build-system cmake-build-system)
@ -1347,12 +1385,28 @@ pictures, sounds, or video.")
(pg-union (string-append (getcwd) "/../pg-union"))) (pg-union (string-append (getcwd) "/../pg-union")))
(match inputs (match inputs
(((names . directories) ...) (((names . directories) ...)
(union-build pg-union (cons #$output directories)))) ;; PG will only load extensions from its own $libdir,
;; which it calculates based on argv[0]. As of
;; PostgreSQL 13.6, it calls 'canonicalize_path' on
;; argv[0] so a merge symlink is not enough to trick
;; it; thus, the code below makes a full copy of PG
;; and friends such that 'pg_config --libdir', for
;; instance, points to PG-UNION, allowing it to load
;; the timescaledb extension.
;; TODO: The above comment and the #:symlink trick can
;; be removed in the next rebuild cycle.
(union-build pg-union (cons #$output directories)
#:symlink
(lambda (old new)
(if (file-is-directory? old)
(copy-recursively old new)
(copy-file old new))))))
(setenv "PATH" (string-append pg-union "/bin:" (setenv "PATH" (string-append pg-union "/bin:"
(getenv "PATH"))) (getenv "PATH")))
(invoke "initdb" "-D" pg-data) (invoke "initdb" "-D" pg-data)
(copy-file "test/postgresql.conf" (copy-file "test/postgresql.conf"
(string-append pg-data "/postgresql.conf")) (string-append pg-data "/postgresql.conf"))
(invoke "pg_ctl" "-D" pg-data (invoke "pg_ctl" "-D" pg-data
"-o" (string-append "-k " pg-data) "-o" (string-append "-k " pg-data)
"-l" (string-append pg-data "/db.log") "-l" (string-append pg-data "/db.log")
@ -1363,7 +1417,7 @@ pictures, sounds, or video.")
(home-page "https://www.timescale.com/") (home-page "https://www.timescale.com/")
(synopsis "Time-series extension for PostgreSQL") (synopsis "Time-series extension for PostgreSQL")
(description (description
"TimescaleDB is an database designed to make SQL scalable for "TimescaleDB is a database designed to make SQL scalable for
time-series data. It is engineered up from PostgreSQL and packaged as a time-series data. It is engineered up from PostgreSQL and packaged as a
PostgreSQL extension, providing automatic partitioning across time and space PostgreSQL extension, providing automatic partitioning across time and space
(partitioning key), as well as full SQL support.") (partitioning key), as well as full SQL support.")
@ -1868,7 +1922,7 @@ extremely small.")
"1yinx39960y241vf2sknxj0dfz82a5m9gvklq5rw78k0nlyrjawa")))) "1yinx39960y241vf2sknxj0dfz82a5m9gvklq5rw78k0nlyrjawa"))))
(build-system perl-build-system) (build-system perl-build-system)
(synopsis "Database independent interface for Perl") (synopsis "Database independent interface for Perl")
(description "This package provides an database interface for Perl.") (description "This package provides a database interface for Perl.")
(home-page "https://metacpan.org/release/DBI") (home-page "https://metacpan.org/release/DBI")
(license license:perl-license))) (license license:perl-license)))
@ -2035,7 +2089,7 @@ columns, primary keys, unique constraints and relationships.")
(define-public perl-dbd-pg (define-public perl-dbd-pg
(package (package
(name "perl-dbd-pg") (name "perl-dbd-pg")
(version "3.14.2") (version "3.15.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -2043,7 +2097,7 @@ columns, primary keys, unique constraints and relationships.")
"DBD-Pg-" version ".tar.gz")) "DBD-Pg-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0kcfqq7g3832wiix0sbyvlc885qghjrp2ah3akn7h2lnb22fjwy9")))) "0zn17xb6bmixkmv53p576igzw1jd43cwql35r19m56jwahxm9iqk"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs (native-inputs
(list perl-dbi)) (list perl-dbi))
@ -2814,13 +2868,13 @@ can autogenerate peewee models using @code{pwiz}, a model generator.")
(define-public python-pypika-tortoise (define-public python-pypika-tortoise
(package (package
(name "python-pypika-tortoise") (name "python-pypika-tortoise")
(version "0.1.1") (version "0.1.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "pypika-tortoise" version)) (uri (pypi-uri "pypika-tortoise" version))
(sha256 (sha256
(base32 "0g4z0lz739nk04b405ynqpd3y1z5nfyxjz9hqgxcw3jydsjx0cb8")))) (base32 "0j20574s2yrq8d7fav3816vj1nfpihkm2mj8jzh2ank4zixp8brf"))))
(build-system python-build-system) (build-system python-build-system)
(home-page "https://github.com/tortoise/pypika-tortoise") (home-page "https://github.com/tortoise/pypika-tortoise")
(synopsis "Pypika fork for tortoise-orm") (synopsis "Pypika fork for tortoise-orm")
@ -2851,24 +2905,19 @@ coroutine-specific markup.")
(define-public python-asyncpg (define-public python-asyncpg
(package (package
(name "python-asyncpg") (name "python-asyncpg")
(version "0.24.0") (version "0.25.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "asyncpg" version)) (uri (pypi-uri "asyncpg" version))
(sha256 (sha256
(base32 "1in0q6iffpl8ag6ady4bvwnn40igh10cpp4xgm426j1lqdis0byx")))) (base32 "0h1573lp4607nppflnnjrhn7yrfy6i54cm98gi4qbcikjykfdy33"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (list python-typing-extensions)) (propagated-inputs (list python-typing-extensions))
(native-inputs (native-inputs
(list postgresql (list postgresql
python-cython python-cython
python-flake8
python-pycodestyle
python-pytest python-pytest
python-sphinx
python-sphinx-rtd-theme
python-sphinxcontrib-asyncio
python-uvloop)) python-uvloop))
(home-page "https://github.com/MagicStack/asyncpg") (home-page "https://github.com/MagicStack/asyncpg")
(synopsis "Fast PostgreSQL database client library for Python") (synopsis "Fast PostgreSQL database client library for Python")
@ -2921,13 +2970,13 @@ of PyMySQL. @code{aiomysql} tries to preserve the same API as the
(define-public python-tortoise-orm (define-public python-tortoise-orm
(package (package
(name "python-tortoise-orm") (name "python-tortoise-orm")
(version "0.17.8") (version "0.19.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "tortoise-orm" version)) (uri (pypi-uri "tortoise-orm" version))
(sha256 (sha256
(base32 "1gzgiypln7lck3p95vk3i8rdx1bjbmmlcpb8xpba8cjdjvlj0l0z")))) (base32 "17yk71dlx5ai98i6ivqgsplkwivdxackz9jfn6z42bpcdgbpiwhg"))))
(build-system python-build-system) (build-system python-build-system)
;; The test suite relies on asynctest, which is abandoned and doesn't ;; The test suite relies on asynctest, which is abandoned and doesn't
;; support Python >= 3.8. ;; support Python >= 3.8.
@ -3004,44 +3053,58 @@ development.")
(define-public python-pyodbc-c (define-public python-pyodbc-c
(package (package
(name "python-pyodbc-c") (name "python-pyodbc-c")
(version "3.1.4") (version "3.1.5")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://gitlab.com/daym/pyodbc-c/repository/" (uri (git-reference
"archive.tar.gz?ref=v" version)) (url "https://gitlab.com/daym/pyodbc-c/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32 "08y60c5sx0k953zfx0s2a155l8py968sb17ap9a9fg8bjnj783k8"))))
"05aq2297k779xidmxcwkrrxjvj1bh2q7d9a1rcjv6zr15y764ga9"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system python-build-system) (build-system python-build-system)
(inputs (inputs
(list unixodbc)) (list unixodbc))
(arguments (arguments
`(;; No unit tests exist. `(;; The tests require a running SQL server that they don't help set up.
#:tests? #f)) #:tests? #f))
(home-page "https://github.com/mkleehammer/pyodbc") (home-page "https://gitlab.com/daym/pyodbc-c")
(synopsis "Python ODBC Library") (synopsis "Python ODBC Library written in C")
(description "@code{python-pyodbc-c} provides a Python DB-API driver (description "@code{python-pyodbc-c} provides a Python DB-API driver
for ODBC.") for ODBC, similar to python-pyodbc but written in C.
It's designed to stand alone and not have other dependencies on other packages
or languages. It uses only Python's built-in data types.")
(license (license:x11-style "file://LICENSE.TXT")))) (license (license:x11-style "file://LICENSE.TXT"))))
(define-public python-pyodbc (define-public python-pyodbc
(package (package
(name "python-pyodbc") (name "python-pyodbc")
(version "4.0.30") (version "4.0.32")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "pyodbc" version)) (uri (pypi-uri "pyodbc" version))
(sha256 (sha256
(base32 "0skjpraar6hcwsy82612bpj8nw016ncyvvq88j5syrikxgp5saw5")) (base32 "0sqs0x2l5mk3yv0wwz3ya8yh5f4babihyhc8hjbf2m86b71z1rcv"))
(file-name (string-append name "-" version ".tar.gz")))) (modules '((guix build utils)))
(snippet
;; Delete precompiled binaries. The corresponding source is included.
#~(for-each delete-file (find-files "." "\\.pyc$")))))
(build-system python-build-system) (build-system python-build-system)
(inputs (inputs
(list unixodbc)) (list unixodbc))
(arguments (arguments
`(#:tests? #f)) ; no unit tests exist ;; XXX Tests fail with Can't open lib 'SQL Server Native Client 10.0' :
;; file not found (0) (SQLDriverConnect)").
(list #:tests? #f
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "python3" "tests3/test.py")))))))
(home-page "https://github.com/mkleehammer/pyodbc") (home-page "https://github.com/mkleehammer/pyodbc")
(synopsis "Python ODBC Library") (synopsis "Python ODBC Library")
(description "@code{python-pyodbc} provides a Python DB-API driver (description "@code{python-pyodbc} provides a Python DB-API driver
@ -4195,6 +4258,132 @@ language-bindings for structure manipulation. It also provides IPC and common
algorithm implementations.") algorithm implementations.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public apache-arrow-0.16
(package
(name "apache-arrow")
(version "0.16.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/apache/arrow")
(commit (string-append "apache-arrow-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"15bplqy5708bxy1mynzjkd3d2g8v2wd36z8l0ap8yyyq54l3gdvy"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'configure 'enter-source-directory
(lambda _
(chdir "cpp")
(substitute* "src/parquet/CMakeLists.txt"
((" parquet_constants.cpp") "")
(("set\\(THRIFT_OUTPUT_FILES \\$\\{THRIFT_OUTPUT_FILES\\}.*") "")
((".*\"\\$\\{THRIFT_OUTPUT_DIR\\}/parquet_constants.cpp\"\\).*") ""))))
(add-after 'unpack 'set-env
(lambda _
(setenv "BOOST_ROOT" (assoc-ref %build-inputs "boost"))
(setenv "BROTLI_HOME" (assoc-ref %build-inputs "brotli"))
(setenv "FLATBUFFERS_HOME" (assoc-ref %build-inputs "flatbuffers"))
(setenv "RAPIDJSON_HOME" (assoc-ref %build-inputs "rapidjson")))))
#:build-type "Release"
#:configure-flags
(list "-DARROW_PYTHON=ON"
"-DARROW_GLOG=ON"
"-DARROW_SSE42=OFF"
"-DARROW_BOOST_USE_SHARED=ON"
;; Parquet options
"-DARROW_PARQUET=ON"
;; The maintainers disallow using system versions of
;; jemalloc:
;; https://issues.apache.org/jira/browse/ARROW-3507. This
;; is unfortunate because jemalloc increases performance:
;; https://arrow.apache.org/blog/2018/07/20/jemalloc/.
"-DARROW_JEMALLOC=OFF"
;; The CMake option ARROW_DEPENDENCY_SOURCE is a global
;; option that instructs the build system how to resolve
;; each dependency. SYSTEM = Finding the dependency in
;; system paths using CMake's built-in find_package
;; function, or using pkg-config for packages that do not
;; have this feature
"-DARROW_DEPENDENCY_SOURCE=SYSTEM"
;; Split output into its component packages.
(string-append "-DCMAKE_INSTALL_PREFIX="
(assoc-ref %outputs "out"))
(string-append "-DCMAKE_INSTALL_RPATH="
(assoc-ref %outputs "out")
"/lib")
(string-append "-DCMAKE_INSTALL_BINDIR="
(assoc-ref %outputs "out")
"/bin")
(string-append "-DCMAKE_INSTALL_INCLUDEDIR="
(assoc-ref %outputs "include")
"/share/include")
"-DARROW_WITH_SNAPPY=ON"
"-DARROW_WITH_ZLIB=ON"
"-DARROW_WITH_ZSTD=ON"
"-DARROW_WITH_LZ4=ON"
"-DARROW_COMPUTE=ON"
"-DARROW_CSV=ON"
"-DARROW_DATASET=ON"
"-DARROW_FILESYSTEM=ON"
"-DARROW_HDFS=ON"
"-DARROW_JSON=ON"
;; Arrow Python C++ integration library (required for
;; building pyarrow). This library must be built against
;; the same Python version for which you are building
;; pyarrow. NumPy must also be installed. Enabling this
;; option also enables ARROW_COMPUTE, ARROW_CSV,
;; ARROW_DATASET, ARROW_FILESYSTEM, ARROW_HDFS, and
;; ARROW_JSON.
"-DARROW_PYTHON=ON"
;; Building the tests forces on all the
;; optional features and the use of static
;; libraries.
"-DARROW_BUILD_TESTS=OFF"
"-DBENCHMARK_ENABLE_GTEST_TESTS=OFF"
;;"-DBENCHMARK_ENABLE_TESTING=OFF"
"-DARROW_BUILD_STATIC=OFF")))
(inputs
`(("boost" ,boost)
("brotli" ,google-brotli)
("double-conversion" ,double-conversion)
("snappy" ,snappy)
("gflags" ,gflags)
("glog" ,glog)
("apache-thrift" ,apache-thrift "lib")
("protobuf" ,protobuf)
("rapidjson" ,rapidjson)
("zlib" ,zlib)
("bzip2" ,bzip2)
("lz4" ,lz4)
("zstd" ,zstd "lib")
("re2" ,re2)
("grpc" ,grpc)
("python-3" ,python)
("python-numpy" ,python-numpy)))
(native-inputs
(list pkg-config apache-thrift))
(outputs '("out" "include"))
(home-page "https://arrow.apache.org/")
(synopsis "Columnar in-memory analytics")
(description "Apache Arrow is a columnar in-memory analytics layer
designed to accelerate big data. It houses a set of canonical in-memory
representations of flat and hierarchical data along with multiple
language-bindings for structure manipulation. It also provides IPC and common
algorithm implementations.")
(license license:asl2.0)))
(define-public python-pyarrow (define-public python-pyarrow
(package (package
(inherit apache-arrow) (inherit apache-arrow)
@ -4253,6 +4442,64 @@ implementation, along with tools for interoperability with pandas, NumPy, and
other traditional Python scientific computing packages.") other traditional Python scientific computing packages.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public python-pyarrow-0.16
(package
(inherit apache-arrow-0.16)
(name "python-pyarrow")
(build-system python-build-system)
(arguments
'(#:tests? #f ; XXX There are no tests in the "python" directory
#:phases
(modify-phases %standard-phases
(delete 'build) ; XXX the build is performed again during the install phase
(add-after 'unpack 'enter-source-directory
(lambda _ (chdir "python")))
(add-after 'unpack 'make-git-checkout-writable
(lambda _
(for-each make-file-writable (find-files "."))))
(add-before 'install 'patch-cmake-variables
(lambda* (#:key inputs #:allow-other-keys)
;; Replace cmake locations with hardcoded guix links for the
;; underlying C++ library and headers. This is a pretty awful
;; hack.
(substitute* "cmake_modules/FindParquet.cmake"
(("# Licensed to the Apache Software Foundation" m)
(string-append "set(PARQUET_INCLUDE_DIR \""
(assoc-ref inputs "apache-arrow:include")
"/share/include\")\n" m))
(("find_package_handle_standard_args" m)
(string-append "set(PARQUET_LIB_DIR \""
(assoc-ref inputs "apache-arrow:lib")
"/lib\")\n" m)))))
(add-before 'install 'patch-parquet-library
(lambda _
(substitute* "CMakeLists.txt"
(("parquet_shared") "parquet"))))
(add-before 'install 'set-PYARROW_WITH_PARQUET
(lambda _
(setenv "PYARROW_WITH_PARQUET" "1"))))))
(propagated-inputs
`(("apache-arrow:lib" ,apache-arrow-0.16)
("apache-arrow:include" ,apache-arrow-0.16 "include")
("python-numpy" ,python-numpy)
("python-pandas" ,python-pandas)
("python-six" ,python-six)))
(native-inputs
(list cmake-minimal
pkg-config
python-cython
python-pytest
python-pytest-runner
python-setuptools-scm))
(outputs '("out"))
(home-page "https://arrow.apache.org/docs/python/")
(synopsis "Python bindings for Apache Arrow")
(description
"This library provides a Pythonic API wrapper for the reference Arrow C++
implementation, along with tools for interoperability with pandas, NumPy, and
other traditional Python scientific computing packages.")
(license license:asl2.0)))
(define-public python-crate (define-public python-crate
(package (package
(name "python-crate") (name "python-crate")

View file

@ -73,7 +73,7 @@
(define-public diffoscope (define-public diffoscope
(package (package
(name "diffoscope") (name "diffoscope")
(version "215") (version "216")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -82,7 +82,7 @@
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "16pyqbyrfsxjnpmr9913x2brz3mxplhz62rxwix1c0p7afwjw835")) (base32 "066w4mcrjvymwii5j5hylcslpz18wgd5afl11z1n3588j8c1zw15"))
(patches (patches
(search-patches "diffoscope-fix-llvm-test.patch")))) (search-patches "diffoscope-fix-llvm-test.patch"))))
(build-system python-build-system) (build-system python-build-system)

View file

@ -93,6 +93,7 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system go) #:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (guix build-system scons) #:use-module (guix build-system scons)
@ -714,10 +715,10 @@ the card and then checks if can read it. It will assure you haven't been sold
a card with a smaller capacity than stated.") a card with a smaller capacity than stated.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public python-parted (define-public python-pyparted
(package (package
(name "python-parted") (name "python-pyparted")
(version "3.11.7") (version "3.12.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -726,20 +727,8 @@ a card with a smaller capacity than stated.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "01193fmkss9icjvqpw85szpk8ld1pnha7p9kqm7mpwk6rc6gi2m3")))) (base32 "0jxc1i1g3lz32wvqvdbb9ng2ypin783004kjnp0pghiz813lpw1d"))))
(build-system python-build-system) (build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'check)
(add-after 'install 'check
(lambda* (#:key outputs inputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
;; See <https://github.com/dcantrell/pyparted/issues/47>.
(substitute* "tests/test__ped_ped.py"
(("\"/tmp/temp-device-\"") "self.path"))
(invoke "python" "-m" "unittest" "discover" "-v")
#t)))))
(native-inputs (native-inputs
(list e2fsprogs pkg-config)) (list e2fsprogs pkg-config))
(propagated-inputs (propagated-inputs
@ -751,6 +740,9 @@ a card with a smaller capacity than stated.")
(description "This package provides @code{parted} bindings for Python.") (description "This package provides @code{parted} bindings for Python.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public python-parted
(deprecated-package "python-parted" python-pyparted))
(define-public duperemove (define-public duperemove
(package (package
(name "duperemove") (name "duperemove")
@ -883,7 +875,7 @@ passphrases.")
(define-public ndctl (define-public ndctl
(package (package
(name "ndctl") (name "ndctl")
(version "72.1") (version "73")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -892,12 +884,16 @@ passphrases.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1lvrhlad5n43bal053ihgbwr1k4ka2kscrjwr9rs5xnf2vy7204v")))) "19kp1ly74bj7gavs03q7caci0lqr0rsi5y45zx5m8in4h19xk1kb"))))
(build-system gnu-build-system) (build-system meson-build-system)
(arguments (arguments
(list #:configure-flags (list #:configure-flags
#~(list "--disable-asciidoctor" ; use docbook-xsl instead #~(list (string-append "-Drootprefix=" #$output)
"--without-systemd") (string-append "-Dbashcompletiondir=" #$output
"/share/bash-completion/completions")
(string-append "-Dsysconfdir=" #$output "/etc")
"-Dasciidoctor=disabled" ; use docbook-xsl instead
"-Dsystemd=disabled")
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'fix-version (add-after 'unpack 'fix-version
@ -910,17 +906,11 @@ passphrases.")
(substitute* "git-version-gen" (substitute* "git-version-gen"
(("/bin/sh") (which "sh"))) (("/bin/sh") (which "sh")))
(substitute* "git-version" (substitute* "git-version"
(("/bin/bash") (which "bash")))))) (("/bin/bash") (which "bash"))))))))
#:make-flags
#~(list (string-append "BASH_COMPLETION_DIR=" #$output
"/share/bash-completion/completions"))))
(native-inputs (native-inputs
(list asciidoc (list asciidoc
automake
autoconf
bash-completion bash-completion
docbook-xsl docbook-xsl
libtool
libxml2 libxml2
pkg-config pkg-config
xmlto xmlto
@ -940,7 +930,7 @@ passphrases.")
libnvdimm (non-volatile memory device) sub-system in the Linux kernel.") libnvdimm (non-volatile memory device) sub-system in the Linux kernel.")
;; COPYING says LGPL2.1, but many source files are GPL2 so that's ;; COPYING says LGPL2.1, but many source files are GPL2 so that's
;; the effective license. Note that some files under ccan/ are ;; the effective license. Note that some files under ccan/ are
;; covered by BSD-3 or public domain, see the individual folders. ;; covered by BSD-3 or public domain, see the individual directories.
(license license:gpl2))) (license license:gpl2)))
(define-public dmraid (define-public dmraid
@ -1253,7 +1243,7 @@ that support this feature).")
(define-public memkind (define-public memkind
(package (package
(name "memkind") (name "memkind")
(version "1.12.0") (version "1.13.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1261,7 +1251,7 @@ that support this feature).")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1s52vl2jlrdc8nxnvf993x9mcag56qxcaniiijhmsv42a26hvjk4")))) (base32 "0zbil6xqmsrnh773ihxyfna6pvvxv3kczdb3g863ssflwwvv7h4w"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list ;; memkind patched jemalloc to add je_arenalookupx, (list ;; memkind patched jemalloc to add je_arenalookupx,

View file

@ -323,8 +323,8 @@ experience for your users, your family and yourself")
vala ;for Vala bindings vala ;for Vala bindings
;; For tests ;; For tests
dbus dbus
;; python-wrapper python-wrapper
;; python-pygobject python-pygobject
which which
yelp-tools)) yelp-tools))
;; Required by liblightdm-gobject-1.pc. ;; Required by liblightdm-gobject-1.pc.

View file

@ -333,14 +333,14 @@ and BOOTP/TFTP for network booting of diskless machines.")
;; When updating, check whether isc-dhcp's bundled copy should be as well. ;; When updating, check whether isc-dhcp's bundled copy should be as well.
;; The BIND release notes are available here: ;; The BIND release notes are available here:
;; https://www.isc.org/bind/ ;; https://www.isc.org/bind/
(version "9.16.29") (version "9.16.30")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://ftp.isc.org/isc/bind9/" version (uri (string-append "https://ftp.isc.org/isc/bind9/" version
"/bind-" version ".tar.xz")) "/bind-" version ".tar.xz"))
(sha256 (sha256
(base32 "0rklj342khnycs462nd3k35yymsdv6ibv352jv1nymmxxfc8yh68")) (base32 "1nv02apqpqk7mi1330jgsacpplhgnkx6mba5nmbsx1x72gqc77q0"))
(patches (patches
(search-patches "bind-re-add-attr-constructor-priority.patch")))) (search-patches "bind-re-add-attr-constructor-priority.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)

View file

@ -372,17 +372,18 @@ for DocBook.")
(description "Documentation for the DocBook DSSSL style sheets.") (description "Documentation for the DocBook DSSSL style sheets.")
(license (license:non-copyleft "file://doc/LEGALNOTICE.htm")))) (license (license:non-copyleft "file://doc/LEGALNOTICE.htm"))))
(define-public docbook-sgml (define-public docbook-sgml-4.2
(package (package
(name "docbook-sgml") (name "docbook-sgml")
(version "4.1") (version "4.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.oasis-open.org/docbook/sgml/" (uri (string-append
version "/docbk41.zip")) "https://www.oasis-open.org/docbook/sgml/4.2/docbook-"
version ".zip"))
(sha256 (sha256
(base32 (base32
"04b3gp4zkh9c5g9kvnywdkdfkcqx3kjc04j4mpkr4xk7lgqgrany")))) "1hrm4qmmzi285bkxkc74lxvjvw2gbl7ycbaxhv31h9rl9g4x5sv7"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
'(#:modules ((guix build utils)) '(#:modules ((guix build utils))
@ -403,8 +404,8 @@ for DocBook.")
;; Reference the ISO 8879 character entities. ;; Reference the ISO 8879 character entities.
;; e.g. "iso-lat1.gml" --> "<iso-entities-dir>/ISOlat1" ;; e.g. "iso-lat1.gml" --> "<iso-entities-dir>/ISOlat1"
(substitute* "docbook.cat" (substitute* "docbook.cat"
(("(.*ISO 8879.*)\"iso-(.*)\\.gml\"" _ head name) (("\"iso-(.*)\\.gml\"" _ name)
(string-append head "\"" iso-entities-dir "/ISO" name "\""))))))) (string-append "\"" iso-entities-dir "/ISO" name "\"")))))))
(native-inputs (native-inputs
(list unzip)) (list unzip))
(inputs (inputs
@ -414,6 +415,20 @@ for DocBook.")
(description "This package provides SGML style sheets for DocBook.") (description "This package provides SGML style sheets for DocBook.")
(license (license:x11-style "" "See file headers.")))) (license (license:x11-style "" "See file headers."))))
(define-public docbook-sgml-4.1
(package
(inherit docbook-sgml-4.2)
(version "4.1")
(source (origin
(method url-fetch)
(uri (string-append "https://www.oasis-open.org/docbook/sgml/"
version "/docbk41.zip"))
(sha256
(base32
"04b3gp4zkh9c5g9kvnywdkdfkcqx3kjc04j4mpkr4xk7lgqgrany"))))))
(define-public docbook-sgml docbook-sgml-4.1)
(define-public docbook-sgml-3.1 (define-public docbook-sgml-3.1
(package (package
(inherit docbook-sgml) (inherit docbook-sgml)

View file

@ -113,6 +113,7 @@
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io> ;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
;;; Copyright © 2022 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com> ;;; Copyright © 2022 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
;;; Copyright © 2022 Thomas Albers Raviola <thomas@thomaslabs.org> ;;; Copyright © 2022 Thomas Albers Raviola <thomas@thomaslabs.org>
;;; Copyright © 2022 Haider Mirza <haider@haider.gq>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -247,7 +248,7 @@
(define-public emacs-geiser (define-public emacs-geiser
(package (package
(name "emacs-geiser") (name "emacs-geiser")
(version "0.23.1") (version "0.23.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -256,7 +257,7 @@
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1lvnk71fb4qkh8a7h7spsdhmc9nnj1lwgp9wr3c2fgzjqsl62kgr")))) (base32 "0p5cwx0xwva4ajgj8hnrk8bx6n3hv1z7aqs4zivp81crnq4077yw"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
'(#:phases '(#:phases
@ -278,7 +279,7 @@
(list texinfo)) (list texinfo))
(propagated-inputs (propagated-inputs
(list emacs-project emacs-transient)) (list emacs-project emacs-transient))
(home-page "https://nongnu.org/geiser/") (home-page "https://www.nongnu.org/geiser/")
(synopsis "Collection of Emacs modes for Scheme hacking") (synopsis "Collection of Emacs modes for Scheme hacking")
(description (description
"Geiser is a collection of Emacs major and minor modes that conspire with "Geiser is a collection of Emacs major and minor modes that conspire with
@ -296,7 +297,7 @@ e.g. emacs-geiser-guile for Guile.")
(define-public emacs-geiser-guile (define-public emacs-geiser-guile
(package (package
(name "emacs-geiser-guile") (name "emacs-geiser-guile")
(version "0.23") (version "0.23.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -305,13 +306,19 @@ e.g. emacs-geiser-guile for Guile.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1v9f90smnk41nz1pjy5mwz199y8p4qar3llgaryzxr7s4wg2v9wi")))) (base32 "18m5ldj4r4c2hxgvv5b4azl90r8az1kn5f3s913h971asyv4wx06"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
(list (list
#:include #~(cons "^src/" %default-include) #:include #~(cons "^src/" %default-include)
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-geiser-guile-binary
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "geiser-guile.el"
(("\\(t \"guile\")")
(format #f "(t ~s)"
(search-input-file inputs "bin/guile"))))))
(add-after 'make-autoloads 'patch-autoloads (add-after 'make-autoloads 'patch-autoloads
(lambda _ (lambda _
(substitute* (string-append (elpa-directory #$output) (substitute* (string-append (elpa-directory #$output)
@ -321,11 +328,9 @@ e.g. emacs-geiser-guile for Guile.")
(("\\(geiser-activate-implementation .*\\)" all) (("\\(geiser-activate-implementation .*\\)" all)
(string-append (string-append
"(eval-after-load 'geiser-impl '" all ")")))))))) "(eval-after-load 'geiser-impl '" all ")"))))))))
(inputs (inputs (list guile-3.0))
(list guile-3.0)) (propagated-inputs (list emacs-geiser))
(propagated-inputs (home-page "https://www.nongnu.org/geiser/")
(list emacs-geiser))
(home-page "https://nongnu.org/geiser/")
(synopsis "Guile Scheme support for Geiser") (synopsis "Guile Scheme support for Geiser")
(description (description
"This package adds support for the Guile Scheme implementation to Geiser, "This package adds support for the Guile Scheme implementation to Geiser,
@ -358,34 +363,57 @@ using geiser.")
(home-page "https://github.com/xiaohanyu/ac-geiser")))) (home-page "https://github.com/xiaohanyu/ac-geiser"))))
(define-public emacs-geiser-gauche (define-public emacs-geiser-gauche
(package ;; The latest 0.14 release has an unbound variable (geiser-scheme-dir).
(name "emacs-geiser-gauche") (let ((commit "96fa06aaeef18cc1b3b519e83dbb7be09eeb0d07")
(version "0.0.2") (revision "0"))
(source (package
(origin (name "emacs-geiser-gauche")
(method git-fetch) (version (git-version "0.14" revision commit))
(uri (git-reference (source
(url "https://gitlab.com/emacs-geiser/gauche.git") (origin
(commit version))) (method git-fetch)
(file-name (git-file-name name version)) (uri (git-reference
(sha256 (url "https://gitlab.com/emacs-geiser/gauche.git")
(base32 "0rxncnzx7qgcpvc8nz0sd8r0hwrplazzraahdwhbpq0q6z8ywqgg")))) (commit commit)))
(build-system emacs-build-system) (file-name (git-file-name name version))
(arguments (sha256
`(#:include (cons "^geiser-gauche\\.scm$" %default-include))) (base32 "1ppracwfl1snq0ifdlyxpdlv7fbn3pbxm1hd1ihgqivii5nbya9r"))))
(native-inputs (build-system emacs-build-system)
(list emacs-geiser)) (arguments
(home-page "https://gitlab.com/emacs-geiser/gauche") (list
(synopsis "Gauche Scheme support for Geiser") #:include '(cons "^geiser-gauche\\.scm$" %default-include)
(description #:phases
"This package adds support for the Gauche Scheme implementation to Geiser, #~(modify-phases %standard-phases
(add-after 'unpack 'patch-geiser-gauche-binary
(lambda* (#:key inputs #:allow-other-keys)
(emacs-substitute-sexps "geiser-gauche.el"
("geiser-custom--defcustom geiser-gauche-binary"
(search-input-file inputs "bin/gosh")))))
(add-after 'make-autoloads 'patch-autoloads
(lambda _
(substitute* (string-append (elpa-directory #$output)
"/geiser-gauche-autoloads.el")
;; Activating implementations fails when Geiser is not yet
;; loaded, so let's defer that until it is.
(("\\(geiser-activate-implementation .*\\)" all)
(string-append
"(eval-after-load 'geiser-impl '" all ")"))
(("\\(geiser-implementation-extension .*\\)" all)
(string-append
"(eval-after-load 'geiser-impl '" all ")"))))))))
(inputs (list gauche))
(propagated-inputs (list emacs-geiser))
(home-page "https://gitlab.com/emacs-geiser/gauche")
(synopsis "Gauche Scheme support for Geiser")
(description
"This package adds support for the Gauche Scheme implementation to Geiser,
a generic Scheme interaction mode for the GNU Emacs editor.") a generic Scheme interaction mode for the GNU Emacs editor.")
(license license:expat))) (license license:expat))))
(define-public emacs-geiser-racket (define-public emacs-geiser-racket
(package (package
(name "emacs-geiser-racket") (name "emacs-geiser-racket")
(version "0.16") (version "1.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -394,13 +422,19 @@ a generic Scheme interaction mode for the GNU Emacs editor.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1aqsvmk1hi7kc3j4h8xlza7c6rwm71v98fv5wpw8kmyj9vsp49wx")))) (base32 "04gwd9qa0785zfr6m9a5443ilgvyz05l06cb1waicf83sgp8xl32"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
(list (list
#:include #~(cons "^src/" %default-include) #:include #~(cons "^src/" %default-include)
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-geiser-racket-binary
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "geiser-racket.el"
(("\\(t \"racket\")")
(format #f "(t ~s)"
(search-input-file inputs "bin/racket"))))))
(add-after 'make-autoloads 'patch-autoloads (add-after 'make-autoloads 'patch-autoloads
(lambda _ (lambda _
(substitute* (string-append (elpa-directory #$output) (substitute* (string-append (elpa-directory #$output)
@ -410,14 +444,12 @@ a generic Scheme interaction mode for the GNU Emacs editor.")
(("\\(geiser-activate-implementation .*\\)" all) (("\\(geiser-activate-implementation .*\\)" all)
(string-append (string-append
"(eval-after-load 'geiser-impl '" all ")")) "(eval-after-load 'geiser-impl '" all ")"))
(("\\(geiser-implementation-extension .*\\)" all) (("\\(geiser-implementation-extension .*\\)" all)
(string-append (string-append
"(eval-after-load 'geiser-impl '" all ")")))))))) "(eval-after-load 'geiser-impl '" all ")"))))))))
(inputs (inputs (list racket))
(list racket)) (propagated-inputs (list emacs-geiser))
(propagated-inputs (home-page "https://www.nongnu.org/geiser/")
(list emacs-geiser))
(home-page "https://nongnu.org/geiser/")
(synopsis "Racket support for Geiser") (synopsis "Racket support for Geiser")
(description (description
"This package adds support for the Racket implementation to Geiser, "This package adds support for the Racket implementation to Geiser,
@ -537,6 +569,27 @@ editing @file{.hgignore} files used by the Mercurial version control
system.") system.")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public emacs-platformio-mode
(package
(name "emacs-platformio-mode")
(version "0.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ZachMassia/PlatformIO-Mode")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0ian50v9vaz7kqzn20bhqadq50h0l3zhjkmniinpz4q9klh7drh9"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-async emacs-projectile))
(home-page "https://github.com/zachmassia/platformio-mode")
(synopsis "Minor mode for building and uploading PlatformIO projects")
(description "This package provices an Emacs minor mode for building and
uploading PlatformIO projects.")
(license license:gpl3+)))
(define-public emacs-hyperbole (define-public emacs-hyperbole
(package (package
(name "emacs-hyperbole") (name "emacs-hyperbole")
@ -1377,7 +1430,7 @@ organizing remote Go repository clones.")
(define-public emacs-ghub (define-public emacs-ghub
(package (package
(name "emacs-ghub") (name "emacs-ghub")
(version "3.5.5") (version "3.5.6")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1386,7 +1439,7 @@ organizing remote Go repository clones.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1px27nh4cr3r16qmvig72jdirjzllvm2m4dzm59kfznhg3rf7vj0")))) (base32 "1pw1rjrvvanlcxv3rb64s2p646zfaipp7h7v8djlrrnlgy6mwbqd"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
(list (list
@ -3916,7 +3969,7 @@ evaluations. The entry point is @code{M-x build-farm} command.")
(define-public emacs-d-mode (define-public emacs-d-mode
(package (package
(name "emacs-d-mode") (name "emacs-d-mode")
(version "2.0.11") (version "2.0.12")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -3925,7 +3978,7 @@ evaluations. The entry point is @code{M-x build-farm} command.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0vkl470vvmxap8ca773a0jvjvalmvdbbax3qvgjdclp54ml75al4")))) (base32 "0mwd412d2kha8avkyhvvkh8r7an859xk18f7phgx7kj989pr3xkr"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
(list emacs-undercover)) (list emacs-undercover))
@ -4136,16 +4189,16 @@ in the center.")
(define-public emacs-undo-tree (define-public emacs-undo-tree
(package (package
(name "emacs-undo-tree") (name "emacs-undo-tree")
(version "0.8.1") (version "0.8.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://gitlab.com/tsc25/undo-tree") (url "https://gitlab.com/tsc25/undo-tree")
(commit (string-append "release/" version)))) (commit "42aab056e37e033816b2d192f9121b89410b958e"))) ; no 0.8.2 tag
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1khkwrrbwaimspc013n4k9mpv8g302r0zkrsqnza2x1d3qznn08y")))) (base32 "1xvkxc078b4z5zqwndz6jcv4ga8yd2ci32v7l8pdvqjmz7fq7bfz"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
(list emacs-queue)) (list emacs-queue))
@ -9845,10 +9898,10 @@ navigate code in a tree-like fashion.")
(define-public emacs-lispy (define-public emacs-lispy
;; No release since May 2019 and tons of fixes have landed on master. ;; No release since May 2019 and tons of fixes have landed on master.
;; https://github.com/abo-abo/lispy/issues/513 ;; https://github.com/abo-abo/lispy/issues/513
(let ((commit "38a7df4cbb16cfe3d62dc8ea98b50e2d9a572e58")) (let ((commit "df1b7e614fb0f73646755343e8892ddda310f427"))
(package (package
(name "emacs-lispy") (name "emacs-lispy")
(version (git-version "0.27.0" "2" commit)) (version (git-version "0.27.0" "3" commit))
(home-page "https://github.com/abo-abo/lispy") (home-page "https://github.com/abo-abo/lispy")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -9857,7 +9910,7 @@ navigate code in a tree-like fashion.")
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 (base32
"1q3sgk8ffwajmh8l7c4p4fz36xw4fqds8yqblbi5kardaa8bs8cs")) "02pmnn9cqslahnvllqzawp2j5icmb3wgkrk4qrfxjds68jg7pjj4"))
(patches (patches
(search-patches "emacs-lispy-fix-thread-last-test.patch")) (search-patches "emacs-lispy-fix-thread-last-test.patch"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
@ -11233,14 +11286,14 @@ of its name.")
(define-public emacs-rainbow-mode (define-public emacs-rainbow-mode
(package (package
(name "emacs-rainbow-mode") (name "emacs-rainbow-mode")
(version "1.0.5") (version "1.0.6")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/" (uri (string-append "https://elpa.gnu.org/packages/"
"rainbow-mode-" version ".el")) "rainbow-mode-" version ".tar"))
(sha256 (sha256
(base32 "159fps843k5pap9k04a7ll1k3gw6d9c6w08lq4bbc3lqg78aa2l9")))) (base32 "04v73cm1cap19vwc8lqsw0rmfr9v7r3swc4wgxnk9dnzxi9j2527"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/rainbow-mode.html") (home-page "https://elpa.gnu.org/packages/rainbow-mode.html")
(synopsis "Colorize color names in buffers") (synopsis "Colorize color names in buffers")
@ -12826,7 +12879,7 @@ passive voice.")
(define-public emacs-org (define-public emacs-org
(package (package
(name "emacs-org") (name "emacs-org")
(version "9.5.3") (version "9.5.4")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -12835,7 +12888,7 @@ passive voice.")
(commit (string-append "release_" version)))) (commit (string-append "release_" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0h1n6gqxv3kj3y98n5547rhpw4qnp03lfar79npb4paqgpxf76wb")))) (base32 "1an866kkn5r84933s04agm1c3197kza2pvk8lqp2xzpjd09ba394"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
`(#:tests? #t `(#:tests? #t
@ -18587,6 +18640,28 @@ files, allowing for actions to be performed based on search criteria.")
Chinese to English.") Chinese to English.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-org-auto-tangle
(package
(name "emacs-org-auto-tangle")
(version "0.4.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/yilkalargaw/org-auto-tangle")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1zb7vcmhmjiqpbbhqrqci689rnpn10p985cs5jk9sgg66xsbrgs3"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-async))
(home-page "https://github.com/yilkalargaw/org-auto-tangle")
(synopsis "Automatically tangle code blocks on save")
(description
"@code{org-auto-tangle} allows you to automatically tangle code blocks
whenever saving an @code{org-mode} file.")
(license license:bsd-2)))
(define-public emacs-org-auto-expand (define-public emacs-org-auto-expand
(let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62") (let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62")
(revision "1")) (revision "1"))
@ -19494,16 +19569,14 @@ or expressions with SVG rounded box labels that are fully customizable.")
(define-public emacs-kind-icon (define-public emacs-kind-icon
(package (package
(name "emacs-kind-icon") (name "emacs-kind-icon")
(version "0.1.4") (version "0.1.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append "https://elpa.gnu.org/packages/kind-icon-"
"https://elpa.gnu.org/packages/kind-icon-" version ".tar"))
version
".tar"))
(sha256 (sha256
(base32 "00pyvnq4dx51l2wbhvm6k6cx5xmy32j4h1lkr5kr8s3j5w83ip25")))) (base32 "0qajj89vkgc9gbgff6akzll53jy0kgkv6c9jvwpl32rbg8v0wp63"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (list emacs-svg-lib)) (propagated-inputs (list emacs-svg-lib))
(home-page "https://github.com/jdtsmith/kind-icon") (home-page "https://github.com/jdtsmith/kind-icon")
@ -24857,45 +24930,53 @@ the standard @code{Dockerfile} file format.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public emacs-lsp-mode (define-public emacs-lsp-mode
(package (let ((commit "4aafe25e03ab7470b8d3c1cb326affa3c5e9930e")
(name "emacs-lsp-mode") (revision "0"))
(version "8.0.0") (package
(source (name "emacs-lsp-mode")
(origin (version (git-version "8.0.1" revision commit))
(method git-fetch) (source
(uri (git-reference (origin
(url "https://github.com/emacs-lsp/lsp-mode") (method git-fetch)
(commit version))) (uri (git-reference
(file-name (git-file-name name version)) (url "https://github.com/emacs-lsp/lsp-mode")
(sha256 (commit commit)))
(base32 "1a6jc9sxf9b8fj9h8xlv5k546bkzsy8j5nj19cfama389z0bzcsl")))) (file-name (git-file-name name version))
(build-system emacs-build-system) (sha256
(arguments (base32 "01csz4vr3fg1q2py45mxj5j8bkvckn3daam1jafb2gg9gjc9bp7z"))))
`(#:emacs ,emacs ;need libxml support (build-system emacs-build-system)
#:phases (arguments
(modify-phases %standard-phases `(#:emacs ,emacs ;need libxml support
(add-after 'unpack 'move-clients-libraries #:phases
;; Move all clients libraries at top-level, as is done, e.g., in (modify-phases %standard-phases
;; MELPA. (add-after 'unpack 'move-clients-libraries
(lambda _ ;; Move all clients libraries at top-level, as is done, e.g., in
(for-each (lambda (f) ;; MELPA.
(install-file f ".")) (lambda _
(find-files "clients/" "\\.el$"))))))) (for-each (lambda (f)
(propagated-inputs (install-file f "."))
(list emacs-dash (find-files "clients/" "\\.el$"))))
emacs-f (add-before 'move-clients-libraries 'fix-patch-el-files
emacs-ht ;; /bin/ksh is only used on macOS, which we don't support, so we
emacs-hydra ;; don't want to add it as input.
emacs-markdown-mode (lambda _
emacs-spinner)) (substitute* '("clients/lsp-csharp.el" "clients/lsp-fsharp.el")
(home-page "https://emacs-lsp.github.io/lsp-mode/") (("/bin/ksh") "ksh")))))))
(synopsis "Emacs client and library for the Language Server Protocol") (propagated-inputs
(description (list emacs-dash
"LSP mode is a client and library implementation for the Language Server emacs-f
Protocol. This mode creates an IDE-like experience by providing optional emacs-ht
integration with other popular Emacs packages like Company, Flycheck, and emacs-hydra
Projectile.") emacs-markdown-mode
(license license:gpl3+))) emacs-spinner))
(home-page "https://emacs-lsp.github.io/lsp-mode/")
(synopsis "Emacs client and library for the Language Server Protocol")
(description
"LSP mode is a client and library implementation for the Language
Server Protocol. This mode creates an IDE-like experience by providing
optional integration with other popular Emacs packages like Company, Flycheck,
and Projectile.")
(license license:gpl3+))))
(define-public emacs-lsp-treemacs (define-public emacs-lsp-treemacs
(package (package
@ -27826,7 +27907,7 @@ Emacs that integrate with major modes like Org-mode.")
(define-public emacs-modus-themes (define-public emacs-modus-themes
(package (package
(name "emacs-modus-themes") (name "emacs-modus-themes")
(version "2.4.0") (version "2.4.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -27835,7 +27916,7 @@ Emacs that integrate with major modes like Org-mode.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0ia6r68fqbv64r9jm92vmqypq15nl8yy07n18hqrfbp1fy47zds1")))) (base32 "0b4y8dzyc9qwwaf2ngqiwyfcnhwlr49kxhc96laqk20lvjlfsrnx"))))
(native-inputs (list texinfo)) (native-inputs (list texinfo))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
@ -27937,28 +28018,30 @@ and it should work well with 256 color terminals.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-dimmer (define-public emacs-dimmer
(package (let ((commit "2f915b100044e09dd647b22085e1696249c4b115")
(name "emacs-dimmer") (revision "1"))
(version "0.4.2") (package
(source (name "emacs-dimmer")
(origin (version (git-version "0.4.2" revision commit))
(method git-fetch) (source
(uri (git-reference (origin
(url "https://github.com/gonewest818/dimmer.el") (method git-fetch)
(commit version))) (uri (git-reference
(file-name (git-file-name name version)) (url "https://github.com/gonewest818/dimmer.el")
(sha256 (commit commit)))
(base32 (file-name (git-file-name name version))
"0dw0qh5hm1x76s5cqxvylvmjgy0jwy11xm258g6kmx6w1k6r1d2l")))) (sha256
(build-system emacs-build-system) (base32
(home-page "https://github.com/gonewest818/dimmer.el") "00y6645zjary1sz7517qy5pjwfm5ipsc46sypmdygin65hbbc8wg"))))
(synopsis "Visually highlights the selected buffer in Emacs") (build-system emacs-build-system)
(description "Dimmer provides a minor mode that indicates which buffer is (home-page "https://github.com/gonewest818/dimmer.el")
(synopsis "Visually highlights the selected buffer in Emacs")
(description "Dimmer provides a minor mode that indicates which buffer is
currently active by dimming the faces in the other buffers. It does this currently active by dimming the faces in the other buffers. It does this
nondestructively, and computes the dimmed faces dynamically such that your nondestructively, and computes the dimmed faces dynamically such that your
overall color scheme is shown in a muted form without requiring you to define overall color scheme is shown in a muted form without requiring you to define
what is a \"dim\" version of every face.") what is a \"dim\" version of every face.")
(license license:gpl3+))) (license license:gpl3+))))
(define-public emacs-minibuffer-line (define-public emacs-minibuffer-line
(package (package
@ -31512,6 +31595,59 @@ zoomable and moveable map display, display of tracks and POIs from GPX files,
parallel fetching of tiles with cURL, and more.") parallel fetching of tiles with cURL, and more.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-corfu-terminal
;; Upstream does not tag releases, version taken from package header.
(let ((commit "7c5a8a1c07b6c1a41b358b083d5bf7773701d26b")
(revision "0"))
(package
(name "emacs-corfu-terminal")
(version (git-version "0.4" revision commit))
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://codeberg.org/akib/emacs-corfu-terminal")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0pk5vfcz8w4hiqrwzwpxdjzlbhla0bw7a1h6v0mqxad0j9y7v3nw"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-corfu emacs-popon))
(home-page "https://codeberg.org/akib/emacs-corfu-terminal/")
(synopsis "Replace corfu child frames with popups")
(description
"This package replaces the child frames @code{emacs-corfu} uses
with popups, which also work in the terminal.")
(license license:gpl3+))))
(define-public emacs-corfu-doc-terminal
;; Upstream does not tag releases, version taken from package header.
(let ((commit "d8945c64b52d76e864b767b3048674f222daf80b")
(revision "0"))
(package
(name "emacs-corfu-doc-terminal")
(version (git-version "0.5" revision commit))
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://codeberg.org/akib/emacs-corfu-doc-terminal")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0j0dd8np5x93wic22bc5i9h7bq2gj700n4fh11dzzgsj14lv2r5k"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-corfu emacs-corfu-doc emacs-corfu-terminal emacs-popon))
(home-page "https://codeberg.org/akib/emacs-corfu-doc-terminal/")
(synopsis "Replace corfu docmentation child frames with popups")
(description
"This package replaces the child frames @code{emacs-corfu-doc} uses
with popups, which also work in the terminal.")
(license license:gpl3+))))
(define-public emacs-popon (define-public emacs-popon
;; Upstream does not tag releases. The commit below matches the version ;; Upstream does not tag releases. The commit below matches the version
;; bump. ;; bump.

View file

@ -68,6 +68,7 @@
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages pdf) #:use-module (gnu packages pdf)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages selinux)
#:use-module (gnu packages texinfo) #:use-module (gnu packages texinfo)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages web) ; for jansson #:use-module (gnu packages web) ; for jansson
@ -262,7 +263,6 @@
;; This is not needed for (modern) IMAP. ;; This is not needed for (modern) IMAP.
mailutils mailutils
;; TODO: Add the optional dependencies.
gpm gpm
libx11 libx11
gtk+ gtk+
@ -272,7 +272,9 @@
libxft libxft
libtiff libtiff
giflib giflib
lcms
libjpeg-turbo libjpeg-turbo
libselinux
acl acl
jansson jansson
gmp gmp

View file

@ -1840,7 +1840,8 @@ an embedded event driven algorithm.")
(arguments (arguments
(substitute-keyword-arguments (package-arguments libngspice) (substitute-keyword-arguments (package-arguments libngspice)
((#:configure-flags flags) ((#:configure-flags flags)
`(delete "--with-ngshared" ,flags)) `(cons "--with-readline=yes"
(delete "--with-ngshared" ,flags)))
((#:phases phases) ((#:phases phases)
`(modify-phases ,phases `(modify-phases ,phases
(add-after 'unpack 'delete-include-files (add-after 'unpack 'delete-include-files
@ -2430,111 +2431,106 @@ OpenSCAD code. It supports syntax highlighting, indenting and refilling of
comments."))) comments.")))
(define-public freecad (define-public freecad
;; FIXME: We use a commit directly because upstream has compatibility fixes (package
;; that are not in a release yet for boost, opencascade-occt-7.6 and vtk-9. (name "freecad")
;; Switch back to a regular version (probably 0.20) when it is released. (version "0.20")
(let ((commit "09a05a9cd0c4692a57a3e038268b4389b4657fc6") (source
(revision "0")) (origin
(package (method git-fetch)
(name "freecad") (uri (git-reference
(version (git-version "0.19.3" revision commit)) (url "https://github.com/FreeCAD/FreeCAD")
(source (commit version)))
(origin (file-name (git-file-name name version))
(method git-fetch) (sha256
(uri (git-reference (base32 "14bn75bjh93f8k3hinqw913z1q0ywq7niklwbbd99hf5n342hsv4"))))
(url "https://github.com/FreeCAD/FreeCAD") (build-system qt-build-system)
(commit commit))) (native-inputs
(file-name (git-file-name name version)) (list doxygen
(sha256 graphviz
(base32 "0818basym0n44dsgix0yv1l00xgv9igrr7wkszd8x74lh1rr591r")))) qttools
(build-system qt-build-system) pkg-config
(native-inputs python-pyside-2-tools
(list doxygen swig))
graphviz (inputs
qttools (list boost
pkg-config coin3D
python-pyside-2-tools double-conversion
swig)) eigen
(inputs fontconfig
(list boost freetype
coin3D gl2ps
double-conversion glew
eigen hdf5-1.10
fontconfig jsoncpp
freetype libarea
gl2ps libjpeg-turbo
glew libmedfile
hdf5-1.10 libspnav
jsoncpp libtheora
libarea libtiff
libjpeg-turbo libxi
libmedfile libxml++
libspnav libxmu
libtheora lz4
libtiff netcdf
libxi opencascade-occt
libxml++ openmpi
libxmu proj
lz4 python-gitpython
netcdf python-matplotlib
opencascade-occt python-pivy
openmpi python-ply
proj python-pyside-2
python-gitpython python-pyyaml
python-matplotlib python-shiboken-2
python-pivy python-wrapper
python-ply qtbase-5
python-pyside-2 qtdeclarative
python-pyyaml qtsvg
python-shiboken-2 qtwebchannel
python-wrapper qtwebengine
qtbase-5 qtx11extras
qtdeclarative qtxmlpatterns
qtsvg sqlite
qtwebchannel tbb-2020 ; Same version as opencascade-occt
qtwebengine vtk
qtx11extras xerces-c
qtxmlpatterns zlib))
sqlite (arguments
tbb-2020 ; Same version as opencascade-occt `(#:tests? #f ; Project has no tests
vtk #:configure-flags
xerces-c ,#~(list
zlib)) "-DBUILD_QT5=ON"
(arguments "-DBUILD_FLAT_MESH:BOOL=ON"
`(#:tests? #f ; Project has no tests "-DBUILD_ENABLE_CXX_STD:STRING=C++17"
#:configure-flags (string-append "-DCMAKE_INSTALL_LIBDIR=" #$output "/lib"))
,#~(list #:phases
"-DBUILD_QT5=ON" (modify-phases %standard-phases
"-DBUILD_FLAT_MESH:BOOL=ON" (add-before 'configure 'restore-pythonpath
"-DBUILD_ENABLE_CXX_STD:STRING=C++17" (lambda _
(string-append "-DCMAKE_INSTALL_LIBDIR=" #$output "/lib")) (substitute* "src/Main/MainGui.cpp"
#:phases (("_?putenv\\(\"PYTHONPATH=\"\\);") ""))))
(modify-phases %standard-phases (add-after 'install 'wrap-pythonpath
(add-before 'configure 'restore-pythonpath (lambda* (#:key outputs #:allow-other-keys)
(lambda _ (let ((out (assoc-ref outputs "out")))
(substitute* "src/Main/MainGui.cpp" (wrap-program (string-append out "/bin/FreeCAD")
(("_?putenv\\(\"PYTHONPATH=\"\\);") "")))) (list "GUIX_PYTHONPATH"
(add-after 'install 'wrap-pythonpath 'prefix (list (getenv "GUIX_PYTHONPATH"))))))))))
(lambda* (#:key outputs #:allow-other-keys) (home-page "https://www.freecadweb.org/")
(let ((out (assoc-ref outputs "out"))) (synopsis "Your Own 3D Parametric Modeler")
(wrap-program (string-append out "/bin/FreeCAD") (description
(list "GUIX_PYTHONPATH" "FreeCAD is a general purpose feature-based, parametric 3D modeler for
'prefix (list (getenv "GUIX_PYTHONPATH"))))))))))
(home-page "https://www.freecadweb.org/")
(synopsis "Your Own 3D Parametric Modeler")
(description
"FreeCAD is a general purpose feature-based, parametric 3D modeler for
CAD, MCAD, CAx, CAE and PLM, aimed directly at mechanical engineering and CAD, MCAD, CAx, CAE and PLM, aimed directly at mechanical engineering and
product design but also fits a wider range of uses in engineering, such as product design but also fits a wider range of uses in engineering, such as
architecture or other engineering specialties. It is 100% Open Source (LGPL2+ architecture or other engineering specialties. It is 100% Open Source (LGPL2+
license) and extremely modular, allowing for very advanced extension and license) and extremely modular, allowing for very advanced extension and
customization.") customization.")
(license (license
(list (list
license:lgpl2.1+ license:lgpl2.1+
license:lgpl2.0+ license:lgpl2.0+
license:gpl3+ license:gpl3+
license:bsd-3))))) license:bsd-3))))
(define-public libmedfile (define-public libmedfile
(package (package
@ -2740,21 +2736,19 @@ export filters.")
(define-public meshlab (define-public meshlab
(package (package
(name "meshlab") (name "meshlab")
(version "2020.06") (version "2022.02")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/cnr-isti-vclab/meshlab") (url "https://github.com/cnr-isti-vclab/meshlab")
(commit (string-append "Meshlab-" version)) (commit (string-append "MeshLab-" version))
(recursive? #t))) (recursive? #t)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1cgx24wxh2ah5pff51rcrk6x8qcdjpkxcdak7s4cfzmxvjlshydd")))) (base32 "0dkh9qw9z2160s6gjiv0a601kp6hvl66cplvi8rfc892zcykgiwd"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs (inputs
(list qtbase-5 (list qtbase-5
qtscript
qtxmlpatterns
mesa mesa
glu glu
glew glew
@ -2764,34 +2758,29 @@ export filters.")
libfreenect libfreenect
lib3ds lib3ds
openctm openctm
;; FIXME: Compilation fails with system qhull: qhull))
;; https://github.com/cnr-isti-vclab/meshlab/issues/678
;; ("qhull" ,qhull)
))
(arguments (arguments
`(#:tests? #f ; Has no tests (list #:tests? #f ; Has no tests
#:phases #:configure-flags
(modify-phases %standard-phases #~(list (string-append "-DCMAKE_MODULE_LINKER_FLAGS=-Wl,-rpath="
(add-after 'unpack 'go-to-source-dir #$output "/lib/meshlab")
(lambda _ (chdir "src") #t)) (string-append "-DCMAKE_SHARED_LINKER_FLAGS=-Wl,-rpath="
(add-after 'install 'move-files #$output "/lib/meshlab")
(lambda* (#:key outputs #:allow-other-keys) (string-append "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath="
(let ((lib (string-append (assoc-ref outputs "out") #$output "/lib/meshlab"))
"/lib"))) #:phases
(rename-file #~(modify-phases %standard-phases
(string-append lib "/meshlab/libmeshlab-common.so") (add-after 'unpack 'go-to-source-dir
(string-append lib "/libmeshlab-common.so")) (lambda _ (chdir "src"))))))
#t))))))
(synopsis "3D triangular mesh processing and editing software") (synopsis "3D triangular mesh processing and editing software")
(home-page "https://www.meshlab.net/") (home-page "https://www.meshlab.net/")
(description "MeshLab is a system for the processing and (description "MeshLab is a system for the processing and editing of large,
editing of unstructured large 3D triangular meshes. It is aimed to help the unstructured, 3D triangular meshes. It is aimed to help the processing of the
processing of the typical not-so-small unstructured models arising in 3D typical, not-so-small unstructured models arising in 3D scanning, providing a
scanning, providing a set of tools for editing, cleaning, healing, inspecting, set of tools for editing, cleaning, healing, inspecting, rendering and
rendering and converting this kind of meshes. These tools include MeshLab converting this kind of meshes. These tools include MeshLab proper, a
proper, a versatile program with a graphical user interface, and meshlabserver, versatile program with a graphical user interface, and @samp{meshlabserver}, a
a program that can perform mesh processing tasks in batch mode, without a program that can perform mesh processing tasks in batch mode, without a GUI.")
GUI.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public poke (define-public poke

View file

@ -4,6 +4,7 @@
;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Nikita <nikita@n0.is> ;;; Copyright © 2018 Nikita <nikita@n0.is>
;;; Copyright © 2020-2022 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2021 Oskar Köök <oskar@maatriks.ee> ;;; Copyright © 2021 Oskar Köök <oskar@maatriks.ee>
;;; Copyright © 2021 Cees de Groot <cg@evrl.com> ;;; Copyright © 2021 Cees de Groot <cg@evrl.com>
;;; ;;;
@ -26,6 +27,7 @@
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system emacs) #:use-module (guix build-system emacs)
#:use-module (guix build-system rebar)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix packages) #:use-module (guix packages)
@ -35,6 +37,7 @@
#:use-module (gnu packages gl) #:use-module (gnu packages gl)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages version-control)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages wxwidgets)) #:use-module (gnu packages wxwidgets))
@ -203,3 +206,493 @@ built-in support for concurrency, distribution and fault tolerance.")
"This package provides an Emacs major mode for editing Erlang source "This package provides an Emacs major mode for editing Erlang source
files.") files.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public erlang-bbmustache
(package
(name "erlang-bbmustache")
(version "1.12.2")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "bbmustache" version))
(sha256
(base32 "0fvvaxdpziygxl30j59g98qkh2n47xlb7w5dfpsm2bfcsnj372v8"))))
(build-system rebar-build-system)
(inputs
(list erlang-getopt rebar3-git-vsn
erlang-edown)) ; for building the docs
(arguments
`(#:tests? #f ;; requires mustache specification file
#:phases
(modify-phases %standard-phases
(add-before 'build 'build-more
(lambda _
(invoke "rebar3" "as" "dev" "escriptize")))
(add-after 'install 'install-escript
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(install-file "_build/dev/bin/bbmustache"
(string-append out "/bin"))))))))
(home-page "https://github.com/soranoba/bbmustache/")
(synopsis "Binary pattern match Based Mustache template engine for Erlang")
(description "This Erlang library provides a Binary pattern match Based
Mustache template engine")
(license license:expat)))
(define-public erlang-certifi
(package
(name "erlang-certifi")
(version "2.9.0")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "certifi" version))
(sha256
(base32 "0ha6vmf5p3xlbf5w1msa89frhvfk535rnyfybz9wdmh6vdms8v96"))))
(build-system rebar-build-system)
(arguments
`(#:tests? #f)) ;; have not been updated for latest cert bundle
(home-page "https://github.com/certifi/erlang-certifi/")
(synopsis "Erlang CA certificate bundle")
(description "This Erlang library contains a CA bundle that you can
reference in your Erlang application. This is useful for systems that do not
have CA bundles that Erlang can find itself, or where a uniform set of CAs is
valuable.
This an Erlang specific port of certifi. The CA bundle is derived from
Mozilla's canonical set.")
(license license:bsd-3)))
(define-public erlang-cf
(package
(name "erlang-cf")
(version "0.3.1")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "cf" version))
(sha256
(base32 "0wknz4xkqkhgvlx4vx5619p8m65v7g87lfgsvfy04jrsgm28spii"))))
(build-system rebar-build-system)
(home-page "https://github.com/project-fifo/cf")
(synopsis "Terminal colour helper for Erlang io and io_lib")
(description "This package provides a helper library for termial colour
printing extending the io:format syntax to add colours.")
(license license:expat)))
(define-public erlang-covertool
(package
(name "erlang-covertool")
(version "2.0.4")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "covertool" version))
(sha256
(base32 "1p0c1n3nl4063xwi1sv176l1x68xqf07qwvj444a5z888fx6i5aw"))))
(build-system rebar-build-system)
(home-page "https://github.com/covertool/covertool")
(synopsis "Convert code-coverage data generated by @code{cover} into
Cobertura XML reports")
(description "This package provides a build tool and plugin to convert
exported Erlang @code{cover} data sets into Cobertura XML reports, which can
then be feed to the Jenkins Cobertura plug-in.
On @emph{hex.pm}, this plugin was previously called @code{rebar_covertool}.")
(license license:bsd-2)))
(define-public erlang-cth-readable
(package
(name "erlang-cth-readable")
(version "1.5.1")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "cth_readable" version))
(sha256
(base32 "104xgybb6iciy6i28pyyrarqzliddi8kjyq43ajaav7y5si42rb8"))))
(build-system rebar-build-system)
(propagated-inputs
(list erlang-cf))
(arguments
`(#:tests? #f)) ;; no test-suite in hex-pm package
(home-page "https://github.com/ferd/cth_readable")
(synopsis "Common Test hooks for more readable logs for Erlang")
(description "This package provides an OTP library to be used for CT log
outputs you want to be readable around all that noise they contain.")
(license license:bsd-3)))
(define-public erlang-edown
(package
(name "erlang-edown")
(version "0.8.4")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "edown" version))
(sha256
(base32 "0ij47gvgs6yfqphj0f54qjzj18crj8y1dsjjlzpp3dp8pscqzbqw"))))
(build-system rebar-build-system)
(home-page "https://github.com/uwiger/edown")
(synopsis "Markdown extension for EDoc")
(description "This package provides an extension for EDoc for generating
Markdown.")
(license license:asl2.0)))
(define-public erlang-erlware-commons
(package
(name "erlang-erlware-commons")
(version "1.6.0")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "erlware_commons" version))
(sha256
(base32 "18qam9xdzi74wppb0cj4zc8161i0i8djr79z8662m6d276f2jz5m"))))
(build-system rebar-build-system)
(propagated-inputs
(list erlang-cf))
(native-inputs
(list git-minimal/fixed)) ;; Required for tests
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'check-setup
(lambda _
(setenv "TERM" "xterm")))))) ; enable color in logs
(home-page "http://erlware.github.io/erlware_commons/")
(synopsis "Additional standard library for Erlang")
(description "Erlware Commons is an Erlware project focused on all aspects
of reusable Erlang components.")
(license license:expat)))
(define-public erlang-eunit-formatters
(package
(name "erlang-eunit-formatters")
(version "0.5.0")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "eunit_formatters" version))
(sha256
(base32 "1jb3hzb216r29x2h4pcjwfmx1k81431rgh5v0mp4x5146hhvmj6n"))))
(build-system rebar-build-system)
(home-page "https://github.com/seancribbs/eunit_formatters")
(synopsis "Better output for eunit suites")
(description "This package provides a better output for Erlang eunits.")
(license license:asl2.0)))
(define-public erlang-getopt
(package
(name "erlang-getopt")
(version "1.0.2")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "getopt" version))
(sha256
(base32 "09pasi7ki1rivw9sl7xndj5qgjbdqvcscxk83yk85yr28gm9l0m0"))))
(build-system rebar-build-system)
(home-page "https://github.com/jcomellas/getopt")
(synopsis "Command-line options parser for Erlang")
(description "This package provides an Erlang module to parse command line
arguments using the GNU getopt syntax.")
(license license:bsd-3)))
(define-public erlang-hex-core
(package
(name "erlang-hex-core")
(version "0.8.4")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "hex_core" version))
(sha256
(base32 "06p65hlm29ky03vs3fq3qz6px2ylwp8b0f2y75wdf5cm0kx2332b"))))
(build-system rebar-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "rebar3" "as" "test" "proper")))))))
(inputs
(list erlang-proper rebar3-proper))
(home-page "https://github.com/hexpm/hex_core")
(synopsis "Reference implementation of Hex specifications")
(description "This package provides the reference implementation of Hex
specifications.")
(license license:asl2.0)))
(define-public erlang-jsone
(package
(name "erlang-jsone")
(version "1.7.0")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "jsone" version))
(sha256
(base32 "1gaxiw76syjp3s9rygskm32y9799b917q752rw8bxj3bxq93g8x3"))))
(build-system rebar-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-covertool
;; no need to generate a coverage report
(lambda _
(substitute* "rebar.config"
(("\\{project_plugins, \\[covertool\\]\\}\\." _) "")))))))
(home-page "https://github.com/sile/jsone/")
(synopsis "Erlang JSON Library")
(description "An Erlang library for encoding and decoding JSON data.")
(license license:expat)))
(define-public erlang-parse-trans
(package
(name "erlang-parse-trans")
(version "3.4.1")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "parse_trans" version))
(sha256
(base32 "16p4c2xjrvz16kzpr9pmcvi6nxq6rwckqi9fp0ksibaxwxn402k2"))))
(build-system rebar-build-system)
(inputs
(list erlang-getopt))
(home-page "https://github.com/uwiger/parse_trans")
(synopsis "Parse transform utilities for Erlang")
(description "This package captures some useful patterns in parse
transformation and code generation for Erlang.
For example generating standardized accessor functions for records or
evaluating an expression at compile-time and substitute the result as a
compile-time constant.")
(license license:asl2.0)))
(define-public erlang-proper
(package
(name "erlang-proper")
(version "1.4.0")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "proper" version))
(sha256
(base32 "1fwcas4a9kz3w3z1jqdk9lw8822srfjk9lcpvbxkxlsv3115ha0q"))))
(build-system rebar-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-covertool
;; no need to generate a coverage report
(lambda _
(substitute* "rebar.config"
(("\\{plugins, \\[covertool\\]\\}\\." _) "")))))))
(home-page "https://proper-testing.github.io/")
(synopsis "QuickCheck-inspired property-based testing tool for Erlang")
(description "PropEr is a tool for the automated, semi-random,
property-based testing of Erlang programs. It is fully integrated with
Erlang's type language, and can also be used for the model-based random
testing of stateful systems.")
(license license:gpl3+)))
(define-public erlang-providers
(package
(name "erlang-providers")
(version "1.9.0")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "providers" version))
(sha256
(base32 "05y0kz3xgx77hzn1l05byaisvmk8bgds7c22hrh0a5ba81sfi1yj"))))
(build-system rebar-build-system)
(propagated-inputs
(list erlang-erlware-commons erlang-getopt))
(home-page "https://github.com/tsloughter/providers")
(synopsis "Erlang providers library")
(description "This package provides an Erlang providers library.")
(license license:asl2.0)))
(define-public erlang-relx
(package
(name "erlang-relx")
(version "4.6.0")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "relx" version))
(sha256
(base32 "02gmfx1vxg9m3mq4njsqhs4972l4nb8m5p1pdcf64g09ccf17y1g"))))
(build-system rebar-build-system)
(propagated-inputs
(list erlang-bbmustache))
(home-page "https://erlware.github.io/relx/")
(synopsis "Release assembler for Erlang/OTP Releases")
(description "Relx assembles releases for an Erlang/OTP release. Given a
release specification and a list of directories in which to search for OTP
applications it will generate a release output. That output depends heavily on
what plugins available and what options are defined, but usually it is simply
a well configured release directory.")
(license license:asl2.0)))
(define-public erlang-ssl-verify-fun
(package
(name "erlang-ssl-verify-fun")
(version "1.1.6")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "ssl_verify_fun" version))
(sha256
(base32 "1026l1z1jh25z8bfrhaw0ryk5gprhrpnirq877zqhg253x3x5c5x"))))
(build-system rebar-build-system)
(home-page "https://github.com/deadtrickster/ssl_verify_fun.erl")
(synopsis "SSL verification functions for Erlang")
(description "This package provides SSL verification functions for
Erlang.")
(license license:expat)))
(define-public rebar3
(package
(name "rebar3")
(version "3.18.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/erlang/rebar3")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "09648hzc2mnjwf9klm20cg4hb5rn2xv2gmzcg98ffv37p5yfl327"))))
(build-system gnu-build-system)
;; TODO: remove vendored modules, install man-page, install lib(?)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'bootstrap)
(add-after 'unpack 'unpack-dependency-sources
(lambda* (#:key inputs #:allow-other-keys)
(for-each
(lambda (pkgname)
(let* ((src (string-append pkgname "-source"))
(input (assoc-ref inputs src))
(checkouts-dir (string-append "_checkouts/" pkgname))
(lib-dir (string-append "_build/default/lib/" pkgname)))
(mkdir-p checkouts-dir)
(invoke "tar" "-xf" input "-C" checkouts-dir)
(invoke "tar" "-xzf"
(pk (string-append checkouts-dir "/contents.tar.gz"))
"-C" checkouts-dir)
(mkdir-p lib-dir)
(copy-recursively checkouts-dir lib-dir)))
(list "bbmustache" "certifi" "cf" "cth_readable"
"eunit_formatters" "getopt" "hex_core" "erlware_commons"
"parse_trans" "relx" "ssl_verify_fun" "providers"))))
(delete 'configure)
(replace 'build
(lambda _
(setenv "HOME" (getcwd))
(invoke "./bootstrap")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(install-file "rebar3" (string-append out "/bin")))))
(delete 'check))))
(native-inputs
(list erlang))
(inputs
`(("bbmustache-source" ,(package-source erlang-bbmustache))
("certifi-source" ,(package-source erlang-certifi))
("cf-source" ,(package-source erlang-cf))
("cth_readable-source" ,(package-source erlang-cth-readable))
("erlware_commons-source" ,(package-source erlang-erlware-commons))
("eunit_formatters-source" ,(package-source erlang-eunit-formatters))
("getopt-source" ,(package-source erlang-getopt))
("hex_core-source" ,(package-source erlang-hex-core))
("parse_trans-source" ,(package-source erlang-parse-trans))
("relx-source" ,(package-source erlang-relx))
("ssl_verify_fun-source" ,(package-source erlang-ssl-verify-fun))
("providers-source" ,(package-source erlang-providers))))
(home-page "https://rebar3.org/")
(synopsis "Sophisticated build-tool for Erlang projects that follows OTP
principles")
(description "@code{rebar3} is an Erlang build tool that makes it easy to
compile and test Erlang applications, port drivers and releases.
@code{rebar3} is a self-contained Erlang script, so it's easy to distribute or
even embed directly in a project. Where possible, rebar uses standard
Erlang/OTP conventions for project structures, thus minimizing the amount of
build configuration work. @code{rebar3} also provides dependency management,
enabling application writers to easily re-use common libraries from a variety
of locations (git, hg, etc).")
(license license:asl2.0)))
(define-public rebar3-raw-deps
(package
(name "rebar3-raw-deps")
(version "2.0.0")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "rebar3_raw_deps" version))
(sha256
(base32 "1pzmm3m8gb2s9jn8fp6shzgfmy4mvh2vdci0z6nsm74ma3ffh1i3"))))
(build-system rebar-build-system)
(home-page "https://github.com/soranoba/rebar3_raw_deps")
(synopsis "Rebar3 plugin for supporting \"raw\" dependencies")
(description "This plugin provides support for handling non-OTP
applications as a dependent libraries.")
(license license:expat)))
(define-public rebar3-git-vsn
(package
(name "rebar3-git-vsn")
(version "1.1.1")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "rebar3_git_vsn" version))
(sha256
(base32 "1dfz56034pa25axly9vqdzv3phkn8ll0qwrkws96pbgcprhky1hx"))))
(build-system rebar-build-system)
(inputs
(list git-minimal/fixed))
(arguments
`(;; Running the tests require binary artifact (tar-file containing
;; samples git repos) TODO: remove these from the source
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-path
(lambda* (#:key inputs #:allow-other-keys)
(let ((git (assoc-ref inputs "git-minimal")))
(substitute* "src/rebar3_git_vsn.erl"
(("rebar_utils:sh\\(\"git " _)
(string-append "rebar_utils:sh(\"" git "/bin/git ")))))))))
(home-page "https://github.com/soranoba/rebar3_git_vsn")
(synopsis "Rebar3 plugin for generating the version from git")
(description "This plugin adds support for generating the version from
a git checkout.")
(license license:expat)))
(define-public rebar3-proper
(package
(name "rebar3-proper")
(version "0.12.1")
(source
(origin
(method url-fetch)
(uri (hexpm-uri "rebar3_proper" version))
(sha256
(base32 "1f174fb6h2071wr7qbw9aqqvnglzsjlylmyi8215fhrmi38w94b6"))))
(build-system rebar-build-system)
(home-page "https://github.com/ferd/rebar3_proper")
(synopsis "Rebar3 PropEr plugin")
(description "This plugin allows running PropEr test suites from within
rebar3.")
(license license:bsd-3)))

View file

@ -8,6 +8,7 @@
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020, 2021, 2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020, 2021, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -366,131 +367,125 @@ coreboot.")
;; cpl with a linking exception. ;; cpl with a linking exception.
license:cpl1.0)))) license:cpl1.0))))
;; OVMF is part of the edk2 source tree.
(define edk2-commit "13a50a6fe1dcfa6600c38456ee24e0f9ecf51b5f")
(define edk2-version (git-version "20170116" "1" edk2-commit))
(define edk2-origin
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tianocore/edk2")
(commit edk2-commit)))
(file-name (git-file-name "edk2" edk2-version))
(sha256
(base32
"1gy2332kdqk8bjzpcsripx10896rbvgl0ic7r344kmpiwdgm948b"))))
(define-public ovmf (define-public ovmf
(package (let ((commit "13a50a6fe1dcfa6600c38456ee24e0f9ecf51b5f")
(name "ovmf") (revision "1"))
(version edk2-version) (package
(source edk2-origin) (name "ovmf")
(build-system gnu-build-system) (version (git-version "20170116" revision commit))
(native-inputs (source (origin
`(("acpica" ,acpica) (method git-fetch)
("gcc@5" ,gcc-5) (uri (git-reference
("nasm" ,nasm) ;; OVMF is part of the edk2 source tree.
("python-2" ,python-2) (url "https://github.com/tianocore/edk2")
("util-linux" ,util-linux "lib"))) (commit commit)))
(arguments (file-name (git-file-name name version))
`(#:tests? #f ; No check target. (sha256
#:phases (base32
(modify-phases %standard-phases "1gy2332kdqk8bjzpcsripx10896rbvgl0ic7r344kmpiwdgm948b"))))
;; Hide the default GCC from CPLUS_INCLUDE_PATH to prevent it from (build-system gnu-build-system)
;; shadowing the version of GCC provided in native-inputs. (arguments
(add-after 'set-paths 'hide-gcc7 (list
(lambda* (#:key inputs #:allow-other-keys) #:tests? #f ; No check target.
(let ((gcc (assoc-ref inputs "gcc"))) #:phases
(setenv "CPLUS_INCLUDE_PATH" #~(modify-phases %standard-phases
(string-join ;; Hide the default GCC from CPLUS_INCLUDE_PATH to prevent it from
(delete (string-append gcc "/include/c++") ;; shadowing the version of GCC provided in native-inputs.
(string-split (getenv "CPLUS_INCLUDE_PATH") (add-after 'set-paths 'hide-implicit-gcc
#\:)) (lambda* (#:key inputs #:allow-other-keys)
":")) (let ((gcc (assoc-ref inputs "gcc")))
#t))) (setenv "CPLUS_INCLUDE_PATH"
(replace 'configure (string-join
(lambda _ (delete (string-append gcc "/include/c++")
(let* ((cwd (getcwd)) (string-split (getenv "CPLUS_INCLUDE_PATH")
(tools (string-append cwd "/BaseTools")) #\:))
(bin (string-append tools "/BinWrappers/PosixLike"))) ":")))))
(setenv "WORKSPACE" cwd) (add-after 'unpack 'patch-source
(setenv "EDK_TOOLS_PATH" tools) (lambda _
(setenv "PATH" (string-append (getenv "PATH") ":" bin)) (substitute* "edksetup.sh"
; FIXME: The below script errors out. When using 'invoke' instead (("^return \\$\\?")
; of 'system*' this causes the build to fail. "exit $?"))))
(system* "bash" "edksetup.sh") (replace 'configure
(substitute* "Conf/target.txt" (lambda _
(("^TARGET[ ]*=.*$") "TARGET = RELEASE\n") (let* ((cwd (getcwd))
(("^MAX_CONCURRENT_THREAD_NUMBER[ ]*=.*$") (tools (string-append cwd "/BaseTools"))
(format #f "MAX_CONCURRENT_THREAD_NUMBER = ~a~%" (bin (string-append tools "/BinWrappers/PosixLike")))
(number->string (parallel-job-count))))) (setenv "WORKSPACE" cwd)
;; Build build support. (setenv "EDK_TOOLS_PATH" tools)
(setenv "BUILD_CC" "gcc") (setenv "PATH" (string-append (getenv "PATH") ":" bin))
(invoke "make" "-C" tools) (invoke "bash" "edksetup.sh")
#t))) (substitute* "Conf/target.txt"
(replace 'build (("^TARGET[ ]*=.*$") "TARGET = RELEASE\n")
(lambda _ (("^MAX_CONCURRENT_THREAD_NUMBER[ ]*=.*$")
(invoke "build" "-a" "IA32" "-t" "GCC49" (format #f "MAX_CONCURRENT_THREAD_NUMBER = ~a~%"
"-p" "OvmfPkg/OvmfPkgIa32.dsc"))) (number->string (parallel-job-count)))))
,@(if (string=? "x86_64-linux" (%current-system)) ;; Build build support.
'((add-after 'build 'build-x64 (setenv "BUILD_CC" "gcc")
(lambda _ (invoke "make" "-C" tools))))
(invoke "build" "-a" "X64" "-t" "GCC49" (replace 'build
"-p" "OvmfPkg/OvmfPkgX64.dsc")))) (lambda _
'()) (invoke "build" "-a" "IA32" "-t" "GCC49"
(replace 'install "-p" "OvmfPkg/OvmfPkgIa32.dsc")))
(lambda* (#:key outputs #:allow-other-keys) #$@(if (string=? "x86_64-linux" (%current-system))
(let* ((out (assoc-ref outputs "out")) #~((add-after 'build 'build-x64
(fmw (string-append out "/share/firmware"))) (lambda _
(mkdir-p fmw) (invoke "build" "-a" "X64" "-t" "GCC49"
(copy-file "Build/OvmfIa32/RELEASE_GCC49/FV/OVMF.fd" "-p" "OvmfPkg/OvmfPkgX64.dsc"))))
(string-append fmw "/ovmf_ia32.bin")) #~())
,@(if (string=? "x86_64-linux" (%current-system)) (replace 'install
'((copy-file "Build/OvmfX64/RELEASE_GCC49/FV/OVMF.fd" (lambda _
(string-append fmw "/ovmf_x64.bin"))) (let ((fmw (string-append #$output "/share/firmware")))
'())) (mkdir-p fmw)
#t))))) (copy-file "Build/OvmfIa32/RELEASE_GCC49/FV/OVMF.fd"
(supported-systems '("x86_64-linux" "i686-linux")) (string-append fmw "/ovmf_ia32.bin"))
(home-page "https://www.tianocore.org") #$@(if (string=? "x86_64-linux" (%current-system))
(synopsis "UEFI firmware for QEMU") '((copy-file "Build/OvmfX64/RELEASE_GCC49/FV/OVMF.fd"
(description "OVMF is an EDK II based project to enable UEFI support for (string-append fmw "/ovmf_x64.bin")))
'())))))))
(native-inputs
`(("acpica" ,acpica)
("gcc@5" ,gcc-5)
("nasm" ,nasm)
("python-2" ,python-2)
("util-linux" ,util-linux "lib")))
(supported-systems '("x86_64-linux" "i686-linux"))
(home-page "https://www.tianocore.org")
(synopsis "UEFI firmware for QEMU")
(description "OVMF is an EDK II based project to enable UEFI support for
Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.") Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.")
(license (list license:expat (license (list license:expat
license:bsd-2 license:bsd-3 license:bsd-4)))) license:bsd-2 license:bsd-3 license:bsd-4)))))
(define-public ovmf-aarch64 (define-public ovmf-aarch64
(package (package
(inherit ovmf) (inherit ovmf)
(name "ovmf-aarch64") (name "ovmf-aarch64")
(native-inputs (native-inputs
`(,@(package-native-inputs ovmf) (append (package-native-inputs ovmf)
,@(if (not (string-prefix? "aarch64" (%current-system))) (if (not (string-prefix? "aarch64" (%current-system)))
`(("cross-gcc" ,(cross-gcc "aarch64-linux-gnu")) `(("cross-gcc" ,(cross-gcc "aarch64-linux-gnu"))
("cross-binutils" ,(cross-binutils "aarch64-linux-gnu"))) ("cross-binutils" ,(cross-binutils "aarch64-linux-gnu")))
'()))) '())))
(arguments (arguments
(substitute-keyword-arguments (package-arguments ovmf) (substitute-keyword-arguments (package-arguments ovmf)
((#:phases phases) ((#:phases phases)
`(modify-phases ,phases #~(modify-phases #$phases
(add-before 'configure 'set-env (add-before 'configure 'set-env
(lambda _ (lambda _
,@(if (not (string-prefix? "aarch64" (%current-system))) #$@(if (not (string-prefix? "aarch64" (%current-system)))
`((setenv "GCC49_AARCH64_PREFIX" "aarch64-linux-gnu-")) #~((setenv "GCC49_AARCH64_PREFIX" "aarch64-linux-gnu-"))
'()) #~())))
#t)) (replace 'build
(replace 'build (lambda _
(lambda _ (invoke "build" "-a" "AARCH64" "-t" "GCC49"
(invoke "build" "-a" "AARCH64" "-t" "GCC49" "-p" "ArmVirtPkg/ArmVirtQemu.dsc")))
"-p" "ArmVirtPkg/ArmVirtQemu.dsc"))) (delete 'build-x64)
(delete 'build-x64) (replace 'install
(replace 'install (lambda _
(lambda* (#:key outputs #:allow-other-keys) (let ((fmw (string-append #$output "/share/firmware")))
(let* ((out (assoc-ref outputs "out")) (mkdir-p fmw)
(fmw (string-append out "/share/firmware"))) (copy-file "Build/ArmVirtQemu-AARCH64/RELEASE_GCC49/FV/QEMU_EFI.fd"
(mkdir-p fmw) (string-append fmw "/ovmf_aarch64.bin")))))))))
(copy-file "Build/ArmVirtQemu-AARCH64/RELEASE_GCC49/FV/QEMU_EFI.fd"
(string-append fmw "/ovmf_aarch64.bin"))
#t)))))))
(supported-systems %supported-systems))) (supported-systems %supported-systems)))
(define-public ovmf-arm (define-public ovmf-arm
@ -498,34 +493,31 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.")
(inherit ovmf) (inherit ovmf)
(name "ovmf-arm") (name "ovmf-arm")
(native-inputs (native-inputs
`(,@(package-native-inputs ovmf) (append (package-native-inputs ovmf)
,@(if (not (string-prefix? "armhf" (%current-system))) (if (not (string-prefix? "armhf" (%current-system)))
`(("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf")) `(("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf"))
("cross-binutils" ,(cross-binutils "arm-linux-gnueabihf"))) ("cross-binutils" ,(cross-binutils "arm-linux-gnueabihf")))
'()))) '())))
(arguments (arguments
(substitute-keyword-arguments (package-arguments ovmf) (substitute-keyword-arguments (package-arguments ovmf)
((#:phases phases) ((#:phases phases)
`(modify-phases ,phases #~(modify-phases #$phases
(add-before 'configure 'set-env (add-before 'configure 'set-env
(lambda _ (lambda _
,@(if (not (string-prefix? "armhf" (%current-system))) #$@(if (not (string-prefix? "armhf" (%current-system)))
`((setenv "GCC49_ARM_PREFIX" "arm-linux-gnueabihf-")) #~((setenv "GCC49_ARM_PREFIX" "arm-linux-gnueabihf-"))
'()) #~())))
#t)) (replace 'build
(replace 'build (lambda _
(lambda _ (invoke "build" "-a" "ARM" "-t" "GCC49"
(invoke "build" "-a" "ARM" "-t" "GCC49" "-p" "ArmVirtPkg/ArmVirtQemu.dsc")))
"-p" "ArmVirtPkg/ArmVirtQemu.dsc"))) (delete 'build-x64)
(delete 'build-x64) (replace 'install
(replace 'install (lambda _
(lambda* (#:key outputs #:allow-other-keys) (let ((fmw (string-append #$output "/share/firmware")))
(let* ((out (assoc-ref outputs "out")) (mkdir-p fmw)
(fmw (string-append out "/share/firmware"))) (copy-file "Build/ArmVirtQemu-ARM/RELEASE_GCC49/FV/QEMU_EFI.fd"
(mkdir-p fmw) (string-append fmw "/ovmf_arm.bin")))))))))
(copy-file "Build/ArmVirtQemu-ARM/RELEASE_GCC49/FV/QEMU_EFI.fd"
(string-append fmw "/ovmf_arm.bin"))
#t)))))))
(supported-systems %supported-systems))) (supported-systems %supported-systems)))
(define* (make-arm-trusted-firmware platform #:optional (arch "aarch64")) (define* (make-arm-trusted-firmware platform #:optional (arch "aarch64"))

View file

@ -9,6 +9,7 @@
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org> ;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -217,56 +218,48 @@ firmware from it.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public teensy-loader-cli (define-public teensy-loader-cli
;; The repo does not tag versions nor does it use releases, but a commit (package
;; message says "Importing 2.1", while the sourcce still says "2.0". So pin (name "teensy-loader-cli")
;; to a fixed commit. (version "2.2")
(let ((commit "f289b7a2e5627464044249f0e5742830e052e360")) (source
(package (origin
(name "teensy-loader-cli") (method git-fetch)
(version (git-version "2.1" "1" commit)) (uri (git-reference
(source (url "https://github.com/PaulStoffregen/teensy_loader_cli")
(origin (commit version)))
(method git-fetch) (sha256 (base32 "12n8ifz4gph1anhwd8if3j1kw0wc3yxf48abbyxl8071l9vj3m0b"))
(uri (git-reference (file-name (git-file-name name version))
(url "https://github.com/PaulStoffregen/teensy_loader_cli") (modules '((guix build utils)))
(commit commit))) (snippet
(sha256 (base32 "0sssim56pwsxp5cp5dlf6mi9h5fx2592m6j1g7abnm0s09b0lpdx")) `(begin
(file-name (git-file-name name version)) ;; Remove example flash files and teensy rebooter flash binaries.
(modules '((guix build utils))) (for-each delete-file (find-files "." "\\.(elf|hex)$"))
(snippet #t))
`(begin
;; Remove example flash files and teensy rebooter flash binaries.
(for-each delete-file (find-files "." "\\.(elf|hex)$"))
;; Fix the version
(substitute* "teensy_loader_cli.c"
(("Teensy Loader, Command Line, Version 2.0\\\\n")
(string-append "Teensy Loader, Command Line, " ,version "\\n")))
#t))
(patches (search-patches "teensy-loader-cli-help.patch")))) (patches (search-patches "teensy-loader-cli-help.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:tests? #f ;; Makefile has no test target '(#:tests? #f ;; Makefile has no test target
#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) #:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) (delete 'configure)
(replace 'install (replace 'install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))) (bin (string-append out "/bin")))
(install-file "teensy_loader_cli" bin) (install-file "teensy_loader_cli" bin)
#t)))))) #t))))))
(inputs (inputs
(list libusb-compat)) (list libusb-compat))
(synopsis "Command line firmware uploader for Teensy development boards") (synopsis "Command line firmware uploader for Teensy development boards")
(description (description
"The Teensy loader program communicates with your Teensy board when the "The Teensy loader program communicates with your Teensy board when the
HalfKay bootloader is running, so you can upload new programs and run them. HalfKay bootloader is running, so you can upload new programs and run them.
You need to add the udev rules to make the Teensy update available for You need to add the udev rules to make the Teensy update available for
non-root users.") non-root users.")
(home-page "https://www.pjrc.com/teensy/loader_cli.html") (home-page "https://www.pjrc.com/teensy/loader_cli.html")
(license license:gpl3)))) (license license:gpl3)))
(define-public rkflashtool (define-public rkflashtool
(let ((commit "8966c4e277de8148290554aaaa4146a3a84a3c53") (let ((commit "8966c4e277de8148290554aaaa4146a3a84a3c53")

View file

@ -2,7 +2,7 @@
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015, 2017 Andy Wingo <wingo@pobox.com> ;;; Copyright © 2015, 2017 Andy Wingo <wingo@pobox.com>
;;; Copyright © 2015-2017, 2019, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015-2017, 2019, 2021-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2016, 2017, 2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
@ -851,35 +851,6 @@ GNOME Shell. The @command{localectl} command-line tool allows you to interact
with localed. This package is extracted from the broader systemd package.") with localed. This package is extracted from the broader systemd package.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public seatd
(package
(name "seatd")
(version "0.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~kennylevinsen/seatd")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1kglq8v4rnr3415mfaghyv2s2f8mxsy5s881gmm2908ig4n4j297"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags '("-Dlogind=enabled")))
(native-inputs
(list pkg-config scdoc))
(propagated-inputs
(list elogind))
(home-page "https://sr.ht/~kennylevinsen/seatd")
(synopsis "Seat management daemon and library")
(description
"This package provides a minimal seat management daemon whose task is to
mediate access to shared devices, such as graphics and input, for applications
that require it. It also provides a universal seat management library that
allows applications to use whatever seat management is available.")
(license license:expat)))
(define-public packagekit (define-public packagekit
(package (package
(name "packagekit") (name "packagekit")
@ -1050,6 +1021,9 @@ functionality not available in the Wayland core protocol. Such protocols either
add completely new functionality, or extend the functionality of some other add completely new functionality, or extend the functionality of some other
protocol either in Wayland core, or some other protocol in wayland-protocols.") protocol either in Wayland core, or some other protocol in wayland-protocols.")
(home-page "https://wayland.freedesktop.org") (home-page "https://wayland.freedesktop.org")
(properties
'((release-monitoring-url
. "https://wayland.freedesktop.org/releases.html")))
(license license:expat))) (license license:expat)))
(define-public waylandpp (define-public waylandpp
@ -2271,7 +2245,7 @@ fallback to generic Systray support if none of those are available.")
(define-public xdg-desktop-portal (define-public xdg-desktop-portal
(package (package
(name "xdg-desktop-portal") (name "xdg-desktop-portal")
(version "1.10.1") (version "1.14.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -2279,7 +2253,7 @@ fallback to generic Systray support if none of those are available.")
version "/xdg-desktop-portal-" version ".tar.xz")) version "/xdg-desktop-portal-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"199lqr2plsy9qqnxx5a381ml8ygcbz4nkjla5pvljjcrwzlqsygd")))) "0wqc9x3k7lf3mig53i4rjazi0xi8bcykwaaw7r7prvnscnd1k405"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
@ -2290,7 +2264,8 @@ fallback to generic Systray support if none of those are available.")
("which" ,which) ("which" ,which)
("gettext" ,gettext-minimal))) ("gettext" ,gettext-minimal)))
(inputs (inputs
`(("glib" ,glib) `(("gdk-pixbuf" ,gdk-pixbuf)
("glib" ,glib)
("flatpak" ,flatpak) ("flatpak" ,flatpak)
("fontconfig" ,fontconfig) ("fontconfig" ,fontconfig)
("json-glib" ,json-glib) ("json-glib" ,json-glib)
@ -2298,17 +2273,20 @@ fallback to generic Systray support if none of those are available.")
("dbus" ,dbus) ("dbus" ,dbus)
("geoclue" ,geoclue) ("geoclue" ,geoclue)
("pipewire" ,pipewire-0.3) ("pipewire" ,pipewire-0.3)
("fuse" ,fuse))) ("fuse" ,fuse-3)))
(arguments (arguments
`(#:phases `(#:configure-flags
(list "--with-systemd=no")
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'po-chmod (add-after 'unpack 'po-chmod
(lambda _ (lambda _
;; Make sure 'msgmerge' can modify the PO files. ;; Make sure 'msgmerge' can modify the PO files.
(for-each (lambda (po) (for-each (lambda (po)
(chmod po #o666)) (chmod po #o666))
(find-files "po" "\\.po$")) (find-files "po" "\\.po$"))))
#t))))) (add-after 'unpack 'set-home-directory
(lambda _ (setenv "HOME" "/tmp"))))))
(native-search-paths (native-search-paths
(list (search-path-specification (list (search-path-specification
(variable "XDG_DESKTOP_PORTAL_DIR") (variable "XDG_DESKTOP_PORTAL_DIR")
@ -2330,7 +2308,7 @@ and others.")
(define-public xdg-desktop-portal-gtk (define-public xdg-desktop-portal-gtk
(package (package
(name "xdg-desktop-portal-gtk") (name "xdg-desktop-portal-gtk")
(version "1.10.0") (version "1.14.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -2338,7 +2316,7 @@ and others.")
version "/xdg-desktop-portal-gtk-" version ".tar.xz")) version "/xdg-desktop-portal-gtk-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0nlbnd6qvs92fanrmmn123vy0y2ml0v3ndxyk5x0cpfbnmxpa2f8")))) "0m29b4hm7lq06gcavxw7gdlgqiiy3vgv3v4yjqfq5kx92q3j28gn"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
`(#:phases `(#:phases

View file

@ -48,6 +48,7 @@
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix gexp)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix svn-download) #:use-module (guix svn-download)
@ -94,6 +95,7 @@
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio) #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages qt) #:use-module (gnu packages qt)
@ -1207,26 +1209,24 @@ to create fully featured games and multimedia programs in the python language.")
license:lgpl2.1+)))) license:lgpl2.1+))))
(define-public python-pygame-sdl2 (define-public python-pygame-sdl2
;; Using latest git commit as of 2022-06-17, because there is no tagged
;; release for renpy 8.
;; Revert back to URLs once renpy 8 is released!
(let ((real-version "2.1.0") (let ((real-version "2.1.0")
(renpy-version "7.4.11")) ;;(renpy-version "8.0.0")
(commit "1705c6e3004dcb1daf859560bcd52eb093e97d45"))
(package (package
(inherit python-pygame) (inherit python-pygame)
(name "python-pygame-sdl2") (name "python-pygame-sdl2")
(version (string-append real-version "-for-renpy-" renpy-version)) (version (git-version real-version "0" commit))
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://www.renpy.org/dl/" renpy-version (uri (git-reference
"/pygame_sdl2-" version ".tar.gz")) (url "https://github.com/renpy/pygame_sdl2")
(sha256 (base32 "0nxvca16299jx6sp0ys29rqixcs21ymhqwjfkbchhss0yar7qjgz")) (commit commit)))
(modules '((guix build utils))) (file-name (git-file-name name version))
(snippet (sha256 (base32 "1g0arhpd59zypspk36sgajf1kzavppfkv766vifvxar60968rrjn"))))
'(begin
;; drop generated sources
(delete-file-recursively "gen")
(delete-file-recursively "gen3")
(delete-file-recursively "gen-static")
#t))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:tests? #f ; tests require pygame to be installed first `(#:tests? #f ; tests require pygame to be installed first
@ -1257,16 +1257,21 @@ While it aims to be used as a drop-in replacement, it appears to be
developed mainly for Ren'py.") developed mainly for Ren'py.")
(license (list license:lgpl2.1 license:zlib))))) (license (list license:lgpl2.1 license:zlib)))))
(define-public renpy ;; Using nightly from 2022-06-16.
;; Revert back to URLs once renpy 8 is released!
(define %renpy-commit "3e854bc7cb1642ca18b061a0c6e349f168965c43")
(define-public python-renpy
(package (package
(name "renpy") (name "python-renpy")
(version "7.4.11") (version (git-version "7.99.99" "0" %renpy-commit))
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://www.renpy.org/dl/" version (uri (git-reference
"/renpy-" version "-source.tar.bz2")) (url "https://github.com/renpy/renpy")
(sha256 (base32 "0zkhg2sd2hglm9dkansf4h8sq7lm7iqslzl763ambp4kyfdvd07q")) (commit %renpy-commit)))
(file-name (git-file-name name version))
(sha256 (base32 "11g7hqhw4gbkx5ib2wsawrznmjbn8r9zkgf2sg39z56h96y8wfbn"))
(modules '((guix build utils))) (modules '((guix build utils)))
(patches (patches
(search-patches (search-patches
@ -1342,6 +1347,170 @@ the launcher and common Ren'py code provided by the @code{renpy} package and
are only used to bootstrap it.") are only used to bootstrap it.")
(license license:expat))) (license license:expat)))
(define-public renpy
(package
(inherit python-renpy)
(name "renpy")
(build-system python-build-system)
(arguments
(list
#:tests? #f ; see python-renpy
#:modules '((srfi srfi-1)
(guix build python-build-system)
(guix build utils))
#:imported-modules `((srfi srfi-1) ,@%python-build-system-modules)
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-commands
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "launcher/game/choose_directory.rpy"
(("/usr/bin/python")
(search-input-file inputs "/bin/python3")))
(substitute* "launcher/game/front_page.rpy"
(("xdg-open")
(search-input-file inputs "/bin/xdg-open")))
(substitute* "launcher/game/project.rpy"
(("cmd = \\[ executable, \"-EO\", sys.argv\\[0\\] \\]")
(string-append "cmd = [ \"" (assoc-ref outputs "out")
"/bin/renpy\" ]"))
;; Projects are still created in the usual style, so we need
;; to adjust the path.
(("cmd.append\\(self.path\\)")
"cmd.append(self.path + \"/game\")"))))
(add-after 'unpack 'drop-game-from-paths
(lambda _
(substitute* (list "launcher/game/gui7.rpy"
"launcher/game/gui7/images.py")
((", \"game\",") ","))
#t))
(add-before 'build 'start-xserver
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(let ((Xvfb (search-input-file (or native-inputs inputs)
"/bin/Xvfb")))
(setenv "HOME" (getcwd))
(system (format #f "~a :1 &" Xvfb))
(setenv "DISPLAY" ":1"))))
(replace 'build
(lambda _
(invoke "python" "renpy.py" "launcher" "quit")
(invoke "python" "renpy.py" "the_question" "quit")
(invoke "python" "renpy.py" "tutorial" "quit")))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Here we install our custom renpy program.
;; After finishing this step, "out" will have the following:
;; |-- bin/renpy
;; `-- share/renpy ; i.e. path_to_renpy_base()
;; |-- common
;; `-- gui
;;
;; Note that common shares the source files that would be installed
;; by python2-renpy (which are instead deleted from that package),
;; but also contains their byte-compiled versions.
;; On other systems, renpy_base would point to site-packages or
;; even somewhere in /opt.
;; The former approach is not as straightforward as it seems
;; -- it causes renpy to load files twice for some weird reason --
;; and the latter is impossible on Guix. Hence the detour through
;; share/renpy and the custom renpy program.
;;
;; As a convention, other games should be installed as
;; subdirectories of share/renpy in their respective outputs as
;; well. This differs from the traditional layout, which is
;; roughly the following:
;; `-- Super Awesome Game
;; |-- game ; <- the folder we actually want
;; |-- lib ; compiled renpy module and dependencies
;; |-- renpy ; yet another copy of Ren'py's code
;; | |-- common ; the common folder from above
;; | `-- ... ; Python code (source + compiled)
;; |-- Super Awesome Game.py
;; `-- Super Awesome Game.sh
(let* ((out (assoc-ref outputs "out"))
(bin/renpy (string-append out "/bin/renpy")))
(copy-recursively "renpy/common"
(string-append out "/share/renpy/common"))
(copy-recursively "gui"
(string-append out "/share/renpy/gui"))
(mkdir-p (string-append out "/bin"))
(copy-file #$(local-file (search-auxiliary-file "renpy/renpy.in"))
bin/renpy)
(substitute* bin/renpy
(("@PYTHON@") (search-input-file inputs "bin/python3"))
(("@RENPY_BASE@") (string-append out "/share/renpy")))
(chmod bin/renpy #o755))))
(add-after 'install 'install-games
(lambda* (#:key inputs outputs #:allow-other-keys)
(define renpy (assoc-ref outputs "out"))
;; TODO: We should offer a renpy-build-system to make the
;; installation of Ren'py games easier.
(define* (install-renpy-game #:key output game name (renpy renpy)
#:allow-other-keys)
(let* ((name (or name (basename game)))
(launcher (string-append output "/bin/renpy-" name))
(share (string-append output "/share/renpy/" name)))
(copy-recursively (string-append game "/game") share)
(mkdir-p (string-append output "/bin"))
(with-output-to-file launcher
(lambda ()
(format #t
"#!~a~%~a ~a \"$@\""
(search-input-file inputs "/bin/bash")
(string-append renpy "/bin/renpy")
share)))
(chmod launcher #o755)))
(install-renpy-game #:output (assoc-ref outputs "out")
#:game "launcher")
(install-renpy-game #:output (assoc-ref outputs "the-question")
#:game "the_question"
#:name "the-question")
(install-renpy-game #:output (assoc-ref outputs "tutorial")
#:game "tutorial")))
(replace 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(site (string-append "/lib/python"
(python-version
(assoc-ref inputs "python"))
"/site-packages")))
(wrap-program (string-append out "/bin/renpy")
`("GUIX_PYTHONPATH" =
(,@(delete-duplicates
(map
(lambda (store-path)
(string-append store-path site))
(cons (assoc-ref outputs "out")
(map cdr
(filter
(lambda (input)
(string-prefix? "python" (car input)))
inputs))))))))))))))
(inputs (list bash-minimal
python
python-pefile
python-requests
python-renpy
python-six
`(,python "tk")
xdg-utils))
(propagated-inputs '())
(native-inputs (list xorg-server-for-tests))
(outputs (list "out" "tutorial" "the-question"))
(home-page "https://www.renpy.org/")
(synopsis "Visual Novel Engine")
(description "Ren'Py is a visual novel engine that helps you use words,
images, and sounds to tell interactive stories that run on computers and
mobile devices. These can be both visual novels and life simulation games.
The easy to learn script language allows anyone to efficiently write large
visual novels, while its Python scripting is enough for complex simulation
games.")
(license license:expat)))
(define-public python-pyxel (define-public python-pyxel
(package (package
(name "python-pyxel") (name "python-pyxel")

View file

@ -2200,7 +2200,7 @@ Every puzzle has a complete solution, although there may be more than one.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public retux (define-public retux
(let ((release "1.5") (let ((release "1.6.1")
(revision 0)) (revision 0))
(package (package
(name "retux") (name "retux")
@ -2216,7 +2216,7 @@ Every puzzle has a complete solution, although there may be more than one.")
release "-src.zip")) release "-src.zip"))
(sha256 (sha256
(base32 (base32
"1yima7s36hn2kh5h08lczc5iid8jbdxk7x1g5ms6knaznzj7rll3")))) "1bkyfm0h4kys0x7c1340fnkhgnmcrf4j2xjm250r5w8q6l7v2wj4"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:tests? #f ; no check target `(#:tests? #f ; no check target
@ -2237,12 +2237,11 @@ Every puzzle has a complete solution, although there may be more than one.")
(string-append "\"" data "\","))) (string-append "\"" data "\",")))
(copy-file "retux.py" (string-append bin "/retux")) (copy-file "retux.py" (string-append bin "/retux"))
(copy-recursively "data" data) (copy-recursively "data" data)))))))
#t))))))
(native-inputs (native-inputs
(list unzip)) (list unzip))
(inputs (inputs
(list python-sge python-six python-xsge)) (list python-sge python-xsge))
(home-page "https://retux-game.github.io/") (home-page "https://retux-game.github.io/")
(synopsis "Action platformer game") (synopsis "Action platformer game")
(description (description

View file

@ -11,7 +11,7 @@
;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019, 2021 Wiktor Żelazny <wzelazny@vurv.cz> ;;; Copyright © 2019, 2021 Wiktor Żelazny <wzelazny@vurv.cz>
;;; Copyright © 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2020 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2020, 2021, 2022 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2020, 2021, 2022 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
@ -2715,35 +2715,40 @@ using third-party geocoders and other data sources.")
(define-public gplates (define-public gplates
(package (package
(name "gplates") (name "gplates")
(version "2.3.0") ;; Note: use a pre-release to cope with newer Boost, ref
;; https://discourse.gplates.org/t/compilation-error-with-boost-1-77/452/3
(version "2.3.01-beta.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri "https://www.earthbyte.org/download/8421/") (uri "https://cloudstor.aarnet.edu.au/plus/s\
(file-name (string-append name "-" version ".tar.bz2")) /ojsYNOyUYE3evNp/download?path=%2F&files=gplates_2.3.1-beta.3_src.zip")
(file-name (string-append name "-" version ".zip"))
(sha256 (sha256
(base32 (base32
"0lrcmcxc924ixddii8cyglqlwwxvk7f00g4yzbss5i3fgcbh8n96")))) "06i87dfab0cq9gdi5mh6sf9wigawpp0d05zbyslv910443i26gwv"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags (list "-DBoost_NO_BOOST_CMAKE=ON") `(#:configure-flags (list "-DBoost_NO_BOOST_CMAKE=ON")
#:tests? #f)) ;no test target #:tests? #f)) ;no test target
(native-inputs
(list unzip)) ;for the beta
(inputs (inputs
`(("boost" ,boost) (list boost
("cgal" ,cgal) cgal
("gdal" ,gdal) gdal
("glew" ,glew) glew
("glu" ,glu) glu
("gmp" ,gmp) gmp
("mesa" ,mesa) mesa
("mpfr" ,mpfr) mpfr
("proj" ,proj) proj
("python-3" ,python-3) python-3
("python-numpy" ,python-numpy) python-numpy
("qt" ,qtbase-5) qtbase-5
("qtsvg" ,qtsvg) qtsvg
("qtxmlpatterns" ,qtxmlpatterns) qtxmlpatterns
("qwt" ,qwt) qwt
("zlib" ,zlib))) zlib))
(home-page "https://www.gplates.org") (home-page "https://www.gplates.org")
(synopsis "Plate tectonics simulation program") (synopsis "Plate tectonics simulation program")
(description "GPlates is a plate tectonics program. Manipulate (description "GPlates is a plate tectonics program. Manipulate

View file

@ -7,7 +7,7 @@
;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de> ;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021, 2022 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -175,7 +175,7 @@ of a larger interface.")
(define-public babl (define-public babl
(package (package
(name "babl") (name "babl")
(version "0.1.88") (version "0.1.92")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (string-append "https://download.gimp.org/pub/babl/" (uri (list (string-append "https://download.gimp.org/pub/babl/"
@ -189,7 +189,7 @@ of a larger interface.")
"/babl-" version ".tar.xz"))) "/babl-" version ".tar.xz")))
(sha256 (sha256
(base32 (base32
"0fbh2ss1dy3sba4xjmfm4vxxjmx9a6rzgba9ycjygchbm957y3ag")))) "1hd2i1s7fng33msxiafavk3zb4zb9jk61w8qmmsn6jwl51876rzn"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -215,7 +215,7 @@ provided, as well as a framework to add new color models and data types.")
(define-public gegl (define-public gegl
(package (package
(name "gegl") (name "gegl")
(version "0.4.34") (version "0.4.36")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -229,7 +229,7 @@ provided, as well as a framework to add new color models and data types.")
(version-major+minor version) (version-major+minor version)
"/gegl-" version ".tar.xz"))) "/gegl-" version ".tar.xz")))
(sha256 (sha256
(base32 "1amazk6g9dk76rxwaqa81j87ql5vgz539n6xk88wccdllnyg0qzg")))) (base32 "19ic3fv0j8ysxxw7bx7gy3l8l8l9ldrvbzxfmmc24w67vh68mmbg"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -288,7 +288,7 @@ buffers.")
(define-public gimp (define-public gimp
(package (package
(name "gimp") (name "gimp")
(version "2.10.30") (version "2.10.32")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -296,7 +296,7 @@ buffers.")
(version-major+minor version) (version-major+minor version)
"/gimp-" version ".tar.bz2")) "/gimp-" version ".tar.bz2"))
(sha256 (sha256
(base32 "1p375gaw2daip6aiv1icrlpws5m1my5kalxkxrvl4zgdfsm5v0c8")))) (base32 "09csp2d8bzf012n7hvbbwngwr9phv3rnip768qdwqpdgah2wf59z"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" (outputs '("out"
"doc")) ; 9 MiB of gtk-doc HTML "doc")) ; 9 MiB of gtk-doc HTML

View file

@ -261,7 +261,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa (define-public mesa
(package (package
(name "mesa") (name "mesa")
(version "21.3.7") (version "21.3.8")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -273,7 +273,7 @@ also known as DXTn or DXTC) for Mesa.")
version "/mesa-" version ".tar.xz"))) version "/mesa-" version ".tar.xz")))
(sha256 (sha256
(base32 (base32
"0ggw3s514z6szasbiy4dv5mdi689121yy2xly2g21gv1mavrvyml")) "19wx5plk6z0hhi0zdzxjx8ynl3lhlc5mbd8vhwqyk92kvhxjf3g7"))
(patches (patches
(search-patches "mesa-skip-tests.patch")))) (search-patches "mesa-skip-tests.patch"))))
(build-system meson-build-system) (build-system meson-build-system)
@ -288,26 +288,28 @@ also known as DXTn or DXTC) for Mesa.")
libxxf86vm libxxf86vm
xorgproto)) xorgproto))
(inputs (inputs
`(("expat" ,expat) (append (list expat
("libelf" ,elfutils) ;required for r600 when using llvm elfutils ;libelf required for r600 when using llvm
("libva" ,(force libva-without-mesa)) (force libva-without-mesa)
("libxml2" ,libxml2) libxml2
("libxrandr" ,libxrandr) libxrandr
("libxvmc" ,libxvmc) libxvmc
;; Note: update the 'clang' input of mesa-opencl when bumping this. wayland
("llvm" ,llvm-11) wayland-protocols)
("wayland" ,wayland) ;; TODO: Resort alphabetically.
("wayland-protocols" ,wayland-protocols))) ;; Note: update the 'clang' input of mesa-opencl when bumping this.
(list llvm-11)))
(native-inputs (native-inputs
`(("bison" ,bison) (append (list bison
("flex" ,flex) flex
("gettext" ,gettext-minimal) gettext-minimal
("glslang" ,glslang) pkg-config
("pkg-config" ,pkg-config) python-wrapper
("python" ,python-wrapper) python-libxml2 ;for OpenGL ES 1.1 and 2.0 support
("python-libxml2", python-libxml2) ;for OpenGL ES 1.1 and 2.0 support python-mako
("python-mako" ,python-mako) (@ (gnu packages base) which))
("which" ,(@ (gnu packages base) which)))) ;; TODO: Resort alphabetically.
(list glslang)))
(outputs '("out" "bin")) (outputs '("out" "bin"))
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -510,11 +512,11 @@ from software emulation to complete hardware acceleration for modern GPUs.")
((#:configure-flags flags) ((#:configure-flags flags)
`(cons "-Dgallium-opencl=standalone" ,flags)))) `(cons "-Dgallium-opencl=standalone" ,flags))))
(inputs (inputs
`(("libclc" ,libclc) (modify-inputs (package-inputs mesa)
,@(package-inputs mesa))) (prepend libclc)))
(native-inputs (native-inputs
`(("clang" ,clang-11) (modify-inputs (package-native-inputs mesa)
,@(package-native-inputs mesa))))) (prepend clang-11)))))
(define-public mesa-opencl-icd (define-public mesa-opencl-icd
(package/inherit mesa-opencl (package/inherit mesa-opencl

View file

@ -9,7 +9,7 @@
;;; Copyright © 2017 Petter <petter@mykolab.ch> ;;; Copyright © 2017 Petter <petter@mykolab.ch>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2019, 2020, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2019, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
@ -176,6 +176,38 @@ or through unencrypted TCP/IP suitable for use behind a firewall with
shared NFS home directories.") shared NFS home directories.")
(license license:gpl2+))) ; or Academic Free License 2.1 (license license:gpl2+))) ; or Academic Free License 2.1
;;; This variant is used for the Jami service: it provides an entry point to
;;; further customize the configuration of the D-Bus instance run by the
;;; jami-dbus-session service.
(define-public dbus-for-jami
(hidden-package
(package/inherit dbus
(name "dbus-for-jami")
(arguments
(substitute-keyword-arguments (package-arguments dbus)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'customize-config
(lambda _
(substitute* "bus/session.conf.in"
(("@SYSCONFDIR_FROM_PKGDATADIR@/dbus-1/session-local.conf")
"/var/run/jami/session-local.conf")))))))))))
;;; The reason this is not enabled in the regular dbus package is because it
;;; impacts the performance of D-Bus (including its library) as a whole, even
;;; when the DBUS_VERBOSE environment variable is not set.
(define-public dbus-verbose
(package/inherit dbus
(name "dbus-verbose")
(arguments (substitute-keyword-arguments (package-arguments dbus)
((#:configure-flags flags '())
`(cons "--enable-verbose-mode" ,flags))))
(synopsis "D-Bus with verbose mode enabled for debugging")
(description "This variant D-Bus package is built with verbose mode, which
eases debugging of D-Bus services by printing various debug information when
the @code{DBUS_VERBOSE} environment variable is set to @samp{1}. For more
information, refer to the @samp{dbus-daemon(1)} man page.")))
(define glib (define glib
(package (package
(name "glib") (name "glib")

View file

@ -10,12 +10,13 @@
;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> ;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
;;; Copyright © 2020 Ellis Kenyo <me@elken.dev> ;;; Copyright © 2020 Ellis Kenyo <me@elken.dev>
;;; Copyright © 2020 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2020 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021, 2022 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Songlin Jiang <hollowman@hollowman.ml> ;;; Copyright © 2021 Songlin Jiang <hollowman@hollowman.ml>
;;; Copyright © 2021, 2022 Justin Veilleux <terramorpha@cock.li> ;;; Copyright © 2021, 2022 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2021 Attila Lendvai <attila@lendvai.name> ;;; Copyright © 2021 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com> ;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com>
;;; Copyright © 2022 Eric Bavier <bavier@posteo.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -37,6 +38,7 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system copy) #:use-module (guix build-system copy)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix packages) #:use-module (guix packages)
@ -50,6 +52,7 @@
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages build-tools) #:use-module (gnu packages build-tools)
#:use-module (gnu packages check)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
@ -58,6 +61,7 @@
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages ssh) #:use-module (gnu packages ssh)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
@ -217,6 +221,86 @@ simple and consistent.")
and a few extra features.") and a few extra features.")
(license license:gpl3))) (license license:gpl3)))
(define-public gnome-plots
(package
(name "gnome-plots")
(version "0.6.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alexhuntley/Plots")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"168wcsrkmvq79xmwvbq615msd4q0rg7f57xqicidnr78jx4x37rd"))))
(build-system python-build-system)
(inputs
(list bash-minimal ; for wrap-program
gtk+
pango
python-freetype-py
python-jinja2
python-lark-parser
python-numpy
python-pycairo
python-pyglm
python-pygobject
python-pyopengl))
(native-inputs
(list python-pytest))
(arguments
(list
#:imported-modules `((guix build glib-or-gtk-build-system)
,@%python-build-system-modules)
#:modules '((guix build python-build-system)
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
(guix build utils)
(ice-9 match))
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'adjust-lark-requirement
(lambda _
(substitute* "setup.py"
(("lark") "lark-parser"))))
(add-after 'install 'install-more
(lambda _
(let* ((datadir (string-append #$output "/share"))
(help (string-append datadir "/help"))
(icons (string-append datadir "/icons/hicolor")))
(map (lambda (filename)
(match (string-split filename #\/)
((_ lang dir ... name)
(install-file filename
(string-join (cons* help lang "plots" dir)
"/")))))
(find-files "help"))
(install-file "res/com.github.alexhuntley.Plots.desktop"
(string-append datadir "/applications/"))
(install-file "res/com.github.alexhuntley.Plots.svg"
(string-append icons "/scalable/apps/"))
(install-file "res/com.github.alexhuntley.Plots-symbolic.svg"
(string-append icons "/symbolic/apps/")))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv"))))
(add-after 'wrap 'gi-wrap
(lambda _
(let ((prog (string-append #$output "/bin/plots")))
(wrap-program prog
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))
(add-after 'wrap 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
(home-page "https://apps.gnome.org/app/com.github.alexhuntley.Plots/")
(synopsis "Simple graph plotting")
(description "Plots makes it easy to visualise mathematical formulae. In
addition to basic arithmetic operations, it supports trigonometric,
hyperbolic, exponential, and logarithmic functions, as well as arbitrary sums
and products. Plots is designed to integrate well with the GNOME desktop and
takes advantage of modern hardware using OpenGL.")
(license license:gpl3+)))
(define-public gnome-shell-extension-appindicator (define-public gnome-shell-extension-appindicator
(package (package
(name "gnome-shell-extension-appindicator") (name "gnome-shell-extension-appindicator")
@ -1170,7 +1254,7 @@ extended file attributes. It also functions as a standalone command.")
(define-public markets (define-public markets
(package (package
(name "markets") (name "markets")
(version "0.5.3") (version "0.5.4")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1180,7 +1264,7 @@ extended file attributes. It also functions as a standalone command.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0sfdmz7cp8i2bymippp8jyxsidxjn69v9cqm40q77j81kfm84bfv")))) "0ch6dfmdcpw32r23s58riv8agnyw0f1cqd1y6j7zkx5sb3zyn3zy"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t `(#:glib-or-gtk? #t

View file

@ -71,6 +71,7 @@
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> ;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2022 Leo Nikkilä <hello@lnikki.la> ;;; Copyright © 2022 Leo Nikkilä <hello@lnikki.la>
;;; Copyright © 2022 Rene Saavedra <nanuui@protonmail.com> ;;; Copyright © 2022 Rene Saavedra <nanuui@protonmail.com>
;;; Copyright © 2022 Alexandros Theodotou <alex@zrythm.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -6694,7 +6695,7 @@ a secret password store, an adblocker, and a modern UI.")
(define-public epiphany (define-public epiphany
(package (package
(name "epiphany") (name "epiphany")
(version "41.2") (version "42.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/epiphany/" (uri (string-append "mirror://gnome/sources/epiphany/"
@ -6702,65 +6703,61 @@ a secret password store, an adblocker, and a modern UI.")
"epiphany-" version ".tar.xz")) "epiphany-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0k7b22zq3z1kllzqxgwsvwb1lp0j6rjb3k1hvhna3i573wc4mpji")) "0b8rhns3b58f8dnp83mm1g933aqf88d8wrfyyp7jq3fihvw2rh4j"))))
(patches
(search-patches "epiphany-update-libportal-usage.patch"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t (list
#:phases #:glib-or-gtk? #t
(modify-phases %standard-phases #:phases
(add-after 'unpack 'skip-gtk-update-icon-cache #~(modify-phases %standard-phases
;; Don't create 'icon-theme.cache'. (add-after 'unpack 'skip-gtk-update-icon-cache
(lambda _ ;; Don't create 'icon-theme.cache'.
(substitute* "post_install.py" (lambda _
(("gtk-update-icon-cache") "true")))) (substitute* "post_install.py"
(add-after 'unpack 'disable-failing-tests (("gtk-update-icon-cache") "true"))))
(lambda _ (add-after 'unpack 'disable-failing-tests
(substitute* "tests/meson.build" (lambda _
;; embed_shell fails, because webkitgtk apparently no longer (substitute* "tests/meson.build"
;; supports overriding the ftp schema web_app_utils fails due ;; embed_shell fails, because webkitgtk apparently no longer
;; to missing network access. ;; supports overriding the ftp schema web_app_utils fails due
(("(embed_shell|web_app_utils)_test,") ;; to missing network access.
"find_program('sh'), args: ['-c', 'exit 77'],")))) (("(embed_shell|web_app_utils)_test,")
(add-before 'check 'pre-check "find_program('sh'), args: ['-c', 'exit 77'],"))))
(lambda _ (add-before 'check 'pre-check
;; Tests require a running X server. (lambda _
(system "Xvfb :1 &") ;; Tests require a running X server.
(setenv "DISPLAY" ":1")))) (system "Xvfb :1 &")
#:configure-flags (setenv "DISPLAY" ":1"))))
;; Otherwise, the RUNPATH will lack the final 'epiphany' path component. #:configure-flags
(list (string-append "-Dc_link_args=-Wl,-rpath=" ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
(assoc-ref %outputs "out") "/lib/epiphany")))) #~(list (string-append "-Dc_link_args=-Wl,-rpath="
(propagated-inputs #$output "/lib/epiphany"))))
(list dconf)) (propagated-inputs (list dconf))
(native-inputs (native-inputs (list desktop-file-utils ; for update-desktop-database
`(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database `(,glib "bin") ; for glib-mkenums
("glib:bin" ,glib "bin") ; for glib-mkenums intltool
("intltool" ,intltool) itstool
("itstool" ,itstool) pkg-config
("pkg-config" ,pkg-config) libxml2
("xmllint" ,libxml2) xorg-server-for-tests))
("xorg-server" ,xorg-server-for-tests))) (inputs (list avahi
(inputs gcr
`(("avahi" ,avahi) librsvg ; for loading SVG files
("gcr" ,gcr) glib-networking
("librsvg" ,librsvg) ; for loading SVG files gnome-desktop
("glib-networking" ,glib-networking) gsettings-desktop-schemas
("gnome-desktop" ,gnome-desktop) json-glib
("gsettings-desktop-schemas" ,gsettings-desktop-schemas) iso-codes
("json-glib" ,json-glib) libarchive
("iso-codes" ,iso-codes) libdazzle
("libarchive" ,libarchive) libhandy
("libdazzle" ,libdazzle) libnotify
("libhandy" ,libhandy) libportal
("libnotify" ,libnotify) libsecret
("libportal" ,libportal) libxslt
("libsecret" ,libsecret) nettle ; for hogweed
("libxslt" ,libxslt) sqlite
("nettle" ,nettle) ; for hogweed webkitgtk-with-libsoup2))
("sqlite" ,sqlite)
("webkitgtk" ,webkitgtk-with-libsoup2)))
(home-page "https://wiki.gnome.org/Apps/Web") (home-page "https://wiki.gnome.org/Apps/Web")
(synopsis "GNOME web browser") (synopsis "GNOME web browser")
(description (description
@ -11018,7 +11015,7 @@ functionality.")
(define-public gthumb (define-public gthumb
(package (package
(name "gthumb") (name "gthumb")
(version "3.12.0") (version "3.12.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/gthumb/" (uri (string-append "mirror://gnome/sources/gthumb/"
@ -11026,7 +11023,7 @@ functionality.")
"gthumb-" version ".tar.xz")) "gthumb-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0grqiq6v26z8avl7mj24xy4i9bl1niwpqhqw6rblprl40c1zrvrx")))) "09flm8s6jrvfya2ypw5873mnnani8ssy7wdv3ra1cljk4bjszy4p"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t `(#:glib-or-gtk? #t
@ -12310,7 +12307,7 @@ profiler via Sysprof, debugging support, and more.")
(define-public komikku (define-public komikku
(package (package
(name "komikku") (name "komikku")
(version "0.38.0") (version "0.39.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -12320,7 +12317,7 @@ profiler via Sysprof, debugging support, and more.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1khf51r8001j0cvjja5rkqi07v08nqyz97hx8fjyi7p3l5b5vkwc")))) "1g765kbgimfpvma67j1gscj046n2q9a9nr2pczlw65qwlm0418c5"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t `(#:glib-or-gtk? #t
@ -12579,45 +12576,43 @@ Document Analysis and Recognition program.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public libadwaita (define-public libadwaita
(let ((commit "8d66b987a19979d9d7b85dacc6bad5ce0c8743fe") (package
(revision "1")) (name "libadwaita")
(package (version "1.1.0")
(name "libadwaita") (source (origin
(version (git-version "0.0.1" revision commit)) (method url-fetch)
(source (origin (uri (string-append "mirror://gnome/sources/libadwaita/"
(method git-fetch) (version-major+minor version) "/"
(uri (git-reference "libadwaita-" version ".tar.xz"))
(url "https://gitlab.gnome.org/GNOME/libadwaita.git") (sha256
(commit commit))) (base32
(file-name (git-file-name name version)) "03h14mrm453bn03f48rmpf85pvg5cnzzab27cs1c43417s09ixdg"))))
(sha256 (build-system meson-build-system)
(base32 (arguments
"0i3wav6jsyi4w4i2r1rad769m5y5s9djj4zqb7dfyh0bad24ba3q")))) `(#:phases
(build-system meson-build-system) (modify-phases %standard-phases
(arguments (add-before 'check 'pre-check
`(#:phases (lambda* (#:key inputs #:allow-other-keys)
(modify-phases %standard-phases ;; Tests require a running X server.
(add-before 'check 'pre-check (system "Xvfb :1 &")
(lambda* (#:key inputs #:allow-other-keys) (setenv "DISPLAY" ":1"))))))
;; Tests require a running X server. (native-inputs
(system "Xvfb :1 &") `(("sassc" ,sassc)
(setenv "DISPLAY" ":1")))))) ("glib:bin" ,glib "bin")
(native-inputs ("gtk-doc" ,gtk-doc/stable)
`(("sassc" ,sassc) ("pkg-config" ,pkg-config)
("glib:bin" ,glib "bin") ("vala" ,vala)
("gtk-doc" ,gtk-doc/stable) ("xvfb" ,xorg-server-for-tests)
("pkg-config" ,pkg-config) ("gettext" ,gettext-minimal)))
("vala" ,vala) (inputs
("xvfb" ,xorg-server-for-tests))) (list gtk gobject-introspection libportal))
(inputs (home-page "https://gnome.pages.gitlab.gnome.org/libadwaita/")
(list gtk gobject-introspection libportal)) (synopsis "Building blocks for GNOME applications")
(home-page "https://gnome.pages.gitlab.gnome.org/libadwaita/") (description
(synopsis "Building blocks for GNOME applications") "@code{libadwaita} offers widgets and objects to build GNOME
(description
"@code{libadwaita} offers widgets and objects to build GNOME
applications scaling from desktop workstations to mobile phones. It is the applications scaling from desktop workstations to mobile phones. It is the
successor of @code{libhandy} for GTK4.") successor of @code{libhandy} for GTK4.")
(license license:lgpl2.1+)))) (license license:lgpl2.1+)))
(define-public gnome-power-manager (define-public gnome-power-manager
(package (package

View file

@ -53,6 +53,7 @@
(define-module (gnu packages golang) (define-module (gnu packages golang)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix memoization)
#:use-module ((guix build utils) #:select (alist-replace)) #:use-module ((guix build utils) #:select (alist-replace))
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
@ -626,7 +627,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package (package
(inherit go-1.16) (inherit go-1.16)
(name "go") (name "go")
(version "1.17.8") (version "1.17.9")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -636,7 +637,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"05qfs17wddxmmi349g9ci12w9fjb5vbss6qpjc4qzgqzznqf0ycy")))) "02l6gxn738kam1niy2nl2wpsbzl4x87h2wik6hd3py19kq4z2flw"))))
(outputs '("out" "tests")) ; 'tests' contains distribution tests. (outputs '("out" "tests")) ; 'tests' contains distribution tests.
(arguments (arguments
`(#:modules ((ice-9 match) `(#:modules ((ice-9 match)
@ -840,35 +841,43 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(define-public go go-1.17) (define-public go go-1.17)
(define-public (make-go-std go) (define make-go-std
"Return a package which builds the standard library for Go compiler GO." (mlambdaq (go)
(package "Return a package which builds the standard library for Go compiler GO."
(name (string-append (package-name go) "-std")) (package
(version (package-version go)) (name (string-append (package-name go) "-std"))
(source #f) (version (package-version go))
(build-system go-build-system) (source #f)
(arguments (build-system go-build-system)
`(#:import-path "std" (arguments
#:build-flags `("-pkgdir" "pkg") ; "Install" to build directory. `(#:import-path "std"
#:allow-go-reference? #t #:build-flags `("-pkgdir" "pkg") ; "Install" to build directory.
#:substitutable? #f ; Faster to build than download. #:allow-go-reference? #t
#:tests? #f ; Already tested in the main Go build. #:substitutable? #f ; Faster to build than download.
#:go ,go #:tests? #f ; Already tested in the main Go build.
#:phases #:go ,go
(modify-phases %standard-phases #:phases
(delete 'unpack) (modify-phases %standard-phases
(replace 'install (delete 'unpack)
(lambda* (#:key outputs #:allow-other-keys) (replace 'install
(let* ((out (assoc-ref outputs "out")) (lambda* (#:key outputs #:allow-other-keys)
(out-cache (string-append out "/var/cache/go/build"))) (let* ((out (assoc-ref outputs "out"))
(copy-recursively (getenv "GOCACHE") out-cache) (out-cache (string-append out "/var/cache/go/build")))
(delete-file (string-append out-cache "/trim.txt")) (copy-recursively (getenv "GOCACHE") out-cache)
(delete-file (string-append out-cache "/README"))))) (delete-file (string-append out-cache "/trim.txt"))
(delete 'install-license-files)))) (delete-file (string-append out-cache "/README")))))
(home-page (package-home-page go)) (delete 'install-license-files))))
(synopsis "Cached standard library build for Go") (home-page (package-home-page go))
(description (package-description go)) (synopsis "Cached standard library build for Go")
(license (package-license go)))) (description (package-description go))
(license (package-license go)))))
(export make-go-std)
;; Make those public so they have a corresponding Cuirass job.
(define-public go-std-1.14 (make-go-std go-1.14))
(define-public go-std-1.16 (make-go-std go-1.16))
(define-public go-std-1.17 (make-go-std go-1.17))
(define-public go-0xacab-org-leap-shapeshifter (define-public go-0xacab-org-leap-shapeshifter
(let ((commit "0aa6226582efb8e563540ec1d3c5cfcd19200474") (let ((commit "0aa6226582efb8e563540ec1d3c5cfcd19200474")
@ -9775,3 +9784,62 @@ Features:
"@code{go-github-com-go-chi-chi-v5} is an HTTP router that lets the user "@code{go-github-com-go-chi-chi-v5} is an HTTP router that lets the user
decompose request handling into many smaller layers.") decompose request handling into many smaller layers.")
(license license:expat))) (license license:expat)))
(define-public go-sigs-k8s-io-yaml
(package
(name "go-sigs-k8s-io-yaml")
(version "1.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kubernetes-sigs/yaml")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0qxs0ppqwqrfqs4aywyn1h28xh1qlj5ds4drmygaz1plrxj02dqn"))))
(build-system go-build-system)
(arguments '(#:import-path "sigs.k8s.io/yaml"))
(propagated-inputs (list go-gopkg-in-yaml-v2 go-github-com-davecgh-go-spew))
(home-page "https://sigs.k8s.io/yaml")
(synopsis "YAML marshaling and unmarshaling support for Go")
(description
"This package provides a Go library that first converts YAML to JSON
using @code{go-yaml} and then uses @code{json.Marshal} and
@code{json.Unmarshal} to convert to or from the struct. This means that
it effectively reuses the JSON struct tags as well as the custom JSON
methods @code{MarshalJSON} and @code{UnmarshalJSON} unlike
@code{go-yaml}.
kubernetes-sigs/yaml is a permanent fork of
@url{https://github.com/ghodss/yaml,ghodss/yaml}.")
(license (list license:expat license:bsd-3))))
(define-public go-github-com-google-go-jsonnet
(package
(name "go-github-com-google-go-jsonnet")
(version "0.18.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/google/go-jsonnet")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1dghqygag123zkgh2vrnq82cdag5z0p03v3489pwhs06r5g27wm3"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/google/go-jsonnet/cmd/jsonnet"
#:unpack-path "github.com/google/go-jsonnet"))
(propagated-inputs (list go-sigs-k8s-io-yaml go-gopkg-in-yaml-v2
go-github-com-sergi-go-diff
go-github-com-fatih-color))
(home-page "https://github.com/google/go-jsonnet")
(synopsis "Go implementation of Jsonnet")
(description
"This package provides an implementation of the @url{http://jsonnet.org/,
Jsonnet} data templating language in Go. It is a feature-complete,
production-ready implementation, compatible with the original Jsonnet C++
implementation.")
(license license:asl2.0)))

View file

@ -170,7 +170,7 @@ coordinates as well as partial support for adjustments in global coordinate syst
(define-public gpxsee (define-public gpxsee
(package (package
(name "gpxsee") (name "gpxsee")
(version "10.3") (version "11.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -179,7 +179,7 @@ coordinates as well as partial support for adjustments in global coordinate syst
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1i1diha617il0s2j9108xlw3vn10m6lc59r8r2fn48wmfzcj79dc")))) "1klpjiqsvpvhlg5hsfjaszsyqr817hig9r7y7w4cp0kyn8z5fzfj"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases '(#:phases
@ -194,7 +194,7 @@ coordinates as well as partial support for adjustments in global coordinate syst
(string-append "PREFIX=" (string-append "PREFIX="
(assoc-ref outputs "out")))))))) (assoc-ref outputs "out"))))))))
(inputs (inputs
(list qtbase-5 qtlocation)) (list qtbase-5 qtlocation qtsvg))
(native-inputs (native-inputs
(list qttools)) (list qttools))
(home-page "https://www.gpxsee.org") (home-page "https://www.gpxsee.org")

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018, 2019, 2020, 2022 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2018, 2019, 2020, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2020, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2020 Alexander Krotov <krotov@iitp.ru> ;;; Copyright © 2020 Alexander Krotov <krotov@iitp.ru>
@ -143,7 +143,7 @@ more.")
(package (package
(inherit igraph) (inherit igraph)
(name "python-igraph") (name "python-igraph")
(version "0.9.10") (version "0.9.11")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
;; The PyPI archive lacks tests. ;; The PyPI archive lacks tests.
@ -153,7 +153,7 @@ more.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"06qvwmiw2klk3bg8g5af0ppjwrm9kzy4595w5d06qh2v3gq0svbk")))) "1xlr0cnf3a1vs9n2psvgrmjhld4n1xr79kkjqzby4pxxyzk1bydn"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
(list (list

View file

@ -1990,7 +1990,7 @@ Some feature highlights:
(define-public openxr (define-public openxr
(package (package
(name "openxr") (name "openxr")
(version "1.0.22") (version "1.0.23")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2004,7 +2004,7 @@ Some feature highlights:
;; Delete bundled jsoncpp. ;; Delete bundled jsoncpp.
(delete-file-recursively "src/external/jsoncpp"))) (delete-file-recursively "src/external/jsoncpp")))
(sha256 (sha256
(base32 "1l6wygazgvd8lbhqk60iim2l2h35gxpsn0y9a9f8q72sqpfianky")))) (base32 "11w5a2ny30r8jghd5jwdxi5b2c84m21fmkp0lhpicbrwr98xgpj3"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f)) ; there are no tests `(#:tests? #f)) ; there are no tests

View file

@ -15,7 +15,7 @@
;;; Copyright © 2016 Patrick Hetu <patrick.hetu@auf.org> ;;; Copyright © 2016 Patrick Hetu <patrick.hetu@auf.org>
;;; Copyright © 2016 Nikita <nikita@n0.is> ;;; Copyright © 2016 Nikita <nikita@n0.is>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 20172021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20172022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018, 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018, 2020 Arun Isaac <arunisaac@systemreboot.net>
@ -1562,14 +1562,14 @@ guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.")
(define-public cairomm (define-public cairomm
(package (package
(name "cairomm") (name "cairomm")
(version "1.16.0") (version "1.16.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.cairographics.org/releases/" (uri (string-append "https://www.cairographics.org/releases/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1ya4y7qa000cjawqwswbqv26y5icfkmhs5iiiil4dxgrqn91923y")))) "1im2yjzvjfx8s7cal9kwq23z936kppfmyag2zsnbim4dx7c60q3g"))))
(build-system meson-build-system) (build-system meson-build-system)
(outputs '("out" "doc")) (outputs '("out" "doc"))
(arguments (arguments
@ -1587,18 +1587,17 @@ guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.")
(mkdir-p (string-append doc "/share")) (mkdir-p (string-append doc "/share"))
(rename-file (rename-file
(string-append out "/share/doc") (string-append out "/share/doc")
(string-append doc "/share/doc")) (string-append doc "/share/doc"))))))))
#t))))))
(native-inputs (native-inputs
`(("boost" ,boost) (list boost
("dot" ,graphviz) doxygen
("doxygen" ,doxygen) graphviz
("mm-common" ,mm-common) mm-common
("perl" ,perl) perl
("pkg-config" ,pkg-config) pkg-config
("xsltproc" ,libxslt))) libxslt))
(inputs (inputs
`(("fontconfig" ,fontconfig))) (list fontconfig))
(propagated-inputs (propagated-inputs
(list libsigc++ cairo)) (list libsigc++ cairo))
(home-page "https://cairographics.org/") (home-page "https://cairographics.org/")

View file

@ -41,6 +41,7 @@
;;; Copyright © 2021, 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2021, 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com> ;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -83,6 +84,7 @@
#:use-module (gnu packages gstreamer) #:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages haskell-xyz) ;pandoc
#:use-module (gnu packages hurd) #:use-module (gnu packages hurd)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages imagemagick) #:use-module (gnu packages imagemagick)
@ -5019,3 +5021,85 @@ consists of a set of Guile modules providing some of Clojure's functionality
in two different guises.") in two different guises.")
;; Dual license: LGPLv2.1+ or EPLv1.0+ at the user's option. ;; Dual license: LGPLv2.1+ or EPLv1.0+ at the user's option.
(license (list license:lgpl2.1+ license:epl1.0))))) (license (list license:lgpl2.1+ license:epl1.0)))))
(define-public guile-tap
(package
(name "guile-tap")
(version "0.4.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ft/guile-tap")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"04ip5cbvsjjcicsri813f4711yh7db6fvc2px4788rl8p1iqvi6x"))))
(build-system gnu-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda _
(substitute* "Makefile"
(("PREFIX = /usr/local") (string-append "PREFIX="
#$output)))))
(replace 'build
(lambda _
(invoke "make")
(invoke "make" "-C" "doc" "man")
(invoke "make" "install")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "make" "test")))))))
(native-inputs (list guile-3.0 pandoc))
(home-page "https://github.com/ft/guile-tap")
(synopsis "Guile test framework that emits TAP output")
(description
"guile-tap is a library for GNU Guile that implements a framework for
specifying test cases that emit output that adheres to the Test Anything
Protocol (TAP). It comes with an experimental harness (tap-harness).")
(license license:bsd-2)))
(define-public guile-termios
(package
(name "guile-termios")
(version "0.6.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ft/guile-termios")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"020p3c84z09wyyb6gfzj2x6q2rfmvas7c92fcm2hhg8z1q60sqkg"))))
(build-system gnu-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda _
(substitute* "Makefile"
(("CC = cc") (string-append "CC="
#$(cc-for-target)))
(("PREFIX = /usr/local") (string-append "PREFIX="
#$output)))))
(replace 'build
(lambda _
(invoke "make")
(invoke "make" "-C" "doc" "man")
(invoke "make" "install")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "make" "test")))))))
(native-inputs (list guile-3.0 guile-tap pandoc perl perl-io-tty))
(home-page "https://github.com/ft/guile-termios")
(synopsis "POSIX termios interface for GNU Guile")
(description
"To query and change settings of serial devices on POSIX systems, the
termios API is used. GNU Guile doesn't have an interface for that built in.
This module implements this interface by use of Guile's dynamic FFI.")
(license license:bsd-2)))

View file

@ -377,8 +377,10 @@ human-readable format and checks if it conforms to the standards.")
(license license:expat)))) (license license:expat))))
(define-public h-client (define-public h-client
(let ((commit "63ff4a3bf9c3c3b6297091e08192d34991465431") ;; The Python 3 port hasn't yet been integrated into the main branch
(revision "0")) ;; (currently lives in the 'python3-port' branch).
(let ((commit "e6c78b16e034ccf78ae9cb4c29268c2f57a30bfc")
(revision "1"))
(package (package
(name "h-client") (name "h-client")
(version (git-version "0.0a0" revision commit)) (version (git-version "0.0a0" revision commit))
@ -386,14 +388,11 @@ human-readable format and checks if it conforms to the standards.")
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
;; Use this Python 3 fork until the changes have been reviewed (url "https://git.savannah.gnu.org/git/h-client.git")
;; and integrated into the official Savannah repository (in
;; progress).
(url "https://git.sr.ht/~apteryx/h-client")
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0c6s96a1zmsnn7bnfhm790c1fr8sid0zdyh9mwig4y6ffn83czh5")))) (base32 "0hm86d51kj5r3yxq4c23aa57cs8igz3wrkbjn20z4frx75rpf46m"))))
(build-system python-build-system) (build-system python-build-system)
(inputs (inputs
(list gdk-pixbuf (list gdk-pixbuf

View file

@ -435,7 +435,16 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
((#:configure-flags flags) ((#:configure-flags flags)
;; Otherwise, the build would fail with: "error: invalid conversion ;; Otherwise, the build would fail with: "error: invalid conversion
;; from const char* to char* [-fpermissive]". ;; from const char* to char* [-fpermissive]".
`(cons "-DCMAKE_CXX_FLAGS=-fpermissive" ,flags)))))) `(cons "-DCMAKE_CXX_FLAGS=-fpermissive" ,flags))
((#:phases phases)
#~(modify-phases #$phases
(add-after 'unpack 'remove-kernel-version
;; Avoid embedding the kernel version for reproducible builds
(lambda _
(substitute*
"ThirdParty/hdf5/vtkhdf5/config/cmake/libhdf5.settings.cmake.in"
(("Host system: \\@CMAKE_HOST_SYSTEM\\@")
"Host system: @CMAKE_SYSTEM_NAME@"))))))))))
(define-public opencv (define-public opencv
(package (package

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2017, 2019, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2017, 2019, 2021-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2015, 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013, 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015, 2016, 2020 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2016, 2020 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com> ;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
@ -987,31 +987,31 @@ Metafile}, and @acronym{EMF+, Enhanced Metafile Plus} files.")
(define-public imlib2 (define-public imlib2
(package (package
(name "imlib2") (name "imlib2")
(version "1.7.1") (version "1.9.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"mirror://sourceforge/enlightenment/imlib2-src/" version "mirror://sourceforge/enlightenment/imlib2-src/" version
"/imlib2-" version ".tar.bz2")) "/imlib2-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"01y45cdml2dr9cqgybrgxr86sd77d1qfa1gzclzy1j6bkminlfh3")))) "0l662h74i3mzl5ligj1352rf8bf48drasj97wygr2037gk5fijas"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags (list "--disable-static"))) '(#:configure-flags (list "--disable-static")))
(native-inputs (native-inputs
`(("pkgconfig" ,pkg-config))) (list pkg-config))
(inputs (inputs
`(("bzip2" ,bzip2) (list bzip2
("freetype" ,freetype) freetype
("giflib" ,giflib) giflib
("libid3tag" ,libid3tag) libid3tag
("libjpeg" ,libjpeg-turbo) libjpeg-turbo
("libpng" ,libpng) libpng
("libtiff" ,libtiff) libtiff
("libx11" ,libx11) libx11
("libxext" ,libxext) libxext
("libwebp" ,libwebp))) libwebp))
(home-page "https://sourceforge.net/projects/enlightenment/") (home-page "https://sourceforge.net/projects/enlightenment/")
(synopsis (synopsis
"Loading, saving, rendering and manipulating image files") "Loading, saving, rendering and manipulating image files")
@ -1027,6 +1027,19 @@ This is a complete rewrite over the Imlib 1.x series. The architecture is
more modular, simple, and flexible.") more modular, simple, and flexible.")
(license license:imlib2))) (license license:imlib2)))
(define-public imlib2-1.7
(package
(inherit imlib2)
(version "1.7.1")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/enlightenment/imlib2-src/" version
"/imlib2-" version ".tar.bz2"))
(sha256
(base32
"01y45cdml2dr9cqgybrgxr86sd77d1qfa1gzclzy1j6bkminlfh3"))))))
(define-public giblib (define-public giblib
(package (package
(name "giblib") (name "giblib")
@ -1049,7 +1062,9 @@ more modular, simple, and flexible.")
"1b4bmbmj52glq0s898lppkpzxlprq9aav49r06j2wx4dv3212rhp")))) "1b4bmbmj52glq0s898lppkpzxlprq9aav49r06j2wx4dv3212rhp"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list libx11 imlib2)) (list libx11
;; Needs an old imlib2 with the 'imlib2-config' program.
imlib2-1.7))
(home-page (home-page
;; This vanished page is universally accepted as giblib's home despite not ;; This vanished page is universally accepted as giblib's home despite not
;; mentioning the package once. ;; mentioning the package once.

View file

@ -215,7 +215,9 @@ with the script @command{flamegraph.pl} and many stackcollapse scripts.")
"1p7d94r275yvby6zqfxaswdl1q46zxbc8x5rkhnjxrp1d41byrsn")))) "1p7d94r275yvby6zqfxaswdl1q46zxbc8x5rkhnjxrp1d41byrsn"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list liburcu numactl)) (list numactl))
(propagated-inputs
(list liburcu)) ;headers of liburcu are used by headers of lttng
(native-inputs (native-inputs
(list python-3 pkg-config)) (list python-3 pkg-config))
(home-page "https://lttng.org/") (home-page "https://lttng.org/")

View file

@ -7,7 +7,7 @@
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 20172022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20172022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2021 WinterHound <winterhound@yandex.com> ;;; Copyright © 2021 WinterHound <winterhound@yandex.com>
@ -151,7 +151,7 @@ irssi, but graphical.")
(define-public irssi (define-public irssi
(package (package
(name "irssi") (name "irssi")
(version "1.2.3") (version "1.4.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/irssi/irssi/" (uri (string-append "https://github.com/irssi/irssi/"
@ -159,7 +159,7 @@ irssi, but graphical.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"17vninwcdfxw39xl2q55qircckckjk2xlvkvlwgj5lhlxppvyix6")))) "00bmwkpzhqqnsajakk7dviap1i8s89375kwpdyxg65ms3ds94xka"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -172,8 +172,7 @@ irssi, but graphical.")
(string-append "--prefix=" out) (string-append "--prefix=" out)
(string-append "--enable-true-color") (string-append "--enable-true-color")
(string-append "--with-proxy") (string-append "--with-proxy")
(string-append "--with-socks") (string-append "--with-socks")))))
(string-append "--with-bot")))))
(add-before 'check 'set-home (add-before 'check 'set-home
(lambda _ (lambda _
(setenv "HOME" (getcwd))))))) (setenv "HOME" (getcwd)))))))
@ -182,10 +181,14 @@ irssi, but graphical.")
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(home-page "https://irssi.org/") (home-page "https://irssi.org/")
(synopsis "Terminal-based IRC client") (synopsis "Extensible terminal-based IRC client")
(description (description
"Irssi is a terminal based IRC client for UNIX systems. It also supports "Irssi is a text terminal-based @acronym{IRC, Internet relay chat} client.
SILC and ICB protocols via plugins.") It is completely themable and extensible through Perl scripts, of which many
have already been written by the community.
Plug-ins add support for other protocols like @acronym{SILC, Secure Internet Live
Conferencing} and @acronym{ICB, Internet Citizen's Band}.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public weechat (define-public weechat
@ -261,7 +264,7 @@ using a mouse. It is customizable and extensible with plugins and scripts.")
(define-public srain (define-public srain
(package (package
(name "srain") (name "srain")
(version "1.3.2") (version "1.4.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -270,7 +273,7 @@ using a mouse. It is customizable and extensible with plugins and scripts.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "16nsxicixp7194bkiiyj7zrg05lhcp0xblqsbv6dq1lxd5wd3i96")))) (base32 "113nvai3nr2c8mrr5q56fb7smg5awgb2f243sib4k1zj437v9q51"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:tests? #f ;there are no tests `(#:tests? #f ;there are no tests

View file

@ -3,7 +3,7 @@
;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017, 2019, 2021 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2017, 2019, 2021 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2017-2021 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2017-2022 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
@ -18,6 +18,7 @@
;;; Copyright © 2021 Mike Gerwitz <mtg@gnu.org> ;;; Copyright © 2021 Mike Gerwitz <mtg@gnu.org>
;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -4371,6 +4372,14 @@ from source tags and class annotations.")))
(copy-recursively "src/main/resources" (copy-recursively "src/main/resources"
"build/classes/") "build/classes/")
#t)) #t))
(add-before 'build 'fix-jdom
(lambda _
;; The newer version of jdom now sets multiple features by default
;; that are not supported.
;; Skip these features
(substitute* "src/main/java/org/codehaus/plexus/metadata/merge/MXParser.java"
(("throw new XmlPullParserException\\(\"unsupporte feature \"\\+name\\);")
"// skip"))))
(add-before 'build 'reinstate-cli (add-before 'build 'reinstate-cli
;; The CLI was removed in 2.1.0, but we still need it to build some ;; The CLI was removed in 2.1.0, but we still need it to build some
;; maven dependencies, and some parts of maven itself. We can't use ;; maven dependencies, and some parts of maven itself. We can't use
@ -4537,6 +4546,14 @@ from source tags and class annotations.")))
(copy-recursively "src/main/resources" (copy-recursively "src/main/resources"
"build/classes/") "build/classes/")
#t)) #t))
(add-before 'build 'fix-jdom
(lambda _
;; The newer version of jdom now sets multiple features by default
;; that are not supported.
;; Skip these features
(substitute* "src/main/java/org/codehaus/plexus/metadata/merge/MXParser.java"
(("throw new XmlPullParserException\\(\"unsupporte feature \"\\+name\\);")
"// skip"))))
(add-before 'check 'fix-test-location (add-before 'check 'fix-test-location
(lambda _ (lambda _
(substitute* '("src/test/java/org/codehaus/plexus/metadata/DefaultComponentDescriptorWriterTest.java" (substitute* '("src/test/java/org/codehaus/plexus/metadata/DefaultComponentDescriptorWriterTest.java"
@ -5452,6 +5469,18 @@ including java-asm.")
(inputs (inputs
(list java-asm-8 java-asm-analysis-8 java-asm-tree-8)))) (list java-asm-8 java-asm-analysis-8 java-asm-tree-8))))
(define-public java-asm-commons-8
(package
(inherit java-asm-8)
(name "java-asm-commons")
(arguments
(list #:jar-name "asm-commons8.jar"
#:source-dir "asm-commons/src/main/java"
#:test-dir "asm-commons/src/test"
;; tests depend on junit5
#:tests? #f))
(inputs (list java-asm-8 java-asm-analysis-8 java-asm-tree-8))))
(define-public java-cglib (define-public java-cglib
(package (package
(name "java-cglib") (name "java-cglib")
@ -6190,14 +6219,16 @@ included:
(define-public java-commons-lang3 (define-public java-commons-lang3
(package (package
(name "java-commons-lang3") (name "java-commons-lang3")
(version "3.9") (version "3.12.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://apache/commons/lang/source/" (uri (string-append "mirror://apache/commons/lang/source/"
"commons-lang3-" version "-src.tar.gz")) "commons-lang3-" version "-src.tar.gz"))
(sha256 (sha256
(base32 "0s4ffbvsyl16c90l45ximsg4dwd8hmz7wsza3p308fw43h6mwhb6")))) (base32 "09dcv1pkdx3hpf06py8p9511f1wkin6jpacdll0c8vxpbi3yfwzv"))
(patches
(search-patches "java-commons-lang-fix-dependency.patch"))))
(build-system ant-build-system) (build-system ant-build-system)
(arguments (arguments
`(#:jar-name "commons-lang3.jar" `(#:jar-name "commons-lang3.jar"

View file

@ -313,6 +313,63 @@ be able to view it naturally and easily.")))
(description (package-description js-mathjax)) (description (package-description js-mathjax))
(license license:asl2.0))) (license license:asl2.0)))
(define-public js-mathjax-for-r-mathjaxr
(package
(inherit js-mathjax-3)
(name "js-mathjax")
(version "3.1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mathjax/MathJax-src")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0kqcb6pl0zfs4hf8zqb4l50kkfq7isv35vpy05m0lg0yr9w0w4ai"))
(patches (search-patches "mathjax-disable-webpack.patch"
"mathjax-3.1.2-no-a11y.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments js-mathjax-3)
((#:phases phases '%standard-phases)
`(modify-phases ,phases
(replace 'prepare-sources
(lambda* (#:key inputs #:allow-other-keys)
;; All a11y components depend on speech-rule-engine, which cannot be
;; built from source. Since this only affects accessibility, remove them.
(delete-file-recursively "ts/a11y")
(delete-file-recursively "components/src/a11y")
(delete-file-recursively "components/src/sre")
(delete-file-recursively "components/src/node-main")
;; Copy sources of dependencies, so we can create symlinks.
(mkdir-p "node_modules")
(with-directory-excursion "node_modules"
(for-each
(lambda (p)
(copy-recursively (assoc-ref inputs (string-append "node-" p)) p))
'("mj-context-menu")))
;; Make sure esbuild can find imports. This way we dont have to rewrite files.
(symlink "ts" "js")
(symlink "ts" "node_modules/mj-context-menu/js")))))))
(native-inputs
`(("esbuild" ,esbuild)
("node" ,node-lts)
("node-mj-context-menu"
,(let ((name "context-menu")
(version "0.6.1"))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zorkow/context-menu.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1q063l6477z285j6h5wvccp6iswvlp0jmb96sgk32sh0lf7nhknh")))))))))
(define-public js-commander (define-public js-commander
(package (package
(name "js-commander") (name "js-commander")
@ -771,22 +828,31 @@ Javascript and a small built-in standard library with C library wrappers.")
"19szwxzvl2g65fw95ggvb8h0ma5bd9vvnnccn59hwnc4dida1x4n")))) "19szwxzvl2g65fw95ggvb8h0ma5bd9vvnnccn59hwnc4dida1x4n"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; No tests. (list #:tests? #f ; No tests.
#:make-flags (list "-f" "Makefile.sharedlibrary" #:make-flags
(string-append "INSTALL_PREFIX=" %output)) #~(list "-f" "Makefile.sharedlibrary"
#:phases (string-append "INSTALL_PREFIX="
(modify-phases %standard-phases ;; XXX Replace with #$output on core-updates.
(delete 'configure) #$(if (%current-target-system)
;; At least another major GNU/Linux distribution carries their own #~#$output
;; .pc file with this package. #~%output))
(add-after 'install 'install-pkg-config ;; XXX Unconditionally set to CC-FOR-TARGET on core-updates.
(lambda* (#:key outputs #:allow-other-keys) #$@(if (%current-target-system)
(let* ((out (assoc-ref outputs "out")) #~((string-append "CC=" #$(cc-for-target)))
(pkg-config-dir (string-append out "/lib/pkgconfig"))) #~()))
(mkdir-p pkg-config-dir) #:phases
(with-output-to-file (string-append pkg-config-dir "/duktape.pc") #~(modify-phases %standard-phases
(lambda _ (delete 'configure)
(format #t "prefix=~@*~a~@ ;; At least another major GNU/Linux distribution carries their own
;; .pc file with this package.
(add-after 'install 'install-pkg-config
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(pkg-config-dir (string-append out "/lib/pkgconfig")))
(mkdir-p pkg-config-dir)
(with-output-to-file (string-append pkg-config-dir "/duktape.pc")
(lambda _
(format #t "prefix=~@*~a~@
libdir=${prefix}/lib~@ libdir=${prefix}/lib~@
includedir=${prefix}/include~@ includedir=${prefix}/include~@
@ -795,7 +861,7 @@ Javascript and a small built-in standard library with C library wrappers.")
Version: ~a~@ Version: ~a~@
Libs: -L${libdir} -lduktape~@ Libs: -L${libdir} -lduktape~@
Cflags: -I${includedir}~%" Cflags: -I${includedir}~%"
out ,version))))))))) out #$version)))))))))
(home-page "https://duktape.org/") (home-page "https://duktape.org/")
(synopsis "Small embeddable Javascript engine") (synopsis "Small embeddable Javascript engine")
(description "Duktape is an embeddable Javascript engine, with a focus on (description "Duktape is an embeddable Javascript engine, with a focus on

View file

@ -87,7 +87,7 @@
(define-public extra-cmake-modules (define-public extra-cmake-modules
(package (package
(name "extra-cmake-modules") (name "extra-cmake-modules")
(version "5.70.0") (version "5.91.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -96,7 +96,7 @@
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"10c5xs5shk0dcshpdxg564ay5y8hgmvfvmlhmhjf0dy79kcah3c3")))) "0k65rvxh926ya6qahzk2ns7g1fya1429648mlx7iipxa61g8h5wp"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
;; Add test dependency, except on armhf where building it is too ;; Add test dependency, except on armhf where building it is too
@ -104,39 +104,55 @@
(if (and (not (%current-target-system)) (if (and (not (%current-target-system))
(string=? (%current-system) "armhf-linux")) (string=? (%current-system) "armhf-linux"))
'() '()
`(("qtbase" ,qtbase-5)))) ;for tests (needs qmake) (list qtbase-5))) ;for tests (needs qmake)
(arguments (arguments
`(#:tests? ,(and (not (%current-target-system)) (list
(not (null? (package-native-inputs this-package)))) #:tests? (and (not (%current-target-system))
#:phases (not (null? (package-native-inputs this-package))))
(modify-phases %standard-phases #:phases
(add-after 'unpack 'fix-lib-path #~(modify-phases %standard-phases
(lambda _ (add-after 'unpack 'fix-lib-path
;; Always install into /lib and not into /lib64. (lambda _
(substitute* "kde-modules/KDEInstallDirs.cmake" ;; Always install into /lib and not into /lib64.
(("\"lib64\"") "\"lib\"") (substitute* "kde-modules/KDEInstallDirsCommon.cmake"
;; TODO: Base the following on values taken from Qt (("\"lib64\"") "\"lib\""))
;; Install plugins into lib/qt5/plugins
;; TODO: Check if this is okay for Android, too ;; Determine the install path by the major version of Qt.
;; (see comment in KDEInstallDirs.cmake) ;; TODO: Base the following on values taken from Qt
(("_define_relative\\(QTPLUGINDIR \"\\$\\{_pluginsDirParent}\" \"plugins\"") ;; Install plugins into lib/qt5/plugins
"_define_relative(QTPLUGINDIR \"${_pluginsDirParent}\" \"qt5/plugins\"") ;; TODO: Check if this is okay for Android, too
;; Install imports into lib/qt5/imports ;; (see comment in KDEInstallDirs.cmake)
(("_define_relative\\(QTQUICKIMPORTSDIR QTPLUGINDIR \"imports\"") (substitute* '("kde-modules/KDEInstallDirs5.cmake"
"_define_relative(QTQUICKIMPORTSDIR LIBDIR \"qt5/imports\"") "kde-modules/KDEInstallDirs6.cmake")
;; Install qml-files into lib/qt5/qml ;; Fix the installation path of Qt plugins.
(("_define_relative\\(QMLDIR LIBDIR \"qml\"") (("_define_relative\\(QTPLUGINDIR \"\\$\\{_pluginsDirParent}\" \"plugins\"")
"_define_relative(QMLDIR LIBDIR \"qt5/qml\"")) "_define_relative(QTPLUGINDIR \"${_pluginsDirParent}\" \"qt${QT_MAJOR_VERSION}/plugins\"")
(substitute* "modules/ECMGeneratePriFile.cmake" ;; Fix the installation path of QML files.
;; Install pri-files into lib/qt5/mkspecs (("_define_relative\\(QMLDIR LIBDIR \"qml\"")
(("set\\(ECM_MKSPECS_INSTALL_DIR mkspecs/modules") "_define_relative(QMLDIR LIBDIR \"qt${QT_MAJOR_VERSION}/qml\""))
"set(ECM_MKSPECS_INSTALL_DIR lib/qt5/mkspecs/modules"))
#t)) ;; Qt Quick Control 1 is no longer available in Qt 6.
;; install and check phase are swapped to prevent install from failing (substitute* '("kde-modules/KDEInstallDirs5.cmake")
;; after testsuire has run (("_define_relative\\(QTQUICKIMPORTSDIR QTPLUGINDIR \"imports\"")
(add-after 'install 'check-post-install "_define_relative(QTQUICKIMPORTSDIR LIBDIR \"qt5/imports\""))
(assoc-ref %standard-phases 'check))
(delete 'check)))) (substitute* "modules/ECMGeneratePriFile.cmake"
;; Install pri-files into lib/qt${QT_MAJOR_VERSION}/mkspecs
(("set\\(ECM_MKSPECS_INSTALL_DIR mkspecs/modules")
"set(ECM_MKSPECS_INSTALL_DIR lib/qt${QT_MAJOR_VERSION}/mkspecs/modules"))))
;; Work around for the failed test KDEFetchTranslations.
;; It complains that the cmake project name is not
;; "frameworks/extra-cmake-modules".
;; TODO: Fix it upstream.
(add-after 'unpack 'fix-test
(lambda _
(substitute* "tests/KDEFetchTranslations/CMakeLists.txt"
(("frameworks/extra-cmake-modules") "extra-cmake-modules"))))
;; install and check phase are swapped to prevent install from failing
;; after testsuire has run
(add-after 'install 'check-post-install
(assoc-ref %standard-phases 'check))
(delete 'check))))
;; optional dependencies - to save space, we do not add these inputs. ;; optional dependencies - to save space, we do not add these inputs.
;; Sphinx > 1.2: ;; Sphinx > 1.2:
;; Required to build Extra CMake Modules documentation in Qt Help format. ;; Required to build Extra CMake Modules documentation in Qt Help format.

View file

@ -160,6 +160,7 @@
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (gnu packages groff) #:use-module (gnu packages groff)
#:use-module (gnu packages selinux) #:use-module (gnu packages selinux)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages swig) #:use-module (gnu packages swig)
#:use-module (guix platform) #:use-module (guix platform)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
@ -351,17 +352,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major ;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream. ;; versions that are still supported upstream.
(define-public linux-libre-5.17-version "5.17.12") (define-public linux-libre-5.17-version "5.17.15")
(define-public linux-libre-5.17-gnu-revision "gnu") (define-public linux-libre-5.17-gnu-revision "gnu")
(define deblob-scripts-5.17 (define deblob-scripts-5.17
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-5.17-version linux-libre-5.17-version
linux-libre-5.17-gnu-revision linux-libre-5.17-gnu-revision
(base32 "08ip5g827f30qzb3j2l19zkbdqv00sij46nbrjg75h5kkasdbfgr") (base32 "08ip5g827f30qzb3j2l19zkbdqv00sij46nbrjg75h5kkasdbfgr")
(base32 "1zd4ds6ha4a2acqnalp234r2m9rz9p30qmy1aqri78i06aw7flwn"))) (base32 "1654fibbwnbcgnikn1qqa5igd2j90kslbb3pshph5wpj052cvgjy")))
(define-public linux-libre-5.17-pristine-source (define-public linux-libre-5.17-pristine-source
(let ((version linux-libre-5.17-version) (let ((version linux-libre-5.17-version)
(hash (base32 "0yr8xfds5l1s3lk8qk67mgy0l4yh2jfvjc7xwrfws3ci020ss9a2"))) (hash (base32 "0a5n1lb43nhnhwjwclkk3dqp2nxsx5ny7zfl8idvzshf94m9472a")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.17))) deblob-scripts-5.17)))
@ -369,37 +370,37 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support. ;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines: ;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html> ;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-5.15-version "5.15.44") (define-public linux-libre-5.15-version "5.15.47")
(define-public linux-libre-5.15-gnu-revision "gnu") (define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15 (define deblob-scripts-5.15
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-5.15-version linux-libre-5.15-version
linux-libre-5.15-gnu-revision linux-libre-5.15-gnu-revision
(base32 "1n57mz5agvf1d0ggbg080d7hvx8p9y0iqxkq4ypg10a7n96zy7y5") (base32 "1n57mz5agvf1d0ggbg080d7hvx8p9y0iqxkq4ypg10a7n96zy7y5")
(base32 "0gs92qbpvirwd02rpwwnja7771z2azbiy9ppy9ynpr14lxmzxnnh"))) (base32 "17xsn91h0c2d8igpzgmjm1g58nfpihlhgg9wm8zbfyd5g4airs8f")))
(define-public linux-libre-5.15-pristine-source (define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version) (let ((version linux-libre-5.15-version)
(hash (base32 "1p1jz0lxmzyj0c51afqghylg9kblk8zmlw92zq6bsn37wlwbrylv"))) (hash (base32 "1700js21yimx8rz4bsglszry564l2ycmmcr36rdqspzbmlx5w8wb")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.15))) deblob-scripts-5.15)))
(define-public linux-libre-5.10-version "5.10.119") (define-public linux-libre-5.10-version "5.10.122")
(define-public linux-libre-5.10-gnu-revision "gnu1") (define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10 (define deblob-scripts-5.10
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-5.10-version linux-libre-5.10-version
linux-libre-5.10-gnu-revision linux-libre-5.10-gnu-revision
(base32 "0mw7qn77y9c6wrnw4rjvf75cpm1w6n1aqqhf8cnghcb97p2yxxrf") (base32 "0mw7qn77y9c6wrnw4rjvf75cpm1w6n1aqqhf8cnghcb97p2yxxrf")
(base32 "1xyhz0dyrkg2avz382ly3dzpa5v89x49gfzx80c1drpwsk7jg6gp"))) (base32 "1ryfc8fppigssrzz5lfbqgli49cgs3lmf0yh46lpi2k0j2x30qcc")))
(define-public linux-libre-5.10-pristine-source (define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version) (let ((version linux-libre-5.10-version)
(hash (base32 "04952zaz2kfwf7agy4laz50f9sl3mrnpqlbwbj84q1xpl9akwd9y"))) (hash (base32 "0h0gfi3p1dd4p8xxklrl8sc3rv4xd08q7nv0i4m166w8188v62wj")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.10))) deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.196") (define-public linux-libre-5.4-version "5.4.198")
(define-public linux-libre-5.4-gnu-revision "gnu1") (define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4 (define deblob-scripts-5.4
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
@ -409,12 +410,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "05i286d98fm2pdf9724x1dsmfcm7gsd7yyyvxqlpisyj1kx14hda"))) (base32 "05i286d98fm2pdf9724x1dsmfcm7gsd7yyyvxqlpisyj1kx14hda")))
(define-public linux-libre-5.4-pristine-source (define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version) (let ((version linux-libre-5.4-version)
(hash (base32 "1x5irgki792f21hm5146xary0260cl9r475kvw8vm9w32vyx18ig"))) (hash (base32 "0wvscr5wia2xdiqfxxdwl8kxf1s085qdj5h4423mraj7dh6l0ihh")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.4))) deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.245") (define-public linux-libre-4.19-version "4.19.247")
(define-public linux-libre-4.19-gnu-revision "gnu1") (define-public linux-libre-4.19-gnu-revision "gnu1")
(define deblob-scripts-4.19 (define deblob-scripts-4.19
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
@ -424,12 +425,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1dnjgx1nmawm9gm0yf15nl80nmg7hy7q2vl3jxjbwj6hlrfv5dmx"))) (base32 "1dnjgx1nmawm9gm0yf15nl80nmg7hy7q2vl3jxjbwj6hlrfv5dmx")))
(define-public linux-libre-4.19-pristine-source (define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version) (let ((version linux-libre-4.19-version)
(hash (base32 "1s58qci6xhmss12glzkqk41kp60pqmzh4d84kyz4m4nf4xhdvzcr"))) (hash (base32 "136gmsmvgb2nid4by2ld003w06lsr7hgn9ajx0wfziag7pfnjsv2")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.19))) deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.281") (define-public linux-libre-4.14-version "4.14.283")
(define-public linux-libre-4.14-gnu-revision "gnu1") (define-public linux-libre-4.14-gnu-revision "gnu1")
(define deblob-scripts-4.14 (define deblob-scripts-4.14
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
@ -439,12 +440,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1dnjgx1nmawm9gm0yf15nl80nmg7hy7q2vl3jxjbwj6hlrfv5dmx"))) (base32 "1dnjgx1nmawm9gm0yf15nl80nmg7hy7q2vl3jxjbwj6hlrfv5dmx")))
(define-public linux-libre-4.14-pristine-source (define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version) (let ((version linux-libre-4.14-version)
(hash (base32 "0pivb1m2cwqnlm8bhd4ccnlq9pwp2r5lmn77gp91k6vbjv3gkqis"))) (hash (base32 "191gybhnck4mh9yjzwgv1crrbxjc90p12bcif721rbs6xzszmxzh")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.14))) deblob-scripts-4.14)))
(define-public linux-libre-4.9-version "4.9.316") (define-public linux-libre-4.9-version "4.9.318")
(define-public linux-libre-4.9-gnu-revision "gnu1") (define-public linux-libre-4.9-gnu-revision "gnu1")
(define deblob-scripts-4.9 (define deblob-scripts-4.9
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
@ -454,7 +455,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "14jyn2yrbm6ayp0bszs4f9jy3p1qkrj5p5gf5c42spr67aa2lv2v"))) (base32 "14jyn2yrbm6ayp0bszs4f9jy3p1qkrj5p5gf5c42spr67aa2lv2v")))
(define-public linux-libre-4.9-pristine-source (define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version) (let ((version linux-libre-4.9-version)
(hash (base32 "05yd7djm6dcxv3vaylhmj3p0yml421azv8qabmhv4ric1f99idjp"))) (hash (base32 "09czsc0ynyw068yczs9qx4cliqmrh5hvz93c77lhh014wn02pba4")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.9))) deblob-scripts-4.9)))
@ -3694,7 +3695,7 @@ for systems using the Linux kernel. This includes commands such as
(define-public inotify-tools (define-public inotify-tools
(package (package
(name "inotify-tools") (name "inotify-tools")
(version "3.20.11.0") (version "3.22.6.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -3703,7 +3704,7 @@ for systems using the Linux kernel. This includes commands such as
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1m8avqccrhm38krlhp88a7v949f3hrzx060bbrr5dp5qw2nmw9j2")))) "1j9j8k5zjp8m4cl53zjncnll9z4dnvzr4ygmfcjk0ci81i59b18i"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list autoconf automake libtool)) (list autoconf automake libtool))
@ -5575,7 +5576,7 @@ and copy/paste text in the console and in xterm.")
(define-public btrfs-progs (define-public btrfs-progs
(package (package
(name "btrfs-progs") (name "btrfs-progs")
(version "5.15.1") (version "5.18.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/" (uri (string-append "mirror://kernel.org/linux/kernel/"
@ -5583,7 +5584,7 @@ and copy/paste text in the console and in xterm.")
"btrfs-progs-v" version ".tar.xz")) "btrfs-progs-v" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"085rg9p7kifhh8kjyyhs38y86srwk820s6v07min5gb177rzhc32")))) "0mbj3j2fpjds9i9gm8kk8a20yjacc562ibd1v9a96bpmrxfag63f"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" (outputs '("out"
"static")) ; static versions of the binaries in "out" "static")) ; static versions of the binaries in "out"
@ -5628,21 +5629,19 @@ and copy/paste text in the console and in xterm.")
("zstd" ,zstd "lib") ("zstd" ,zstd "lib")
("zstd:static" ,zstd "static"))) ("zstd:static" ,zstd "static")))
(native-inputs `(("pkg-config" ,pkg-config) (native-inputs `(("pkg-config" ,pkg-config)
("asciidoc" ,asciidoc)
("python" ,python)
("xmlto" ,xmlto)
;; For building documentation. ;; For building documentation.
("libxml2" ,libxml2) ("python-sphinx" ,python-sphinx)
("docbook-xsl" ,docbook-xsl)
;; For tests. ;; For tests.
("acl" ,acl) ("acl" ,acl)
("which" ,which)
("dmsetup" ,lvm2) ("dmsetup" ,lvm2)
;; The tests need 'grep' with perl regexp support. ("grep" ,grep) ; need Perl regexp support
("grep" ,grep))) ("libaio" ,libaio)
("liburing" ,liburing)
("util-linux" ,util-linux) ; for fallocate
("which" ,which)))
(home-page "https://btrfs.wiki.kernel.org/index.php/Main_Page") (home-page "https://btrfs.wiki.kernel.org/index.php/Main_Page")
(synopsis "Create and manage btrfs copy-on-write file systems") (synopsis "Create and manage btrfs copy-on-write file systems")
(description "Btrfs is a @dfn{copy-on-write} (CoW) file system for Linux (description "Btrfs is a @acronym{CoW, copy-on-write} file system for Linux
aimed at implementing advanced features while focusing on fault tolerance, aimed at implementing advanced features while focusing on fault tolerance,
repair and easy administration.") repair and easy administration.")
;; GPL2+: crc32.c, radix-tree.c, raid6.c, rbtree.c. ;; GPL2+: crc32.c, radix-tree.c, raid6.c, rbtree.c.
@ -6343,7 +6342,7 @@ The collection contains a set of bandwidth and latency benchmark such as:
(package (package
(name "rng-tools") (name "rng-tools")
(home-page "https://github.com/nhorman/rng-tools") (home-page "https://github.com/nhorman/rng-tools")
(version "6.14") (version "6.15")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (url home-page) (uri (git-reference (url home-page)
@ -6351,7 +6350,7 @@ The collection contains a set of bandwidth and latency benchmark such as:
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1hrbm4y7fbzkg5j2f7vpj19ri2ff2lp77al17fhi4mv0bvdfjd9m")))) "0i00if7xknpm0dhkrm60rxzyyvq0vdibq7dvsd2ncm9pg098qvwj"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(;; Disable support for various hardware entropy sources as they need `(;; Disable support for various hardware entropy sources as they need
@ -6359,12 +6358,19 @@ The collection contains a set of bandwidth and latency benchmark such as:
;; increase closure size. ;; increase closure size.
#:configure-flags '("--without-nistbeacon" #:configure-flags '("--without-nistbeacon"
"--without-pkcs11" "--without-pkcs11"
"--without-rtlsdr"))) "--without-rtlsdr")
#:phases
(modify-phases %standard-phases
(add-before 'check 'disable-failing-test
(lambda _
(substitute* "tests/Makefile"
;; This test requires a hwrng, rdrand, or tpm device.
;; Worse, it appears to fail if that isn't sufficiently random.
(("\\brngtestjitter\\.sh\\b") " ")))))))
(native-inputs (native-inputs
(list autoconf automake pkg-config)) (list autoconf automake pkg-config))
(inputs (inputs
`(("libsysfs" ,sysfsutils) (list sysfsutils openssl))
("openssl" ,openssl)))
(synopsis "Random number generator daemon") (synopsis "Random number generator daemon")
(description (description
"Monitor a hardware random number generator, and supply entropy "Monitor a hardware random number generator, and supply entropy
@ -7247,14 +7253,14 @@ re-use code and to avoid re-inventing the wheel.")
(define-public libnftnl (define-public libnftnl
(package (package
(name "libnftnl") (name "libnftnl")
(version "1.2.1") (version "1.2.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://netfilter.org/libnftnl/" (uri (string-append "mirror://netfilter.org/libnftnl/"
"libnftnl-" version ".tar.bz2")) "libnftnl-" version ".tar.bz2"))
(sha256 (sha256
(base32 "0z4khm2mnys9mcl8ckwf19cw20jgrv8650nfncy3xcgs2k2aa23m")))) (base32 "02kdxp4l1ds5lpkw6rxv6f7icc70am6ik3p9z5l8v48mkm7h1z4y"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
@ -7289,7 +7295,7 @@ used by nftables.")
(define-public nftables (define-public nftables
(package (package
(name "nftables") (name "nftables")
(version "1.0.2") (version "1.0.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -7298,9 +7304,7 @@ used by nftables.")
(string-append "https://www.nftables.org/projects/nftables" (string-append "https://www.nftables.org/projects/nftables"
"/files/nftables-" version ".tar.bz2"))) "/files/nftables-" version ".tar.bz2")))
(sha256 (sha256
(base32 "00jcjn1pl7qyqpg8pd4yhlkys7wbj4vkzgg73n27nmplzips6a0b")) (base32 "0ddsdj6zs78hndffl3iikpa1wzjxcpmr3xqcq4la71gnl7zb2zwj"))))
(patches
(search-patches "nftables-fix-makefile.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments `(#:configure-flags (arguments `(#:configure-flags
'("--disable-static" '("--disable-static"
@ -9095,7 +9099,7 @@ kernel side implementation.")
(define-public erofs-utils (define-public erofs-utils
(package (package
(name "erofs-utils") (name "erofs-utils")
(version "1.4") (version "1.5")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -9104,7 +9108,7 @@ kernel side implementation.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1ygaw69pfz2hfzw9cqzg9rfnjzrdbfkwsiinz6qs2h56dssjz0y9")))) (base32 "0rgkw3b924xdg49v3qi8a10w41zfk276wb6fp71lb9q9cfc81idw"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list lz4 (list lz4
@ -9203,7 +9207,7 @@ older system-wide @file{/sys} interface.")
(define-public libtree (define-public libtree
(package (package
(name "libtree") (name "libtree")
(version "3.0.2") (version "3.1.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -9212,7 +9216,7 @@ older system-wide @file{/sys} interface.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "072624anz9g01mp5vfkahfmzy0nb7axg5rwk3n1yrdm4hr3d4zrb")))) (base32 "1jbc60cslzcfxk9jwva51ncr1zl1nz0fkgfjdckgv81is11nswmb"))))
(arguments (arguments
(list #:make-flags (list #:make-flags
;; NOTE: Official documentation recommends to build libtree with ;; NOTE: Official documentation recommends to build libtree with
@ -9221,6 +9225,15 @@ older system-wide @file{/sys} interface.")
(string-append "PREFIX=" #$output)) (string-append "PREFIX=" #$output))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
;; XXX: '08_nodeflib' fails as 'libtree' returns a non-zero
;; code in one of the tests.
;;
;; See <https://github.com/haampie/libtree/issues/80>).
(lambda _
(substitute* "tests/08_nodeflib/Makefile"
(("! ../../libtree -vvv exe_b")
"../../libtree -vvv exe_b"))))
(delete 'configure)))) (delete 'configure))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "https://github.com/haampie/libtree") (home-page "https://github.com/haampie/libtree")

View file

@ -3401,7 +3401,7 @@ is a library for creating graphical user interfaces.")
(define-public sbcl-cl-webkit (define-public sbcl-cl-webkit
(package (package
(name "sbcl-cl-webkit") (name "sbcl-cl-webkit")
(version "3.5.1") (version "3.5.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -3411,7 +3411,7 @@ is a library for creating graphical user interfaces.")
(file-name (git-file-name "cl-webkit" version)) (file-name (git-file-name "cl-webkit" version))
(sha256 (sha256
(base32 (base32
"1zfqwr6vmdd9a2nx3j3ihf8y9sah354wi2rgpq7dy4dkc6wxxd48")))) "076lqj8ns9s7z980g3p2llw3k6hgsqnsvw8vjjslbpas2jzf26nr"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(inputs (inputs
`(("cffi" ,sbcl-cffi) `(("cffi" ,sbcl-cffi)
@ -4457,7 +4457,7 @@ addition, removal, and random selection.")
(define-public sbcl-quri (define-public sbcl-quri
(package (package
(name "sbcl-quri") (name "sbcl-quri")
(version "0.4.0") (version "0.5.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -4466,7 +4466,7 @@ addition, removal, and random selection.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0ka5haq3g72hvaz4hdv7y1d6df9ncmx029wwixn4r413gll5yxy7")))) (base32 "0zpwjhs2zz9832wsjs00kbkjjl4bcs96krlnq9y75gi4f34fxj1x"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(arguments (arguments
;; Test system must be loaded before, otherwise tests fail with: ;; Test system must be loaded before, otherwise tests fail with:
@ -4481,7 +4481,7 @@ addition, removal, and random selection.")
(synopsis "Yet another URI library for Common Lisp") (synopsis "Yet another URI library for Common Lisp")
(description (description
"QURI (pronounced \"Q-ree\") is yet another URI library for Common "QURI (pronounced \"Q-ree\") is yet another URI library for Common
Lisp. It is intended to be a replacement of PURI.") Lisp. It is intended to be a replacement of PURI.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public cl-quri (define-public cl-quri
@ -6056,12 +6056,12 @@ cookie headers, cookie creation, cookie jar creation and more.")
(sbcl-package->ecl-package sbcl-cl-cookie)) (sbcl-package->ecl-package sbcl-cl-cookie))
(define-public sbcl-dexador (define-public sbcl-dexador
(let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc") (let ((commit "74a233edb0ebf2b8c696fb8db984ac568fbcc4e5")
(revision "1")) (revision "1"))
(package (package
(name "sbcl-dexador") (name "sbcl-dexador")
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(version "0.9.14" ) (version (git-version "0.9.15" revision commit))
(home-page "https://github.com/fukamachi/dexador") (home-page "https://github.com/fukamachi/dexador")
(source (source
(origin (origin
@ -6069,36 +6069,35 @@ cookie headers, cookie creation, cookie jar creation and more.")
(uri (git-reference (uri (git-reference
(url home-page) (url home-page)
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name "cl-dexador" version))
(sha256 (sha256
(base32 (base32 "14cbykd9j8klm8sz3siq5zk78a0ljd6rdwfq12fi4h1ih50apyfi"))))
"0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
(inputs (inputs
`(("trivial-gray-streams" ,sbcl-trivial-gray-streams) (list sbcl-alexandria
("babel" ,sbcl-babel) sbcl-babel
("usocket" ,sbcl-usocket) sbcl-bordeaux-threads
("fast-http" ,sbcl-fast-http) sbcl-chipz
("quri" ,sbcl-quri) sbcl-chunga
("fast-io" ,sbcl-fast-io) sbcl-cl+ssl
("chunga" ,sbcl-chunga) sbcl-cl-base64
("cl-ppcre" ,sbcl-cl-ppcre) sbcl-cl-cookie
("cl-cookie" ,sbcl-cl-cookie) sbcl-cl-ppcre
("trivial-mimes" ,sbcl-trivial-mimes) sbcl-cl-reexport
("chipz" ,sbcl-chipz) sbcl-fast-http
("cl-base64" ,sbcl-cl-base64) sbcl-fast-io
("cl-reexport" ,sbcl-cl-reexport) sbcl-quri
("cl+ssl" ,sbcl-cl+ssl) sbcl-trivial-gray-streams
("bordeaux-threads" ,sbcl-bordeaux-threads) sbcl-trivial-mimes
("alexandria" ,sbcl-alexandria))) sbcl-usocket))
(native-inputs (native-inputs
`(("prove" ,sbcl-prove) (list sbcl-alexandria
("lack" ,sbcl-lack) sbcl-babel
("clack" ,sbcl-clack) sbcl-cl-ppcre
("babel" ,sbcl-babel) sbcl-clack
("alexandria" ,sbcl-alexandria) sbcl-lack
("cl-ppcre" ,sbcl-cl-ppcre) sbcl-local-time
("local-time" ,sbcl-local-time) sbcl-prove
("trivial-features" ,sbcl-trivial-features))) sbcl-trivial-features))
(arguments (arguments
;; TODO: Circular dependency: tests depend on clack-test which depends on dexador. ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
`(#:tests? #f `(#:tests? #f
@ -6242,6 +6241,42 @@ can and/or provide reasonable defaults.")
(define-public ecl-introspect-environment (define-public ecl-introspect-environment
(sbcl-package->ecl-package sbcl-introspect-environment)) (sbcl-package->ecl-package sbcl-introspect-environment))
(define-public sbcl-compiler-macro
(let ((commit "7796bda64aec5af3ca175170ad3565167868789c")
(revision "0"))
(package
(name "sbcl-compiler-macro")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Bike/compiler-macro")
(commit commit)))
(file-name (git-file-name "cl-compiler-macro" version))
(sha256
(base32 "13sswps7s0qy6939mvj8q57hkx0qkga6rl6xjhjr7pk7by0xdsjq"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-fiveam))
(inputs
(list sbcl-introspect-environment))
(home-page "https://github.com/Bike/compiler-macro")
(synopsis "Common Lisp compiler macro utilities")
(description "This library is a collection of utilities for writing
compiler macros. It is intended to make it possible to make compiler macros
much more useful, by granting them access to lexical type information, making
the protocol for declining expansion more convenient, and establishing some
information for signaling optimization advice to programmers. Some utilities
to support this, especially for reasoning on types, are also included.")
(license license:cc0))))
(define-public cl-compiler-macro
(sbcl-package->cl-source-package sbcl-compiler-macro))
(define-public ecl-compiler-macro
(sbcl-package->ecl-package sbcl-compiler-macro))
(define-public sbcl-type-i (define-public sbcl-type-i
(let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667") (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
(revision "2")) (revision "2"))
@ -7504,8 +7539,8 @@ implementation specific equivalent.")
(sbcl-package->ecl-package sbcl-trivial-macroexpand-all)) (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
(define-public sbcl-serapeum (define-public sbcl-serapeum
(let ((commit "c29a52ff0c5f6e60b09919c3a0daa8df7599ddb9") (let ((commit "d2150c6fb75c16f2ee0abd145a1089d0019e7f7e")
(revision "6")) (revision "7"))
(package (package
(name "sbcl-serapeum") (name "sbcl-serapeum")
(version (git-version "0.0.0" revision commit)) (version (git-version "0.0.0" revision commit))
@ -7518,34 +7553,34 @@ implementation specific equivalent.")
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0vij9jhji09way1rpd0r5sgjnh5amm3f2ymppnqkw0c6nnk2p0kd")))) (base32 "1czs771nyqz45ndd09iiva2swvazy1b2z0k6h4qqdd839vnjcs06"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(inputs (inputs
`(("alexandria" ,sbcl-alexandria) (list sbcl-alexandria
("trivia" ,sbcl-trivia) sbcl-trivia
("split-sequence" ,sbcl-split-sequence) sbcl-split-sequence
("string-case" ,sbcl-string-case) sbcl-string-case
("parse-number" ,sbcl-parse-number) sbcl-parse-number
("trivial-garbage" ,sbcl-trivial-garbage) sbcl-trivial-garbage
("bordeaux-threads" ,sbcl-bordeaux-threads) sbcl-bordeaux-threads
("named-readtables" ,sbcl-named-readtables) sbcl-parse-declarations
("fare-quasiquote" ,sbcl-fare-quasiquote) sbcl-introspect-environment
("parse-declarations-1.0" ,sbcl-parse-declarations) sbcl-trivial-cltl2
("global-vars" ,sbcl-global-vars) sbcl-global-vars
("trivial-file-size" ,sbcl-trivial-file-size) sbcl-trivial-file-size
("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all))) sbcl-trivial-macroexpand-all))
(native-inputs (native-inputs
`(("fiveam" ,sbcl-fiveam) (list sbcl-atomics
("local-time" ,sbcl-local-time))) sbcl-fiveam
sbcl-local-time))
(arguments (arguments
'(#:phases (list #:phases
(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests (add-after 'unpack 'disable-failing-tests
(lambda* (#:key inputs #:allow-other-keys) (lambda _
(substitute* "serapeum.asd" (substitute* "serapeum.asd"
;; Guix does not have Quicklisp, and probably never will. ;; Guix does not have Quicklisp, and probably never will.
(("\\(:file \"quicklisp\"\\)") "")) (("\\(:file \"quicklisp\"\\)") "")))))))
#t)))))
(synopsis "Common Lisp utility library beyond Alexandria") (synopsis "Common Lisp utility library beyond Alexandria")
(description (description
"Serapeum is a conservative library of Common Lisp utilities. It is a "Serapeum is a conservative library of Common Lisp utilities. It is a
@ -14329,10 +14364,10 @@ standard library.")
(sbcl-package->cl-source-package sbcl-shlex)) (sbcl-package->cl-source-package sbcl-shlex))
(define-public sbcl-cmd (define-public sbcl-cmd
(let ((commit "b0b79adf1214dbec082f3dd2274a72a0ff58efd7")) (let ((commit "fda9e6bd9137ea806313151716fd87578cdbc882"))
(package (package
(name "sbcl-cmd") (name "sbcl-cmd")
(version (git-version "0.0.1" "5" commit)) (version (git-version "0.0.1" "6" commit))
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -14341,7 +14376,7 @@ standard library.")
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0kk29vydmi1fyhpbwy3mrsg3bhvx0478r6r7jcsfkr3ci2h8w8a1")))) (base32 "0j2yns565mp2rsiz8lc75psk7wws9qz8rh74n4vf9zdyrw16ckpf"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(inputs (inputs
`(("alexandria" ,sbcl-alexandria) `(("alexandria" ,sbcl-alexandria)
@ -15383,51 +15418,53 @@ return the CPU count of the current system.")
(sbcl-package->cl-source-package sbcl-cl-cpus)) (sbcl-package->cl-source-package sbcl-cl-cpus))
(define-public sbcl-fof (define-public sbcl-fof
(package (let ((commit "522879e7da110ecf2e841998b197b34062c54b29")
(name "sbcl-fof") (revision "1"))
(version "0.2.0") (package
(source (name "sbcl-fof")
(origin (version (git-version "0.2.0" revision commit))
(method git-fetch) (source
(uri (git-reference (origin
(url "https://gitlab.com/ambrevar/fof") (method git-fetch)
(commit version))) (uri (git-reference
(file-name (git-file-name name version)) (url "https://gitlab.com/ambrevar/fof")
(sha256 (commit commit)))
(base32 "0j64b7p40h8bq33hqkpgakm3vs1607vyx6n48d7qg3287v1akk6m")))) (file-name (git-file-name "cl-fof" version))
(build-system asdf-build-system/sbcl) (sha256
(arguments (base32 "0ipy51q2fw03xk9rqcyzbq2b9c32npc1gl3c53rdjywpak7zwwg6"))))
`(#:phases (build-system asdf-build-system/sbcl)
(modify-phases %standard-phases (arguments
(add-after 'unpack 'fix-paths `(#:phases
(lambda* (#:key inputs #:allow-other-keys) (modify-phases %standard-phases
(substitute* "ffprobe.lisp" (add-after 'unpack 'fix-paths
(("\\(defvar \\*ffprobe-command\\* \"ffprobe\"\\)") (lambda* (#:key inputs #:allow-other-keys)
(format #f "(defvar *ffprobe-command* \"~a/bin/ffprobe\")" (substitute* "ffprobe.lisp"
(assoc-ref inputs "ffmpeg") ))) (("\\(defvar \\*ffprobe-command\\* \"ffprobe\"\\)")
#t))))) (format #f "(defvar *ffprobe-command* \"~a/bin/ffprobe\")"
(inputs (assoc-ref inputs "ffmpeg")))))))))
`(("alexandria" ,sbcl-alexandria) (inputs
("hu.dwim.defclass-star" ,sbcl-hu.dwim.defclass-star) (list sbcl-alexandria
("local-time" ,sbcl-local-time) sbcl-cl-str
("magicffi" ,sbcl-magicffi) sbcl-hu.dwim.defclass-star
("osicat" ,sbcl-osicat) sbcl-local-time
("serapeum" ,sbcl-serapeum) sbcl-magicffi
("str" ,sbcl-cl-str) sbcl-named-readtables
("trivia" ,sbcl-trivia) sbcl-osicat
("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames) sbcl-serapeum
;; Non-CL deps: sbcl-trivia
("ffmpeg" ,ffmpeg))) sbcl-trivial-package-local-nicknames
(home-page "https://gitlab.com/ambrevar/fof") ;; Non-CL deps:
(synopsis "File object finder library for Common Lisp") ffmpeg))
(description (home-page "https://gitlab.com/ambrevar/fof")
"This library enable rapid file search, inspection and manipulation (synopsis "File object finder library for Common Lisp")
(description
"This library enable rapid file search, inspection and manipulation
straight from the REPL. straight from the REPL.
It aims at replacing Unix tools such as @code{find} or @code{du}. It aims at replacing Unix tools such as @code{find} or @code{du}.
It also offers a replacement to the @code{pathname} Common Lisp API. It also offers a replacement to the @code{pathname} Common Lisp API.
Slot writers which commit changes to disk, e.g. permissions, modification Slot writers which commit changes to disk, e.g. permissions, modification
time, etc.") time, etc.")
(license license:gpl3+))) (license license:gpl3+))))
(define-public ecl-fof (define-public ecl-fof
(sbcl-package->ecl-package sbcl-fof)) (sbcl-package->ecl-package sbcl-fof))
@ -15463,6 +15500,36 @@ numbers in Common Lisp.")
(define-public cl-computable-reals (define-public cl-computable-reals
(sbcl-package->cl-source-package sbcl-computable-reals)) (sbcl-package->cl-source-package sbcl-computable-reals))
(define-public sbcl-policy-cond
(let ((commit "eedb625520175bfdf44d385ff3b21039b7f75706")
(revision "0"))
(package
(name "sbcl-policy-cond")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stylewarning/policy-cond")
(commit commit)))
(file-name (git-file-name "cl-policy-cond" version))
(sha256
(base32 "0xj2a6lcg7i7g4038sc4f641din6m8vdiha8c5afz9fik80bshxk"))))
(build-system asdf-build-system/sbcl)
(home-page "https://github.com/stylewarning/policy-cond")
(synopsis "Insert code based on compiler policy")
(description "POLICY-COND provides tools to insert and execute code
based on a compiler's OPTIMIZE policy. It also contains a contract-like notion
of expectations, which allow dynamic checking or inclusion of various things
that should happen depending on compiler policy.")
(license license:bsd-3))))
(define-public cl-policy-cond
(sbcl-package->cl-source-package sbcl-policy-cond))
(define-public ecl-policy-cond
(sbcl-package->ecl-package sbcl-policy-cond))
(define-public sbcl-html-template (define-public sbcl-html-template
(package (package
(name "sbcl-html-template") (name "sbcl-html-template")
@ -20820,7 +20887,7 @@ access lexicographic data from WordNet.")
(define-public sbcl-nfiles (define-public sbcl-nfiles
(package (package
(name "sbcl-nfiles") (name "sbcl-nfiles")
(version "0.4.1") (version "0.4.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -20830,7 +20897,7 @@ access lexicographic data from WordNet.")
(file-name (git-file-name "cl-nfiles" version)) (file-name (git-file-name "cl-nfiles" version))
(sha256 (sha256
(base32 (base32
"05brlj99grcy2iz84dvl76inp10jxnvjyh2r262d1las112rlcrb")))) "06cll4l5gbp98wrgdy04ar6z00sag0b46pr4dv4n6bs1ypfcgs01"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(inputs (inputs
(list gnupg (list gnupg

View file

@ -923,7 +923,7 @@ the HTML documentation of TXR.")
(define-public txr (define-public txr
(package (package
(name "txr") (name "txr")
(version "274") (version "277")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -932,7 +932,7 @@ the HTML documentation of TXR.")
(commit (string-append "txr-" version)))) (commit (string-append "txr-" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0sz5wqqhmj2b9h9q95s8x4gb4cia6qddqp2mg29a5dpdh6jh3qyp")))) (base32 "1w6q5inydz0cf4g3y8954msxfb2clf4nj4aqiiayp0z2y96b7bhk"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -991,7 +991,8 @@ the HTML documentation of TXR.")
man-for-txr)) man-for-txr))
(inputs (inputs
(list bash-minimal (list bash-minimal
libffi)) libffi
zlib))
(synopsis "General-purpose, multi-paradigm programming language") (synopsis "General-purpose, multi-paradigm programming language")
(description (description
"TXR is a general-purpose, multi-paradigm programming language. It "TXR is a general-purpose, multi-paradigm programming language. It

View file

@ -23,6 +23,7 @@
;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Greg Hogan <code@greghogan.com> ;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -53,6 +54,7 @@
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages bootstrap) ;glibc-dynamic-linker #:use-module (gnu packages bootstrap) ;glibc-dynamic-linker
@ -541,10 +543,10 @@ output), and Binutils.")
("libc-static" ,glibc "static"))))) ("libc-static" ,glibc "static")))))
(define %llvm-monorepo-hashes (define %llvm-monorepo-hashes
'(("14.0.4" . "1y4yvx749cn3gkpc9kf48xbd2wc2lry8x5zdpk3sbrkqs8vrji4q"))) '(("14.0.5" . "1hdv020x4k5fp38hik3bxz8k2sr3gnyj9iym3yhjhwygzgwgxjh9")))
(define %llvm-patches (define %llvm-patches
'(("14.0.4" . ("clang-14.0-libc-search-path.patch")))) '(("14.0.5" . ("clang-14.0-libc-search-path.patch"))))
(define (llvm-monorepo version) (define (llvm-monorepo version)
(origin (origin
@ -559,7 +561,7 @@ output), and Binutils.")
(define-public llvm-14 (define-public llvm-14
(package (package
(name "llvm") (name "llvm")
(version "14.0.4") (version "14.0.5")
(source (llvm-monorepo version)) (source (llvm-monorepo version))
(build-system cmake-build-system) (build-system cmake-build-system)
(outputs '("out" "opt-viewer")) (outputs '("out" "opt-viewer"))
@ -577,9 +579,9 @@ output), and Binutils.")
;; These options are required for cross-compiling LLVM according ;; These options are required for cross-compiling LLVM according
;; to <https://llvm.org/docs/HowToCrossCompileLLVM.html>. ;; to <https://llvm.org/docs/HowToCrossCompileLLVM.html>.
#$@(if (%current-target-system) #$@(if (%current-target-system)
#~(,(string-append "-DLLVM_TABLEGEN=" #~((string-append "-DLLVM_TABLEGEN="
#+(file-append this-package #+(file-append this-package
"/bin/llvm-tblgen")) "/bin/llvm-tblgen"))
#$(string-append "-DLLVM_DEFAULT_TARGET_TRIPLE=" #$(string-append "-DLLVM_DEFAULT_TARGET_TRIPLE="
(%current-target-system)) (%current-target-system))
#$(string-append "-DLLVM_TARGET_ARCH=" #$(string-append "-DLLVM_TARGET_ARCH="
@ -647,7 +649,7 @@ of programming tools as well as libraries with equivalent functionality.")
(package-version llvm-14))) (package-version llvm-14)))
(sha256 (sha256
(base32 (base32
"1vcgmvh0r28a1z87p3y4h2326zi8liq7l9mcfvmx22x9bmbcpfn8")))))) "1p9y5fbcw3ynb79nzyadirwdla03bq38k6d9nhv9x8z2q4ypsga4"))))))
(package (package
(inherit template) (inherit template)
(arguments (arguments
@ -740,6 +742,14 @@ of programming tools as well as libraries with equivalent functionality.")
#:build-type "Release" #:build-type "Release"
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
,@(if (assoc "config" (package-native-inputs this-package))
`((add-after 'unpack 'update-config
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(let ((config.guess (search-input-file
(or inputs native-inputs)
"/bin/config.guess")))
(copy-file config.guess "cmake/config.guess")))))
'())
(add-before 'build 'shared-lib-workaround (add-before 'build 'shared-lib-workaround
;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen ;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen
;; doesn't seem to get the correct rpath to be able to run ;; doesn't seem to get the correct rpath to be able to run
@ -824,7 +834,14 @@ of programming tools as well as libraries with equivalent functionality.")
(uri (llvm-uri "llvm" version)) (uri (llvm-uri "llvm" version))
(sha256 (sha256
(base32 (base32
"1wydhbp9kyjp5y0rc627imxgkgqiv3dfirbqil9dgpnbaw5y7n65")))))) "1wydhbp9kyjp5y0rc627imxgkgqiv3dfirbqil9dgpnbaw5y7n65"))))
(native-inputs
`(("python" ,python-wrapper)
("perl" ,perl)
;; In llvm-11 riscv64 support was added manually to config.guess.
,@(if (target-riscv64?)
`(("config" ,config))
'())))))
(define-public clang-runtime-10 (define-public clang-runtime-10
(clang-runtime-from-llvm (clang-runtime-from-llvm
@ -1109,10 +1126,10 @@ of programming tools as well as libraries with equivalent functionality.")
(define-public llvm-for-rocm (define-public llvm-for-rocm
(package (package
;; Actually based on LLVM 13 as of v4.3, but llvm-12 works just fine. ;; Based on LLVM 14 as of v5.0.0
(inherit llvm-12) (inherit llvm-14)
(name "llvm-for-rocm") (name "llvm-for-rocm")
(version "4.3.0") ;this must match '%rocm-version' (version "5.1.3") ;this must match '%rocm-version'
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1121,10 +1138,9 @@ of programming tools as well as libraries with equivalent functionality.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0p75nr1qpmy6crymdax5hm40wkimman4lnglz4x5cnbiqindya7s")) "0j6ydfkwrxwskgnhxc3cmry42n5faqbnwf2747qgf7lz5id8h8g5"))
(patches (patches
(search-patches "llvm-roc-4.2.0-add_Object.patch" (search-patches "llvm-roc-5.0.0-linkdl.patch"
"llvm-roc-3.0.0-add_libraries.patch"
"llvm-roc-4.0.0-remove-isystem-usr-include.patch")))) "llvm-roc-4.0.0-remove-isystem-usr-include.patch"))))
(arguments (arguments
(substitute-keyword-arguments (package-arguments llvm-12) (substitute-keyword-arguments (package-arguments llvm-12)
@ -1141,7 +1157,7 @@ of programming tools as well as libraries with equivalent functionality.")
"-DBUILD_SHARED_LIBS:BOOL=TRUE" "-DBUILD_SHARED_LIBS:BOOL=TRUE"
"-DLLVM_VERSION_SUFFIX=")))) "-DLLVM_VERSION_SUFFIX="))))
(properties `((hidden? . #t) (properties `((hidden? . #t)
,@(package-properties llvm-12))))) ,@(package-properties llvm-14)))))
@ -1176,7 +1192,7 @@ of programming tools as well as libraries with equivalent functionality.")
(define-public lld-14 (define-public lld-14
(package (package
(name "lld") (name "lld")
(version "14.0.4") (version "14.0.5")
(source (llvm-monorepo version)) (source (llvm-monorepo version))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs (inputs

View file

@ -3,7 +3,7 @@
;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20182022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net> ;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
@ -164,29 +164,40 @@ commands, displaying the results via a web interface.")
(define-public multitail (define-public multitail
(package (package
(name "multitail") (name "multitail")
(version "6.5.0") (version "6.5.2")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://vanheusden.com/multitail/multitail-" (uri (git-reference
version ".tgz")) (url "https://github.com/halturin/multitail")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 "1vd9vdxyxsccl64ilx542ya5vlw2bpg6gnkq1x8cfqy6vxvmx7dj")))) (base32 "17hg5qpangyx4m7hp2x4h56mp6w3wsaslg1il39qcpwsffh1rihc"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags `(#:make-flags
(list (string-append "CC=" ,(cc-for-target)) (list (string-append "CC=" ,(cc-for-target))
(string-append "PREFIX=" (string-append "PREFIX=" (assoc-ref %outputs "out"))
(assoc-ref %outputs "out"))) "SYSCONFDIR=$(PREFIX)/etc")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'patch-curses-lib (add-after 'unpack 'fix-broken-build
(lambda* (#:key outputs #:allow-other-keys) ;; With some luck, you might be able to remove this when updating…
(let ((out (assoc-ref outputs "out"))) (lambda _
(substitute* "mt.h" (substitute* "Makefile"
(("ncursesw\\/panel.h") "panel.h") ((" \\*\\.txt") "")
(("ncursesw\\/ncurses.h") "ncurses.h"))) ((".*CONFIG_DIR.*") "")
#t)) (("^install: .*" match)
(string-append match
"\t$(INSTALL_DIR) $(DESTDIR)$(SYSCONFDIR)\n")))
(substitute* "version"
(("(VERSION=).*" _ assign)
(string-append assign ,version)))))
(add-after 'unpack 'patch-curses-headers
(lambda _
(substitute* "mt.h"
(("ncursesw/") ""))))
(delete 'configure)) ; no configure script (delete 'configure)) ; no configure script
#:tests? #f)) ; no test suite (make check just runs cppcheck) #:tests? #f)) ; no test suite (make check just runs cppcheck)
(inputs (list ncurses)) (inputs (list ncurses))
@ -229,7 +240,7 @@ library.")
(define-public rsyslog (define-public rsyslog
(package (package
(name "rsyslog") (name "rsyslog")
(version "8.2112.0") (version "8.2204.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -238,8 +249,7 @@ library.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32 "0bsd1n3n4hvlkwf4g85g3fg37mnvkdmxsfdmg273gcachhyl5hbx"))))
"0bp124w2qv8hix5i0p04d8yvsipy18dhqm7zw8i6cwdgnhdadq96"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
@ -253,9 +263,8 @@ library.")
;; them for a full-featured build. ;; them for a full-featured build.
'(list "--enable-kmsg" '(list "--enable-kmsg"
"--enable-liblogging_stdlog" "--enable-liblogging_stdlog"
"--enable-mmanon"
"--enable-mmcount"
"--enable-unlimited_select" "--enable-unlimited_select"
"--enable-usertools"
;; Input plugins ;; Input plugins
"--enable-imbatchreport" "--enable-imbatchreport"
@ -297,7 +306,9 @@ library.")
"--enable-pmsnare" "--enable-pmsnare"
;; Message Modification Modules ;; Message Modification Modules
"--enable-mmanon"
"--enable-mmaudit" "--enable-mmaudit"
"--enable-mmcount"
"--enable-mmdarwin" "--enable-mmdarwin"
"--enable-mmdblookup" "--enable-mmdblookup"
"--enable-mmfields" "--enable-mmfields"
@ -324,9 +335,18 @@ library.")
"--enable-snmp" "--enable-snmp"
;; Function modules ;; Function modules
"--enable-fmhash_xxhash"))) "--enable-fmhash_xxhash"
;; Needed to build rscryutil.1.gz.
"--enable-generate-man-pages")))
(native-inputs (native-inputs
(list autoconf automake bison flex libtool pkg-config)) (list autoconf
automake
bison
flex
libtool
pkg-config
python-docutils)) ; rst2man for man pages
(inputs (inputs
(list curl (list curl
cyrus-sasl cyrus-sasl

View file

@ -570,21 +570,37 @@ sample proximities between pairs of cases.")
(define-public openfst (define-public openfst
(package (package
(name "openfst") (name "openfst")
(version "1.7.9") (version "1.8.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://www.openfst.org/twiki/pub/FST/" (uri (string-append "http://www.openfst.org/twiki/pub/FST/"
"FstDownload/openfst-" version ".tar.gz")) "FstDownload/openfst-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1pmx1yhn2gknj0an0zwqmzgwjaycapi896244np50a8y3nrsw6ck")))) "0hlbdmjjf1jgsvi3d2hwni5lz3l9a5bzj6ijpbawa8a7cbrpp66y"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments '(#:configure-flags '("--enable-ngram-fsts")))
(home-page "http://www.openfst.org") (home-page "http://www.openfst.org")
(synopsis "Library for weighted finite-state transducers") (synopsis "Library for weighted finite-state transducers")
(description "OpenFst is a library for constructing, combining, (description "OpenFst is a library for constructing, combining,
optimizing, and searching weighted finite-state transducers (FSTs).") optimizing, and searching weighted finite-state transducers (FSTs).")
(license license:asl2.0))) (license license:asl2.0)))
;; This is a temporary addition to bypass upstream issues with the kaldi
;; package.
(define-public openfst-1.7.3
(package (inherit openfst)
(version "1.7.3")
(source (origin
(method url-fetch)
(uri (string-append "http://www.openfst.org/twiki/pub/FST/"
"FstDownload/openfst-" version ".tar.gz"))
(sha256
(base32
"038a60w7y8qnbxmcrsim9rafz9mihsny8xv50jpzlr7rl166pp5q"))))
(arguments '(#:configure-flags '("--enable-ngram-fsts" "CXXFLAGS=-std=c++14")
#:make-flags '("CXXFLAGS=-std=c++14")))))
(define-public shogun (define-public shogun
(package (package
(name "shogun") (name "shogun")
@ -1465,8 +1481,9 @@ discrete, and conditional dimensions.")
;; There have been no proper releases yet. ;; There have been no proper releases yet.
(define-public kaldi (define-public kaldi
(let ((commit "d4791c0f3fc1a09c042dac365e120899ee2ad21e") (let ((commit "dd107fd594ac58af962031c1689abfdc10f84452")
(revision "2")) (revision "0")
(openfst openfst-1.7.3)) ;; Temporary bypass for upstream issues
(package (package
(name "kaldi") (name "kaldi")
(version (git-version "0" revision commit)) (version (git-version "0" revision commit))
@ -1478,7 +1495,7 @@ discrete, and conditional dimensions.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"07k80my6f19mhrkwbzhjsnpf9871wmrwkl0ym468i830w67qyjrz")))) "0iqbzgn7gzmgwvjfzifpbwwidxx887qmlgmsjkg7b1yzyfv00l21"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:test-target "test" `(#:test-target "test"
@ -1502,6 +1519,8 @@ discrete, and conditional dimensions.")
"gst-plugin/Makefile") "gst-plugin/Makefile")
(("../../tools/portaudio/install") (("../../tools/portaudio/install")
(assoc-ref inputs "portaudio"))) (assoc-ref inputs "portaudio")))
(substitute* "matrix/Makefile" ;temporary test bypass
(("matrix-lib-test sparse-matrix-test") ""))
;; This `configure' script doesn't support variables passed as ;; This `configure' script doesn't support variables passed as
;; arguments, nor does it support "prefix". ;; arguments, nor does it support "prefix".

View file

@ -47,6 +47,7 @@
;;; Copyright © 2022 Andrew Tropin <andrew@trop.in> ;;; Copyright © 2022 Andrew Tropin <andrew@trop.in>
;;; Copyright © 2022 Justin Veilleux <terramorpha@cock.li> ;;; Copyright © 2022 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.com> ;;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.com>
;;; Copyright © 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -87,6 +88,7 @@
#:use-module (gnu packages django) #:use-module (gnu packages django)
#:use-module (gnu packages dns) #:use-module (gnu packages dns)
#:use-module (gnu packages docbook) #:use-module (gnu packages docbook)
#:use-module (gnu packages docker)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
#:use-module (gnu packages emacs) #:use-module (gnu packages emacs)
#:use-module (gnu packages enchant) #:use-module (gnu packages enchant)
@ -1333,14 +1335,14 @@ invoking @command{notifymuch} from the post-new hook.")
(define-public notmuch (define-public notmuch
(package (package
(name "notmuch") (name "notmuch")
(version "0.35") (version "0.36")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://notmuchmail.org/releases/notmuch-" (uri (string-append "https://notmuchmail.org/releases/notmuch-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 "0fdc81m24xrbhfrhw00g12ak4b8hap4961sq7ap6q2pjqhac8cd8")))) (base32 "0h6f6mh9m9vrijm638x5sbsl321b74a25cdasbxhx67x62w320hk"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
@ -1474,8 +1476,7 @@ useful for email address completion.")
(let ((notmuch (assoc-ref inputs "notmuch"))) (let ((notmuch (assoc-ref inputs "notmuch")))
(substitute* "notmuch/globals.py" (substitute* "notmuch/globals.py"
(("libnotmuch\\.so\\.") (("libnotmuch\\.so\\.")
(string-append notmuch "/lib/libnotmuch.so."))) (string-append notmuch "/lib/libnotmuch.so.")))))))))
#t))))))
(home-page (package-home-page notmuch)) (home-page (package-home-page notmuch))
(synopsis "Python bindings of the Notmuch mail indexing library") (synopsis "Python bindings of the Notmuch mail indexing library")
(description (description
@ -1551,7 +1552,7 @@ pairs have previously synchronized.")
(define-public getmail6 (define-public getmail6
(package (package
(name "getmail6") (name "getmail6")
(version "6.18.6") (version "6.18.9")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1560,7 +1561,7 @@ pairs have previously synchronized.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"08a5yw6ll1kmd1ardj8rzhsw4wl48zzdc87g5lh4p5snv8w2m4ja")))) "1ch5hagkpybmkgg2wbb2mids3nbmjqgdqjhczzz7pvj4hx2m8fdb"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (list #:tests? #f)) ;tests require docker (arguments (list #:tests? #f)) ;tests require docker
(home-page "https://github.com/getmail6/getmail6") (home-page "https://github.com/getmail6/getmail6")
@ -1569,7 +1570,7 @@ pairs have previously synchronized.")
"A flexible, extensible mail retrieval system with support for POP3, "A flexible, extensible mail retrieval system with support for POP3,
IMAP4, SSL variants of both, maildirs, mboxrd files, external MDAs, arbitrary IMAP4, SSL variants of both, maildirs, mboxrd files, external MDAs, arbitrary
message filtering, single-user and domain-mailboxes, and many other useful message filtering, single-user and domain-mailboxes, and many other useful
features. This is a fork derived from getmali 5.14, aimed at Python 3 features. This is a fork derived from getmail 5.14, aimed at Python 3
compatibility.") compatibility.")
(license license:gpl2+))) ;see docs/COPYING (license license:gpl2+))) ;see docs/COPYING
@ -1632,7 +1633,7 @@ compresses it.")
(define-public claws-mail (define-public claws-mail
(package (package
(name "claws-mail") (name "claws-mail")
(version "4.0.0") (version "4.1.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1640,7 +1641,7 @@ compresses it.")
(string-append "https://www.claws-mail.org/releases/claws-mail-" (string-append "https://www.claws-mail.org/releases/claws-mail-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 "0xg41rxxq2q5vhjzbh8p12s248kcljk6g7y0m6raq7nrllkbvwja")))) (base32 "13ksh4iwr23zi86fwmiwxha94xqrr5zxq373i82rwaldvfh9q6hf"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -1670,7 +1671,7 @@ compresses it.")
(search-input-file inputs "/share/mime/globs")))))))) (search-input-file inputs "/share/mime/globs"))))))))
(native-inputs (native-inputs
(list bison (list bison
;;("docbook-utils" ,docbook-utils) ;;docbook-utils
flex flex
gettext-minimal gettext-minimal
gobject-introspection gobject-introspection
@ -1890,7 +1891,7 @@ facilities for checking incoming mail.")
(package (package
(name "dovecot") (name "dovecot")
;; Also update dovecot-pigeonhole when updating to a new minor version. ;; Also update dovecot-pigeonhole when updating to a new minor version.
(version "2.3.19") (version "2.3.19.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1898,7 +1899,7 @@ facilities for checking incoming mail.")
(version-major+minor version) "/" (version-major+minor version) "/"
"dovecot-" version ".tar.gz")) "dovecot-" version ".tar.gz"))
(sha256 (sha256
(base32 "0ys3zq9b1rgj1cz6a0i9l421y6h2j3b5zak2ia5j9dj1sj9zcwq1")))) (base32 "0lawd8grwxass1frlw9bdd49fpwwxsv2qnxllsg6a2bkgpcbqnnv"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
@ -2423,21 +2424,29 @@ compatibility shims for the @command{sendmail}, @command{mailq}, and
(define-public fdm (define-public fdm
(package (package
(name "fdm") (name "fdm")
(version "2.0") (version "2.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/nicm/fdm/releases/download/" (uri (string-append "https://github.com/nicm/fdm/releases/download/"
version "/fdm-" version ".tar.gz")) version "/fdm-" version ".tar.gz"))
(sha256 (sha256
(base32 "196fs1z8y7p12wmqn1bylzz94szl58yv2aby3p30nmwjnyv8rch6")))) (base32 "1zxd5j5x2gp6m62j83xsjyfglw1p6gn4zk5qx10djdh8xzkg53c5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list tdb openssl zlib)) (list tdb openssl zlib))
(home-page "https://github.com/nicm/fdm") (home-page "https://github.com/nicm/fdm")
(synopsis "Mail Retrieval Agent (MRA) and Mail Delivery Agent (MDA)") (synopsis
(description "fdm is a program designed to fetch mail from POP3 "@acronym{MRA, Mail Retrieval Agent} and @acronym{MDA, Mail Delivery Agent}")
or IMAP servers, or receive local mail from stdin, and (description "fdm fetches and delivers mail in various ways.
deliver it in various ways.")
Mail may be fetched from IMAP or POP3 servers, from local maildirs, or read
from standard input. It is then filtered based on regular expressions, its
size or age, or the output of a (shell) command. It can be rewritten by an
external process, dropped, left on the server or delivered into maildirs,
mboxes, to a file or pipe, or any combination.
fdm is primarily designed for use by a single user, but can use privilege
separation to safely deliver mail in multi-user setups.")
(license (license
;; Why point to a source file? Well, all the individual files have a ;; Why point to a source file? Well, all the individual files have a
;; copy of this license in their headers, but there's no seprate file ;; copy of this license in their headers, but there's no seprate file
@ -3671,7 +3680,7 @@ operators and scripters.")
(define-public alpine (define-public alpine
(package (package
(name "alpine") (name "alpine")
(version "2.25") (version "2.26")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -3684,14 +3693,12 @@ operators and scripters.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0z6dp3cpz1dmbxw41ravsx1bxychafp0ij8gvj96mzz7rm9pdnq3")) (base32 "1padh9kgn9blzjf0016i2f15c615fk17m8vg8kx301jhmc2r973h"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
;; Remove pre-built binaries scattered across the source repository. ;; Remove pre-built binaries scattered across the source repository.
(for-each delete-file (find-files "." "\\.(dll|exe)")))) (for-each delete-file (find-files "." "\\.(dll|exe)"))))))
(patches
(search-patches "alpine-fix-privacy-policy-crash.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags `(#:make-flags
@ -4087,10 +4094,16 @@ Git and exports them in maildir format or to an MDA through a pipe.")
(sha256 (sha256
(base32 (base32
"0xni1l54v1z3p0zb52807maay0yqabp8jgf5iras5zmhgjyk3swz")) "0xni1l54v1z3p0zb52807maay0yqabp8jgf5iras5zmhgjyk3swz"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))
(patches (search-patches "public-inbox-fix-spawn-test.patch"))))
(build-system perl-build-system) (build-system perl-build-system)
(arguments (arguments
'(#:tests? #f `(#:imported-modules (,@%perl-build-system-modules
(guix build syscalls))
#:modules ((guix build perl-build-system)
(guix build syscalls)
(guix build utils)
(ice-9 match))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'configure 'qualify-paths (add-before 'configure 'qualify-paths
@ -4099,18 +4112,45 @@ Git and exports them in maildir format or to an MDA through a pipe.")
(substitute* "lib/PublicInbox/Xapcmd.pm" (substitute* "lib/PublicInbox/Xapcmd.pm"
(("'xapian-compact'") (("'xapian-compact'")
(format #f "'~a'" (search-input-file inputs (format #f "'~a'" (search-input-file inputs
"/bin/xapian-compact")))))) "/bin/xapian-compact"))))
(substitute* "lib/PublicInbox/TestCommon.pm"
;; This is only used for tests, but get it from inputs so
;; that cross builds won't hold a reference to a package built
;; for another architecture.
(("/bin/cp") (search-input-file inputs "/bin/cp")))))
(add-before 'check 'pre-check (add-before 'check 'pre-check
(lambda _ (lambda _
(substitute* "t/spawn.t" (invoke "./certs/create-certs.perl")))
(("\\['env'\\]") (string-append "['" (which "env") "']"))) (replace 'check
(substitute* "t/ds-leak.t" (lambda* (#:key target
(("/bin/sh") (which "sh"))) (tests? (not target)) (test-flags '())
(invoke "./certs/create-certs.perl") #:allow-other-keys)
;; XXX: This test fails due to zombie process is not reaped by (if tests?
;; the builder. (match (primitive-fork)
(substitute* "t/httpd-unix.t" (0 ;child process
(("^SKIP: \\{") "SKIP: { skip('Guix');")))) ;; lei tests build UNIX domain sockets in the temporary
;; directory, but the path of those sockets can be at most
;; 108 chars and Guix' default value for the variables
;; below already use 47 chars. Use the shortest temporary
;; path possible to avoid hitting the limit.
(setenv "TEMP" "/tmp")
(setenv "TEMPDIR" "/tmp")
(setenv "TMP" "/tmp")
(setenv "TMPDIR" "/tmp")
;; Use tini so that signals are properly handled and
;; doubly-forked processes get reaped; otherwise,
;; lei-daemon is kept as a zombie and the testsuite
;; fails thinking that it didn't quit as it should.
(set-child-subreaper!)
(apply execlp "tini" "--"
"make" "check" test-flags))
(pid
(match (waitpid pid)
((_ . status)
(unless (zero? status)
(error "`make check' exited with status" status))))))
(format #t "test suite not run~%"))))
(add-after 'install 'wrap-programs (add-after 'install 'wrap-programs
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
@ -4129,7 +4169,7 @@ Git and exports them in maildir format or to an MDA through a pipe.")
(find-files (string-append out "/bin"))))))))) (find-files (string-append out "/bin")))))))))
(native-inputs (native-inputs
(list ;; For testing. (list ;; For testing.
lsof openssl)) lsof openssl tini))
(inputs (inputs
(list bash-minimal (list bash-minimal
curl curl

View file

@ -4474,7 +4474,7 @@ parts of it.")
(define-public openblas (define-public openblas
(package (package
(name "openblas") (name "openblas")
(version "0.3.18") (version "0.3.20")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -4484,7 +4484,7 @@ parts of it.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"17zdd8asylz2w71hczrz5y344p6d5ds1jn4901maw7zcp3dbk63g")))) "0r4sz3rn68fyc2paq0a04pgfi7iszpm95f6ggbzxpvjzx9qxbcql"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:test-target "test" `(#:test-target "test"
@ -4543,14 +4543,14 @@ parts of it.")
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
;; Get libgfortran found when building in utest. ;; Get libgfortran found when building in utest.
(setenv "FEXTRALIB" (setenv "FEXTRALIB"
(string-append "-L" (assoc-ref inputs "fortran-lib") (string-append
"/lib"))))))) "-L"
(dirname
(search-input-file inputs "/lib/libgfortran.so")))))))))
(inputs (inputs
`(("fortran-lib" ,gfortran "lib"))) (list `(,gfortran "lib")))
(native-inputs (native-inputs
`(("cunit" ,cunit) (list cunit gfortran perl))
("fortran" ,gfortran)
("perl" ,perl)))
(home-page "https://www.openblas.net/") (home-page "https://www.openblas.net/")
(synopsis "Optimized BLAS library based on GotoBLAS") (synopsis "Optimized BLAS library based on GotoBLAS")
(description (description

View file

@ -3,6 +3,7 @@
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -3887,3 +3888,53 @@ reports in two different file formats, plain text and xml.")))
(description "This plugin provides the capability to build jars. If you (description "This plugin provides the capability to build jars. If you
would like to sign jars please use the Maven Jarsigner Plugin instead.") would like to sign jars please use the Maven Jarsigner Plugin instead.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public maven-doxia-sink-api
(package
(name "maven-doxia-sink-api")
(version "2.0.0-M2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitbox.apache.org/repos/asf/maven-doxia.git")
(commit (string-append "doxia-" version))))
(file-name (git-file-name "doxia" version))
(sha256
(base32
"0jx96lg0hgjsrm8mynhac4hwh2hmgiwjpwpx2k03yr14040zcr48"))))
(build-system ant-build-system)
(propagated-inputs
(list maven-doxia-parent-pom))
(arguments
`(#:jar-name "doxia-sink-api.jar"
#:source-dir "doxia-sink-api/src/main/java"
#:tests? #f ; no tests
#:phases (modify-phases %standard-phases
(replace 'install
(install-from-pom "doxia-sink-api/pom.xml")))))
(home-page "https://maven.apache.org/doxia/index.html")
(synopsis "Generic markup language interface")
(description
"The @code{Sink} interface is a generic markup language
interface provided as a Java API. It contains several methods that
encapsulate common text syntax. A start tag is denoted by @code{xxxx()}
method and a end of tag by @code{xxxx_()} method.")
(license license:asl2.0)))
(define maven-doxia-parent-pom
(package
(inherit maven-doxia-sink-api)
(name "maven-doxia-parent-pom")
(arguments
`(#:tests? #f
#:phases (modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(replace 'install
(install-pom-file "pom.xml")))))
(propagated-inputs
(list maven-parent-pom-34))
(synopsis "Content generation framework")
(description "@samp{Doxia} is a content generation framework that provides
powerful techniques for generating static and dynamic content, supporting a
variety of markup languages.")))

View file

@ -1713,7 +1713,7 @@ instant messenger with audio and video chat capabilities.")
(define-public qtox (define-public qtox
(package (package
(name "qtox") (name "qtox")
(version "1.17.4") (version "1.17.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/qTox/qTox/releases" (uri (string-append "https://github.com/qTox/qTox/releases"
@ -1721,7 +1721,7 @@ instant messenger with audio and video chat capabilities.")
"/v" version ".tar.gz")) "/v" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"086hvm0q2vl2lq8zlp8s9sivlic6sg7ga5ixz01hbsyrashvil63")) "1ml8z1xpp3qhip4vkr375jf7y5kc18g0apm91n5am6ricx37c01r"))
(file-name (string-append name "-" version ".tar.gz")))) (file-name (string-append name "-" version ".tar.gz"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments

View file

@ -17,7 +17,7 @@
;;; Copyright © 2018 nee <nee.git@hidamari.blue> ;;; Copyright © 2018 nee <nee.git@hidamari.blue>
;;; Copyright © 2018, 2021 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2018, 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018-2019, 2021-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com> ;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
@ -2281,7 +2281,7 @@ perform creative live mixes with digital music files.")
(define-public synthv1 (define-public synthv1
(package (package
(name "synthv1") (name "synthv1")
(version "0.9.25") (version "0.9.26")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -2289,7 +2289,7 @@ perform creative live mixes with digital music files.")
"/synthv1-" version ".tar.gz")) "/synthv1-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1i16036f9wm52c5pxkllq7ir749jcknbh35i9wcxd5n88p6mzw02")))) "1asikh341f3vblrl8l07yakza80ybs8sid3n2qpsrvigaz3iymcd"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f)) ; there are no tests `(#:tests? #f)) ; there are no tests
@ -2299,7 +2299,8 @@ perform creative live mixes with digital music files.")
alsa-lib alsa-lib
new-session-manager new-session-manager
liblo liblo
qtbase-5)) qtbase-5
qtsvg))
(native-inputs (native-inputs
(list pkg-config qttools)) (list pkg-config qttools))
(home-page "https://synthv1.sourceforge.io") (home-page "https://synthv1.sourceforge.io")
@ -2312,7 +2313,7 @@ oscillators and stereo effects.")
(define-public drumkv1 (define-public drumkv1
(package (package
(name "drumkv1") (name "drumkv1")
(version "0.9.25") (version "0.9.26")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -2320,7 +2321,7 @@ oscillators and stereo effects.")
"/drumkv1-" version ".tar.gz")) "/drumkv1-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0p50b4k4zldagiwxs0micmdbqib46ysipdj8lkxqdv0pysmd72fc")))) "0j05xqgcb7kwnnsgl6i7vbdsfq26chzs4zyq6pl0ipcmw4d82j8i"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f)) ; there are no tests `(#:tests? #f)) ; there are no tests
@ -2331,7 +2332,8 @@ oscillators and stereo effects.")
alsa-lib alsa-lib
new-session-manager new-session-manager
liblo liblo
qtbase-5)) qtbase-5
qtsvg))
(native-inputs (native-inputs
(list pkg-config qttools)) (list pkg-config qttools))
(home-page "https://drumkv1.sourceforge.io") (home-page "https://drumkv1.sourceforge.io")
@ -2344,7 +2346,7 @@ effects.")
(define-public samplv1 (define-public samplv1
(package (package
(name "samplv1") (name "samplv1")
(version "0.9.25") (version "0.9.26")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -2352,7 +2354,7 @@ effects.")
"/samplv1-" version ".tar.gz")) "/samplv1-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0d05b03knrwh1zr4p0kcyn58scy6a392f0xxm78cqf0gikd3bw5c")))) "1rqz3hf39hk2m15ihrkn8f5cqgbkvz3rq6r2k35rvn7sgvcq1dli"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f)) ; there are no tests `(#:tests? #f)) ; there are no tests
@ -2363,7 +2365,8 @@ effects.")
alsa-lib alsa-lib
new-session-manager new-session-manager
liblo liblo
qtbase-5)) qtbase-5
qtsvg))
(native-inputs (native-inputs
(list pkg-config qttools)) (list pkg-config qttools))
(home-page "https://samplv1.sourceforge.io") (home-page "https://samplv1.sourceforge.io")
@ -2376,7 +2379,7 @@ effects.")
(define-public padthv1 (define-public padthv1
(package (package
(name "padthv1") (name "padthv1")
(version "0.9.25") (version "0.9.26")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -2384,7 +2387,7 @@ effects.")
"/padthv1-" version ".tar.gz")) "/padthv1-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"11fa2794g7dqsiw674wr2m4k0xdw89imqwa8mgms0igskxxbvjka")))) "02pg0g4i65j46hirkc3xn7m2clm8krrafrkwjc1v8rkcdj6q2gw1"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f)) ; there are no tests `(#:tests? #f)) ; there are no tests
@ -2395,7 +2398,8 @@ effects.")
new-session-manager new-session-manager
liblo liblo
fftwf fftwf
qtbase-5)) qtbase-5
qtsvg))
(native-inputs (native-inputs
(list pkg-config qttools)) (list pkg-config qttools))
(home-page "https://padthv1.sourceforge.io") (home-page "https://padthv1.sourceforge.io")
@ -3858,7 +3862,7 @@ using the beets FetchArt plugin.")
`(("alsa-lib" ,alsa-lib) `(("alsa-lib" ,alsa-lib)
("lhasa" ,lhasa) ("lhasa" ,lhasa)
("jack" ,jack-1) ("jack" ,jack-1)
("rtmidi" ,rtmidi) ("rtmidi" ,rtmidi-4.0)
("sdl" ,sdl2) ("sdl" ,sdl2)
("zlib" ,zlib) ("zlib" ,zlib)
("zziplib" ,zziplib))) ("zziplib" ,zziplib)))
@ -4778,7 +4782,7 @@ sample library.")
(define-public muse-sequencer (define-public muse-sequencer
(package (package
(name "muse-sequencer") (name "muse-sequencer")
(version "4.0.0") (version "4.1.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -4787,24 +4791,23 @@ sample library.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1gamr9ln10l26wwyin1a4grrqy6h05qzcgp28wsp85yczkpsh02c")))) "1iihjivpkvmdfqf20kcl9k0s1iwlv9p5vpna7c58lbw3573fiyr4"))))
(build-system qt-build-system) (build-system qt-build-system)
(arguments (arguments
`(#:tests? #f ; there is no test target (list
#:configure-flags #:tests? #f ; there is no test target
(list "-DENABLE_VST_NATIVE=OFF" #:configure-flags
(string-append "-DCMAKE_EXE_LINKER_FLAGS=" #~(list "-DENABLE_VST_NATIVE=OFF"
"-Wl,-rpath=" (string-append "-DCMAKE_EXE_LINKER_FLAGS="
(assoc-ref %outputs "out") "/lib/muse-" "-Wl,-rpath=" #$output "/lib/muse-"
,(version-major+minor version) "/modules") #$(version-major+minor version) "/modules")
(string-append "-DCMAKE_SHARED_LINKER_FLAGS=" (string-append "-DCMAKE_SHARED_LINKER_FLAGS="
"-Wl,-rpath=" "-Wl,-rpath=" #$output "/lib/muse-"
(assoc-ref %outputs "out") "/lib/muse-" #$(version-major+minor version) "/modules"))
,(version-major+minor version) "/modules")) #:phases
#:phases #~(modify-phases %standard-phases
(modify-phases %standard-phases (add-after 'unpack 'chdir
(add-after 'unpack 'chdir (lambda _ (chdir "src"))))))
(lambda _ (chdir "src"))))))
(inputs (inputs
(list alsa-lib (list alsa-lib
dssi dssi
@ -4821,7 +4824,7 @@ sample library.")
lrdf lrdf
lv2 lv2
pcre pcre
pulseaudio ; required by rtaudio pulseaudio ; required by rtaudio
qtbase-5 qtbase-5
qtsvg qtsvg
rtaudio rtaudio
@ -6137,7 +6140,7 @@ and as an LV2 plugin.")
("pulseaudio" ,pulseaudio) ("pulseaudio" ,pulseaudio)
("reproc" ,reproc) ("reproc" ,reproc)
("rubberband" ,rubberband) ("rubberband" ,rubberband)
("rtmidi" ,rtmidi) ("rtmidi" ,rtmidi-4.0)
("sdl2" ,sdl2) ("sdl2" ,sdl2)
("xdg-utils" ,xdg-utils) ("xdg-utils" ,xdg-utils)
("zstd" ,zstd "lib"))) ("zstd" ,zstd "lib")))

View file

@ -49,6 +49,7 @@
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2022 Simon South <simon@simonsouth.net> ;;; Copyright © 2022 Simon South <simon@simonsouth.net>
;;; Copyright © 2022 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2022 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -114,6 +115,7 @@
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages libevent) #:use-module (gnu packages libevent)
#:use-module (gnu packages libidn) #:use-module (gnu packages libidn)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages lua) #:use-module (gnu packages lua)
#:use-module (gnu packages kerberos) #:use-module (gnu packages kerberos)
@ -129,6 +131,7 @@
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages polkit) #:use-module (gnu packages polkit)
#:use-module (gnu packages pretty-print) #:use-module (gnu packages pretty-print)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio) #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-crypto) #:use-module (gnu packages python-crypto)
@ -547,6 +550,54 @@ It also includes some SCTP-related helper utilities.")
SCTP-aware kernel (most are).") SCTP-aware kernel (most are).")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public kismet
(package
(name "kismet")
(version "2022-02")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://www.kismetwireless.net/git/kismet.git")
(commit (string-append "kismet-" version "-R1"))))
(file-name (git-file-name name version))
(patches (search-patches "kismet-unbundle-boost.patch"))
(modules '((guix build utils)))
(snippet '(begin
;; Drop bundled libraries.
(delete-file-recursively "boost")))
(sha256
(base32
"01q86hrgpai433sc65dlnqy91qd26w5dwyp37adszqxfb6d2an1r"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;no test suite
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-install
(lambda* _
(substitute* "Makefile.in"
(("-o \\$\\(INSTUSR\\) -g \\$\\(SUIDGROUP\\)") "")
(("-o \\$\\(INSTUSR\\) -g \\$\\(INSTGRP\\)") "")))))))
(home-page "https://www.kismetwireless.net/")
(native-inputs (list perl pkg-config python python-2))
(inputs (list boost
libusb
libpcap
libwebsockets
openssl
protobuf
protobuf-c
sqlite
zlib))
(synopsis "Wireless network and device detector")
(description
"This package provides a wireless network and device detector, sniffer,
wardriving tool, and WIDS (wireless intrusion detection) framework. Kismet
works with Wi-Fi interfaces, Bluetooth interfaces, some SDR
(software defined radio) hardware like the RTLSDR, and other specialized
capture hardware")
(license license:gpl2+)))
(define-public knockd (define-public knockd
(package (package
(name "knockd") (name "knockd")
@ -2772,6 +2823,12 @@ updates to the zebra daemon.")
#:tests? #f ; No test suite. #:tests? #f ; No test suite.
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'use-source-date-epoch-in-manpages
;; For reproducible builds
(lambda _
(substitute* "Makefile"
(("date --iso-8601")
"date --iso-8601 --utc --date=@$(SOURCE_DATE_EPOCH)"))))
(delete 'configure) ; No ./configure script. (delete 'configure) ; No ./configure script.
(add-before 'build 'patch-paths (add-before 'build 'patch-paths
(lambda _ (lambda _
@ -3221,7 +3278,7 @@ Ethernet and TAP interfaces is supported. Packet capture is also supported.")
(define-public hcxtools (define-public hcxtools
(package (package
(name "hcxtools") (name "hcxtools")
(version "5.2.0") (version "6.2.7")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -3229,19 +3286,22 @@ Ethernet and TAP interfaces is supported. Packet capture is also supported.")
(url "https://github.com/ZerBea/hcxtools") (url "https://github.com/ZerBea/hcxtools")
(commit version))) (commit version)))
(sha256 (sha256
(base32 "0k2qlq9hz5zc21nyc6yrnfqzga7hydn5mm0x3rpl2fhkwl81lxcn")) (base32 "0460dxbc04w60l3g06rk007yyb6qprgyii59y2zdki0vy7q63m8b"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (native-inputs (list pkg-config))
(list curl libpcap openssl zlib)) (inputs (list curl libpcap openssl zlib))
(arguments (arguments
`(#:make-flags (list #:make-flags
(list ,(string-append "CC=" (cc-for-target)) #~(list (string-append "CC="
(string-append "INSTALLDIR=" (assoc-ref %outputs "out") "/bin")) #$(cc-for-target)) "LDFLAGS+=-lcrypto"
#:tests? #f ; no test suite "LDFLAGS+=-lcurl" "LDFLAGS+=-lz"
#:phases (string-append "PREFIX="
(modify-phases %standard-phases #$output))
(delete 'configure)))) #:tests? #f ;no test suite
#:phases
#~(modify-phases %standard-phases
(delete 'configure))))
(home-page "https://github.com/ZerBea/hcxtools") (home-page "https://github.com/ZerBea/hcxtools")
(synopsis "Capture wlan traffic to hashcat and John the Ripper") (synopsis "Capture wlan traffic to hashcat and John the Ripper")
(description (description
@ -3359,7 +3419,7 @@ communication over HTTP.")
(define-public restinio (define-public restinio
(package (package
(name "restinio") (name "restinio")
(version "0.6.14") (version "0.6.15")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -3368,7 +3428,7 @@ communication over HTTP.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0j44mglsljwkw49583hcsrl5ck2g56n9srnm10kpbsz2dx5apx98")))) "1f8d5nfm8jqhspzsslwb1b7j4glipz31i9vszrcnkx3clc39nj2n"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs ; TODO: Need to force-keep references on some inputs, e.g. boost. (inputs ; TODO: Need to force-keep references on some inputs, e.g. boost.
(list zlib (list zlib

View file

@ -3197,14 +3197,14 @@ OCaml code.")
(define-public omake (define-public omake
(package (package
(name "omake") (name "omake")
(version "0.10.3") (version "0.10.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://download.camlcity.org/download/" (uri (string-append "http://download.camlcity.org/download/"
"omake-" version ".tar.gz")) "omake-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"07bdg1h5i7qnlv9xq81ad5hfypl10hxm771h4rjyl5cn8plhfcgz")) "1i7pcv53kqplrbdx9mllrhbv4j57zf87xwq18r16cvn1lbc6mqal"))
(patches (search-patches "omake-fix-non-determinism.patch")))) (patches (search-patches "omake-fix-non-determinism.patch"))))
(build-system ocaml-build-system) (build-system ocaml-build-system)
(arguments (arguments
@ -3697,10 +3697,10 @@ writing to these structures, and they are accessed via the Bigarray module.")
(description "Hex is a minimal library providing hexadecimal converters.") (description "Hex is a minimal library providing hexadecimal converters.")
(license license:isc))) (license license:isc)))
(define-public ocaml4.07-ezjsonm (define-public ocaml-ezjsonm
(package (package
(name "ocaml4.07-ezjsonm") (name "ocaml-ezjsonm")
(version "1.1.0") (version "1.3.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -3709,20 +3709,13 @@ writing to these structures, and they are accessed via the Bigarray module.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "064j9pzy01p3dv947khqyn7fkjbs3jmrqsg8limb4abnlaqxxs2s")))) (base32 "004knljxqxn9zq0rnq7q7wxl4nwlzydm8p9f5cqkl8il5yl5zkjm"))))
(build-system dune-build-system) (build-system dune-build-system)
(arguments (arguments
`(#:package "ezjsonm" `(#:package "ezjsonm"
#:test-target "." #:test-target "."))
#:ocaml ,ocaml-4.07 (native-inputs (list ocaml-alcotest js-of-ocaml node))
#:findlib ,ocaml4.07-findlib (propagated-inputs (list ocaml-jsonm ocaml-uutf ocaml-sexplib0 ocaml-hex))
#:dune ,ocaml4.07-dune))
(native-inputs
`(("ocaml-alcotest" ,(package-with-ocaml4.07 ocaml-alcotest))))
(propagated-inputs
`(("ocaml-hex" ,(package-with-ocaml4.07 ocaml-hex))
("ocaml-jsonm" ,(package-with-ocaml4.07 ocaml-jsonm))
("ocaml-sexplib" ,(package-with-ocaml4.07 ocaml-sexplib))))
(home-page "https://github.com/mirage/ezjsonm/") (home-page "https://github.com/mirage/ezjsonm/")
(synopsis "Read and write JSON data") (synopsis "Read and write JSON data")
(description "Ezjsonm provides more convenient (but far less flexible) input (description "Ezjsonm provides more convenient (but far less flexible) input
@ -3800,7 +3793,7 @@ JSON.")
(define-public ocaml-easy-format (define-public ocaml-easy-format
(package (package
(name "ocaml-easy-format") (name "ocaml-easy-format")
(version "1.3.3") (version "1.3.4")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -3809,7 +3802,7 @@ JSON.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1dl5faibbb5nm3v70ix7k6208yib1954x20nmw3g56wff5vdlzid")))) "0xap6az4yyb60vb1jfs640wl3cf4njv78p538x9ihhf9f6ij3nh8"))))
(build-system dune-build-system) (build-system dune-build-system)
(arguments (arguments
`(#:package "easy-format" `(#:package "easy-format"
@ -3828,9 +3821,9 @@ JSON.")
Format module of the OCaml standard library.") Format module of the OCaml standard library.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public ocaml4.07-piqilib (define-public ocaml-piqilib
(package (package
(name "ocaml4.07-piqilib") (name "ocaml-piqilib")
(version "0.6.15") (version "0.6.15")
(source (source
(origin (origin
@ -3848,24 +3841,20 @@ Format module of the OCaml standard library.")
(add-before 'configure 'fix-ocamlpath (add-before 'configure 'fix-ocamlpath
(lambda _ (lambda _
(substitute* '("Makefile" "make/Makefile.ocaml") (substitute* '("Makefile" "make/Makefile.ocaml")
(("OCAMLPATH := ") "OCAMLPATH := $(OCAMLPATH):")) (("OCAMLPATH := ") "OCAMLPATH := $(OCAMLPATH):"))))
#t))
(replace 'configure (replace 'configure
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
(substitute* "make/OCamlMakefile" (substitute* "make/OCamlMakefile"
(("/bin/sh") (which "bash"))) (("/bin/sh") (which "bash")))
(invoke "./configure" "--prefix" out "--ocaml-libdir" (invoke "./configure" "--prefix" out "--ocaml-libdir"
(string-append out "/lib/ocaml/site-lib"))) (string-append out "/lib/ocaml/site-lib")))))
#t))
(add-after 'build 'build-ocaml (add-after 'build 'build-ocaml
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(invoke "make" "ocaml") (invoke "make" "ocaml")))
#t))
(add-after 'install 'install-ocaml (add-after 'install 'install-ocaml
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(invoke "make" "ocaml-install") (invoke "make" "ocaml-install")))
#t))
(add-after 'install-ocaml 'link-stubs (add-after 'install-ocaml 'link-stubs
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
@ -3873,17 +3862,14 @@ Format module of the OCaml standard library.")
(lib (string-append out "/lib/ocaml/site-lib/piqilib"))) (lib (string-append out "/lib/ocaml/site-lib/piqilib")))
(mkdir-p stubs) (mkdir-p stubs)
(symlink (string-append lib "/dllpiqilib_stubs.so") (symlink (string-append lib "/dllpiqilib_stubs.so")
(string-append stubs "/dllpiqilib_stubs.so")) (string-append stubs "/dllpiqilib_stubs.so"))))))))
#t))))
#:ocaml ,ocaml-4.07
#:findlib ,ocaml4.07-findlib))
(native-inputs (native-inputs
(list which)) (list which))
(propagated-inputs (propagated-inputs
`(("ocaml-xmlm" ,(package-with-ocaml4.07 ocaml-xmlm)) `(("ocaml-xmlm" ,ocaml-xmlm)
("ocaml-sedlex" ,(package-with-ocaml4.07 ocaml-sedlex)) ("ocaml-sedlex" ,ocaml-sedlex)
("ocaml-easy-format" ,(package-with-ocaml4.07 ocaml-easy-format)) ("ocaml-easy-format" ,ocaml-easy-format)
("ocaml-base64" ,(package-with-ocaml4.07 ocaml-base64)))) ("ocaml-base64" ,ocaml-base64)))
(home-page "http://piqi.org") (home-page "http://piqi.org")
(synopsis "Data serialization and conversion library") (synopsis "Data serialization and conversion library")
(description "Piqilib is the common library used by the piqi command-line (description "Piqilib is the common library used by the piqi command-line
@ -3963,9 +3949,9 @@ and 4 (random based) according to RFC 4122.")
(description "OCamlgraph is a generic graph library for OCaml.") (description "OCamlgraph is a generic graph library for OCaml.")
(license license:lgpl2.1))) (license license:lgpl2.1)))
(define-public ocaml4.07-piqi (define-public ocaml-piqi
(package (package
(name "ocaml4.07-piqi") (name "ocaml-piqi")
(version "0.7.7") (version "0.7.7")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -3989,15 +3975,13 @@ and 4 (random based) according to RFC 4122.")
(lambda _ (lambda _
(for-each make-file-writable (find-files ".")) (for-each make-file-writable (find-files "."))
#t)) #t))
(delete 'configure)) (delete 'configure))))
#:ocaml ,ocaml-4.07
#:findlib ,ocaml4.07-findlib))
(native-inputs (native-inputs
(list which protobuf)) ; for tests (list which protobuf)) ; for tests
(propagated-inputs (propagated-inputs
`(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num)) `(("ocaml-num" ,ocaml-num)
("ocaml-piqilib" ,ocaml4.07-piqilib) ("ocaml-piqilib" ,ocaml-piqilib)
("ocaml-stdlib-shims" ,(package-with-ocaml4.07 ocaml-stdlib-shims)))) ("ocaml-stdlib-shims" ,ocaml-stdlib-shims)))
(home-page "https://github.com/alavrik/piqi-ocaml") (home-page "https://github.com/alavrik/piqi-ocaml")
(synopsis "Protocol serialization system for OCaml") (synopsis "Protocol serialization system for OCaml")
(description "Piqi is a multi-format data serialization system for OCaml. (description "Piqi is a multi-format data serialization system for OCaml.
@ -4029,12 +4013,12 @@ XML and Protocol Buffers formats.")
("ocaml-bitstring" ,(package-with-ocaml4.07 ocaml-bitstring)) ("ocaml-bitstring" ,(package-with-ocaml4.07 ocaml-bitstring))
("ocaml-cmdliner" ,(package-with-ocaml4.07 ocaml-cmdliner)) ("ocaml-cmdliner" ,(package-with-ocaml4.07 ocaml-cmdliner))
("ocaml-core-kernel" ,ocaml4.07-core-kernel) ("ocaml-core-kernel" ,ocaml4.07-core-kernel)
("ocaml-ezjsonm" ,ocaml4.07-ezjsonm) ("ocaml-ezjsonm" ,(package-with-ocaml4.07 ocaml-ezjsonm))
("ocaml-fileutils" ,(package-with-ocaml4.07 ocaml-fileutils)) ("ocaml-fileutils" ,(package-with-ocaml4.07 ocaml-fileutils))
("ocaml-frontc" ,(package-with-ocaml4.07 ocaml-frontc)) ("ocaml-frontc" ,(package-with-ocaml4.07 ocaml-frontc))
("ocaml-graph" ,(package-with-ocaml4.07 ocaml-graph)) ("ocaml-graph" ,(package-with-ocaml4.07 ocaml-graph))
("ocaml-ocurl" ,(package-with-ocaml4.07 ocaml-ocurl)) ("ocaml-ocurl" ,(package-with-ocaml4.07 ocaml-ocurl))
("ocaml-piqi" ,ocaml4.07-piqi) ("ocaml-piqi" ,(package-with-ocaml4.07 ocaml-piqi))
("ocaml-ppx-jane" ,ocaml4.07-ppx-jane) ("ocaml-ppx-jane" ,ocaml4.07-ppx-jane)
("ocaml-utop" ,ocaml4.07-utop) ("ocaml-utop" ,ocaml4.07-utop)
("ocaml-uuidm" ,(package-with-ocaml4.07 ocaml-uuidm)) ("ocaml-uuidm" ,(package-with-ocaml4.07 ocaml-uuidm))
@ -4244,7 +4228,7 @@ instead of bindings to a C library.")
(define-public ocaml-utop (define-public ocaml-utop
(package (package
(name "ocaml-utop") (name "ocaml-utop")
(version "2.9.1") (version "2.9.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -4253,7 +4237,7 @@ instead of bindings to a C library.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1pmsmi0j4gb1vsd69j0bppkv79wbwz5xcffq78n1i2ibhff6r4j0")))) (base32 "0z5anakgbndhyzbi570pfs2fy69bnmgq9jflgfbly2rhbhwa7wgj"))))
(build-system dune-build-system) (build-system dune-build-system)
(arguments (arguments
`(#:test-target ".")) `(#:test-target "."))
@ -4402,7 +4386,7 @@ OCaml projects that contain C stubs.")
(define-public ocaml-tsdl (define-public ocaml-tsdl
(package (package
(name "ocaml-tsdl") (name "ocaml-tsdl")
(version "0.9.7") (version "0.9.9")
(home-page "https://erratique.ch/software/tsdl") (home-page "https://erratique.ch/software/tsdl")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -4411,7 +4395,7 @@ OCaml projects that contain C stubs.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1zwv0ixkigh1gzk5n49rwvz2f2m62jdkkqg40j7dclg4gri7691f")))) "1m565jgfanijjzp64c1rylahkpmrrb03ywj202j49n06nvwp788s"))))
(build-system ocaml-build-system) (build-system ocaml-build-system)
(arguments (arguments
`(#:build-flags '("build") `(#:build-flags '("build")
@ -5024,11 +5008,17 @@ exclusion algorithms are typical examples of such systems.")
(define-public ocaml-sexplib0 (define-public ocaml-sexplib0
(package (package
(name "ocaml-sexplib0") (name "ocaml-sexplib0")
(version "0.15.0") (version "0.15.1")
(home-page "https://github.com/janestreet/sexplib0") (home-page "https://github.com/janestreet/sexplib0")
(source (source (origin
(janestreet-origin "sexplib0" version (method git-fetch)
"1fpg991n578m11r0ki4als4c76s3sp703b4khivx40v48402qill")) (uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"05m93g4m4jhj1v8pazg3s2ydcfymr3h4476yjhdca5fm4sn35bg8"))))
(build-system dune-build-system) (build-system dune-build-system)
(arguments `(#:tests? #f)) ;no tests (arguments `(#:tests? #f)) ;no tests
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-sexplib0)))) (properties `((ocaml4.07-variant . ,(delay ocaml4.07-sexplib0))))
@ -7996,7 +7986,7 @@ defined in OCaml 4.12.0.")
(define-public ocamlformat (define-public ocamlformat
(package (package
(name "ocamlformat") (name "ocamlformat")
(version "0.21.0") (version "0.22.4")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -8006,12 +7996,16 @@ defined in OCaml 4.12.0.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"10vy102a0isd8cg94y61pm4qfgy74d6003dw0qn0bdmbd19r5071")))) "171lq3vx4y8xj4by5zy93isx8nhg6ysxg1hxmkqkq16fdaiz8mnc"))))
(build-system dune-build-system) (build-system dune-build-system)
(arguments (arguments
'(#:package "ocamlformat" '(#:package "ocamlformat"
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; Tests related to other packages
(add-after 'unpack 'remove-unrelated-tests
(lambda _
(delete-file-recursively "test/rpc")))
(add-after 'unpack 'fix-test-format (add-after 'unpack 'fix-test-format
(lambda _ (lambda _
(substitute* "test/cli/repl_file_errors.t/run.t" (substitute* "test/cli/repl_file_errors.t/run.t"

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021, 2022 Vinicius Monego <monego@posteo.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -102,13 +102,13 @@ GUI based workflow. It is primarily used in the Orange framework.")
(define-public orange (define-public orange
(package (package
(name "orange") (name "orange")
(version "3.31.1") (version "3.32.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "Orange3" version)) (uri (pypi-uri "Orange3" version))
(sha256 (sha256
(base32 "0jqay46nysgfxldik7f6mfi8iylai2gwfpq60vklrfi1rhqf3pn6")))) (base32 "0pxjwisc209cdgpqlqazc2vlmr0iqz8ry862w7jx95zic54d9p5l"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases `(#:phases

View file

@ -1650,8 +1650,8 @@ in an isolated environment, in separate namespaces.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public nar-herder (define-public nar-herder
(let ((commit "a24fbd108f75c8f27d2f68f2d1a051e2f3f3e191") (let ((commit "042f49e5fb52ea844ed5d29c17b26fbc8ad49f0e")
(revision "7")) (revision "8"))
(package (package
(name "nar-herder") (name "nar-herder")
(version (git-version "0" revision commit)) (version (git-version "0" revision commit))
@ -1662,7 +1662,7 @@ in an isolated environment, in separate namespaces.")
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 (base32
"1jm6ks2sjcwih7j4wnp252qd73n8pydg7sd000ismpvg5p21l7fg")) "1i9vwjdvkchwndjikqq3j73x0mvp3ny63s62ixql70yhpdgz5l69"))
(file-name (string-append name "-" version "-checkout")))) (file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments

View file

@ -4,7 +4,7 @@
;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 20182022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20182022 Tobias Geerinckx-Rice <me@tobias.gr>
@ -166,7 +166,7 @@ when jobs finish.")
(define-public slurm (define-public slurm
(package (package
(name "slurm") (name "slurm")
(version "21.08.8") (version "22.05.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -174,7 +174,7 @@ when jobs finish.")
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1sjln54idc9rhg8f2nvm38sgs6fncncyzslas8ixy65pqz2hphbf")) "0f3hhlki8g7slllsnyj1qikbsvr62i0hig85lcdcfnmsagzlhbyi"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -262,6 +262,20 @@ by managing a queue of pending work.")
;; As noted in the link, YY.MM is the release scheme, and the 'maintenance' ;; As noted in the link, YY.MM is the release scheme, and the 'maintenance'
;; digit does not introduce incompatibilities. ;; digit does not introduce incompatibilities.
(define-public slurm-21.08
(package
(inherit slurm)
(version "21.08.8")
(source (origin
(inherit (package-source slurm))
(method url-fetch)
(uri (string-append
"https://download.schedmd.com/slurm/slurm-"
version ".tar.bz2"))
(sha256
(base32
"1sjln54idc9rhg8f2nvm38sgs6fncncyzslas8ixy65pqz2hphbf"))))))
(define-public slurm-20.11 (define-public slurm-20.11
(package (package
(inherit slurm) (inherit slurm)
@ -327,7 +341,7 @@ by managing a queue of pending work.")
(define-public slurm-drmaa (define-public slurm-drmaa
(package (package
(name "slurm-drmaa") (name "slurm-drmaa")
(version "1.1.2") (version "1.1.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -335,7 +349,7 @@ by managing a queue of pending work.")
version "/slurm-drmaa-" version ".tar.gz")) version "/slurm-drmaa-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0dn8ypqxdaq3k4jqwwx7msckxnmr6n2z5j68yffp50yy07ajbzjv")))) "1fn3p4wjj0sgvx0isy3hiwi35vhxa2n2ksq5cn9sq2hg7yyb2phl"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments `(#:tests? #f)) ; The tests require "bats". (arguments `(#:tests? #f)) ; The tests require "bats".
(inputs (inputs

View file

@ -1,39 +0,0 @@
X-Git-Url: https://repo.or.cz/alpine.git/blobdiff_plain/fb2217ac67706e4cbef69bea41041e2fb8b910e9..3ee981816abfb7d47ffc0ac522fff002b5749b72:/alpine/help.c
diff --git a/alpine/help.c b/alpine/help.c
index 4f1bf46..e9c7b34 100644
--- a/alpine/help.c
+++ b/alpine/help.c
@@ -36,6 +36,7 @@ static char rcsid[] = "$Id: help.c 1032 2008-04-11 00:30:04Z hubert@u.washington
#include "../pith/detoken.h"
#include "../pith/list.h"
#include "../pith/margin.h"
+#include "../pith/busy.h"
typedef struct _help_scroll {
@@ -135,10 +136,12 @@ helper_internal(HelpType text, char *frag, char *title, int flags)
is_external = 0;
if(shown_text && *shown_text && !struncmp(*shown_text, "x-alpine-http:", 14)){
- int status;
+ int status, we_cancel = 0;
+
+ we_cancel = busy_cue(_("Retrieving help text"), NULL, 1);
HTTPSTREAM *stream = http_open(*shown_text + 14);
if(stream) help_text = http_get(stream, NULL);
- status = stream->status ? stream->status->code : -1;
+ status = stream && stream->status ? stream->status->code : -1;
if(stream) http_close(stream);
if(status != HTTP_OK){
shown_text = NO_HELP;
@@ -165,7 +168,8 @@ helper_internal(HelpType text, char *frag, char *title, int flags)
*rv = NULL;
}
}
-
+ if(we_cancel)
+ cancel_busy_cue(-1);
}
if(F_ON(F_BLANK_KEYMENU,ps_global)){

View file

@ -1,53 +0,0 @@
Fix for epiphany with libportal-0.5.
This patch was adapted from upstream
https://gitlab.gnome.org/GNOME/epiphany/-/commit/e4d259f614f75c26ad0d2094f4f569ffd1bc06d1
diff --git a/lib/ephy-flatpak-utils.c b/lib/ephy-flatpak-utils.c
index 6fc9a5dec17a63c0660cbc1d95103c8f77231d30..0fd90b3f178392930e812a8391fd81bf1371b8bf 100644
--- a/lib/ephy-flatpak-utils.c
+++ b/lib/ephy-flatpak-utils.c
@@ -29,7 +29,7 @@
#include <gio/gio.h>
#include <gio/gunixfdlist.h>
#if USE_LIBPORTAL
-#include <libportal/portal-gtk3.h>
+#include <libportal-gtk3/portal-gtk3.h>
#endif
#include <string.h>
#include <sys/stat.h>
diff --git a/lib/meson.build b/lib/meson.build
index 264f9c5fb66268fc248f780b8d1c06c8291f856d..db0a0557f0ae634d7fb95e57aba0cd901ca4d6c1 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -66,6 +66,7 @@ libephymisc_deps = [
libxml_dep,
m_dep,
portal_dep,
+ portal_gtk_dep,
sqlite3_dep,
webkit2gtk_dep
]
diff --git a/meson.build b/meson.build
index 0b9f862b22a23619289342ec39fa0a0274558c25..4285a975004e48366789a4e66f8b23f3af05a636 100644
--- a/meson.build
+++ b/meson.build
@@ -95,7 +95,8 @@ libhandy_dep = dependency('libhandy-1', version: '>= 1.5.0')
libsecret_dep = dependency('libsecret-1', version: '>= 0.19.0')
libxml_dep = dependency('libxml-2.0', version: '>= 2.6.12')
nettle_dep = dependency('nettle', version: nettle_requirement)
-portal_dep = dependency('libportal', version: '>= 0.0.2', required: get_option('libportal'))
+portal_dep = dependency('libportal', version: '>= 0.5', required: get_option('libportal'))
+portal_gtk_dep = dependency('libportal-gtk3', version: '>= 0.5', required: get_option('libportal'))
sqlite3_dep = dependency('sqlite3', version: '>= 3.22')
if get_option('soup2').enabled()
@@ -108,7 +109,7 @@ else
webkit2gtk_web_extension_dep = dependency('webkit2gtk-web-extension-4.1', version: webkitgtk_requirement)
endif
-conf.set10('USE_LIBPORTAL', portal_dep.found())
+conf.set10('USE_LIBPORTAL', portal_dep.found() and portal_gtk_dep.found())
webkit_revision = webkit2gtk_dep.get_variable(pkgconfig : 'revision', default_value : '')
if webkit_revision == 'tarball'

View file

@ -1,18 +0,0 @@
See https://github.com/fplll/fplll/issues/444
--- fplll-5.3.3-checkout.old/fplll/enum/enumerate_base.h 2020-09-23 13:55:27.833769823 +0200
+++ fplll-5.3.3-checkout/fplll/enum/enumerate_base.h 2020-09-23 13:56:14.313771769 +0200
@@ -127,10 +127,10 @@
int rounding_backup;
void save_rounding()
{
- rounding_backup = std::fegetround();
- std::fesetround(FE_TONEAREST);
+ rounding_backup = fegetround();
+ fesetround(FE_TONEAREST);
}
- void restore_rounding() { std::fesetround(rounding_backup); }
+ void restore_rounding() { fesetround(rounding_backup); }
inline bool next_pos_up()
{

View file

@ -0,0 +1,38 @@
Prevent java-commons-lang3 from depending on junit-bom when used with
maven.
From 5c15b04ff9d05235460ea58f303fcf3502a943f2 Mon Sep 17 00:00:00 2001
From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
Date: Mon, 13 Jun 2022 09:25:42 +0300
Subject: [PATCH] pom.xml: Remove dependency on 'junit-bom'
---
pom.xml | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/pom.xml b/pom.xml
index 167a85a47..6cd9be57b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -513,18 +513,6 @@
</contributor>
</contributors>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.junit</groupId>
- <artifactId>junit-bom</artifactId>
- <version>5.7.1</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
<!-- Lang should depend on very little -->
<dependencies>
<!-- testing -->
--
2.25.1

View file

@ -0,0 +1,104 @@
From 170ed96fe53531f93cdbca184faeda4bdf457169 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 7 Jun 2022 11:34:29 +0200
Subject: [PATCH] Unbundle boost.
diff --git a/globalregistry.h b/globalregistry.h
index 1974f54..3d97364 100644
--- a/globalregistry.h
+++ b/globalregistry.h
@@ -34,7 +34,7 @@
#include "util.h"
#include "uuid.h"
-#include "boost/asio.hpp"
+#include <boost/asio.hpp>
class global_registry;
diff --git a/gpsgpsd_v3.h b/gpsgpsd_v3.h
index 77acb14..8cb3cd4 100644
--- a/gpsgpsd_v3.h
+++ b/gpsgpsd_v3.h
@@ -25,7 +25,7 @@
#include "kis_gps.h"
#include "timetracker.h"
-#include "boost/asio.hpp"
+#include <boost/asio.hpp>
using boost::asio::ip::tcp;
diff --git a/gpsnmea_v2.h b/gpsnmea_v2.h
index d761fd3..7518b94 100644
--- a/gpsnmea_v2.h
+++ b/gpsnmea_v2.h
@@ -28,7 +28,7 @@
#define ASIO_HAS_STD_CHRONO
#define ASIO_HAS_MOVE
-#include "boost/asio.hpp"
+#include <boost/asio.hpp>
// Generic NMEA parser for GPS
diff --git a/gpsserial_v3.h b/gpsserial_v3.h
index c9f633f..2fa9acb 100644
--- a/gpsserial_v3.h
+++ b/gpsserial_v3.h
@@ -29,7 +29,7 @@
#define ASIO_HAS_STD_CHRONO
#define ASIO_HAS_MOVE
-#include "boost/asio.hpp"
+#include <boost/asio.hpp>
// NMEA serial-attached GPS
// Implemented using ASIO serial
diff --git a/gpstcp_v2.h b/gpstcp_v2.h
index 75ec2e9..ab46216 100644
--- a/gpstcp_v2.h
+++ b/gpstcp_v2.h
@@ -29,7 +29,7 @@
#define ASIO_HAS_STD_CHRONO
#define ASIO_HAS_MOVE
-#include "boost/asio.hpp"
+#include <boost/asio.hpp>
using boost::asio::ip::tcp;
diff --git a/kis_external.h b/kis_external.h
index 217f18a..af397b5 100644
--- a/kis_external.h
+++ b/kis_external.h
@@ -42,7 +42,7 @@
#include "kis_external_packet.h"
#include "kis_net_beast_httpd.h"
-#include "boost/asio.hpp"
+#include <boost/asio.hpp>
using boost::asio::ip::tcp;
#include <google/protobuf/message_lite.h>
diff --git a/kis_net_beast_httpd.h b/kis_net_beast_httpd.h
index 355996c..989745e 100644
--- a/kis_net_beast_httpd.h
+++ b/kis_net_beast_httpd.h
@@ -28,9 +28,9 @@
#include <thread>
#include <unordered_map>
-#include "boost/asio.hpp"
-#include "boost/beast.hpp"
-#include "boost/optional.hpp"
+#include <boost/asio.hpp>
+#include <boost/beast.hpp>
+#include <boost/optional.hpp>
#include "entrytracker.h"
#include "future_chainbuf.h"
--
2.35.1

View file

@ -1,22 +0,0 @@
Taken from https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/llvm-roc/files
diff -Naur a/clang/lib/Basic/CMakeLists.txt b/clang/lib/Basic/CMakeLists.txt
--- a/clang/lib/Basic/CMakeLists.txt 2019-12-28 07:42:49.119055933 +0100
+++ b/clang/lib/Basic/CMakeLists.txt 2019-12-28 07:42:13.265056070 +0100
@@ -2,6 +2,7 @@
Core
MC
Support
+ Option
)
find_first_existing_vc_file("${LLVM_MAIN_SRC_DIR}" llvm_vc)
diff -Naur a/clang/lib/Driver/CMakeLists.txt b/clang/lib/Driver/CMakeLists.txt
--- a/clang/lib/Driver/CMakeLists.txt 2019-12-28 07:41:39.521056199 +0100
+++ b/clang/lib/Driver/CMakeLists.txt 2019-12-28 07:40:23.998056487 +0100
@@ -79,4 +79,5 @@
LINK_LIBS
clangBasic
${system_libs}
+ pthread
)

View file

@ -1,13 +0,0 @@
Taken from https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/llvm-roc/files
diff --color -uprN orig/lib/Target/AMDGPU/Disassembler/CMakeLists.txt llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt
--- a/llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt 2021-06-14 11:57:54.222796911 +0800
+++ b/llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt 2021-06-14 11:58:35.206796875 +0800
@@ -11,6 +11,7 @@ add_llvm_component_library(LLVMAMDGPUDis
MC
MCDisassembler
Support
+ Object
ADD_TO_COMPONENT
AMDGPU

View file

@ -0,0 +1,15 @@
Taken from the Gentoo patch:
https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/llvm-roc/files/llvm-roc-5.0.0-linkdl.patch
LLVMOffloadArch should link libdl to fix undefined symbol 'dlsym' when linking
--- a/llvm/lib/OffloadArch/offload-arch/CMakeLists.txt
+++ b/llvm/lib/OffloadArch/offload-arch/CMakeLists.txt
@@ -3,6 +3,7 @@ add_llvm_tool(offload-arch
${CMAKE_CURRENT_SOURCE_DIR}/offload-arch.cpp
DEPENDS generated-table LLVMOffloadArch
)
+target_link_libraries(LLVMOffloadArch PRIVATE ${CMAKE_DL_LIBS})
target_link_libraries(offload-arch PRIVATE LLVMOffloadArch)
if(CMAKE_HOST_UNIX)

View file

@ -0,0 +1,281 @@
commit 9bb6f1e11264fb075bfa70fa3684f10a32414594
Author: Lars-Dominik Braun <lars@6xq.net>
Date: Wed Dec 1 14:28:06 2021 +0100
guix: Remove accessibility.
We cannot build speech-rule-engine from source and thus all dependents
must be removed. This affects all a11y modules and menu items, which
may try to load components.
diff --git a/components/src/dependencies.js b/components/src/dependencies.js
index f9be6f93..822f8fb6 100644
--- a/components/src/dependencies.js
+++ b/components/src/dependencies.js
@@ -16,6 +16,3 @@
export const dependencies = {
- 'a11y/semantic-enrich': ['input/mml', '[sre]'],
- 'a11y/complexity': ['a11y/semantic-enrich'],
- 'a11y/explorer': ['a11y/semantic-enrich', 'ui/menu'],
'[tex]/all-packages': ['input/tex-base'],
'[tex]/action': ['input/tex-base', '[tex]/newcommand'],
@@ -58,6 +55,5 @@ export const dependencies = {
export const paths = {
tex: '[mathjax]/input/tex/extensions',
- sre: '[mathjax]/sre/' + (typeof window === 'undefined' ? 'sre-node' : 'sre_browser')
};
const allPackages = [
diff --git a/components/src/mml-chtml/mml-chtml.js b/components/src/mml-chtml/mml-chtml.js
index c0bd18ee..a283a1ab 100644
--- a/components/src/mml-chtml/mml-chtml.js
+++ b/components/src/mml-chtml/mml-chtml.js
@@ -5,5 +5,4 @@ import '../input/mml/mml.js';
import '../output/chtml/chtml.js';
import '../output/chtml/fonts/tex/tex.js';
import '../ui/menu/menu.js';
-import '../a11y/assistive-mml/assistive-mml.js';
import '../startup/startup.js';
diff --git a/components/src/mml-chtml/preload.js b/components/src/mml-chtml/preload.js
index e3f202f7..3699570e 100644
--- a/components/src/mml-chtml/preload.js
+++ b/components/src/mml-chtml/preload.js
@@ -5,5 +5,5 @@ Loader.preLoad(
'core',
'input/mml',
'output/chtml', 'output/chtml/fonts/tex.js',
- 'ui/menu', 'a11y/assistive-mml'
+ 'ui/menu'
);
diff --git a/components/src/mml-svg/mml-svg.js b/components/src/mml-svg/mml-svg.js
index 172b2433..23b66e69 100644
--- a/components/src/mml-svg/mml-svg.js
+++ b/components/src/mml-svg/mml-svg.js
@@ -5,5 +5,4 @@ import '../input/mml/mml.js';
import '../output/svg/svg.js';
import '../output/svg/fonts/tex/tex.js';
import '../ui/menu/menu.js';
-import '../a11y/assistive-mml/assistive-mml.js';
import '../startup/startup.js';
diff --git a/components/src/mml-svg/preload.js b/components/src/mml-svg/preload.js
index 3cb47d42..89f6b9f9 100644
--- a/components/src/mml-svg/preload.js
+++ b/components/src/mml-svg/preload.js
@@ -5,5 +5,5 @@ Loader.preLoad(
'core',
'input/mml',
'output/svg', 'output/svg/fonts/tex.js',
- 'ui/menu', 'a11y/assistive-mml'
+ 'ui/menu'
);
diff --git a/components/src/source.js b/components/src/source.js
index ba6d6835..02ecf18d 100644
--- a/components/src/source.js
+++ b/components/src/source.js
@@ -62,11 +62,5 @@ export const source = {
'output/chtml/fonts/tex': `${src}/output/chtml/fonts/tex/tex.js`,
'output/svg': `${src}/output/svg/svg.js`,
'output/svg/fonts/tex': `${src}/output/svg/fonts/tex/tex.js`,
- 'a11y/assistive-mml': `${src}/a11y/assistive-mml/assistive-mml.js`,
- 'a11y/semantic-enrich': `${src}/a11y/semantic-enrich/semantic-enrich.js`,
- 'a11y/complexity': `${src}/a11y/complexity/complexity.js`,
- 'a11y/explorer': `${src}/a11y/explorer/explorer.js`,
- '[sre]': (typeof window === 'undefined' ? `${src}/../../js/a11y/sre-node.js` :
- `${src}/../../node_modules/speech-rule-engine/lib/sre_browser.js`),
'ui/menu': `${src}/ui/menu/menu.js`,
'ui/safe': `${src}/ui/safe/safe.js`,
diff --git a/components/src/tex-chtml-full/preload.js b/components/src/tex-chtml-full/preload.js
index 76c81c92..0eb3a8e2 100644
--- a/components/src/tex-chtml-full/preload.js
+++ b/components/src/tex-chtml-full/preload.js
@@ -5,5 +5,5 @@ Loader.preLoad(
'core',
'input/tex-full',
'output/chtml', 'output/chtml/fonts/tex.js',
- 'ui/menu', 'a11y/assistive-mml'
+ 'ui/menu'
);
diff --git a/components/src/tex-chtml-full/tex-chtml-full.js b/components/src/tex-chtml-full/tex-chtml-full.js
index 12291be9..c3f59e6b 100644
--- a/components/src/tex-chtml-full/tex-chtml-full.js
+++ b/components/src/tex-chtml-full/tex-chtml-full.js
@@ -5,5 +5,4 @@ import '../input/tex-full/tex-full.js';
import '../output/chtml/chtml.js';
import '../output/chtml/fonts/tex/tex.js';
import '../ui/menu/menu.js';
-import '../a11y/assistive-mml/assistive-mml.js';
import '../startup/startup.js';
diff --git a/components/src/tex-chtml/preload.js b/components/src/tex-chtml/preload.js
index 89f110c5..5dae092f 100644
--- a/components/src/tex-chtml/preload.js
+++ b/components/src/tex-chtml/preload.js
@@ -5,5 +5,5 @@ Loader.preLoad(
'core',
'input/tex',
'output/chtml', 'output/chtml/fonts/tex.js',
- 'ui/menu', 'a11y/assistive-mml'
+ 'ui/menu'
);
diff --git a/components/src/tex-chtml/tex-chtml.js b/components/src/tex-chtml/tex-chtml.js
index 8d98865e..4d100a48 100644
--- a/components/src/tex-chtml/tex-chtml.js
+++ b/components/src/tex-chtml/tex-chtml.js
@@ -5,5 +5,4 @@ import '../input/tex/tex.js';
import '../output/chtml/chtml.js';
import '../output/chtml/fonts/tex/tex.js';
import '../ui/menu/menu.js';
-import '../a11y/assistive-mml/assistive-mml.js';
import '../startup/startup.js';
diff --git a/components/src/tex-mml-chtml/preload.js b/components/src/tex-mml-chtml/preload.js
index 7adb6a3b..3945370f 100644
--- a/components/src/tex-mml-chtml/preload.js
+++ b/components/src/tex-mml-chtml/preload.js
@@ -5,5 +5,5 @@ Loader.preLoad(
'core',
'input/tex', 'input/mml',
'output/chtml', 'output/chtml/fonts/tex.js',
- 'ui/menu', 'a11y/assistive-mml'
+ 'ui/menu'
);
diff --git a/components/src/tex-mml-chtml/tex-mml-chtml.js b/components/src/tex-mml-chtml/tex-mml-chtml.js
index 4167bd59..0b068dc6 100644
--- a/components/src/tex-mml-chtml/tex-mml-chtml.js
+++ b/components/src/tex-mml-chtml/tex-mml-chtml.js
@@ -6,5 +6,4 @@ import '../input/mml/mml.js';
import '../output/chtml/chtml.js';
import '../output/chtml/fonts/tex/tex.js';
import '../ui/menu/menu.js';
-import '../a11y/assistive-mml/assistive-mml.js';
import '../startup/startup.js';
diff --git a/components/src/tex-mml-svg/preload.js b/components/src/tex-mml-svg/preload.js
index 69d6a2c5..bad39af1 100644
--- a/components/src/tex-mml-svg/preload.js
+++ b/components/src/tex-mml-svg/preload.js
@@ -5,5 +5,5 @@ Loader.preLoad(
'core',
'input/tex', 'input/mml',
'output/svg', 'output/svg/fonts/tex.js',
- 'ui/menu', 'a11y/assistive-mml'
+ 'ui/menu'
);
diff --git a/components/src/tex-mml-svg/tex-mml-svg.js b/components/src/tex-mml-svg/tex-mml-svg.js
index acff78dd..3ca4e6cf 100644
--- a/components/src/tex-mml-svg/tex-mml-svg.js
+++ b/components/src/tex-mml-svg/tex-mml-svg.js
@@ -6,5 +6,4 @@ import '../input/mml/mml.js';
import '../output/svg/svg.js';
import '../output/svg/fonts/tex/tex.js';
import '../ui/menu/menu.js';
-import '../a11y/assistive-mml/assistive-mml.js';
import '../startup/startup.js';
diff --git a/components/src/tex-svg-full/preload.js b/components/src/tex-svg-full/preload.js
index d4165cf8..8871781a 100644
--- a/components/src/tex-svg-full/preload.js
+++ b/components/src/tex-svg-full/preload.js
@@ -5,5 +5,5 @@ Loader.preLoad(
'core',
'input/tex-full',
'output/svg', 'output/svg/fonts/tex.js',
- 'ui/menu', 'a11y/assistive-mml'
+ 'ui/menu'
);
diff --git a/components/src/tex-svg-full/tex-svg-full.js b/components/src/tex-svg-full/tex-svg-full.js
index 55ce32f2..09c7e65c 100644
--- a/components/src/tex-svg-full/tex-svg-full.js
+++ b/components/src/tex-svg-full/tex-svg-full.js
@@ -5,5 +5,4 @@ import '../input/tex-full/tex-full.js';
import '../output/svg/svg.js';
import '../output/svg/fonts/tex/tex.js';
import '../ui/menu/menu.js';
-import '../a11y/assistive-mml/assistive-mml.js';
import '../startup/startup.js';
diff --git a/components/src/tex-svg/preload.js b/components/src/tex-svg/preload.js
index 284ce317..3eb02665 100644
--- a/components/src/tex-svg/preload.js
+++ b/components/src/tex-svg/preload.js
@@ -5,5 +5,5 @@ Loader.preLoad(
'core',
'input/tex',
'output/svg', 'output/svg/fonts/tex.js',
- 'ui/menu', 'a11y/assistive-mml'
+ 'ui/menu'
);
diff --git a/components/src/tex-svg/tex-svg.js b/components/src/tex-svg/tex-svg.js
index f4ce644e..5d8caa5c 100644
--- a/components/src/tex-svg/tex-svg.js
+++ b/components/src/tex-svg/tex-svg.js
@@ -5,5 +5,4 @@ import '../input/tex/tex.js';
import '../output/svg/svg.js';
import '../output/svg/fonts/tex/tex.js';
import '../ui/menu/menu.js';
-import '../a11y/assistive-mml/assistive-mml.js';
import '../startup/startup.js';
diff --git a/ts/ui/menu/Menu.ts b/ts/ui/menu/Menu.ts
index 7553aafc..ca0b9780 100644
--- a/ts/ui/menu/Menu.ts
+++ b/ts/ui/menu/Menu.ts
@@ -135,7 +135,7 @@ export class Menu {
autocollapse: false,
collapsible: false,
inTabOrder: true,
- assistiveMml: true,
+ assistiveMml: false,
explorer: false
},
jax: {
@@ -475,7 +475,7 @@ export class Menu {
this.command('Reset', 'Reset to defaults', () => this.resetDefaults())
]),
this.submenu('Accessibility', 'Accessibility', [
- this.checkbox('Activate', 'Activate', 'explorer'),
+ this.checkbox('Activate', 'Activate', 'explorer', {disabled: true}),
this.submenu('Speech', 'Speech', [
this.checkbox('Speech', 'Speech Output', 'speech'),
this.checkbox('Subtitles', 'Speech Subtitles', 'subtitles'),
@@ -534,11 +534,11 @@ export class Menu {
this.checkbox('Prefix', 'Prefix', 'infoPrefix')
], true),
this.rule(),
- this.checkbox('Collapsible', 'Collapsible Math', 'collapsible'),
+ this.checkbox('Collapsible', 'Collapsible Math', 'collapsible', {disabled: true}),
this.checkbox('AutoCollapse', 'Auto Collapse', 'autocollapse', {disabled: true}),
this.rule(),
this.checkbox('InTabOrder', 'Include in Tab Order', 'inTabOrder'),
- this.checkbox('AssistiveMml', 'Include Hidden MathML', 'assistiveMml')
+ this.checkbox('AssistiveMml', 'Include Hidden MathML', 'assistiveMml', {disabled: true})
]),
this.submenu('Language', 'Language'),
this.rule(),
@@ -722,6 +722,7 @@ export class Menu {
* @param {boolean} mml True to output hidden Mathml, false to not
*/
protected setAssistiveMml(mml: boolean) {
+ mml = false;
this.document.options.enableAssistiveMml = mml;
if (!mml || (MathJax._.a11y && MathJax._.a11y['assistive-mml'])) {
this.rerender();
@@ -734,6 +735,7 @@ export class Menu {
* @param {boolean} explore True to enable the explorer, false to not
*/
protected setExplorer(explore: boolean) {
+ explore = false;
this.enableExplorerItems(explore);
this.document.options.enableExplorer = explore;
if (!explore || (MathJax._.a11y && MathJax._.a11y.explorer)) {
@@ -747,6 +749,7 @@ export class Menu {
* @param {boolean} collapse True to enable collapsible math, false to not
*/
protected setCollapsible(collapse: boolean) {
+ collapse = false;
this.document.options.enableComplexity = collapse;
if (!collapse || (MathJax._.a11y && MathJax._.a11y.complexity)) {
this.rerender(STATE.COMPILED);
@@ -845,6 +848,8 @@ export class Menu {
* @param {string} component The name of the a11y component to load
*/
public loadA11y(component: string) {
+ console.log ('ignoring load for', component);
+ return;
const noEnrich = !STATE.ENRICHED;
this.loadComponent('a11y/' + component, () => {
const startup = MathJax.startup;

View file

@ -1,34 +0,0 @@
From 18a08fb7f0443f8bde83393bd6f69e23a04246b3 Mon Sep 17 00:00:00 2001
From: Pablo Neira Ayuso <pablo@netfilter.org>
Date: Tue, 22 Feb 2022 00:56:36 +0100
Subject: examples: compile with `make check' and add AM_CPPFLAGS
Compile examples via `make check' like libnftnl does. Use AM_CPPFLAGS to
specify local headers via -I.
Unfortunately, `make distcheck' did not catch this compile time error in
my system, since it was using the nftables/libnftables.h file of the
previous nftables release.
Fixes: 5b364657a35f ("build: missing SUBIRS update")
Fixes: caf2a6ad2d22 ("examples: add libnftables example program")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
examples/Makefile.am | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/examples/Makefile.am b/examples/Makefile.am
index c972170d..3b8b0b67 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -1,4 +1,6 @@
-noinst_PROGRAMS = nft-buffer \
+check_PROGRAMS = nft-buffer \
nft-json-file
+AM_CPPFLAGS = -I$(top_srcdir)/include
+
LDADD = $(top_builddir)/src/libnftables.la
--
cgit v1.2.3

View file

@ -1,6 +1,6 @@
From 2e7e254160506dc00f1beabf170512a8e932934b Mon Sep 17 00:00:00 2001 From 9f70bca2d823b93b334ecb0f92e940d20aafc1c6 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu> From: Julien Lepiller <julien@lepiller.eu>
Date: Sat, 31 Dec 2016 15:43:38 +0100 Date: Sat, 18 Jun 2022 12:02:49 +0200
Subject: [PATCH] fix build date in binary Subject: [PATCH] fix build date in binary
--- ---
@ -8,19 +8,19 @@ Subject: [PATCH] fix build date in binary
1 file changed, 2 insertions(+), 10 deletions(-) 1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/src/magic/omake_gen_magic.ml b/src/magic/omake_gen_magic.ml diff --git a/src/magic/omake_gen_magic.ml b/src/magic/omake_gen_magic.ml
index b2419ba..fad52f5 100644 index c2b9329..3d36c0c 100644
--- a/src/magic/omake_gen_magic.ml --- a/src/magic/omake_gen_magic.ml
+++ b/src/magic/omake_gen_magic.ml +++ b/src/magic/omake_gen_magic.ml
@@ -150,7 +150,7 @@ let ir_magic = "%s" @@ -150,7 +150,7 @@ let ir_magic = "%s"
let obj_magic = "%s" let obj_magic = "%s"
let lib_dir = "%s" let lib_dir = "%s"
let version = "%s" let version = "%s"
-let version_message = "OMake %s:\\n\\tbuild [%s %s %d %02d:%02d:%02d %d]\\n\\ton %s" -let version_message = "OMake %s:\n build [%s %s %d %02d:%02d:%02d %d]\n on %s"
+let version_message = "OMake %s" +let version_message = "OMake %s"
|} |}
default_save_interval default_save_interval
digest_len digest_len
@@ -160,15 +160,7 @@ let version_message = "OMake %s:\\n\\tbuild [%s %s %d %02d:%02d:%02d %d]\\n\\ton @@ -160,15 +160,7 @@ let version_message = "OMake %s:\n build [%s %s %d %02d:%02d:%02d %d]\n on
(digest_files ".omo.magic" ".omo" omo_files) (digest_files ".omo.magic" ".omo" omo_files)
(String.escaped libdir) (String.escaped libdir)
(String.escaped (shorten_version version)) (String.escaped (shorten_version version))
@ -38,4 +38,5 @@ index b2419ba..fad52f5 100644
(fun (name,value) -> (fun (name,value) ->
Printf.fprintf buf "let %s = %S\n" name value Printf.fprintf buf "let %s = %S\n" name value
-- --
2.11.0 2.36.1

View file

@ -0,0 +1,43 @@
From 5593489d9c3ce22b1942f35c7ebb0e06fcf2bfa8 Mon Sep 17 00:00:00 2001
From: Thiago Jung Bauermann <bauermann@kolabnow.com>
Date: Fri, 10 Jun 2022 12:39:18 -0300
Subject: [PATCH] t/spawn: Find invalid PID to try to join its process group
In the container used to build packages of the GNU Guix distribution, PID 1
runs as the same user as the test so this spawn that should fail actually
succeeds.
Fix the problem by going through different PIDs and picking one that
either doesn't exist or we aren't allowed to signal.
---
This patch is taken from the public-inbox repository and will appear in the
release after v1.8.
t/spawn.t | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/t/spawn.t b/t/spawn.t
index 6168c1f6171c..5fc99a2a101c 100644
--- a/t/spawn.t
+++ b/t/spawn.t
@@ -24,7 +24,18 @@ SKIP: {
is(waitpid($pid, 0), $pid, 'waitpid succeeds on spawned process');
is($?, 0, 'true exited successfully');
pipe(my ($r, $w)) or BAIL_OUT;
- $pid = eval { spawn(['true'], undef, { pgid => 1, 2 => $w }) };
+
+ # Find invalid PID to try to join its process group.
+ my $wrong_pgid = 1;
+ for (my $i=0x7fffffff; $i >= 2; $i--) {
+ if (kill(0, $i) == 0) {
+ $wrong_pgid = $i;
+ last;
+ }
+ }
+
+ # Test spawn behavior when it can't join the requested process group.
+ $pid = eval { spawn(['true'], undef, { pgid => $wrong_pgid, 2 => $w }) };
close $w;
my $err = do { local $/; <$r> };
# diag "$err ($@)";

View file

@ -0,0 +1,73 @@
From 2907848185adcb4e6d8c093db6c617c64cb8c8bf Mon Sep 17 00:00:00 2001
From: Georg Sauthoff <mail@gms.tf>
Date: Sat, 5 Feb 2022 14:42:10 +0100
Subject: [PATCH] Use current pytest_httpx add_response keyword
The new text keyword was introduced in pytest_httpx 0.14, deprecated
in 0.14 and 0.17 and removed in 0.18.
Thus, an appropriate constraint to that dependency is added.
FWIW, this fixes the test cases on the upcoming Fedora 36 release.
See also:
- https://github.com/Colin-b/pytest_httpx/blob/develop/CHANGELOG.md#0180---2022-01-17
- https://github.com/Colin-b/pytest_httpx/blob/develop/CHANGELOG.md#0140---2021-10-22
---
setup.py | 2 +-
tests/test_async_transport.py | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/setup.py b/setup.py
index 4cf9073b..58a5c24f 100755
--- a/setup.py
+++ b/setup.py
@@ -29,7 +29,7 @@
"freezegun==0.3.15",
"pretend==1.0.9",
"pytest-cov==2.8.1",
- "pytest-httpx",
+ "pytest-httpx>=0.14",
"pytest-asyncio",
"pytest==6.2.5",
"requests_mock>=0.7.0",
diff --git a/tests/test_async_transport.py b/tests/test_async_transport.py
index f5e8d1b0..ee215265 100644
--- a/tests/test_async_transport.py
+++ b/tests/test_async_transport.py
@@ -19,7 +19,7 @@ def test_load(httpx_mock):
cache = stub(get=lambda url: None, add=lambda url, content: None)
transport = AsyncTransport(cache=cache)
- httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml", data="x")
+ httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml", text="x")
result = transport.load("http://tests.python-zeep.org/test.xml")
assert result == b"x"
@@ -30,7 +30,7 @@ def test_load_cache(httpx_mock):
cache = InMemoryCache()
transport = AsyncTransport(cache=cache)
- httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml", data="x")
+ httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml", text="x")
result = transport.load("http://tests.python-zeep.org/test.xml")
assert result == b"x"
@@ -45,7 +45,7 @@ async def test_post(httpx_mock: HTTPXMock):
envelope = etree.Element("Envelope")
- httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml", data="x")
+ httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml", text="x")
result = await transport.post_xml(
"http://tests.python-zeep.org/test.xml", envelope=envelope, headers={}
)
@@ -67,7 +67,7 @@ async def test_http_error(httpx_mock: HTTPXMock):
transport = AsyncTransport()
httpx_mock.add_response(
- url="http://tests.python-zeep.org/test.xml", data="x", status_code=500
+ url="http://tests.python-zeep.org/test.xml", text="x", status_code=500
)
with pytest.raises(exceptions.TransportError) as exc:
transport.load("http://tests.python-zeep.org/test.xml")

View file

@ -11,11 +11,11 @@ Without these additional required dependencies, linking fails with errors such a
CMakeLists.txt | 20 ++++++++++++++++++-- CMakeLists.txt | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-) 1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/lib/comgr/CMakeLists.txt b/lib/comgr/CMakeLists.txt
index 1794a07..c7b852a 100644 index 8b5ca2f..a7d226f 100644
--- a/lib/comgr/CMakeLists.txt --- a/lib/comgr/CMakeLists.txt
+++ b/lib/comgr/CMakeLists.txt +++ b/lib/comgr/CMakeLists.txt
@@ -207,7 +207,11 @@ install(FILES @@ -294,7 +294,11 @@ install(FILES
DESTINATION "${AMD_COMGR_PACKAGE_PREFIX}") DESTINATION "${AMD_COMGR_PACKAGE_PREFIX}")
set(CLANG_LIBS set(CLANG_LIBS
@ -28,7 +28,7 @@ index 1794a07..c7b852a 100644
set(LLD_LIBS set(LLD_LIBS
lldELF lldELF
@@ -218,8 +222,20 @@ if (LLVM_LINK_LLVM_DYLIB) @@ -305,8 +309,21 @@ if (LLVM_LINK_LLVM_DYLIB)
else() else()
llvm_map_components_to_libnames(LLVM_LIBS llvm_map_components_to_libnames(LLVM_LIBS
${LLVM_TARGETS_TO_BUILD} ${LLVM_TARGETS_TO_BUILD}
@ -46,7 +46,8 @@ index 1794a07..c7b852a 100644
+ IRReader + IRReader
+ CodeGen + CodeGen
+ Linker + Linker
+ Demangle
+ BinaryFormat) + BinaryFormat)
endif() endif()
target_link_libraries(amd_comgr target_link_options(amd_comgr

View file

@ -1,14 +0,0 @@
Add missing include dirs for ROCclr.
--- a/amdocl/CMakeLists.txt 2020-12-05 22:05:55.838529158 +0100
+++ b/amdocl/CMakeLists.txt 2020-12-05 22:07:35.677524507 +0100
@@ -23,6 +23,9 @@
include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos)
include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos/headers)
include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos/headers/opencl2.2)
+include_directories(${ROCclr_DIR}/../../../include)
+include_directories(${ROCclr_DIR}/../../../include/compiler/lib/include/)
+include_directories(${ROCclr_DIR}/../../../include/elf/)
if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
(CMAKE_${COMPILER}_COMPILER_ID MATCHES "Clang"))

View file

@ -4,25 +4,26 @@ diff --git a/CMakeLists.txt.orig b/CMakeLists.txt
index 76847d3..3f62bfe 100644 index 76847d3..3f62bfe 100644
--- a/CMakeLists.txt.orig --- a/CMakeLists.txt.orig
+++ b/CMakeLists.txt +++ b/CMakeLists.txt
@@ -72,7 +72,7 @@ find_package(ROCclr REQUIRED CONFIG @@ -15,9 +15,9 @@ option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorganization backward co
add_subdirectory(khronos/icd)
set(OPENCL_ICD_LOADER_HEADERS_DIR "${CMAKE_CURRENT_LIST_DIR}/khronos/headers/opencl2.2" CACHE PATH "")
#add_subdirectory(khronos/icd)
add_subdirectory(amdocl) add_subdirectory(amdocl)
-add_subdirectory(tools/clinfo) -add_subdirectory(tools/clinfo)
+#add_subdirectory(tools/clinfo) +#add_subdirectory(tools/clinfo)
add_subdirectory(tools/cltrace) add_subdirectory(tools/cltrace)
if(BUILD_TESTS) if(BUILD_TESTS)
add_subdirectory(tests/ocltst) add_subdirectory(tests/ocltst)
@@ -108,9 +108,9 @@ endif() diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt
###--- Packaging ------------------------------------------------------------### index 48353eb..cd1e7c1 100644
--- a/packaging/CMakeLists.txt
+++ b/packaging/CMakeLists.txt
@@ -5,6 +5,6 @@ set(CPACK_COMPONENTS_ALL binary dev icd)
set(CPACK_DEB_COMPONENT_INSTALL ON)
set(CPACK_RPM_COMPONENT_INSTALL ON)
# MAIN package -install(TARGETS clinfo DESTINATION bin COMPONENT binary)
-install(PROGRAMS $<TARGET_FILE:clinfo> +#install(TARGETS clinfo DESTINATION bin COMPONENT binary)
- DESTINATION bin install(TARGETS amdocl DESTINATION lib COMPONENT binary)
- COMPONENT MAIN) install(FILES ${CMAKE_SOURCE_DIR}/LICENSE.txt DESTINATION share/doc/${CMAKE_PROJECT_NAME} COMPONENT binary)
+#install(PROGRAMS $<TARGET_FILE:clinfo>
+# DESTINATION bin
+# COMPONENT MAIN)
install(PROGRAMS $<TARGET_FILE:cltrace>
DESTINATION lib
COMPONENT MAIN)

View file

@ -1,25 +0,0 @@
Do not build and install cltrace.
diff --git a/CMakeLists.txt.orig b/CMakeLists.txt
index c449db4..9cff673 100644
--- a/CMakeLists.txt.orig
+++ b/CMakeLists.txt
@@ -73,7 +73,7 @@ find_package(ROCclr REQUIRED CONFIG
#add_subdirectory(khronos/icd)
add_subdirectory(amdocl)
#add_subdirectory(tools/clinfo)
-add_subdirectory(tools/cltrace)
+#add_subdirectory(tools/cltrace)
if(BUILD_TESTS)
add_subdirectory(tests/ocltst)
endif()
@@ -108,9 +108,6 @@ endif()
#install(PROGRAMS $<TARGET_FILE:clinfo>
# DESTINATION bin
# COMPONENT MAIN)
-install(PROGRAMS $<TARGET_FILE:cltrace>
- DESTINATION lib
- COMPONENT MAIN)
install(PROGRAMS $<TARGET_FILE:amdocl64>
DESTINATION lib
COMPONENT MAIN)

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