me
/
guix
Archived
1
0
Fork 0

Merge branch master into core-updates

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

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019-2022 Ludovic Courtès <ludo@gnu.org>
;;; 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.
;;;
@ -30,6 +31,7 @@
(guix gexp)
(guix git)
(guix git-download)
(guix profiles)
(guix utils)
(git)
(gnu packages base)
@ -890,14 +892,22 @@ makeinfo OPTIONS."
#:languages languages
#:date date))
;; FIXME: This union works, except for the table of contents of non-English
;; manuals, which contains escape sequences like "^^ca^^fe" instead of
;; accented letters.
;;
;; (define texlive
;; (texlive-updmap.cfg (list texlive-tex-texinfo
;; texlive-generic-epsf
;; texlive-fonts-ec)))
(define texinfo-profile
(profile
(content (packages->manifest
;; texi2dvi requires various command line tools.
(list coreutils
diffutils
gawk
grep
sed
tar
texinfo
texlive-base
texlive-bin ;for GUIX_TEXMF
texlive-epsf
texlive-fonts-ec
texlive-tex-texinfo)))))
(define build
(with-imported-modules '((guix build utils))
@ -914,21 +924,12 @@ makeinfo OPTIONS."
(string-downcase language)))
;; Install a UTF-8 locale so that 'makeinfo' is at ease.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
(setenv "GUIX_LOCPATH" #+(file-append glibc-utf8-locales
"/lib/locale"))
(setenv "LC_ALL" "en_US.utf8")
(setenv "PATH"
(string-append #+(file-append texlive "/bin") ":"
#+(file-append texinfo "/bin") ":"
;; 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")))
(setenv "PATH" #+(file-append texinfo-profile "/bin"))
(setenv "GUIX_TEXMF" #+(file-append texinfo-profile
"/share/texmf-dist"))
(setvbuf (current-output-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, 2021 Christine Lemmer-Webber@*
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{} 20172022 Tobias Geerinckx-Rice@*
Copyright @copyright{} 2017 George Clemmer@*
@ -96,14 +96,15 @@ Copyright @copyright{} 2021 Domagoj Stolfa@*
Copyright @copyright{} 2021 Hui Lu@*
Copyright @copyright{} 2021 pukkamustard@*
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 Sarah Morgensen@*
Copyright @copyright{} 2021 Josselin Poiret@*
Copyright @copyright{} 2022 Remco van 't Veer@*
Copyright @copyright{} 2022 Aleksandr Vityazev@*
Copyright @copyright{} 2022 Philip M@sup{c}Grath@*
Copyright @copyright{} 2022 Karl Hallsby@*
Copyright @copyright{} 2022 Justin Veilleux@*
Permission is granted to copy, distribute and/or modify this document
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?
* Installation:: Installing Guix.
* System Installation:: Installing the whole operating system.
* System Troubleshooting Tips:: When things don't go as planned.
* Getting Started:: Your first steps.
* Package Management:: Package installation, upgrade, etc.
* Channels:: Customizing the package collection.
@ -227,6 +229,10 @@ System Installation
* Installing Guix in a VM:: Guix System playground.
* Building the Installation Image:: How this comes to be.
System Troubleshooting Tips
* Chrooting into an existing system:: Fixing things from a chroot
Manual Installation
* Keyboard Layout and Networking and Partitioning:: Initial setup.
@ -339,7 +345,7 @@ System Configuration
* Keyboard Layout:: How the system interprets key strokes.
* Locales:: Language and cultural convention settings.
* Services:: Specifying system services.
* Setuid Programs:: Programs running with root privileges.
* Setuid Programs:: Programs running with elevated privileges.
* X.509 Certificates:: Authenticating HTTPS servers.
* Name Service Switch:: Configuring libc's name service switch.
* 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
following command@footnote{If your machine uses the systemd init system,
dropping the @file{@var{prefix}/lib/systemd/system/guix-daemon.service}
file in @file{/etc/systemd/system} will ensure that
copying the @file{@var{prefix}/lib/systemd/system/guix-daemon.service}
file to @file{/etc/systemd/system} will ensure that
@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 in @file{/etc/init}.}:
file to @file{/etc/init}.}:
@example
# 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
more information.
@anchor{manual-installation-networking}
@subsubsection Networking
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
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 *********************************************************************
@node Getting Started
@chapter Getting Started
@ -9148,6 +9268,49 @@ with @code{#:zef} or removed by passing @code{#f} to the
@code{with-zef?} parameter.
@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
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
@ -13300,6 +13463,33 @@ guix import egg arrays@@1.0
@end example
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
@item --recursive
@itemx -r
@ -15423,7 +15613,7 @@ instance to support new system services.
* Keyboard Layout:: How the system interprets key strokes.
* Locales:: Language and cultural convention settings.
* Services:: Specifying system services.
* Setuid Programs:: Programs running with root privileges.
* Setuid Programs:: Programs running with elevated privileges.
* X.509 Certificates:: Authenticating HTTPS servers.
* Name Service Switch:: Configuring libc's name service switch.
* Initial RAM Disk:: Linux-Libre bootstrapping.
@ -17739,6 +17929,25 @@ A directory path where the @command{guix-daemon} will perform builds.
@end table
@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{'()}]
Run @var{udev}, which populates the @file{/dev} directory dynamically.
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.
@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
@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
@code{:PORT} suffix. By default, it uses the Jami bootstrap nodes, but
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"}.
@end deftypevr
@deftypevr {@code{opendht-configuration} parameter} maybe-number port
The UDP port to bind to. When set to @code{'disabled}, an available
port is automatically selected.
The UDP port to bind to. When explicitly set to @code{*unspecified*},
an available port is automatically selected.
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)}
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
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
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 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
@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}
indicates that the @code{foo} parameter should be specified as a list of
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
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:
@table @asis
@item @code{jamid} (default: @code{libjami}) (type: package)
@item @code{libjami} (default: @code{libjami}) (type: package)
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.
@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)
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
daemon service starts. When providing this field, the account
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
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
characters long fingerprint. Messages or calls from accounts not in
that list will be rejected. When unspecified, the configuration of the
account archive is used as-is with respect to contacts and public
that list will be rejected. When left specified, the configuration of
the account archive is used as-is with respect to contacts and public
inbound calls/messaging allowance, which typically defaults to allow any
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,
mute, etc. other users) in rendezvous conferences, entered as their 40
characters long fingerprint. When unspecified, the configuration of the
account archive is used as-is with respect to moderation, which
characters long fingerprint. When left unspecified, the configuration
of the account archive is used as-is with respect to moderation, which
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
mode, all the incoming audio/video calls are mixed into a conference.
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
discover other OpenDHT nodes on the local network, which can be useful
to maintain communication between devices on such network even when the
connection to the the Internet has been lost. When left unspecified,
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
used to initially join the OpenDHT network. When left unspecified, the
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
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
The TCP congestion-control algorithm to use for peer connections,
specified using a string recognized by the operating system in calls to
@code{setsockopt} (or set to @code{disabled}, in which case the
operating-system default is used).
@code{setsockopt}. When left unspecified, the operating-system default
is used.
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;
@ -29854,7 +30251,7 @@ Defaults to @samp{tun}.
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
it to @code{'disabled}.
it to @code{*unspecified*}.
@deftypevr {@code{openvpn-client-configuration} parameter} maybe-string ca
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
would be added to the store and readable by any user.
Defaults to @samp{'disabled}.
@end deftypevr
@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
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
The certificate authority to check connections against.
@ -30808,10 +31204,10 @@ content by adding a valid @code{tlp-configuration}:
@end deffn
Each parameter definition is preceded by its type; for example,
@samp{boolean foo} indicates that the @code{foo} parameter
should be specified as a boolean. Types starting with
@code{maybe-} denote parameters that won't show up in TLP config file
when their value is @code{'disabled}.
@samp{boolean foo} indicates that the @code{foo} parameter should be
specified as a boolean. Types starting with @code{maybe-} denote
parameters that won't show up in TLP config file when their value is
left unset, or is explicitly set to the @code{*unspecified*} value.
@c The following documentation was initially generated by
@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
be used. It accepts a string and can be a number of bytes or use a
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.
@code{swapon} accepts values between -1 and 32767, with higher values
indicating higher priority. Higher priority swap will generally be used
first.
@xref{Swap Space} for a description of swap priorities. You might want
to set a specific priority for the zram device, otherwise it could end
up not being used much for the reasons described there.
@end table
@end deftp
@ -35731,22 +36127,23 @@ Extra command line options for @code{nix-service-type}.
@section 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
@command{passwd} program, which users can run to change their
password, and which needs to access the @file{/etc/passwd} and
@file{/etc/shadow} files---something normally restricted to root, for
obvious security reasons. To address that, these executables are
@dfn{setuid-root}, meaning that they always run with root privileges
obvious security reasons. To address that, @command{passwd} should be
@dfn{setuid-root}, meaning that it always runs with root privileges
(@pxref{How Change Persona,,, libc, The GNU C Library Reference Manual},
for more info about the setuid mechanism).
The store itself @emph{cannot} contain setuid programs: that would be a
security issue since any user on the system can write derivations that
populate the store (@pxref{The Store}). Thus, a different mechanism is
used: instead of changing the setuid bit directly on files that are in
the store, we let the system administrator @emph{declare} which programs
should be setuid root.
used: instead of changing the setuid or setgid bits directly on files that
are in the store, we let the system administrator @emph{declare} which
programs should be entrusted with these additional privileges.
The @code{setuid-programs} field of an @code{operating-system}
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
Type for the ``setuid-program service''. This service collects lists 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
@defvr {Scheme Variable} profile-service-type
@ -38405,15 +38802,16 @@ macro which is a shorthand of this.
@deffn {Scheme Syntax} define-maybe @var{type}
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
define a ``maybe type''; if the value of a maybe type is set to the
@code{disabled}, it will not be serialized.
define a ``maybe type''; if the value of a maybe type is left unset, or
is set to the @code{*unspecified*} value, then it will not be
serialized.
When defining a ``maybe type'', the corresponding serializer for the
regular type will be used by default. For example, a field of type
@code{maybe-string} will be serialized using the @code{serialize-string}
procedure by default, you can of course change this by specifying a
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
(define-maybe string)
@ -38423,9 +38821,9 @@ to be a string, unless it is set to the @code{disabled} symbol.
(define-configuration baz-configuration
(name
;; Nothing will be serialized by default. If set to a string, the
;; `serialize-string' procedure will be used to serialize the string.
(maybe-string 'disabled)
;; If set to a string, the `serialize-string' procedure will be used
;; to serialize the string. Otherwise this field is not serialized.
maybe-string ; equivalent to (maybe-string *unspecified*)
"The name of this module."))
@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
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{no-serialization} literal.
@ -38451,7 +38849,7 @@ its value is @code{disabled} or not.
(define-configuration/no-serialization test-configuration
(mode
(maybe-symbol 'disabled)
maybe-symbol
"Docstring."))
@end lisp
@end deffn
@ -38583,10 +38981,10 @@ Below is an example of a record type created using
"The name of the contact."
serialize-contact-name)
(phone-number
(maybe-integer 'disabled)
maybe-integer
"The person's phone number.")
(email
(maybe-string 'disabled)
maybe-string
"The person's email address.")
(married?
(boolean)
@ -38874,6 +39272,7 @@ services)}.
* Shells: Shells Home Services. POSIX shells, Bash, Zsh.
* Mcron: Mcron Home Service. Scheduled User's Job Execution.
* 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.
@end menu
@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
applicable here (@pxref{Scheduled Job Execution}), the only difference
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.
@defvr {Scheme Variable} home-mcron-service-type
@ -39262,6 +39661,181 @@ mechanism instead (@pxref{Shepherd Services}).
@end table
@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
@subsection Desktop Home Services
@ -39310,24 +39884,24 @@ Daytime color temperature (kelvins).
@item @code{nighttime-temperature} (default: @code{4500}) (type: integer)
Nighttime color temperature (kelvins).
@item @code{daytime-brightness} (default: @code{disabled}) (type: maybe-inexact-number)
Daytime screen brightness, between 0.1 and 1.0.
@item @code{daytime-brightness} (type: maybe-inexact-number)
Daytime screen brightness, between 0.1 and 1.0, or left unspecified.
@item @code{nighttime-brightness} (default: @code{disabled}) (type: maybe-inexact-number)
Nighttime screen brightness, between 0.1 and 1.0.
@item @code{nighttime-brightness} (type: maybe-inexact-number)
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}.
@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}.
@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
morning---@code{"HH:MM"} format. When specified, solar elevation is not
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
evening.

View File

@ -13,12 +13,13 @@
(service home-bash-service-type
(home-bash-configuration
(guix-defaults? #t)
(bash-profile '("\
export HISTFILE=$XDG_CACHE_HOME/.bash_history"))))
(bash-profile (list (plain-file "bash-profile" "\
export HISTFILE=$XDG_CACHE_HOME/.bash_history")))))
(simple-service 'test-config
home-files-service-type
(list `("config/test.conf"
home-xdg-configuration-files-service-type
(list `("test.conf"
,(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.
# 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.
#
@ -291,8 +291,6 @@ gdbm chapter ${GDBM}/html_chapter/
gdbm section ${GDBM}/html_section/
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/
gettext mono ${GS}/gettext/manual/gettext.html

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
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -24,16 +24,16 @@
;;; Code:
(define-module (gnu build jami-service)
#:use-module (gnu build dbus-service)
#:use-module (ice-9 format)
#:use-module (ice-9 match)
#:use-module (ice-9 peg)
#:use-module (ice-9 rdelim)
#: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-26)
#:export (account-fingerprint?
#:export (jami-service-available?
account-fingerprint?
account-details->recutil
get-accounts
get-usernames
@ -51,43 +51,12 @@
set-all-moderators
set-moderator
username->all-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))
username->moderators))
;;;
;;; 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)
"Flatten ALIST into a list."
(append-map (match-lambda
@ -104,212 +73,34 @@ hexadecimal characters."
(and (string? 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)
"Validate that fingerprint is 40 characters long."
(unless (account-fingerprint? fingerprint)
(error "Account fingerprint is not valid:" fingerprint)))
(define (dbus-available-services)
"Return the list of available (acquired) D-Bus services."
(let ((reply (parse-dbus-reply
(send-dbus #:service "org.freedesktop.DBus"
#:path "/org/freedesktop/DBus"
#:interface "org.freedesktop.DBus"
#:method "ListNames"))))
;; Remove entries such as ":1.7".
(remove (cut string-prefix? ":" <>)
(array->list reply))))
(define (jami-service-available?)
"Whether the Jami D-Bus service was acquired by the D-Bus daemon."
(unless (%current-dbus-connection)
(initialize-dbus-connection!))
(dbus-service-available? "cx.ring.Ring"))
(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)
"Query the Jami D-Bus ConfigurationManager service."
(send-dbus #:service "cx.ring.Ring"
#:path "/cx/ring/Ring/ConfigurationManager"
#:interface "cx.ring.Ring.ConfigurationManager"
#:method method
#:arguments arguments
#:timeout timeout))
(define* (call-configuration-manager-method method #:optional arguments
#:key timeout)
"Query the Jami D-Bus ConfigurationManager interface with METHOD applied to
ARGUMENTS. TIMEOUT can optionally be provided as a value in seconds."
(unless (%current-dbus-connection)
(initialize-dbus-connection!))
(call-dbus-method method
#: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
;;; 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)
"Return the available Jami account identifiers (IDs). Account IDs are an
implementation detail used to identify the accounts in Jami."
(parse-account-ids
(send-dbus/configuration-manager #:method "getAccountList")))
(vector->list (call-configuration-manager-method "getAccountList")))
(define (id->account-details id)
"Retrieve the account data associated with the given account ID."
(parse-account-details
(send-dbus/configuration-manager
#:method "getAccountDetails"
#:arguments (list (string-append "string:" id)))))
(vector->list (call-configuration-manager-method "getAccountDetails"
(list id))))
(define (id->volatile-account-details id)
"Retrieve the account data associated with the given account ID."
(parse-account-details
(send-dbus/configuration-manager
#:method "getVolatileAccountDetails"
#:arguments (list (string-append "string:" id)))))
(vector->list (call-configuration-manager-method "getVolatileAccountDetails"
(list id))))
(define (id->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))))
(or (assoc-ref %username-to-id-cache username)
(let ((message (format #f "Could not retrieve a local account ID\
for ~:[username~;fingerprint~]" (account-fingerprint? username))))
(let ((message (format #f "no account ID for ~:[username~;fingerprint~]"
(account-fingerprint? username))))
(error message username))))
(define (account->username account)
@ -400,27 +186,21 @@ registered username."
should *not* be encrypted with a password. Return the username associated
with the account."
(invalidate-username-to-id-cache!)
(let ((reply (send-dbus/configuration-manager
#:method "addAccount"
#:arguments (list (string-append
"dict:string:string:Account.archivePath,"
archive
",Account.type,RING")))))
(let ((id (call-configuration-manager-method
"addAccount" (list `#(("Account.archivePath" . ,archive)
("Account.type" . "RING"))))))
;; The account information takes some time to be populated.
(let ((id (deserialize-item (parse-dbus-reply reply))))
(with-retries 20 1
(let ((username (id->username id)))
(if (string-null? username)
#f
username))))))
(with-retries 20 1
(let ((username (id->username id)))
(if (and=> username (negate string-null?))
username
#f)))))
(define (remove-account username)
"Delete the Jami account associated with USERNAME, the account 40 characters
fingerprint or a registered username."
(let ((id (username->id username)))
(send-dbus/configuration-manager
#:method "removeAccount"
#:arguments (list (string-append "string:" id))))
(call-configuration-manager-method "removeAccount" (list id)))
(invalidate-username-to-id-cache!))
(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
using their 40 characters fingerprint."
(let* ((id (username->id username))
(reply (send-dbus/configuration-manager
#:method "getContacts"
#:arguments (list (string-append "string:" id))))
(all-contacts (parse-contacts reply))
;; The contacts are returned as "aa{ss}", that is, an array of arrays
;; containing (string . string) pairs.
(contacts (map vector->list
(vector->list (call-configuration-manager-method
"getContacts" (list id)))))
(banned? (lambda (contact)
(and=> (assoc-ref contact "banned")
(cut string=? "true" <>))))
(banned (filter banned? all-contacts))
(not-banned (filter (negate banned?) all-contacts))
(banned (filter banned? contacts))
(not-banned (filter (negate banned?) contacts))
(fingerprint (cut assoc-ref <> "id")))
(values (map fingerprint not-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."
(validate-fingerprint contact)
(let ((id (username->id username)))
(send-dbus/configuration-manager
#:method "removeContact"
#:arguments (list (string-append "string:" id)
(string-append "string:" contact)
(serialize-boolean ban?)))))
(call-configuration-manager-method "removeContact" (list id contact ban?))))
(define (add-contact contact username)
"Add CONTACT, the 40 characters public key fingerprint of a contact, to the
account of USERNAME (either a fingerprint or a registered username)."
(validate-fingerprint contact)
(let ((id (username->id username)))
(send-dbus/configuration-manager
#:method "addContact"
#:arguments (list (string-append "string:" id)
(string-append "string:" contact)))))
(call-configuration-manager-method "addContact" (list id contact))))
(define* (set-account-details details username #:key timeout)
"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
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))
(current-details (id->account-details id))
(updated-details (map (match-lambda
@ -477,52 +251,29 @@ pass to the `send-dbus/configuration-manager' procedure."
(or (and=> (assoc-ref details key)
(cut cons key <>))
(cons key value))))
current-details))
;; dbus-send does not permit sending null strings (it throws a
;; "malformed dictionary" error). Luckily they seem to have the
;; semantic of "default account value" in Jami; so simply drop them.
(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*)
","))))))
current-details)))
(call-configuration-manager-method
"setAccountDetails" (list id (list->vector updated-details))
#:timeout timeout)))
(define (set-all-moderators enabled? username)
"Set the 'AllModerators' property to enabled? for the account of USERNAME, a
registered username or account fingerprint."
(let ((id (username->id username)))
(send-dbus/configuration-manager
#:method "setAllModerators"
#:arguments
(list (string-append "string:" id)
(serialize-boolean enabled?)))))
(call-configuration-manager-method "setAllModerators" (list id enabled?))))
(define (username->all-moderators? username)
"Return the 'AllModerators' property for the account of USERNAME, a
registered username or account fingerprint."
(let* ((id (username->id username))
(reply (send-dbus/configuration-manager
#:method "isAllModerators"
#:arguments
(list (string-append "string:" id)))))
(deserialize-item (parse-dbus-reply reply))))
(let ((id (username->id username)))
(call-configuration-manager-method "isAllModerators" (list id))))
(define (username->moderators username)
"Return the moderators for the account of USERNAME, a registered username or
account fingerprint."
(let* ((id (username->id username))
(reply (send-dbus/configuration-manager
#:method "getDefaultModerators"
#:arguments
(list (string-append "string:" id)))))
(array->list (parse-dbus-reply reply))))
(let* ((id (username->id username)))
(vector->list (call-configuration-manager-method "getDefaultModerators"
(list id)))))
(define (set-moderator contact enabled? username)
"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."
(validate-fingerprint contact)
(let* ((id (username->id username)))
(send-dbus/configuration-manager #:method "setDefaultModerator"
#:arguments
(list (string-append "string:" id)
(string-append "string:" contact)
(serialize-boolean enabled?)))))
(call-configuration-manager-method "setDefaultModerator"
(list id contact enabled?))))
(define (disable-account username)
"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
;; long time that trips the default D-Bus timeout value
;; (25 s), for some reason.
#:timeout 60000))
#:timeout 60))
(define (enable-account username)
"Enable the account known by USERNAME, a registered username or account
@ -581,7 +329,3 @@ requirements."
(fold alist-delete account-details first-items))))
(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).")
(daytime-brightness
(maybe-inexact-number 'disabled)
maybe-inexact-number
"Daytime screen brightness, between 0.1 and 1.0.")
(nighttime-brightness
(maybe-inexact-number 'disabled)
maybe-inexact-number
"Nighttime screen brightness, between 0.1 and 1.0.")
(latitude
(maybe-inexact-number 'disabled)
maybe-inexact-number
"Latitude, when @code{location-provider} is @code{'manual}.")
(longitude
(maybe-inexact-number 'disabled)
maybe-inexact-number
"Longitude, when @code{location-provider} is @code{'manual}.")
(dawn-time
(maybe-string 'disabled)
maybe-string
"Custom time for the transition from night to day in the
morning---@code{\"HH:MM\"} format. When specified, solar elevation is not
used to determine the daytime/nighttime period.")
(dusk-time
(maybe-string 'disabled)
maybe-string
"Likewise, custom time for the transition from day to night in the
evening.")

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
# 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 © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Mark H Weaver <mhw@netris.org>
# Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
@ -85,6 +85,7 @@ GNU_SYSTEM_MODULES = \
%D%/home/services/fontutils.scm \
%D%/home/services/shells.scm \
%D%/home/services/shepherd.scm \
%D%/home/services/ssh.scm \
%D%/home/services/mcron.scm \
%D%/home/services/utils.scm \
%D%/home/services/xdg.scm \
@ -181,6 +182,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/cvassistant.scm \
%D%/packages/cybersecurity.scm \
%D%/packages/cyrus-sasl.scm \
%D%/packages/darwin.scm \
%D%/packages/databases.scm \
%D%/packages/datamash.scm \
%D%/packages/datastructures.scm \
@ -715,6 +717,7 @@ GNU_SYSTEM_MODULES = \
%D%/build/bootloader.scm \
%D%/build/chromium-extension.scm \
%D%/build/cross-toolchain.scm \
%D%/build/dbus-service.scm \
%D%/build/image.scm \
%D%/build/jami-service.scm \
%D%/build/file-systems.scm \
@ -848,7 +851,6 @@ dist_patch_DATA = \
%D%/packages/patches/akonadi-not-relocatable.patch \
%D%/packages/patches/akonadi-timestamps.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/antiword-CVE-2014-8123.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/enlightenment-fix-setuid-path.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/esmtp-add-lesmtp.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/fp16-system-libraries.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/freeglut-gcc-compat.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-apache-ivy-port-to-latest-bouncycastle.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-openjfx-build-jdk_version.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-libpath.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/kmod-module-directory.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-lpad-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.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/lrcalc-includes.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/mathjax-disable-webpack.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/maven-generate-component-xml.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-y2038-tests.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/nix-dont-build-html-doc.diff \
%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-ldflags.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-longer-test-timeout.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-mypy-12332.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-glibc-2.27.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-unbundle-googletest.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-nocltrace.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-sanitize-system-libxml.patch \
@ -1846,6 +1847,7 @@ dist_patch_DATA = \
%D%/packages/patches/texi2html-i18n.patch \
%D%/packages/patches/thefuck-test-environ.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/tipp10-disable-downloader.patch \
%D%/packages/patches/tipp10-fix-compiling.patch \

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; 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 © 2020 Efraim Flashner <efraim@flashner.co.il>
;;;
@ -89,14 +89,14 @@ terminals.")
(define-public brltty
(package
(name "brltty")
(version "6.4")
(version "6.5")
(source
(origin
(method url-fetch)
(uri
(string-append "https://brltty.app/archive/brltty-" version ".tar.gz"))
(sha256
(base32 "0zybi9i9izv25g0wphl0snddrhb6xl5879y4pkpjpnxq61wm9gry"))))
(base32 "1h62xzd5k0aaq2k4v3w93rizxnb8psvkxrlx62wr08ybwpspgp7z"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:tests? #f ; No target

View File

@ -45,6 +45,8 @@
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; 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 Artyom V. Poptsov <poptsov.artyom@gmail.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/>.
(define-module (gnu packages admin)
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system emacs)
#:use-module (guix build-system glib-or-gtk)
@ -93,6 +96,7 @@
#:use-module (gnu packages c)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup)
@ -101,6 +105,7 @@
#:use-module (gnu packages elf)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
@ -680,7 +685,7 @@ console.")
(define-public htop
(package
(name "htop")
(version "3.2.0")
(version "3.2.1")
(source
(origin
(method git-fetch)
@ -688,7 +693,7 @@ console.")
(url "https://github.com/htop-dev/htop")
(commit version)))
(sha256
(base32 "16l1r2ixzs640ybqp2x8bfyvk98kiywy7k3sjmp5j5npdzn5ryd7"))
(base32 "0yfmkw3y4qyd42svhpiijif7krvmnb8z88y6h9g4fwf7sfynq2rk"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(inputs
@ -1127,6 +1132,77 @@ IPv6, proxies, and Unix sockets.")
(license (list license:bsd-3
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
(package
(name "sipcalc")
@ -1769,7 +1845,7 @@ system administrator.")
(define-public sudo
(package
(name "sudo")
(version "1.9.11")
(version "1.9.11p2")
(source (origin
(method url-fetch)
(uri
@ -1779,7 +1855,7 @@ system administrator.")
version ".tar.gz")))
(sha256
(base32
"1gjingc1h7d6p17m0nn87yiwh8gbdchg4w4kv8s4g89wv0q6wixm"))
"1lli4z10b5j238cn7471jb8vcjlj5px68x48ysa3f1n0kzmih6d2"))
(modules '((guix build utils)))
(snippet
'(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")
(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
;;; 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 © 2016-2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org>
;;; 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 © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2019, 2021, 2022 Eric Bavier <bavier@posteo.net>
@ -154,7 +154,7 @@ line applications.")
(define-public fplll
(package
(name "fplll")
(version "5.3.3")
(version "5.4.2")
(source (origin
(method git-fetch)
(uri (git-reference
@ -163,8 +163,7 @@ line applications.")
(file-name (git-file-name name version))
(sha256
(base32
"06nyfidagp8pc2kfcw88ldgb2b1xm0a8z31n0sln7j72ihlmd8zj"))
(patches (search-patches "fplll-std-fenv.patch"))))
"0044nyfnwzgyfrsikbcbh00f54dd61hwn3fb6711rrskkfnw977a"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake libtool pkg-config))
@ -199,19 +198,14 @@ the real span of the lattice.")
(define-public python-fpylll
(package
(name "python-fpylll")
(version "0.5.2")
(version "0.5.7")
(source
(origin
;; Pypi contains and older release, so we use a tagged release from
;; Github instead.
(method git-fetch)
(uri (git-reference
(url "https://github.com/fplll/fpylll")
(commit (string-append version "dev"))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "fpylll" version))
(sha256
(base32
"1a25iibihph626jl4wbs4b77xc4a2c4nfc2ypscf9wpani3dnhjf"))))
"1xjqcwq90blgzvnbkbzdys8mdhi2b4li6faywm6yi8shxvz8iz0s"))))
(build-system python-build-system)
(inputs
(list fplll gmp mpfr pari-gp))
@ -248,6 +242,7 @@ the real span of the lattice.")
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(invoke "./Configure"
"--mt=pthread"
(string-append "--prefix="
(assoc-ref outputs "out"))))))))
(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
(replace 'check
(lambda _
(lambda* (#:key tests? #:allow-other-keys)
(let* ((cores (parallel-job-count))
(dash-j (format #f "-j~a" cores)))
(setenv "EIGEN_SEED" "1") ;for reproducibility
;; First build the tests, in parallel. See
;; <http://eigen.tuxfamily.org/index.php?title=Tests>.
(invoke "make" "buildtests" dash-j)
(when tests?
(setenv "EIGEN_SEED" "1") ;for reproducibility
;; First build the tests, in parallel. See
;; <http://eigen.tuxfamily.org/index.php?title=Tests>.
(invoke "make" "buildtests" dash-j)
;; Then run 'CTest' with -V so we get more
;; details upon failure.
(invoke "ctest" "-V" dash-j)))))))
;; Then run 'CTest' with -V so we get more
;; details upon failure.
(invoke "ctest" "-V" dash-j))))))))
(home-page "https://eigen.tuxfamily.org")
(synopsis "C++ template library for linear algebra")
(description
@ -1734,14 +1730,14 @@ no more than about 20 bits long).")
(define-public sollya
(package
(name "sollya")
(version "7.0")
(version "8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.sollya.org/releases/"
"sollya-" version "/sollya-" version ".tar.bz2"))
(sha256
(base32
"11290ivi9h665cxi8f1shlavhy10vzb8s28m57hrcgnxyxqmhx0m"))))
"1sf1cjcr6x035n97l64ppzb9pzq5568h7waz0zfc3120894gcnjz"))))
(build-system gnu-build-system)
(inputs
(list fplll

View File

@ -3210,7 +3210,7 @@ tempo and pitch of an audio recording independently of one another.")
(define-public rtmidi
(package
(name "rtmidi")
(version "4.0.0")
(version "5.0.0")
(source (origin
(method url-fetch)
(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"))
(sha256
(base32
"1k962ljpnwyjw9jjiky2372khhri1wqvrj5qsalfpys31xqzw31p"))))
"1ff2yfq3k4l209fr71v3w98fpjjv1chs09vkbmxj03lcikahxns8"))))
(build-system gnu-build-system)
(inputs
(list jack-1 alsa-lib))
@ -3232,6 +3232,19 @@ classes) that provide a common cross-platform API for realtime MIDI
input/output.")
(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
(package
(name "sratom")

View File

@ -49,7 +49,7 @@
"def_bf[MAXNAMELEN + 10]")))))
(build-system gnu-build-system)
(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
'(#:configure-flags
;; XXX Needed to build 5.18.16. ./configure fails without it:
@ -62,6 +62,24 @@
#: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
;; Avoid embedding the current date for reproducible builds
(lambda _

View File

@ -1,12 +1,29 @@
#! @PYTHON@
# -*- mode: python -*-
from __future__ import print_function
import glob
import os
import sys
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):
return renpy_base + "/common"

View File

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

View File

@ -1308,7 +1308,7 @@ command.")
(name "tzdata")
;; This package should be kept in sync with python-pytz in (gnu packages
;; time).
(version "2021e")
(version "2022a")
(source (origin
(method url-fetch)
(uri (string-append
@ -1316,7 +1316,7 @@ command.")
version ".tar.gz"))
(sha256
(base32
"1cdjdcxl0s9xf0dg1z64kh7llm80byxqlzrkkjzcdlyh6yvl5v07"))))
"0r0nhwpk9nyxj5kkvjy58nr5d85568m04dcb69c4y3zmykczyzzg"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f
@ -1384,7 +1384,7 @@ command.")
version ".tar.gz"))
(sha256
(base32
"0x8pcfmjvxk29yfh8bklchv2f0vpl4yih0gc4wyx292l78wncijq")))))
"1iysv8fdkm79k8wh8jizmjmq075q4qjhk090vxjy57my6dz5wmzq")))))
(home-page "https://www.iana.org/time-zones")
(synopsis "Database of current and historical time zones")
(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.")
(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
(package
(name "r-decoupler")
@ -2232,13 +2276,13 @@ targeted by a kinase.")
(define-public r-deepsnv
(package
(name "r-deepsnv")
(version "1.42.0")
(version "1.42.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "deepSNV" version))
(sha256
(base32
"0si1x2bi5pff1dicpqg7hv4ziq46vm7lic72724ljsclpz9bfv6q"))))
"0bgj1grv3a5bqhcdsw445x49kl3pz367svy6fnrzfsk9bmj46kgn"))))
(properties `((upstream-name . "deepSNV")))
(build-system r-build-system)
(propagated-inputs
@ -3103,13 +3147,13 @@ powerful online queries from gene annotation to database mining.")
(define-public r-biocparallel
(package
(name "r-biocparallel")
(version "1.30.2")
(version "1.30.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "BiocParallel" version))
(sha256
(base32
"0rqvwhs6d8ls1rq7j5ywl5k0qgblxpzimilyw335bi1yad5s10h3"))))
"1rs3wmasl9mx7f399iclvm0bnvggvjj2a88zbi294r5m8wxqlc92"))))
(properties
`((upstream-name . "BiocParallel")))
(build-system r-build-system)
@ -3142,7 +3186,7 @@ powerful online queries from gene annotation to database mining.")
(string-append
m "; if (!is.na(Sys.getenv(\"SOURCE_DATE_EPOCH\"))) {set.seed(100)}\n"))))))))
(propagated-inputs
(list r-futile-logger r-snow r-bh))
(list r-bh r-codetools r-futile-logger r-snow))
(native-inputs
(list r-knitr))
(home-page "https://bioconductor.org/packages/BiocParallel")
@ -3934,13 +3978,13 @@ alignments.")
(define-public r-genomicfeatures
(package
(name "r-genomicfeatures")
(version "1.48.1")
(version "1.48.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomicFeatures" version))
(sha256
(base32
"18ain5s0ry6w0ki4c0czvwax2ncigrldyac30a6mlbzyaga6i54h"))))
"0f14p1ma2y8l60p9sxmh5j0axws9by1cznczb2jxipphpb4slpl1"))))
(properties
`((upstream-name . "GenomicFeatures")))
(build-system r-build-system)
@ -4193,14 +4237,14 @@ Shiny-based display methods for Bioconductor objects.")
(define-public r-keggrest
(package
(name "r-keggrest")
(version "1.36.0")
(version "1.36.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "KEGGREST" version))
(sha256
(base32
"0hzlm6nzmx0iyjh063512a3ghc1xqb58g5z2bnd2wl4y42iww7bg"))))
"1rn03w8y80prbvzahkvf8275haiymnjj1ijcgn55p3d0sb54yzgw"))))
(properties `((upstream-name . "KEGGREST")))
(build-system r-build-system)
(propagated-inputs
@ -4932,14 +4976,14 @@ tab-delimited (tabix) files.")
(define-public r-restfulr
(package
(name "r-restfulr")
(version "0.0.13")
(version "0.0.14")
(source
(origin
(method url-fetch)
(uri (cran-uri "restfulr" version))
(sha256
(base32
"1dk45mzrr6ka92yjz7hfhkj12kpx1wg4szv1h1mg80mgga4ganbv"))))
"1sdlz8zl4xvd7cpn1gm86q7jv9v7561gg4wk6y7zybiw37pxghq6"))))
(properties `((upstream-name . "restfulr")))
(build-system r-build-system)
(propagated-inputs
@ -5909,13 +5953,13 @@ libraries for systems that do not have these available via other means.")
(define-public r-zellkonverter
(package
(name "r-zellkonverter")
(version "1.6.1")
(version "1.6.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "zellkonverter" version))
(sha256
(base32 "1w3qi35vk289cpky1pb0wgg1hr55s5kdw7np98i9c1vmwi3gvwr7"))))
(base32 "0s1n3impm4k55pac8mr18czylsc30yqcvdfdki4sawk74b2rkx8c"))))
(properties `((upstream-name . "zellkonverter")))
(build-system r-build-system)
(propagated-inputs
@ -6383,14 +6427,14 @@ determining dependencies between variables, code improvement suggestions.")
(define-public r-chippeakanno
(package
(name "r-chippeakanno")
(version "3.30.0")
(version "3.30.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ChIPpeakAnno" version))
(sha256
(base32
"1ch636j3zd6hcfnl455vjs36wffrdhwzyvkbikcwjg7idiknjdkf"))))
"0a26glldxczcfymjvd45gv5m4hympziivm6wwx4ab9wld7n43l8y"))))
(properties `((upstream-name . "ChIPpeakAnno")))
(build-system r-build-system)
(propagated-inputs
@ -7368,14 +7412,14 @@ and summarizing a set of statistics using a weighted distance approach.")
(define-public r-nbpseq
(package
(name "r-nbpseq")
(version "0.3.0")
(version "0.3.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "NBPSeq" version))
(sha256
(base32
"0l4ylxhs2k9ww21jjqs67fygk92avdchhx2y1ixzl7yr2yh1y9by"))))
"07mnnk4n0cyksp1mw36y6369is62kxsfg3wb8d3dwswycdmj8m14"))))
(properties `((upstream-name . "NBPSeq")))
(build-system r-build-system)
(propagated-inputs
@ -7652,14 +7696,14 @@ single cell assay data.")
(define-public r-monocle
(package
(name "r-monocle")
(version "2.24.0")
(version "2.24.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "monocle" version))
(sha256
(base32
"1fyqd7qhij2iyx9vdmgnx2qf0w3kwbkmg805539zrmxry8cwfldb"))))
"11g1wx0f1yzhg3x1aa3d5l7pqlzxj16s0gha21skxkgld8k2x8xn"))))
(build-system r-build-system)
(propagated-inputs
(list r-biobase
@ -8699,14 +8743,14 @@ All the visualization methods are developed based on ggplot2 graphics.")
(define-public r-clusterprofiler
(package
(name "r-clusterprofiler")
(version "4.4.1")
(version "4.4.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "clusterProfiler" version))
(sha256
(base32
"03bg3agisrm4q10gg57dksvd1ws37if6a1gwcxaybb4c50zadm8p"))))
"07fbc3d06990qy1qcaqqgm5ma2l0h08bwfkqrnlfd9f2xcppdywd"))))
(properties
`((upstream-name . "clusterProfiler")))
(build-system r-build-system)
@ -10768,14 +10812,14 @@ annotations.")
(define-public r-rsubread
(package
(name "r-rsubread")
(version "2.10.1")
(version "2.10.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Rsubread" version))
(sha256
(base32
"1cf80gmzz4c1pvif3350ifsmsbfplyl2na39n8g3x0zkwpl6ijdc"))))
"1pvyx8nxv10s816hgxrnw60hp9rlqjdgjq3ajpzqxgxmmlhnk0v0"))))
(properties `((upstream-name . "Rsubread")))
(build-system r-build-system)
(inputs (list zlib))
@ -12235,14 +12279,14 @@ data.")
(define-public r-universalmotif
(package
(name "r-universalmotif")
(version "1.14.0")
(version "1.14.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "universalmotif" version))
(sha256
(base32
"0n2msyyy1xhapkd66j4xwabg4qfd62l01p1nmafjwifnjsx45xvp"))))
"1sm54z8aq3534qjsa19wychhwcvwnjlkydmiqqvidiiwcxwqpjsr"))))
(properties
`((upstream-name . "universalmotif")))
(build-system r-build-system)
@ -13806,14 +13850,14 @@ provided.")
(define-public r-hdf5array
(package
(name "r-hdf5array")
(version "1.24.0")
(version "1.24.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "HDF5Array" version))
(sha256
(base32
"0s9vj74359ckmwl8r951jxrzkidslwdl9qamkhz8ilw8b5awxyw4"))))
"1r1lg7k60qgb489xkypd4gvm1fmdlihvylb5va6xj58ipndbfday"))))
(properties `((upstream-name . "HDF5Array")))
(build-system r-build-system)
(inputs

View File

@ -111,6 +111,7 @@
#:use-module (gnu packages jupyter)
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages logging)
#:use-module (gnu packages lsof)
#:use-module (gnu packages machine-learning)
@ -830,13 +831,13 @@ servers supporting the protocol.")
(define-public python-pybedtools
(package
(name "python-pybedtools")
(version "0.8.2")
(version "0.9.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "pybedtools" version))
(sha256
(base32
"0wc7z8g8prgdx7n5chjva2fdq03wiwhqisjjxzkjg1j5k5ha7151"))))
"18rhzk08d3rpxhi5xh6pqg64x6v5q3daw6y3v54k85v4swncjrwj"))))
(build-system python-build-system)
(arguments
`(#:modules ((srfi srfi-26)
@ -896,11 +897,16 @@ servers supporting the protocol.")
(home-page "https://pythonhosted.org/pybedtools/")
(synopsis "Python wrapper for BEDtools programs")
(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\".
pybedtools extends BEDTools by offering feature-level manipulations from with
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
(package
@ -13375,6 +13381,145 @@ information... The package can also be used to extract data from @code{.loom}
files.")
(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
(package
(name "vbz-compression")

View File

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

View File

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

View File

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

View File

@ -28,6 +28,7 @@
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
@ -159,31 +160,27 @@ that was originally contributed to Debian.")
(inputs '())
(propagated-inputs '())
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(rnrs io ports)
(srfi srfi-26))
#:phases
(modify-phases
(map (cut assq <> %standard-phases)
'(set-paths install-locale unpack))
(add-after 'unpack 'install
(lambda _
;; TODO: On the next rebuild cycle, remove references to
;; '%output' and '%outputs'.
(let ((certsdir (string-append ,(if (%current-target-system)
'(assoc-ref %outputs "out")
'%output)
"/etc/ssl/certs/")))
(with-directory-excursion "nss/lib/ckfw/builtins/"
(unless (file-exists? "blacklist.txt")
(call-with-output-file "blacklist.txt" (const #t)))
;; Extract selected single certificates from blob.
(invoke "certdata2pem")
;; Copy .pem files into the output.
(for-each (cut install-file <> certsdir)
(find-files "." ".*\\.pem$")))
(invoke "openssl" "rehash" certsdir)))))))
(list #:modules '((guix build gnu-build-system)
(guix build utils)
(rnrs io ports)
(srfi srfi-26))
#:phases
#~(modify-phases
(map (cut assq <> %standard-phases)
'(set-paths install-locale unpack))
(add-after 'unpack 'install
(lambda _
(let ((certsdir (string-append #$output
"/etc/ssl/certs/")))
(with-directory-excursion "nss/lib/ckfw/builtins/"
(unless (file-exists? "blacklist.txt")
(call-with-output-file "blacklist.txt" (const #t)))
;; Extract selected single certificates from blob.
(invoke "certdata2pem")
;; Copy .pem files into the output.
(for-each (cut install-file <> certsdir)
(find-files "." ".*\\.pem$")))
(invoke "openssl" "rehash" certsdir)))))))
(synopsis "CA certificates from Mozilla")
(description
"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.
'("third_party/blink/perf_tests"))
(define %chromium-version "102.0.5005.61")
(define %ungoogled-revision (string-append %chromium-version "-3"))
(define %chromium-version "102.0.5005.115")
(define %ungoogled-revision (string-append %chromium-version "-1"))
(define %debian-revision "debian/102.0.5005.61-1")
(define %ungoogled-origin
@ -324,7 +324,7 @@
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
(sha256
(base32
"19i4ygxjm503dmck3bdqv3fcpda3dp9wr7z306pi6i1k989rbs8l"))))
"1z2xkxxviggyyksga74cqa4v73gynlgzi22ckg8yv84qxrklik6p"))))
(define %debian-origin
(origin
@ -477,7 +477,7 @@
%chromium-version ".tar.xz"))
(sha256
(base32
"07vbi3gn9g4n04b2qi2hm34r122snrqaifa46yk3pyh1d79rfdqs"))
"1rj7vy824vn513hiivc90lnxvxyi2s0qkdmfqsdssv9v6zjl079h"))
(modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet))))
(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
(package
(name "universal-ctags")
(version "5.9.20210509.0")
(version "5.9.20220605.0")
(source
(origin
(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))
(sha256
(base32
"1sq94bnbzr40zwihfnsna759bbak0lw27j0yn12iwpg4xgb4hhwp"))
"0mri7m2qsw5pyq1ajapawvxn2cdrzg1vi4w2bdq0z4ws4q03lj7k"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove the bundled PackCC and associated build rules.
(substitute* "Makefile.am"
(("^PACKCC = .*")
"PACKCC = packcc")
"PACKCC = packcc\n")
(("\\$\\(PACKCC_FILES\\)")
"")
(("\\$\\(PEG_SRCS\\) \\$\\(PEG_HEADS\\): \\$\\(PACKCC\\)")
@ -437,7 +437,7 @@ features that are not supported by the standard @code{stdio} implementation.")
(native-inputs
(list autoconf automake packcc perl pkg-config))
(inputs
(list jansson libseccomp libxml2 libyaml))
(list jansson libseccomp libxml2 libyaml pcre2))
(home-page "https://ctags.io/")
(synopsis "Generate tag files for source code")
(description

View File

@ -2554,29 +2554,30 @@ chunks.")
(define-public c-blosc
(package
(name "c-blosc")
(version "1.18.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Blosc/c-blosc")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1ywq8j70149859vvs19wgjq89d6xsvvmvm2n1dmkzpchxgrvnw70"))))
(version "1.21.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Blosc/c-blosc")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(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)
(arguments
`(#:configure-flags
'("-DDEACTIVATE_AVX2=ON"
'("-DBUILD_STATIC=OFF"
"-DDEACTIVATE_AVX2=ON"
"-DPREFER_EXTERNAL_LZ4=ON"
"-DPREFER_EXTERNAL_SNAPPY=ON"
"-DPREFER_EXTERNAL_ZLIB=ON"
"-DPREFER_EXTERNAL_ZSTD=ON")))
(inputs
`(("lz4" ,lz4)
("snappy" ,snappy)
("zlib" ,zlib)
("zstd:lib" ,zstd "lib")))
(list lz4 snappy zlib `(,zstd "lib")))
(home-page "https://blosc.org")
(synopsis "Blocking, shuffling and lossless compression library")
(description

View File

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

View File

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

View File

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

View File

@ -19,6 +19,7 @@
;;; Copyright © 2021 Antero Mejr <antero@kodmin.com>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 muradm <mail@muradm.net>
;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Jacob Hrbek <kreyren@rixotstudio.cz>
@ -31352,7 +31353,10 @@ algorithm and related formats (ZLIB, GZIP).")
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1axsdyb2i67pn85vh8sb2z037n88fiiwqghkzsr1jrcdy2g1cs4g"))))
"1axsdyb2i67pn85vh8sb2z037n88fiiwqghkzsr1jrcdy2g1cs4g"))
(modules '((guix build utils)))
(snippet
'(begin (delete-file-recursively "libgit2")))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
@ -62496,13 +62500,13 @@ different for every thread.")
(name "rust-thread-id")
(version "3.3.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "thread-id" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1h90v19fjz3x9b25ywh68z5yf2zsmm6h5zb4rl302ckbsp4z9yy7"))))
(origin
(method url-fetch)
(uri (crate-uri "thread-id" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1h90v19fjz3x9b25ywh68z5yf2zsmm6h5zb4rl302ckbsp4z9yy7"))))
(arguments
`(#:cargo-inputs
(("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
way to convert simple shell commands to windows batch commands.")
(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))))

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
;;; 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 © 2013, 2017 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2016 David Thompson <davet@gnu.org>
@ -1160,7 +1160,7 @@ developed in C/C++ to MariaDB and MySQL databases.")
(define-public galera
(package
(name "galera")
(version "26.4.10")
(version "26.4.12")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1169,7 +1169,7 @@ developed in C/C++ to MariaDB and MySQL databases.")
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "1n6zhzwj713ixyqvcjn4ldlq0y9fxqgvmqv3cj3h4207v9lwlxxz"))))
(base32 "0n4272mvr8a6h5prbhvl376asdp89ipix5yx5n6i1iiw9bs3v76l"))))
(build-system cmake-build-system)
(inputs
(list check boost openssl))
@ -1184,14 +1184,14 @@ and high-availability (HA).")
(define-public postgresql-14
(package
(name "postgresql")
(version "14.2")
(version "14.3")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"0ylpka64wli72jvjyqcayvlw44zk1hsbapb93l8gh4l98qp8pxrc"))
"0f5gm43hx8j67nfad8mrfhzb9aq4brfgka5d0nf936pmicv5g417"))
(patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
(build-system gnu-build-system)
(arguments
@ -1247,6 +1247,7 @@ pictures, sounds, or video.")
(package
(inherit postgresql-14)
(version "13.6")
(replacement postgresql-13/replacement)
(source (origin
(inherit (package-source postgresql-14))
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
@ -1256,37 +1257,70 @@ pictures, sounds, or video.")
"1z37ix80hb2bqa2smh1hbj9r507ypnl3pil43gkqznnlv6ipzz5s"))
(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
(package
(inherit postgresql-13)
(name "postgresql")
(version "11.15")
(version "11.16")
(source (origin
(inherit (package-source postgresql-13))
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(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
(package
(inherit postgresql-11)
(version "10.20")
(version "10.21")
(source (origin
(inherit (package-source postgresql-11))
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(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
(package
(name "timescaledb")
(version "2.5.1")
(version "2.7.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1295,14 +1329,18 @@ pictures, sounds, or video.")
(file-name (git-file-name name version))
(sha256
(base32
"174dm3higa0i7al9r2hdv5hk36pd0d5fnqj57w5a350kxshxyvyw"))
"18wszj8ia5rs4y4zkyfb0f5z4y1g7ac3jym748nbkbszhxmq7nc7"))
(patches (search-patches "timescaledb-flaky-test.patch"))
(modules '((guix build utils)))
(snippet
;; Remove files carrying the proprietary TIMESCALE license.
'(begin
(delete-file-recursively "tsl")
(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/TimescaleNode.pm"))))))
(build-system cmake-build-system)
@ -1347,12 +1385,28 @@ pictures, sounds, or video.")
(pg-union (string-append (getcwd) "/../pg-union")))
(match inputs
(((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:"
(getenv "PATH")))
(invoke "initdb" "-D" pg-data)
(copy-file "test/postgresql.conf"
(string-append pg-data "/postgresql.conf"))
(invoke "pg_ctl" "-D" pg-data
"-o" (string-append "-k " pg-data)
"-l" (string-append pg-data "/db.log")
@ -1363,7 +1417,7 @@ pictures, sounds, or video.")
(home-page "https://www.timescale.com/")
(synopsis "Time-series extension for PostgreSQL")
(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
PostgreSQL extension, providing automatic partitioning across time and space
(partitioning key), as well as full SQL support.")
@ -1868,7 +1922,7 @@ extremely small.")
"1yinx39960y241vf2sknxj0dfz82a5m9gvklq5rw78k0nlyrjawa"))))
(build-system perl-build-system)
(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")
(license license:perl-license)))
@ -2035,7 +2089,7 @@ columns, primary keys, unique constraints and relationships.")
(define-public perl-dbd-pg
(package
(name "perl-dbd-pg")
(version "3.14.2")
(version "3.15.1")
(source
(origin
(method url-fetch)
@ -2043,7 +2097,7 @@ columns, primary keys, unique constraints and relationships.")
"DBD-Pg-" version ".tar.gz"))
(sha256
(base32
"0kcfqq7g3832wiix0sbyvlc885qghjrp2ah3akn7h2lnb22fjwy9"))))
"0zn17xb6bmixkmv53p576igzw1jd43cwql35r19m56jwahxm9iqk"))))
(build-system perl-build-system)
(native-inputs
(list perl-dbi))
@ -2814,13 +2868,13 @@ can autogenerate peewee models using @code{pwiz}, a model generator.")
(define-public python-pypika-tortoise
(package
(name "python-pypika-tortoise")
(version "0.1.1")
(version "0.1.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pypika-tortoise" version))
(sha256
(base32 "0g4z0lz739nk04b405ynqpd3y1z5nfyxjz9hqgxcw3jydsjx0cb8"))))
(base32 "0j20574s2yrq8d7fav3816vj1nfpihkm2mj8jzh2ank4zixp8brf"))))
(build-system python-build-system)
(home-page "https://github.com/tortoise/pypika-tortoise")
(synopsis "Pypika fork for tortoise-orm")
@ -2851,24 +2905,19 @@ coroutine-specific markup.")
(define-public python-asyncpg
(package
(name "python-asyncpg")
(version "0.24.0")
(version "0.25.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "asyncpg" version))
(sha256
(base32 "1in0q6iffpl8ag6ady4bvwnn40igh10cpp4xgm426j1lqdis0byx"))))
(base32 "0h1573lp4607nppflnnjrhn7yrfy6i54cm98gi4qbcikjykfdy33"))))
(build-system python-build-system)
(propagated-inputs (list python-typing-extensions))
(native-inputs
(list postgresql
python-cython
python-flake8
python-pycodestyle
python-pytest
python-sphinx
python-sphinx-rtd-theme
python-sphinxcontrib-asyncio
python-uvloop))
(home-page "https://github.com/MagicStack/asyncpg")
(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
(package
(name "python-tortoise-orm")
(version "0.17.8")
(version "0.19.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tortoise-orm" version))
(sha256
(base32 "1gzgiypln7lck3p95vk3i8rdx1bjbmmlcpb8xpba8cjdjvlj0l0z"))))
(base32 "17yk71dlx5ai98i6ivqgsplkwivdxackz9jfn6z42bpcdgbpiwhg"))))
(build-system python-build-system)
;; The test suite relies on asynctest, which is abandoned and doesn't
;; support Python >= 3.8.
@ -3004,44 +3053,58 @@ development.")
(define-public python-pyodbc-c
(package
(name "python-pyodbc-c")
(version "3.1.4")
(version "3.1.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://gitlab.com/daym/pyodbc-c/repository/"
"archive.tar.gz?ref=v" version))
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/daym/pyodbc-c/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"05aq2297k779xidmxcwkrrxjvj1bh2q7d9a1rcjv6zr15y764ga9"))
(file-name (string-append name "-" version ".tar.gz"))))
(base32 "08y60c5sx0k953zfx0s2a155l8py968sb17ap9a9fg8bjnj783k8"))))
(build-system python-build-system)
(inputs
(list unixodbc))
(arguments
`(;; No unit tests exist.
`(;; The tests require a running SQL server that they don't help set up.
#:tests? #f))
(home-page "https://github.com/mkleehammer/pyodbc")
(synopsis "Python ODBC Library")
(home-page "https://gitlab.com/daym/pyodbc-c")
(synopsis "Python ODBC Library written in C")
(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"))))
(define-public python-pyodbc
(package
(name "python-pyodbc")
(version "4.0.30")
(version "4.0.32")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyodbc" version))
(sha256
(base32 "0skjpraar6hcwsy82612bpj8nw016ncyvvq88j5syrikxgp5saw5"))
(file-name (string-append name "-" version ".tar.gz"))))
(base32 "0sqs0x2l5mk3yv0wwz3ya8yh5f4babihyhc8hjbf2m86b71z1rcv"))
(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)
(inputs
(list unixodbc))
(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")
(synopsis "Python ODBC Library")
(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.")
(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
(package
(inherit apache-arrow)
@ -4253,6 +4442,64 @@ implementation, along with tools for interoperability with pandas, NumPy, and
other traditional Python scientific computing packages.")
(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
(package
(name "python-crate")

View File

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

View File

@ -93,6 +93,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#: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.")
(license license:gpl3+)))
(define-public python-parted
(define-public python-pyparted
(package
(name "python-parted")
(version "3.11.7")
(name "python-pyparted")
(version "3.12.0")
(source
(origin
(method git-fetch)
@ -726,20 +727,8 @@ a card with a smaller capacity than stated.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "01193fmkss9icjvqpw85szpk8ld1pnha7p9kqm7mpwk6rc6gi2m3"))))
(base32 "0jxc1i1g3lz32wvqvdbb9ng2ypin783004kjnp0pghiz813lpw1d"))))
(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
(list e2fsprogs pkg-config))
(propagated-inputs
@ -751,6 +740,9 @@ a card with a smaller capacity than stated.")
(description "This package provides @code{parted} bindings for Python.")
(license license:gpl2+)))
(define-public python-parted
(deprecated-package "python-parted" python-pyparted))
(define-public duperemove
(package
(name "duperemove")
@ -883,7 +875,7 @@ passphrases.")
(define-public ndctl
(package
(name "ndctl")
(version "72.1")
(version "73")
(source (origin
(method git-fetch)
(uri (git-reference
@ -892,12 +884,16 @@ passphrases.")
(file-name (git-file-name name version))
(sha256
(base32
"1lvrhlad5n43bal053ihgbwr1k4ka2kscrjwr9rs5xnf2vy7204v"))))
(build-system gnu-build-system)
"19kp1ly74bj7gavs03q7caci0lqr0rsi5y45zx5m8in4h19xk1kb"))))
(build-system meson-build-system)
(arguments
(list #:configure-flags
#~(list "--disable-asciidoctor" ; use docbook-xsl instead
"--without-systemd")
#~(list (string-append "-Drootprefix=" #$output)
(string-append "-Dbashcompletiondir=" #$output
"/share/bash-completion/completions")
(string-append "-Dsysconfdir=" #$output "/etc")
"-Dasciidoctor=disabled" ; use docbook-xsl instead
"-Dsystemd=disabled")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-version
@ -910,17 +906,11 @@ passphrases.")
(substitute* "git-version-gen"
(("/bin/sh") (which "sh")))
(substitute* "git-version"
(("/bin/bash") (which "bash"))))))
#:make-flags
#~(list (string-append "BASH_COMPLETION_DIR=" #$output
"/share/bash-completion/completions"))))
(("/bin/bash") (which "bash"))))))))
(native-inputs
(list asciidoc
automake
autoconf
bash-completion
docbook-xsl
libtool
libxml2
pkg-config
xmlto
@ -940,7 +930,7 @@ passphrases.")
libnvdimm (non-volatile memory device) sub-system in the Linux kernel.")
;; COPYING says LGPL2.1, but many source files are GPL2 so that's
;; 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)))
(define-public dmraid
@ -1253,7 +1243,7 @@ that support this feature).")
(define-public memkind
(package
(name "memkind")
(version "1.12.0")
(version "1.13.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1261,7 +1251,7 @@ that support this feature).")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1s52vl2jlrdc8nxnvf993x9mcag56qxcaniiijhmsv42a26hvjk4"))))
(base32 "0zbil6xqmsrnh773ihxyfna6pvvxv3kczdb3g863ssflwwvv7h4w"))))
(build-system gnu-build-system)
(inputs
(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
;; For tests
dbus
;; python-wrapper
;; python-pygobject
python-wrapper
python-pygobject
which
yelp-tools))
;; 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.
;; The BIND release notes are available here:
;; https://www.isc.org/bind/
(version "9.16.29")
(version "9.16.30")
(source
(origin
(method url-fetch)
(uri (string-append "https://ftp.isc.org/isc/bind9/" version
"/bind-" version ".tar.xz"))
(sha256
(base32 "0rklj342khnycs462nd3k35yymsdv6ibv352jv1nymmxxfc8yh68"))
(base32 "1nv02apqpqk7mi1330jgsacpplhgnkx6mba5nmbsx1x72gqc77q0"))
(patches
(search-patches "bind-re-add-attr-constructor-priority.patch"))))
(build-system gnu-build-system)

View File

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

View File

@ -113,6 +113,7 @@
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
;;; Copyright © 2022 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
;;; Copyright © 2022 Thomas Albers Raviola <thomas@thomaslabs.org>
;;; Copyright © 2022 Haider Mirza <haider@haider.gq>
;;;
;;; This file is part of GNU Guix.
;;;
@ -247,7 +248,7 @@
(define-public emacs-geiser
(package
(name "emacs-geiser")
(version "0.23.1")
(version "0.23.2")
(source
(origin
(method git-fetch)
@ -256,7 +257,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1lvnk71fb4qkh8a7h7spsdhmc9nnj1lwgp9wr3c2fgzjqsl62kgr"))))
(base32 "0p5cwx0xwva4ajgj8hnrk8bx6n3hv1z7aqs4zivp81crnq4077yw"))))
(build-system emacs-build-system)
(arguments
'(#:phases
@ -278,7 +279,7 @@
(list texinfo))
(propagated-inputs
(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")
(description
"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
(package
(name "emacs-geiser-guile")
(version "0.23")
(version "0.23.2")
(source
(origin
(method git-fetch)
@ -305,13 +306,19 @@ e.g. emacs-geiser-guile for Guile.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1v9f90smnk41nz1pjy5mwz199y8p4qar3llgaryzxr7s4wg2v9wi"))))
(base32 "18m5ldj4r4c2hxgvv5b4azl90r8az1kn5f3s913h971asyv4wx06"))))
(build-system emacs-build-system)
(arguments
(list
#:include #~(cons "^src/" %default-include)
#: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
(lambda _
(substitute* (string-append (elpa-directory #$output)
@ -321,11 +328,9 @@ e.g. emacs-geiser-guile for Guile.")
(("\\(geiser-activate-implementation .*\\)" all)
(string-append
"(eval-after-load 'geiser-impl '" all ")"))))))))
(inputs
(list guile-3.0))
(propagated-inputs
(list emacs-geiser))
(home-page "https://nongnu.org/geiser/")
(inputs (list guile-3.0))
(propagated-inputs (list emacs-geiser))
(home-page "https://www.nongnu.org/geiser/")
(synopsis "Guile Scheme support for Geiser")
(description
"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"))))
(define-public emacs-geiser-gauche
(package
(name "emacs-geiser-gauche")
(version "0.0.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/emacs-geiser/gauche.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0rxncnzx7qgcpvc8nz0sd8r0hwrplazzraahdwhbpq0q6z8ywqgg"))))
(build-system emacs-build-system)
(arguments
`(#:include (cons "^geiser-gauche\\.scm$" %default-include)))
(native-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,
;; The latest 0.14 release has an unbound variable (geiser-scheme-dir).
(let ((commit "96fa06aaeef18cc1b3b519e83dbb7be09eeb0d07")
(revision "0"))
(package
(name "emacs-geiser-gauche")
(version (git-version "0.14" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/emacs-geiser/gauche.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1ppracwfl1snq0ifdlyxpdlv7fbn3pbxm1hd1ihgqivii5nbya9r"))))
(build-system emacs-build-system)
(arguments
(list
#:include '(cons "^geiser-gauche\\.scm$" %default-include)
#:phases
#~(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.")
(license license:expat)))
(license license:expat))))
(define-public emacs-geiser-racket
(package
(name "emacs-geiser-racket")
(version "0.16")
(version "1.0")
(source
(origin
(method git-fetch)
@ -394,13 +422,19 @@ a generic Scheme interaction mode for the GNU Emacs editor.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1aqsvmk1hi7kc3j4h8xlza7c6rwm71v98fv5wpw8kmyj9vsp49wx"))))
(base32 "04gwd9qa0785zfr6m9a5443ilgvyz05l06cb1waicf83sgp8xl32"))))
(build-system emacs-build-system)
(arguments
(list
#:include #~(cons "^src/" %default-include)
#: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
(lambda _
(substitute* (string-append (elpa-directory #$output)
@ -410,14 +444,12 @@ a generic Scheme interaction mode for the GNU Emacs editor.")
(("\\(geiser-activate-implementation .*\\)" all)
(string-append
"(eval-after-load 'geiser-impl '" all ")"))
(("\\(geiser-implementation-extension .*\\)" all)
(("\\(geiser-implementation-extension .*\\)" all)
(string-append
"(eval-after-load 'geiser-impl '" all ")"))))))))
(inputs
(list racket))
(propagated-inputs
(list emacs-geiser))
(home-page "https://nongnu.org/geiser/")
(inputs (list racket))
(propagated-inputs (list emacs-geiser))
(home-page "https://www.nongnu.org/geiser/")
(synopsis "Racket support for Geiser")
(description
"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.")
(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
(package
(name "emacs-hyperbole")
@ -1377,7 +1430,7 @@ organizing remote Go repository clones.")
(define-public emacs-ghub
(package
(name "emacs-ghub")
(version "3.5.5")
(version "3.5.6")
(source
(origin
(method git-fetch)
@ -1386,7 +1439,7 @@ organizing remote Go repository clones.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1px27nh4cr3r16qmvig72jdirjzllvm2m4dzm59kfznhg3rf7vj0"))))
(base32 "1pw1rjrvvanlcxv3rb64s2p646zfaipp7h7v8djlrrnlgy6mwbqd"))))
(build-system emacs-build-system)
(arguments
(list
@ -3916,7 +3969,7 @@ evaluations. The entry point is @code{M-x build-farm} command.")
(define-public emacs-d-mode
(package
(name "emacs-d-mode")
(version "2.0.11")
(version "2.0.12")
(source
(origin
(method git-fetch)
@ -3925,7 +3978,7 @@ evaluations. The entry point is @code{M-x build-farm} command.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0vkl470vvmxap8ca773a0jvjvalmvdbbax3qvgjdclp54ml75al4"))))
(base32 "0mwd412d2kha8avkyhvvkh8r7an859xk18f7phgx7kj989pr3xkr"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-undercover))
@ -4136,16 +4189,16 @@ in the center.")
(define-public emacs-undo-tree
(package
(name "emacs-undo-tree")
(version "0.8.1")
(version "0.8.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(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))
(sha256
(base32 "1khkwrrbwaimspc013n4k9mpv8g302r0zkrsqnza2x1d3qznn08y"))))
(base32 "1xvkxc078b4z5zqwndz6jcv4ga8yd2ci32v7l8pdvqjmz7fq7bfz"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-queue))
@ -9845,10 +9898,10 @@ navigate code in a tree-like fashion.")
(define-public emacs-lispy
;; No release since May 2019 and tons of fixes have landed on master.
;; https://github.com/abo-abo/lispy/issues/513
(let ((commit "38a7df4cbb16cfe3d62dc8ea98b50e2d9a572e58"))
(let ((commit "df1b7e614fb0f73646755343e8892ddda310f427"))
(package
(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")
(source (origin
(method git-fetch)
@ -9857,7 +9910,7 @@ navigate code in a tree-like fashion.")
(commit commit)))
(sha256
(base32
"1q3sgk8ffwajmh8l7c4p4fz36xw4fqds8yqblbi5kardaa8bs8cs"))
"02pmnn9cqslahnvllqzawp2j5icmb3wgkrk4qrfxjds68jg7pjj4"))
(patches
(search-patches "emacs-lispy-fix-thread-last-test.patch"))
(file-name (git-file-name name version))))
@ -11233,14 +11286,14 @@ of its name.")
(define-public emacs-rainbow-mode
(package
(name "emacs-rainbow-mode")
(version "1.0.5")
(version "1.0.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"rainbow-mode-" version ".el"))
"rainbow-mode-" version ".tar"))
(sha256
(base32 "159fps843k5pap9k04a7ll1k3gw6d9c6w08lq4bbc3lqg78aa2l9"))))
(base32 "04v73cm1cap19vwc8lqsw0rmfr9v7r3swc4wgxnk9dnzxi9j2527"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/rainbow-mode.html")
(synopsis "Colorize color names in buffers")
@ -12826,7 +12879,7 @@ passive voice.")
(define-public emacs-org
(package
(name "emacs-org")
(version "9.5.3")
(version "9.5.4")
(source
(origin
(method git-fetch)
@ -12835,7 +12888,7 @@ passive voice.")
(commit (string-append "release_" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0h1n6gqxv3kj3y98n5547rhpw4qnp03lfar79npb4paqgpxf76wb"))))
(base32 "1an866kkn5r84933s04agm1c3197kza2pvk8lqp2xzpjd09ba394"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
@ -18587,6 +18640,28 @@ files, allowing for actions to be performed based on search criteria.")
Chinese to English.")
(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
(let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62")
(revision "1"))
@ -19494,16 +19569,14 @@ or expressions with SVG rounded box labels that are fully customizable.")
(define-public emacs-kind-icon
(package
(name "emacs-kind-icon")
(version "0.1.4")
(version "0.1.5")
(source
(origin
(method url-fetch)
(uri (string-append
"https://elpa.gnu.org/packages/kind-icon-"
version
".tar"))
(uri (string-append "https://elpa.gnu.org/packages/kind-icon-"
version ".tar"))
(sha256
(base32 "00pyvnq4dx51l2wbhvm6k6cx5xmy32j4h1lkr5kr8s3j5w83ip25"))))
(base32 "0qajj89vkgc9gbgff6akzll53jy0kgkv6c9jvwpl32rbg8v0wp63"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-svg-lib))
(home-page "https://github.com/jdtsmith/kind-icon")
@ -24857,45 +24930,53 @@ the standard @code{Dockerfile} file format.")
(license license:asl2.0)))
(define-public emacs-lsp-mode
(package
(name "emacs-lsp-mode")
(version "8.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-lsp/lsp-mode")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1a6jc9sxf9b8fj9h8xlv5k546bkzsy8j5nj19cfama389z0bzcsl"))))
(build-system emacs-build-system)
(arguments
`(#:emacs ,emacs ;need libxml support
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'move-clients-libraries
;; Move all clients libraries at top-level, as is done, e.g., in
;; MELPA.
(lambda _
(for-each (lambda (f)
(install-file f "."))
(find-files "clients/" "\\.el$")))))))
(propagated-inputs
(list emacs-dash
emacs-f
emacs-ht
emacs-hydra
emacs-markdown-mode
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+)))
(let ((commit "4aafe25e03ab7470b8d3c1cb326affa3c5e9930e")
(revision "0"))
(package
(name "emacs-lsp-mode")
(version (git-version "8.0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-lsp/lsp-mode")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "01csz4vr3fg1q2py45mxj5j8bkvckn3daam1jafb2gg9gjc9bp7z"))))
(build-system emacs-build-system)
(arguments
`(#:emacs ,emacs ;need libxml support
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'move-clients-libraries
;; Move all clients libraries at top-level, as is done, e.g., in
;; MELPA.
(lambda _
(for-each (lambda (f)
(install-file f "."))
(find-files "clients/" "\\.el$"))))
(add-before 'move-clients-libraries 'fix-patch-el-files
;; /bin/ksh is only used on macOS, which we don't support, so we
;; don't want to add it as input.
(lambda _
(substitute* '("clients/lsp-csharp.el" "clients/lsp-fsharp.el")
(("/bin/ksh") "ksh")))))))
(propagated-inputs
(list emacs-dash
emacs-f
emacs-ht
emacs-hydra
emacs-markdown-mode
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
(package
@ -27826,7 +27907,7 @@ Emacs that integrate with major modes like Org-mode.")
(define-public emacs-modus-themes
(package
(name "emacs-modus-themes")
(version "2.4.0")
(version "2.4.1")
(source
(origin
(method git-fetch)
@ -27835,7 +27916,7 @@ Emacs that integrate with major modes like Org-mode.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0ia6r68fqbv64r9jm92vmqypq15nl8yy07n18hqrfbp1fy47zds1"))))
(base32 "0b4y8dzyc9qwwaf2ngqiwyfcnhwlr49kxhc96laqk20lvjlfsrnx"))))
(native-inputs (list texinfo))
(build-system emacs-build-system)
(arguments
@ -27937,28 +28018,30 @@ and it should work well with 256 color terminals.")
(license license:gpl3+)))
(define-public emacs-dimmer
(package
(name "emacs-dimmer")
(version "0.4.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gonewest818/dimmer.el")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0dw0qh5hm1x76s5cqxvylvmjgy0jwy11xm258g6kmx6w1k6r1d2l"))))
(build-system emacs-build-system)
(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
(let ((commit "2f915b100044e09dd647b22085e1696249c4b115")
(revision "1"))
(package
(name "emacs-dimmer")
(version (git-version "0.4.2" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gonewest818/dimmer.el")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"00y6645zjary1sz7517qy5pjwfm5ipsc46sypmdygin65hbbc8wg"))))
(build-system emacs-build-system)
(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
nondestructively, and computes the dimmed faces dynamically such that your
overall color scheme is shown in a muted form without requiring you to define
what is a \"dim\" version of every face.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public emacs-minibuffer-line
(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.")
(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
;; Upstream does not tag releases. The commit below matches the version
;; bump.

View File

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

View File

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

View File

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

View File

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

View File

@ -2,7 +2,7 @@
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.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 David Hashe <david.hashe@dhashe.com>
;;; 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.")
(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
(package
(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
protocol either in Wayland core, or some other protocol in wayland-protocols.")
(home-page "https://wayland.freedesktop.org")
(properties
'((release-monitoring-url
. "https://wayland.freedesktop.org/releases.html")))
(license license:expat)))
(define-public waylandpp
@ -2271,7 +2245,7 @@ fallback to generic Systray support if none of those are available.")
(define-public xdg-desktop-portal
(package
(name "xdg-desktop-portal")
(version "1.10.1")
(version "1.14.4")
(source (origin
(method url-fetch)
(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"))
(sha256
(base32
"199lqr2plsy9qqnxx5a381ml8ygcbz4nkjla5pvljjcrwzlqsygd"))))
"0wqc9x3k7lf3mig53i4rjazi0xi8bcykwaaw7r7prvnscnd1k405"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@ -2290,7 +2264,8 @@ fallback to generic Systray support if none of those are available.")
("which" ,which)
("gettext" ,gettext-minimal)))
(inputs
`(("glib" ,glib)
`(("gdk-pixbuf" ,gdk-pixbuf)
("glib" ,glib)
("flatpak" ,flatpak)
("fontconfig" ,fontconfig)
("json-glib" ,json-glib)
@ -2298,17 +2273,20 @@ fallback to generic Systray support if none of those are available.")
("dbus" ,dbus)
("geoclue" ,geoclue)
("pipewire" ,pipewire-0.3)
("fuse" ,fuse)))
("fuse" ,fuse-3)))
(arguments
`(#:phases
`(#:configure-flags
(list "--with-systemd=no")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'po-chmod
(lambda _
;; Make sure 'msgmerge' can modify the PO files.
(for-each (lambda (po)
(chmod po #o666))
(find-files "po" "\\.po$"))
#t)))))
(find-files "po" "\\.po$"))))
(add-after 'unpack 'set-home-directory
(lambda _ (setenv "HOME" "/tmp"))))))
(native-search-paths
(list (search-path-specification
(variable "XDG_DESKTOP_PORTAL_DIR")
@ -2330,7 +2308,7 @@ and others.")
(define-public xdg-desktop-portal-gtk
(package
(name "xdg-desktop-portal-gtk")
(version "1.10.0")
(version "1.14.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -2338,7 +2316,7 @@ and others.")
version "/xdg-desktop-portal-gtk-" version ".tar.xz"))
(sha256
(base32
"0nlbnd6qvs92fanrmmn123vy0y2ml0v3ndxyk5x0cpfbnmxpa2f8"))))
"0m29b4hm7lq06gcavxw7gdlgqiiy3vgv3v4yjqfq5kx92q3j28gn"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:phases

View File

@ -48,6 +48,7 @@
#:use-module (ice-9 match)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix gexp)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix svn-download)
@ -94,6 +95,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages qt)
@ -1207,26 +1209,24 @@ to create fully featured games and multimedia programs in the python language.")
license:lgpl2.1+))))
(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")
(renpy-version "7.4.11"))
;;(renpy-version "8.0.0")
(commit "1705c6e3004dcb1daf859560bcd52eb093e97d45"))
(package
(inherit python-pygame)
(name "python-pygame-sdl2")
(version (string-append real-version "-for-renpy-" renpy-version))
(version (git-version real-version "0" commit))
(source
(origin
(method url-fetch)
(uri (string-append "https://www.renpy.org/dl/" renpy-version
"/pygame_sdl2-" version ".tar.gz"))
(sha256 (base32 "0nxvca16299jx6sp0ys29rqixcs21ymhqwjfkbchhss0yar7qjgz"))
(modules '((guix build utils)))
(snippet
'(begin
;; drop generated sources
(delete-file-recursively "gen")
(delete-file-recursively "gen3")
(delete-file-recursively "gen-static")
#t))))
(method git-fetch)
(uri (git-reference
(url "https://github.com/renpy/pygame_sdl2")
(commit commit)))
(file-name (git-file-name name version))
(sha256 (base32 "1g0arhpd59zypspk36sgajf1kzavppfkv766vifvxar60968rrjn"))))
(build-system python-build-system)
(arguments
`(#: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.")
(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
(name "renpy")
(version "7.4.11")
(name "python-renpy")
(version (git-version "7.99.99" "0" %renpy-commit))
(source
(origin
(method url-fetch)
(uri (string-append "https://www.renpy.org/dl/" version
"/renpy-" version "-source.tar.bz2"))
(sha256 (base32 "0zkhg2sd2hglm9dkansf4h8sq7lm7iqslzl763ambp4kyfdvd07q"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/renpy/renpy")
(commit %renpy-commit)))
(file-name (git-file-name name version))
(sha256 (base32 "11g7hqhw4gbkx5ib2wsawrznmjbn8r9zkgf2sg39z56h96y8wfbn"))
(modules '((guix build utils)))
(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.")
(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
(package
(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+)))
(define-public retux
(let ((release "1.5")
(let ((release "1.6.1")
(revision 0))
(package
(name "retux")
@ -2216,7 +2216,7 @@ Every puzzle has a complete solution, although there may be more than one.")
release "-src.zip"))
(sha256
(base32
"1yima7s36hn2kh5h08lczc5iid8jbdxk7x1g5ms6knaznzj7rll3"))))
"1bkyfm0h4kys0x7c1340fnkhgnmcrf4j2xjm250r5w8q6l7v2wj4"))))
(build-system python-build-system)
(arguments
`(#: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 "\",")))
(copy-file "retux.py" (string-append bin "/retux"))
(copy-recursively "data" data)
#t))))))
(copy-recursively "data" data)))))))
(native-inputs
(list unzip))
(inputs
(list python-sge python-six python-xsge))
(list python-sge python-xsge))
(home-page "https://retux-game.github.io/")
(synopsis "Action platformer game")
(description

View File

@ -11,7 +11,7 @@
;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019, 2021 Wiktor Żelazny <wzelazny@vurv.cz>
;;; 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, 2021, 2022 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
@ -2715,35 +2715,40 @@ using third-party geocoders and other data sources.")
(define-public gplates
(package
(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
(method url-fetch)
(uri "https://www.earthbyte.org/download/8421/")
(file-name (string-append name "-" version ".tar.bz2"))
(uri "https://cloudstor.aarnet.edu.au/plus/s\
/ojsYNOyUYE3evNp/download?path=%2F&files=gplates_2.3.1-beta.3_src.zip")
(file-name (string-append name "-" version ".zip"))
(sha256
(base32
"0lrcmcxc924ixddii8cyglqlwwxvk7f00g4yzbss5i3fgcbh8n96"))))
"06i87dfab0cq9gdi5mh6sf9wigawpp0d05zbyslv910443i26gwv"))))
(build-system cmake-build-system)
(arguments
`(#: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
`(("boost" ,boost)
("cgal" ,cgal)
("gdal" ,gdal)
("glew" ,glew)
("glu" ,glu)
("gmp" ,gmp)
("mesa" ,mesa)
("mpfr" ,mpfr)
("proj" ,proj)
("python-3" ,python-3)
("python-numpy" ,python-numpy)
("qt" ,qtbase-5)
("qtsvg" ,qtsvg)
("qtxmlpatterns" ,qtxmlpatterns)
("qwt" ,qwt)
("zlib" ,zlib)))
(list boost
cgal
gdal
glew
glu
gmp
mesa
mpfr
proj
python-3
python-numpy
qtbase-5
qtsvg
qtxmlpatterns
qwt
zlib))
(home-page "https://www.gplates.org")
(synopsis "Plate tectonics simulation program")
(description "GPlates is a plate tectonics program. Manipulate

View File

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

View File

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

View File

@ -9,7 +9,7 @@
;;; Copyright © 2017 Petter <petter@mykolab.ch>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; 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, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; 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.")
(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
(package
(name "glib")

View File

@ -10,12 +10,13 @@
;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
;;; Copyright © 2020 Ellis Kenyo <me@elken.dev>
;;; Copyright © 2020 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021, 2022 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Songlin Jiang <hollowman@hollowman.ml>
;;; Copyright © 2021, 2022 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2021 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com>
;;; Copyright © 2022 Eric Bavier <bavier@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -37,6 +38,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system copy)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
@ -50,6 +52,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages check)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@ -58,6 +61,7 @@
#:use-module (gnu packages image)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
@ -217,6 +221,86 @@ simple and consistent.")
and a few extra features.")
(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
(package
(name "gnome-shell-extension-appindicator")
@ -1170,7 +1254,7 @@ extended file attributes. It also functions as a standalone command.")
(define-public markets
(package
(name "markets")
(version "0.5.3")
(version "0.5.4")
(source
(origin
(method git-fetch)
@ -1180,7 +1264,7 @@ extended file attributes. It also functions as a standalone command.")
(file-name (git-file-name name version))
(sha256
(base32
"0sfdmz7cp8i2bymippp8jyxsidxjn69v9cqm40q77j81kfm84bfv"))))
"0ch6dfmdcpw32r23s58riv8agnyw0f1cqd1y6j7zkx5sb3zyn3zy"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t

View File

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

View File

@ -53,6 +53,7 @@
(define-module (gnu packages golang)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (guix memoization)
#:use-module ((guix build utils) #:select (alist-replace))
#:use-module (guix download)
#:use-module (guix git-download)
@ -626,7 +627,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package
(inherit go-1.16)
(name "go")
(version "1.17.8")
(version "1.17.9")
(source
(origin
(method git-fetch)
@ -636,7 +637,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(file-name (git-file-name name version))
(sha256
(base32
"05qfs17wddxmmi349g9ci12w9fjb5vbss6qpjc4qzgqzznqf0ycy"))))
"02l6gxn738kam1niy2nl2wpsbzl4x87h2wik6hd3py19kq4z2flw"))))
(outputs '("out" "tests")) ; 'tests' contains distribution tests.
(arguments
`(#: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 (make-go-std go)
"Return a package which builds the standard library for Go compiler GO."
(package
(name (string-append (package-name go) "-std"))
(version (package-version go))
(source #f)
(build-system go-build-system)
(arguments
`(#:import-path "std"
#:build-flags `("-pkgdir" "pkg") ; "Install" to build directory.
#:allow-go-reference? #t
#:substitutable? #f ; Faster to build than download.
#:tests? #f ; Already tested in the main Go build.
#:go ,go
#:phases
(modify-phases %standard-phases
(delete 'unpack)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(out-cache (string-append out "/var/cache/go/build")))
(copy-recursively (getenv "GOCACHE") out-cache)
(delete-file (string-append out-cache "/trim.txt"))
(delete-file (string-append out-cache "/README")))))
(delete 'install-license-files))))
(home-page (package-home-page go))
(synopsis "Cached standard library build for Go")
(description (package-description go))
(license (package-license go))))
(define make-go-std
(mlambdaq (go)
"Return a package which builds the standard library for Go compiler GO."
(package
(name (string-append (package-name go) "-std"))
(version (package-version go))
(source #f)
(build-system go-build-system)
(arguments
`(#:import-path "std"
#:build-flags `("-pkgdir" "pkg") ; "Install" to build directory.
#:allow-go-reference? #t
#:substitutable? #f ; Faster to build than download.
#:tests? #f ; Already tested in the main Go build.
#:go ,go
#:phases
(modify-phases %standard-phases
(delete 'unpack)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(out-cache (string-append out "/var/cache/go/build")))
(copy-recursively (getenv "GOCACHE") out-cache)
(delete-file (string-append out-cache "/trim.txt"))
(delete-file (string-append out-cache "/README")))))
(delete 'install-license-files))))
(home-page (package-home-page go))
(synopsis "Cached standard library build for 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
(let ((commit "0aa6226582efb8e563540ec1d3c5cfcd19200474")
@ -9775,3 +9784,62 @@ Features:
"@code{go-github-com-go-chi-chi-v5} is an HTTP router that lets the user
decompose request handling into many smaller layers.")
(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
(package
(name "gpxsee")
(version "10.3")
(version "11.1")
(source (origin
(method git-fetch)
(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))
(sha256
(base32
"1i1diha617il0s2j9108xlw3vn10m6lc59r8r2fn48wmfzcj79dc"))))
"1klpjiqsvpvhlg5hsfjaszsyqr817hig9r7y7w4cp0kyn8z5fzfj"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@ -194,7 +194,7 @@ coordinates as well as partial support for adjustments in global coordinate syst
(string-append "PREFIX="
(assoc-ref outputs "out"))))))))
(inputs
(list qtbase-5 qtlocation))
(list qtbase-5 qtlocation qtsvg))
(native-inputs
(list qttools))
(home-page "https://www.gpxsee.org")

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018, 2019, 2020, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; 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 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2020 Alexander Krotov <krotov@iitp.ru>
@ -143,7 +143,7 @@ more.")
(package
(inherit igraph)
(name "python-igraph")
(version "0.9.10")
(version "0.9.11")
(source (origin
(method git-fetch)
;; The PyPI archive lacks tests.
@ -153,7 +153,7 @@ more.")
(file-name (git-file-name name version))
(sha256
(base32
"06qvwmiw2klk3bg8g5af0ppjwrm9kzy4595w5d06qh2v3gq0svbk"))))
"1xlr0cnf3a1vs9n2psvgrmjhld4n1xr79kkjqzby4pxxyzk1bydn"))))
(build-system python-build-system)
(arguments
(list

View File

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

View File

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

View File

@ -41,6 +41,7 @@
;;; Copyright © 2021, 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -83,6 +84,7 @@
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages haskell-xyz) ;pandoc
#:use-module (gnu packages hurd)
#:use-module (gnu packages image)
#: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.")
;; Dual license: LGPLv2.1+ or EPLv1.0+ at the user's option.
(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))))
(define-public h-client
(let ((commit "63ff4a3bf9c3c3b6297091e08192d34991465431")
(revision "0"))
;; The Python 3 port hasn't yet been integrated into the main branch
;; (currently lives in the 'python3-port' branch).
(let ((commit "e6c78b16e034ccf78ae9cb4c29268c2f57a30bfc")
(revision "1"))
(package
(name "h-client")
(version (git-version "0.0a0" revision commit))
@ -386,14 +388,11 @@ human-readable format and checks if it conforms to the standards.")
(origin
(method git-fetch)
(uri (git-reference
;; Use this Python 3 fork until the changes have been reviewed
;; and integrated into the official Savannah repository (in
;; progress).
(url "https://git.sr.ht/~apteryx/h-client")
(url "https://git.savannah.gnu.org/git/h-client.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0c6s96a1zmsnn7bnfhm790c1fr8sid0zdyh9mwig4y6ffn83czh5"))))
(base32 "0hm86d51kj5r3yxq4c23aa57cs8igz3wrkbjn20z4frx75rpf46m"))))
(build-system python-build-system)
(inputs
(list gdk-pixbuf

View File

@ -435,7 +435,16 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
((#:configure-flags flags)
;; Otherwise, the build would fail with: "error: invalid conversion
;; 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
(package

View File

@ -1,5 +1,5 @@
;;; 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 © 2014, 2015, 2016, 2020 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
@ -987,31 +987,31 @@ Metafile}, and @acronym{EMF+, Enhanced Metafile Plus} files.")
(define-public imlib2
(package
(name "imlib2")
(version "1.7.1")
(version "1.9.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/enlightenment/imlib2-src/" version
"/imlib2-" version ".tar.bz2"))
"/imlib2-" version ".tar.xz"))
(sha256
(base32
"01y45cdml2dr9cqgybrgxr86sd77d1qfa1gzclzy1j6bkminlfh3"))))
"0l662h74i3mzl5ligj1352rf8bf48drasj97wygr2037gk5fijas"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags (list "--disable-static")))
(native-inputs
`(("pkgconfig" ,pkg-config)))
(list pkg-config))
(inputs
`(("bzip2" ,bzip2)
("freetype" ,freetype)
("giflib" ,giflib)
("libid3tag" ,libid3tag)
("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libtiff" ,libtiff)
("libx11" ,libx11)
("libxext" ,libxext)
("libwebp" ,libwebp)))
(list bzip2
freetype
giflib
libid3tag
libjpeg-turbo
libpng
libtiff
libx11
libxext
libwebp))
(home-page "https://sourceforge.net/projects/enlightenment/")
(synopsis
"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.")
(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
(package
(name "giblib")
@ -1049,7 +1062,9 @@ more modular, simple, and flexible.")
"1b4bmbmj52glq0s898lppkpzxlprq9aav49r06j2wx4dv3212rhp"))))
(build-system gnu-build-system)
(inputs
(list libx11 imlib2))
(list libx11
;; Needs an old imlib2 with the 'imlib2-config' program.
imlib2-1.7))
(home-page
;; This vanished page is universally accepted as giblib's home despite not
;; mentioning the package once.

View File

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

View File

@ -7,7 +7,7 @@
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 20172022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; 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 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2021 WinterHound <winterhound@yandex.com>
@ -151,7 +151,7 @@ irssi, but graphical.")
(define-public irssi
(package
(name "irssi")
(version "1.2.3")
(version "1.4.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/irssi/irssi/"
@ -159,7 +159,7 @@ irssi, but graphical.")
version ".tar.xz"))
(sha256
(base32
"17vninwcdfxw39xl2q55qircckckjk2xlvkvlwgj5lhlxppvyix6"))))
"00bmwkpzhqqnsajakk7dviap1i8s89375kwpdyxg65ms3ds94xka"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -172,8 +172,7 @@ irssi, but graphical.")
(string-append "--prefix=" out)
(string-append "--enable-true-color")
(string-append "--with-proxy")
(string-append "--with-socks")
(string-append "--with-bot")))))
(string-append "--with-socks")))))
(add-before 'check 'set-home
(lambda _
(setenv "HOME" (getcwd)))))))
@ -182,10 +181,14 @@ irssi, but graphical.")
(native-inputs
(list pkg-config))
(home-page "https://irssi.org/")
(synopsis "Terminal-based IRC client")
(synopsis "Extensible terminal-based IRC client")
(description
"Irssi is a terminal based IRC client for UNIX systems. It also supports
SILC and ICB protocols via plugins.")
"Irssi is a text terminal-based @acronym{IRC, Internet relay chat} client.
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+)))
(define-public weechat
@ -261,7 +264,7 @@ using a mouse. It is customizable and extensible with plugins and scripts.")
(define-public srain
(package
(name "srain")
(version "1.3.2")
(version "1.4.0")
(source
(origin
(method git-fetch)
@ -270,7 +273,7 @@ using a mouse. It is customizable and extensible with plugins and scripts.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "16nsxicixp7194bkiiyj7zrg05lhcp0xblqsbv6dq1lxd5wd3i96"))))
(base32 "113nvai3nr2c8mrr5q56fb7smg5awgb2f243sib4k1zj437v9q51"))))
(build-system meson-build-system)
(arguments
`(#:tests? #f ;there are no tests

View File

@ -3,7 +3,7 @@
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
;;; 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 © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
@ -18,6 +18,7 @@
;;; Copyright © 2021 Mike Gerwitz <mtg@gnu.org>
;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -4371,6 +4372,14 @@ from source tags and class annotations.")))
(copy-recursively "src/main/resources"
"build/classes/")
#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
;; 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
@ -4537,6 +4546,14 @@ from source tags and class annotations.")))
(copy-recursively "src/main/resources"
"build/classes/")
#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
(lambda _
(substitute* '("src/test/java/org/codehaus/plexus/metadata/DefaultComponentDescriptorWriterTest.java"
@ -5452,6 +5469,18 @@ including java-asm.")
(inputs
(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
(package
(name "java-cglib")
@ -6190,14 +6219,16 @@ included:
(define-public java-commons-lang3
(package
(name "java-commons-lang3")
(version "3.9")
(version "3.12.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://apache/commons/lang/source/"
"commons-lang3-" version "-src.tar.gz"))
(sha256
(base32 "0s4ffbvsyl16c90l45ximsg4dwd8hmz7wsza3p308fw43h6mwhb6"))))
(base32 "09dcv1pkdx3hpf06py8p9511f1wkin6jpacdll0c8vxpbi3yfwzv"))
(patches
(search-patches "java-commons-lang-fix-dependency.patch"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "commons-lang3.jar"

View File

@ -313,6 +313,63 @@ be able to view it naturally and easily.")))
(description (package-description js-mathjax))
(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
(package
(name "js-commander")
@ -771,22 +828,31 @@ Javascript and a small built-in standard library with C library wrappers.")
"19szwxzvl2g65fw95ggvb8h0ma5bd9vvnnccn59hwnc4dida1x4n"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No tests.
#:make-flags (list "-f" "Makefile.sharedlibrary"
(string-append "INSTALL_PREFIX=" %output))
#:phases
(modify-phases %standard-phases
(delete 'configure)
;; 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~@
(list #:tests? #f ; No tests.
#:make-flags
#~(list "-f" "Makefile.sharedlibrary"
(string-append "INSTALL_PREFIX="
;; XXX Replace with #$output on core-updates.
#$(if (%current-target-system)
#~#$output
#~%output))
;; XXX Unconditionally set to CC-FOR-TARGET on core-updates.
#$@(if (%current-target-system)
#~((string-append "CC=" #$(cc-for-target)))
#~()))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
;; 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~@
includedir=${prefix}/include~@
@ -795,7 +861,7 @@ Javascript and a small built-in standard library with C library wrappers.")
Version: ~a~@
Libs: -L${libdir} -lduktape~@
Cflags: -I${includedir}~%"
out ,version)))))))))
out #$version)))))))))
(home-page "https://duktape.org/")
(synopsis "Small embeddable Javascript engine")
(description "Duktape is an embeddable Javascript engine, with a focus on

View File

@ -87,7 +87,7 @@
(define-public extra-cmake-modules
(package
(name "extra-cmake-modules")
(version "5.70.0")
(version "5.91.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -96,7 +96,7 @@
name "-" version ".tar.xz"))
(sha256
(base32
"10c5xs5shk0dcshpdxg564ay5y8hgmvfvmlhmhjf0dy79kcah3c3"))))
"0k65rvxh926ya6qahzk2ns7g1fya1429648mlx7iipxa61g8h5wp"))))
(build-system cmake-build-system)
(native-inputs
;; Add test dependency, except on armhf where building it is too
@ -104,39 +104,55 @@
(if (and (not (%current-target-system))
(string=? (%current-system) "armhf-linux"))
'()
`(("qtbase" ,qtbase-5)))) ;for tests (needs qmake)
(list qtbase-5))) ;for tests (needs qmake)
(arguments
`(#:tests? ,(and (not (%current-target-system))
(not (null? (package-native-inputs this-package))))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-lib-path
(lambda _
;; Always install into /lib and not into /lib64.
(substitute* "kde-modules/KDEInstallDirs.cmake"
(("\"lib64\"") "\"lib\"")
;; TODO: Base the following on values taken from Qt
;; Install plugins into lib/qt5/plugins
;; TODO: Check if this is okay for Android, too
;; (see comment in KDEInstallDirs.cmake)
(("_define_relative\\(QTPLUGINDIR \"\\$\\{_pluginsDirParent}\" \"plugins\"")
"_define_relative(QTPLUGINDIR \"${_pluginsDirParent}\" \"qt5/plugins\"")
;; Install imports into lib/qt5/imports
(("_define_relative\\(QTQUICKIMPORTSDIR QTPLUGINDIR \"imports\"")
"_define_relative(QTQUICKIMPORTSDIR LIBDIR \"qt5/imports\"")
;; Install qml-files into lib/qt5/qml
(("_define_relative\\(QMLDIR LIBDIR \"qml\"")
"_define_relative(QMLDIR LIBDIR \"qt5/qml\""))
(substitute* "modules/ECMGeneratePriFile.cmake"
;; Install pri-files into lib/qt5/mkspecs
(("set\\(ECM_MKSPECS_INSTALL_DIR mkspecs/modules")
"set(ECM_MKSPECS_INSTALL_DIR lib/qt5/mkspecs/modules"))
#t))
;; 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))))
(list
#:tests? (and (not (%current-target-system))
(not (null? (package-native-inputs this-package))))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-lib-path
(lambda _
;; Always install into /lib and not into /lib64.
(substitute* "kde-modules/KDEInstallDirsCommon.cmake"
(("\"lib64\"") "\"lib\""))
;; Determine the install path by the major version of Qt.
;; TODO: Base the following on values taken from Qt
;; Install plugins into lib/qt5/plugins
;; TODO: Check if this is okay for Android, too
;; (see comment in KDEInstallDirs.cmake)
(substitute* '("kde-modules/KDEInstallDirs5.cmake"
"kde-modules/KDEInstallDirs6.cmake")
;; Fix the installation path of Qt plugins.
(("_define_relative\\(QTPLUGINDIR \"\\$\\{_pluginsDirParent}\" \"plugins\"")
"_define_relative(QTPLUGINDIR \"${_pluginsDirParent}\" \"qt${QT_MAJOR_VERSION}/plugins\"")
;; Fix the installation path of QML files.
(("_define_relative\\(QMLDIR LIBDIR \"qml\"")
"_define_relative(QMLDIR LIBDIR \"qt${QT_MAJOR_VERSION}/qml\""))
;; Qt Quick Control 1 is no longer available in Qt 6.
(substitute* '("kde-modules/KDEInstallDirs5.cmake")
(("_define_relative\\(QTQUICKIMPORTSDIR QTPLUGINDIR \"imports\"")
"_define_relative(QTQUICKIMPORTSDIR LIBDIR \"qt5/imports\""))
(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.
;; Sphinx > 1.2:
;; 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 groff)
#:use-module (gnu packages selinux)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages swig)
#:use-module (guix platform)
#: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
;; 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 deblob-scripts-5.17
(linux-libre-deblob-scripts
linux-libre-5.17-version
linux-libre-5.17-gnu-revision
(base32 "08ip5g827f30qzb3j2l19zkbdqv00sij46nbrjg75h5kkasdbfgr")
(base32 "1zd4ds6ha4a2acqnalp234r2m9rz9p30qmy1aqri78i06aw7flwn")))
(base32 "1654fibbwnbcgnikn1qqa5igd2j90kslbb3pshph5wpj052cvgjy")))
(define-public linux-libre-5.17-pristine-source
(let ((version linux-libre-5.17-version)
(hash (base32 "0yr8xfds5l1s3lk8qk67mgy0l4yh2jfvjc7xwrfws3ci020ss9a2")))
(hash (base32 "0a5n1lb43nhnhwjwclkk3dqp2nxsx5ny7zfl8idvzshf94m9472a")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
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.
;; Here are the support timelines:
;; <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 deblob-scripts-5.15
(linux-libre-deblob-scripts
linux-libre-5.15-version
linux-libre-5.15-gnu-revision
(base32 "1n57mz5agvf1d0ggbg080d7hvx8p9y0iqxkq4ypg10a7n96zy7y5")
(base32 "0gs92qbpvirwd02rpwwnja7771z2azbiy9ppy9ynpr14lxmzxnnh")))
(base32 "17xsn91h0c2d8igpzgmjm1g58nfpihlhgg9wm8zbfyd5g4airs8f")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
(hash (base32 "1p1jz0lxmzyj0c51afqghylg9kblk8zmlw92zq6bsn37wlwbrylv")))
(hash (base32 "1700js21yimx8rz4bsglszry564l2ycmmcr36rdqspzbmlx5w8wb")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
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 deblob-scripts-5.10
(linux-libre-deblob-scripts
linux-libre-5.10-version
linux-libre-5.10-gnu-revision
(base32 "0mw7qn77y9c6wrnw4rjvf75cpm1w6n1aqqhf8cnghcb97p2yxxrf")
(base32 "1xyhz0dyrkg2avz382ly3dzpa5v89x49gfzx80c1drpwsk7jg6gp")))
(base32 "1ryfc8fppigssrzz5lfbqgli49cgs3lmf0yh46lpi2k0j2x30qcc")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
(hash (base32 "04952zaz2kfwf7agy4laz50f9sl3mrnpqlbwbj84q1xpl9akwd9y")))
(hash (base32 "0h0gfi3p1dd4p8xxklrl8sc3rv4xd08q7nv0i4m166w8188v62wj")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
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 deblob-scripts-5.4
(linux-libre-deblob-scripts
@ -409,12 +410,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "05i286d98fm2pdf9724x1dsmfcm7gsd7yyyvxqlpisyj1kx14hda")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "1x5irgki792f21hm5146xary0260cl9r475kvw8vm9w32vyx18ig")))
(hash (base32 "0wvscr5wia2xdiqfxxdwl8kxf1s085qdj5h4423mraj7dh6l0ihh")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
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 deblob-scripts-4.19
(linux-libre-deblob-scripts
@ -424,12 +425,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1dnjgx1nmawm9gm0yf15nl80nmg7hy7q2vl3jxjbwj6hlrfv5dmx")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "1s58qci6xhmss12glzkqk41kp60pqmzh4d84kyz4m4nf4xhdvzcr")))
(hash (base32 "136gmsmvgb2nid4by2ld003w06lsr7hgn9ajx0wfziag7pfnjsv2")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
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 deblob-scripts-4.14
(linux-libre-deblob-scripts
@ -439,12 +440,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1dnjgx1nmawm9gm0yf15nl80nmg7hy7q2vl3jxjbwj6hlrfv5dmx")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
(hash (base32 "0pivb1m2cwqnlm8bhd4ccnlq9pwp2r5lmn77gp91k6vbjv3gkqis")))
(hash (base32 "191gybhnck4mh9yjzwgv1crrbxjc90p12bcif721rbs6xzszmxzh")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
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 deblob-scripts-4.9
(linux-libre-deblob-scripts
@ -454,7 +455,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "14jyn2yrbm6ayp0bszs4f9jy3p1qkrj5p5gf5c42spr67aa2lv2v")))
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
(hash (base32 "05yd7djm6dcxv3vaylhmj3p0yml421azv8qabmhv4ric1f99idjp")))
(hash (base32 "09czsc0ynyw068yczs9qx4cliqmrh5hvz93c77lhh014wn02pba4")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
@ -3694,7 +3695,7 @@ for systems using the Linux kernel. This includes commands such as
(define-public inotify-tools
(package
(name "inotify-tools")
(version "3.20.11.0")
(version "3.22.6.0")
(source (origin
(method git-fetch)
(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))
(sha256
(base32
"1m8avqccrhm38krlhp88a7v949f3hrzx060bbrr5dp5qw2nmw9j2"))))
"1j9j8k5zjp8m4cl53zjncnll9z4dnvzr4ygmfcjk0ci81i59b18i"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake libtool))
@ -5575,7 +5576,7 @@ and copy/paste text in the console and in xterm.")
(define-public btrfs-progs
(package
(name "btrfs-progs")
(version "5.15.1")
(version "5.18.1")
(source (origin
(method url-fetch)
(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"))
(sha256
(base32
"085rg9p7kifhh8kjyyhs38y86srwk820s6v07min5gb177rzhc32"))))
"0mbj3j2fpjds9i9gm8kk8a20yjacc562ibd1v9a96bpmrxfag63f"))))
(build-system gnu-build-system)
(outputs '("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:static" ,zstd "static")))
(native-inputs `(("pkg-config" ,pkg-config)
("asciidoc" ,asciidoc)
("python" ,python)
("xmlto" ,xmlto)
;; For building documentation.
("libxml2" ,libxml2)
("docbook-xsl" ,docbook-xsl)
("python-sphinx" ,python-sphinx)
;; For tests.
("acl" ,acl)
("which" ,which)
("dmsetup" ,lvm2)
;; The tests need 'grep' with perl regexp support.
("grep" ,grep)))
("grep" ,grep) ; need Perl regexp support
("libaio" ,libaio)
("liburing" ,liburing)
("util-linux" ,util-linux) ; for fallocate
("which" ,which)))
(home-page "https://btrfs.wiki.kernel.org/index.php/Main_Page")
(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,
repair and easy administration.")
;; 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
(name "rng-tools")
(home-page "https://github.com/nhorman/rng-tools")
(version "6.14")
(version "6.15")
(source (origin
(method git-fetch)
(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))
(sha256
(base32
"1hrbm4y7fbzkg5j2f7vpj19ri2ff2lp77al17fhi4mv0bvdfjd9m"))))
"0i00if7xknpm0dhkrm60rxzyyvq0vdibq7dvsd2ncm9pg098qvwj"))))
(build-system gnu-build-system)
(arguments
`(;; 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.
#:configure-flags '("--without-nistbeacon"
"--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
(list autoconf automake pkg-config))
(inputs
`(("libsysfs" ,sysfsutils)
("openssl" ,openssl)))
(list sysfsutils openssl))
(synopsis "Random number generator daemon")
(description
"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
(package
(name "libnftnl")
(version "1.2.1")
(version "1.2.2")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://netfilter.org/libnftnl/"
"libnftnl-" version ".tar.bz2"))
(sha256
(base32 "0z4khm2mnys9mcl8ckwf19cw20jgrv8650nfncy3xcgs2k2aa23m"))))
(base32 "02kdxp4l1ds5lpkw6rxv6f7icc70am6ik3p9z5l8v48mkm7h1z4y"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
@ -7289,7 +7295,7 @@ used by nftables.")
(define-public nftables
(package
(name "nftables")
(version "1.0.2")
(version "1.0.4")
(source
(origin
(method url-fetch)
@ -7298,9 +7304,7 @@ used by nftables.")
(string-append "https://www.nftables.org/projects/nftables"
"/files/nftables-" version ".tar.bz2")))
(sha256
(base32 "00jcjn1pl7qyqpg8pd4yhlkys7wbj4vkzgg73n27nmplzips6a0b"))
(patches
(search-patches "nftables-fix-makefile.patch"))))
(base32 "0ddsdj6zs78hndffl3iikpa1wzjxcpmr3xqcq4la71gnl7zb2zwj"))))
(build-system gnu-build-system)
(arguments `(#:configure-flags
'("--disable-static"
@ -9095,7 +9099,7 @@ kernel side implementation.")
(define-public erofs-utils
(package
(name "erofs-utils")
(version "1.4")
(version "1.5")
(source
(origin
(method git-fetch)
@ -9104,7 +9108,7 @@ kernel side implementation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ygaw69pfz2hfzw9cqzg9rfnjzrdbfkwsiinz6qs2h56dssjz0y9"))))
(base32 "0rgkw3b924xdg49v3qi8a10w41zfk276wb6fp71lb9q9cfc81idw"))))
(build-system gnu-build-system)
(inputs
(list lz4
@ -9203,7 +9207,7 @@ older system-wide @file{/sys} interface.")
(define-public libtree
(package
(name "libtree")
(version "3.0.2")
(version "3.1.1")
(source
(origin
(method git-fetch)
@ -9212,7 +9216,7 @@ older system-wide @file{/sys} interface.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "072624anz9g01mp5vfkahfmzy0nb7axg5rwk3n1yrdm4hr3d4zrb"))))
(base32 "1jbc60cslzcfxk9jwva51ncr1zl1nz0fkgfjdckgv81is11nswmb"))))
(arguments
(list #:make-flags
;; NOTE: Official documentation recommends to build libtree with
@ -9221,6 +9225,15 @@ older system-wide @file{/sys} interface.")
(string-append "PREFIX=" #$output))
#: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))))
(build-system gnu-build-system)
(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
(package
(name "sbcl-cl-webkit")
(version "3.5.1")
(version "3.5.3")
(source
(origin
(method git-fetch)
@ -3411,7 +3411,7 @@ is a library for creating graphical user interfaces.")
(file-name (git-file-name "cl-webkit" version))
(sha256
(base32
"1zfqwr6vmdd9a2nx3j3ihf8y9sah354wi2rgpq7dy4dkc6wxxd48"))))
"076lqj8ns9s7z980g3p2llw3k6hgsqnsvw8vjjslbpas2jzf26nr"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("cffi" ,sbcl-cffi)
@ -4457,7 +4457,7 @@ addition, removal, and random selection.")
(define-public sbcl-quri
(package
(name "sbcl-quri")
(version "0.4.0")
(version "0.5.0")
(source
(origin
(method git-fetch)
@ -4466,7 +4466,7 @@ addition, removal, and random selection.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0ka5haq3g72hvaz4hdv7y1d6df9ncmx029wwixn4r413gll5yxy7"))))
(base32 "0zpwjhs2zz9832wsjs00kbkjjl4bcs96krlnq9y75gi4f34fxj1x"))))
(build-system asdf-build-system/sbcl)
(arguments
;; 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")
(description
"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)))
(define-public cl-quri
@ -6056,12 +6056,12 @@ cookie headers, cookie creation, cookie jar creation and more.")
(sbcl-package->ecl-package sbcl-cl-cookie))
(define-public sbcl-dexador
(let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
(let ((commit "74a233edb0ebf2b8c696fb8db984ac568fbcc4e5")
(revision "1"))
(package
(name "sbcl-dexador")
(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")
(source
(origin
@ -6069,36 +6069,35 @@ cookie headers, cookie creation, cookie jar creation and more.")
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(file-name (git-file-name "cl-dexador" version))
(sha256
(base32
"0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
(base32 "14cbykd9j8klm8sz3siq5zk78a0ljd6rdwfq12fi4h1ih50apyfi"))))
(inputs
`(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
("babel" ,sbcl-babel)
("usocket" ,sbcl-usocket)
("fast-http" ,sbcl-fast-http)
("quri" ,sbcl-quri)
("fast-io" ,sbcl-fast-io)
("chunga" ,sbcl-chunga)
("cl-ppcre" ,sbcl-cl-ppcre)
("cl-cookie" ,sbcl-cl-cookie)
("trivial-mimes" ,sbcl-trivial-mimes)
("chipz" ,sbcl-chipz)
("cl-base64" ,sbcl-cl-base64)
("cl-reexport" ,sbcl-cl-reexport)
("cl+ssl" ,sbcl-cl+ssl)
("bordeaux-threads" ,sbcl-bordeaux-threads)
("alexandria" ,sbcl-alexandria)))
(list sbcl-alexandria
sbcl-babel
sbcl-bordeaux-threads
sbcl-chipz
sbcl-chunga
sbcl-cl+ssl
sbcl-cl-base64
sbcl-cl-cookie
sbcl-cl-ppcre
sbcl-cl-reexport
sbcl-fast-http
sbcl-fast-io
sbcl-quri
sbcl-trivial-gray-streams
sbcl-trivial-mimes
sbcl-usocket))
(native-inputs
`(("prove" ,sbcl-prove)
("lack" ,sbcl-lack)
("clack" ,sbcl-clack)
("babel" ,sbcl-babel)
("alexandria" ,sbcl-alexandria)
("cl-ppcre" ,sbcl-cl-ppcre)
("local-time" ,sbcl-local-time)
("trivial-features" ,sbcl-trivial-features)))
(list sbcl-alexandria
sbcl-babel
sbcl-cl-ppcre
sbcl-clack
sbcl-lack
sbcl-local-time
sbcl-prove
sbcl-trivial-features))
(arguments
;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
`(#:tests? #f
@ -6242,6 +6241,42 @@ can and/or provide reasonable defaults.")
(define-public ecl-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
(let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
(revision "2"))
@ -7504,8 +7539,8 @@ implementation specific equivalent.")
(sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
(define-public sbcl-serapeum
(let ((commit "c29a52ff0c5f6e60b09919c3a0daa8df7599ddb9")
(revision "6"))
(let ((commit "d2150c6fb75c16f2ee0abd145a1089d0019e7f7e")
(revision "7"))
(package
(name "sbcl-serapeum")
(version (git-version "0.0.0" revision commit))
@ -7518,34 +7553,34 @@ implementation specific equivalent.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0vij9jhji09way1rpd0r5sgjnh5amm3f2ymppnqkw0c6nnk2p0kd"))))
(base32 "1czs771nyqz45ndd09iiva2swvazy1b2z0k6h4qqdd839vnjcs06"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("alexandria" ,sbcl-alexandria)
("trivia" ,sbcl-trivia)
("split-sequence" ,sbcl-split-sequence)
("string-case" ,sbcl-string-case)
("parse-number" ,sbcl-parse-number)
("trivial-garbage" ,sbcl-trivial-garbage)
("bordeaux-threads" ,sbcl-bordeaux-threads)
("named-readtables" ,sbcl-named-readtables)
("fare-quasiquote" ,sbcl-fare-quasiquote)
("parse-declarations-1.0" ,sbcl-parse-declarations)
("global-vars" ,sbcl-global-vars)
("trivial-file-size" ,sbcl-trivial-file-size)
("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
(list sbcl-alexandria
sbcl-trivia
sbcl-split-sequence
sbcl-string-case
sbcl-parse-number
sbcl-trivial-garbage
sbcl-bordeaux-threads
sbcl-parse-declarations
sbcl-introspect-environment
sbcl-trivial-cltl2
sbcl-global-vars
sbcl-trivial-file-size
sbcl-trivial-macroexpand-all))
(native-inputs
`(("fiveam" ,sbcl-fiveam)
("local-time" ,sbcl-local-time)))
(list sbcl-atomics
sbcl-fiveam
sbcl-local-time))
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "serapeum.asd"
;; Guix does not have Quicklisp, and probably never will.
(("\\(:file \"quicklisp\"\\)") ""))
#t)))))
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda _
(substitute* "serapeum.asd"
;; Guix does not have Quicklisp, and probably never will.
(("\\(:file \"quicklisp\"\\)") "")))))))
(synopsis "Common Lisp utility library beyond Alexandria")
(description
"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))
(define-public sbcl-cmd
(let ((commit "b0b79adf1214dbec082f3dd2274a72a0ff58efd7"))
(let ((commit "fda9e6bd9137ea806313151716fd87578cdbc882"))
(package
(name "sbcl-cmd")
(version (git-version "0.0.1" "5" commit))
(version (git-version "0.0.1" "6" commit))
(source
(origin
(method git-fetch)
@ -14341,7 +14376,7 @@ standard library.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0kk29vydmi1fyhpbwy3mrsg3bhvx0478r6r7jcsfkr3ci2h8w8a1"))))
(base32 "0j2yns565mp2rsiz8lc75psk7wws9qz8rh74n4vf9zdyrw16ckpf"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("alexandria" ,sbcl-alexandria)
@ -15383,51 +15418,53 @@ return the CPU count of the current system.")
(sbcl-package->cl-source-package sbcl-cl-cpus))
(define-public sbcl-fof
(package
(name "sbcl-fof")
(version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/ambrevar/fof")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0j64b7p40h8bq33hqkpgakm3vs1607vyx6n48d7qg3287v1akk6m"))))
(build-system asdf-build-system/sbcl)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "ffprobe.lisp"
(("\\(defvar \\*ffprobe-command\\* \"ffprobe\"\\)")
(format #f "(defvar *ffprobe-command* \"~a/bin/ffprobe\")"
(assoc-ref inputs "ffmpeg") )))
#t)))))
(inputs
`(("alexandria" ,sbcl-alexandria)
("hu.dwim.defclass-star" ,sbcl-hu.dwim.defclass-star)
("local-time" ,sbcl-local-time)
("magicffi" ,sbcl-magicffi)
("osicat" ,sbcl-osicat)
("serapeum" ,sbcl-serapeum)
("str" ,sbcl-cl-str)
("trivia" ,sbcl-trivia)
("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)
;; Non-CL deps:
("ffmpeg" ,ffmpeg)))
(home-page "https://gitlab.com/ambrevar/fof")
(synopsis "File object finder library for Common Lisp")
(description
"This library enable rapid file search, inspection and manipulation
(let ((commit "522879e7da110ecf2e841998b197b34062c54b29")
(revision "1"))
(package
(name "sbcl-fof")
(version (git-version "0.2.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/ambrevar/fof")
(commit commit)))
(file-name (git-file-name "cl-fof" version))
(sha256
(base32 "0ipy51q2fw03xk9rqcyzbq2b9c32npc1gl3c53rdjywpak7zwwg6"))))
(build-system asdf-build-system/sbcl)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "ffprobe.lisp"
(("\\(defvar \\*ffprobe-command\\* \"ffprobe\"\\)")
(format #f "(defvar *ffprobe-command* \"~a/bin/ffprobe\")"
(assoc-ref inputs "ffmpeg")))))))))
(inputs
(list sbcl-alexandria
sbcl-cl-str
sbcl-hu.dwim.defclass-star
sbcl-local-time
sbcl-magicffi
sbcl-named-readtables
sbcl-osicat
sbcl-serapeum
sbcl-trivia
sbcl-trivial-package-local-nicknames
;; Non-CL deps:
ffmpeg))
(home-page "https://gitlab.com/ambrevar/fof")
(synopsis "File object finder library for Common Lisp")
(description
"This library enable rapid file search, inspection and manipulation
straight from the REPL.
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.
Slot writers which commit changes to disk, e.g. permissions, modification
time, etc.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public ecl-fof
(sbcl-package->ecl-package sbcl-fof))
@ -15463,6 +15500,36 @@ numbers in Common Lisp.")
(define-public cl-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
(package
(name "sbcl-html-template")
@ -20820,7 +20887,7 @@ access lexicographic data from WordNet.")
(define-public sbcl-nfiles
(package
(name "sbcl-nfiles")
(version "0.4.1")
(version "0.4.2")
(source
(origin
(method git-fetch)
@ -20830,7 +20897,7 @@ access lexicographic data from WordNet.")
(file-name (git-file-name "cl-nfiles" version))
(sha256
(base32
"05brlj99grcy2iz84dvl76inp10jxnvjyh2r262d1las112rlcrb"))))
"06cll4l5gbp98wrgdy04ar6z00sag0b46pr4dv4n6bs1ypfcgs01"))))
(build-system asdf-build-system/sbcl)
(inputs
(list gnupg

View File

@ -923,7 +923,7 @@ the HTML documentation of TXR.")
(define-public txr
(package
(name "txr")
(version "274")
(version "277")
(source
(origin
(method git-fetch)
@ -932,7 +932,7 @@ the HTML documentation of TXR.")
(commit (string-append "txr-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0sz5wqqhmj2b9h9q95s8x4gb4cia6qddqp2mg29a5dpdh6jh3qyp"))))
(base32 "1w6q5inydz0cf4g3y8954msxfb2clf4nj4aqiiayp0z2y96b7bhk"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@ -991,7 +991,8 @@ the HTML documentation of TXR.")
man-for-txr))
(inputs
(list bash-minimal
libffi))
libffi
zlib))
(synopsis "General-purpose, multi-paradigm programming language")
(description
"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 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -53,6 +54,7 @@
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages gcc)
#:use-module (gnu packages bootstrap) ;glibc-dynamic-linker
@ -541,10 +543,10 @@ output), and Binutils.")
("libc-static" ,glibc "static")))))
(define %llvm-monorepo-hashes
'(("14.0.4" . "1y4yvx749cn3gkpc9kf48xbd2wc2lry8x5zdpk3sbrkqs8vrji4q")))
'(("14.0.5" . "1hdv020x4k5fp38hik3bxz8k2sr3gnyj9iym3yhjhwygzgwgxjh9")))
(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)
(origin
@ -559,7 +561,7 @@ output), and Binutils.")
(define-public llvm-14
(package
(name "llvm")
(version "14.0.4")
(version "14.0.5")
(source (llvm-monorepo version))
(build-system cmake-build-system)
(outputs '("out" "opt-viewer"))
@ -577,9 +579,9 @@ output), and Binutils.")
;; These options are required for cross-compiling LLVM according
;; to <https://llvm.org/docs/HowToCrossCompileLLVM.html>.
#$@(if (%current-target-system)
#~(,(string-append "-DLLVM_TABLEGEN="
#+(file-append this-package
"/bin/llvm-tblgen"))
#~((string-append "-DLLVM_TABLEGEN="
#+(file-append this-package
"/bin/llvm-tblgen"))
#$(string-append "-DLLVM_DEFAULT_TARGET_TRIPLE="
(%current-target-system))
#$(string-append "-DLLVM_TARGET_ARCH="
@ -647,7 +649,7 @@ of programming tools as well as libraries with equivalent functionality.")
(package-version llvm-14)))
(sha256
(base32
"1vcgmvh0r28a1z87p3y4h2326zi8liq7l9mcfvmx22x9bmbcpfn8"))))))
"1p9y5fbcw3ynb79nzyadirwdla03bq38k6d9nhv9x8z2q4ypsga4"))))))
(package
(inherit template)
(arguments
@ -740,6 +742,14 @@ of programming tools as well as libraries with equivalent functionality.")
#:build-type "Release"
#:phases
(modify-phases %standard-phases
,@(if (assoc "config" (package-native-inputs this-package))
`((add-after 'unpack 'update-config
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(let ((config.guess (search-input-file
(or inputs native-inputs)
"/bin/config.guess")))
(copy-file config.guess "cmake/config.guess")))))
'())
(add-before 'build 'shared-lib-workaround
;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen
;; doesn't seem to get the correct rpath to be able to run
@ -824,7 +834,14 @@ of programming tools as well as libraries with equivalent functionality.")
(uri (llvm-uri "llvm" version))
(sha256
(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
(clang-runtime-from-llvm
@ -1109,10 +1126,10 @@ of programming tools as well as libraries with equivalent functionality.")
(define-public llvm-for-rocm
(package
;; Actually based on LLVM 13 as of v4.3, but llvm-12 works just fine.
(inherit llvm-12)
;; Based on LLVM 14 as of v5.0.0
(inherit llvm-14)
(name "llvm-for-rocm")
(version "4.3.0") ;this must match '%rocm-version'
(version "5.1.3") ;this must match '%rocm-version'
(source (origin
(method git-fetch)
(uri (git-reference
@ -1121,10 +1138,9 @@ of programming tools as well as libraries with equivalent functionality.")
(file-name (git-file-name name version))
(sha256
(base32
"0p75nr1qpmy6crymdax5hm40wkimman4lnglz4x5cnbiqindya7s"))
"0j6ydfkwrxwskgnhxc3cmry42n5faqbnwf2747qgf7lz5id8h8g5"))
(patches
(search-patches "llvm-roc-4.2.0-add_Object.patch"
"llvm-roc-3.0.0-add_libraries.patch"
(search-patches "llvm-roc-5.0.0-linkdl.patch"
"llvm-roc-4.0.0-remove-isystem-usr-include.patch"))))
(arguments
(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"
"-DLLVM_VERSION_SUFFIX="))))
(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
(package
(name "lld")
(version "14.0.4")
(version "14.0.5")
(source (llvm-monorepo version))
(build-system cmake-build-system)
(inputs

View File

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

View File

@ -570,21 +570,37 @@ sample proximities between pairs of cases.")
(define-public openfst
(package
(name "openfst")
(version "1.7.9")
(version "1.8.2")
(source (origin
(method url-fetch)
(uri (string-append "http://www.openfst.org/twiki/pub/FST/"
"FstDownload/openfst-" version ".tar.gz"))
(sha256
(base32
"1pmx1yhn2gknj0an0zwqmzgwjaycapi896244np50a8y3nrsw6ck"))))
"0hlbdmjjf1jgsvi3d2hwni5lz3l9a5bzj6ijpbawa8a7cbrpp66y"))))
(build-system gnu-build-system)
(arguments '(#:configure-flags '("--enable-ngram-fsts")))
(home-page "http://www.openfst.org")
(synopsis "Library for weighted finite-state transducers")
(description "OpenFst is a library for constructing, combining,
optimizing, and searching weighted finite-state transducers (FSTs).")
(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
(package
(name "shogun")
@ -1465,8 +1481,9 @@ discrete, and conditional dimensions.")
;; There have been no proper releases yet.
(define-public kaldi
(let ((commit "d4791c0f3fc1a09c042dac365e120899ee2ad21e")
(revision "2"))
(let ((commit "dd107fd594ac58af962031c1689abfdc10f84452")
(revision "0")
(openfst openfst-1.7.3)) ;; Temporary bypass for upstream issues
(package
(name "kaldi")
(version (git-version "0" revision commit))
@ -1478,7 +1495,7 @@ discrete, and conditional dimensions.")
(file-name (git-file-name name version))
(sha256
(base32
"07k80my6f19mhrkwbzhjsnpf9871wmrwkl0ym468i830w67qyjrz"))))
"0iqbzgn7gzmgwvjfzifpbwwidxx887qmlgmsjkg7b1yzyfv00l21"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@ -1502,6 +1519,8 @@ discrete, and conditional dimensions.")
"gst-plugin/Makefile")
(("../../tools/portaudio/install")
(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
;; arguments, nor does it support "prefix".

View File

@ -47,6 +47,7 @@
;;; Copyright © 2022 Andrew Tropin <andrew@trop.in>
;;; Copyright © 2022 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.com>
;;; Copyright © 2022 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -87,6 +88,7 @@
#:use-module (gnu packages django)
#:use-module (gnu packages dns)
#:use-module (gnu packages docbook)
#:use-module (gnu packages docker)
#:use-module (gnu packages documentation)
#:use-module (gnu packages emacs)
#:use-module (gnu packages enchant)
@ -1333,14 +1335,14 @@ invoking @command{notifymuch} from the post-new hook.")
(define-public notmuch
(package
(name "notmuch")
(version "0.35")
(version "0.36")
(source
(origin
(method url-fetch)
(uri (string-append "https://notmuchmail.org/releases/notmuch-"
version ".tar.xz"))
(sha256
(base32 "0fdc81m24xrbhfrhw00g12ak4b8hap4961sq7ap6q2pjqhac8cd8"))))
(base32 "0h6f6mh9m9vrijm638x5sbsl321b74a25cdasbxhx67x62w320hk"))))
(build-system gnu-build-system)
(arguments
(list
@ -1474,8 +1476,7 @@ useful for email address completion.")
(let ((notmuch (assoc-ref inputs "notmuch")))
(substitute* "notmuch/globals.py"
(("libnotmuch\\.so\\.")
(string-append notmuch "/lib/libnotmuch.so.")))
#t))))))
(string-append notmuch "/lib/libnotmuch.so.")))))))))
(home-page (package-home-page notmuch))
(synopsis "Python bindings of the Notmuch mail indexing library")
(description
@ -1551,7 +1552,7 @@ pairs have previously synchronized.")
(define-public getmail6
(package
(name "getmail6")
(version "6.18.6")
(version "6.18.9")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1560,7 +1561,7 @@ pairs have previously synchronized.")
(file-name (git-file-name name version))
(sha256
(base32
"08a5yw6ll1kmd1ardj8rzhsw4wl48zzdc87g5lh4p5snv8w2m4ja"))))
"1ch5hagkpybmkgg2wbb2mids3nbmjqgdqjhczzz7pvj4hx2m8fdb"))))
(build-system python-build-system)
(arguments (list #:tests? #f)) ;tests require docker
(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,
IMAP4, SSL variants of both, maildirs, mboxrd files, external MDAs, arbitrary
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.")
(license license:gpl2+))) ;see docs/COPYING
@ -1632,7 +1633,7 @@ compresses it.")
(define-public claws-mail
(package
(name "claws-mail")
(version "4.0.0")
(version "4.1.0")
(source
(origin
(method url-fetch)
@ -1640,7 +1641,7 @@ compresses it.")
(string-append "https://www.claws-mail.org/releases/claws-mail-"
version ".tar.xz"))
(sha256
(base32 "0xg41rxxq2q5vhjzbh8p12s248kcljk6g7y0m6raq7nrllkbvwja"))))
(base32 "13ksh4iwr23zi86fwmiwxha94xqrr5zxq373i82rwaldvfh9q6hf"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags
@ -1670,7 +1671,7 @@ compresses it.")
(search-input-file inputs "/share/mime/globs"))))))))
(native-inputs
(list bison
;;("docbook-utils" ,docbook-utils)
;;docbook-utils
flex
gettext-minimal
gobject-introspection
@ -1890,7 +1891,7 @@ facilities for checking incoming mail.")
(package
(name "dovecot")
;; Also update dovecot-pigeonhole when updating to a new minor version.
(version "2.3.19")
(version "2.3.19.1")
(source
(origin
(method url-fetch)
@ -1898,7 +1899,7 @@ facilities for checking incoming mail.")
(version-major+minor version) "/"
"dovecot-" version ".tar.gz"))
(sha256
(base32 "0ys3zq9b1rgj1cz6a0i9l421y6h2j3b5zak2ia5j9dj1sj9zcwq1"))))
(base32 "0lawd8grwxass1frlw9bdd49fpwwxsv2qnxllsg6a2bkgpcbqnnv"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
@ -2423,21 +2424,29 @@ compatibility shims for the @command{sendmail}, @command{mailq}, and
(define-public fdm
(package
(name "fdm")
(version "2.0")
(version "2.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/nicm/fdm/releases/download/"
version "/fdm-" version ".tar.gz"))
(sha256
(base32 "196fs1z8y7p12wmqn1bylzz94szl58yv2aby3p30nmwjnyv8rch6"))))
(base32 "1zxd5j5x2gp6m62j83xsjyfglw1p6gn4zk5qx10djdh8xzkg53c5"))))
(build-system gnu-build-system)
(inputs
(list tdb openssl zlib))
(home-page "https://github.com/nicm/fdm")
(synopsis "Mail Retrieval Agent (MRA) and Mail Delivery Agent (MDA)")
(description "fdm is a program designed to fetch mail from POP3
or IMAP servers, or receive local mail from stdin, and
deliver it in various ways.")
(synopsis
"@acronym{MRA, Mail Retrieval Agent} and @acronym{MDA, Mail Delivery Agent}")
(description "fdm fetches and delivers mail 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
;; 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
@ -3671,7 +3680,7 @@ operators and scripters.")
(define-public alpine
(package
(name "alpine")
(version "2.25")
(version "2.26")
(source
(origin
(method git-fetch)
@ -3684,14 +3693,12 @@ operators and scripters.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0z6dp3cpz1dmbxw41ravsx1bxychafp0ij8gvj96mzz7rm9pdnq3"))
(base32 "1padh9kgn9blzjf0016i2f15c615fk17m8vg8kx301jhmc2r973h"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove pre-built binaries scattered across the source repository.
(for-each delete-file (find-files "." "\\.(dll|exe)"))))
(patches
(search-patches "alpine-fix-privacy-policy-crash.patch"))))
(for-each delete-file (find-files "." "\\.(dll|exe)"))))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@ -4087,10 +4094,16 @@ Git and exports them in maildir format or to an MDA through a pipe.")
(sha256
(base32
"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)
(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
(modify-phases %standard-phases
(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"
(("'xapian-compact'")
(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
(lambda _
(substitute* "t/spawn.t"
(("\\['env'\\]") (string-append "['" (which "env") "']")))
(substitute* "t/ds-leak.t"
(("/bin/sh") (which "sh")))
(invoke "./certs/create-certs.perl")
;; XXX: This test fails due to zombie process is not reaped by
;; the builder.
(substitute* "t/httpd-unix.t"
(("^SKIP: \\{") "SKIP: { skip('Guix');"))))
(invoke "./certs/create-certs.perl")))
(replace 'check
(lambda* (#:key target
(tests? (not target)) (test-flags '())
#:allow-other-keys)
(if tests?
(match (primitive-fork)
(0 ;child process
;; 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
(lambda* (#:key inputs outputs #:allow-other-keys)
(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")))))))))
(native-inputs
(list ;; For testing.
lsof openssl))
lsof openssl tini))
(inputs
(list bash-minimal
curl

View File

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

View File

@ -3,6 +3,7 @@
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;;
;;; 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
would like to sign jars please use the Maven Jarsigner Plugin instead.")
(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
(package
(name "qtox")
(version "1.17.4")
(version "1.17.6")
(source (origin
(method url-fetch)
(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"))
(sha256
(base32
"086hvm0q2vl2lq8zlp8s9sivlic6sg7ga5ixz01hbsyrashvil63"))
"1ml8z1xpp3qhip4vkr375jf7y5kc18g0apm91n5am6ricx37c01r"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system cmake-build-system)
(arguments

View File

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

View File

@ -49,6 +49,7 @@
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2022 Simon South <simon@simonsouth.net>
;;; Copyright © 2022 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -114,6 +115,7 @@
#:use-module (gnu packages image)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libidn)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages kerberos)
@ -129,6 +131,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages polkit)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
@ -547,6 +550,54 @@ It also includes some SCTP-related helper utilities.")
SCTP-aware kernel (most are).")
(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
(package
(name "knockd")
@ -2772,6 +2823,12 @@ updates to the zebra daemon.")
#:tests? #f ; No test suite.
#: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.
(add-before 'build 'patch-paths
(lambda _
@ -3221,7 +3278,7 @@ Ethernet and TAP interfaces is supported. Packet capture is also supported.")
(define-public hcxtools
(package
(name "hcxtools")
(version "5.2.0")
(version "6.2.7")
(source
(origin
(method git-fetch)
@ -3229,19 +3286,22 @@ Ethernet and TAP interfaces is supported. Packet capture is also supported.")
(url "https://github.com/ZerBea/hcxtools")
(commit version)))
(sha256
(base32 "0k2qlq9hz5zc21nyc6yrnfqzga7hydn5mm0x3rpl2fhkwl81lxcn"))
(base32 "0460dxbc04w60l3g06rk007yyb6qprgyii59y2zdki0vy7q63m8b"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(inputs
(list curl libpcap openssl zlib))
(native-inputs (list pkg-config))
(inputs (list curl libpcap openssl zlib))
(arguments
`(#:make-flags
(list ,(string-append "CC=" (cc-for-target))
(string-append "INSTALLDIR=" (assoc-ref %outputs "out") "/bin"))
#:tests? #f ; no test suite
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(list #:make-flags
#~(list (string-append "CC="
#$(cc-for-target)) "LDFLAGS+=-lcrypto"
"LDFLAGS+=-lcurl" "LDFLAGS+=-lz"
(string-append "PREFIX="
#$output))
#:tests? #f ;no test suite
#:phases
#~(modify-phases %standard-phases
(delete 'configure))))
(home-page "https://github.com/ZerBea/hcxtools")
(synopsis "Capture wlan traffic to hashcat and John the Ripper")
(description
@ -3359,7 +3419,7 @@ communication over HTTP.")
(define-public restinio
(package
(name "restinio")
(version "0.6.14")
(version "0.6.15")
(source (origin
(method git-fetch)
(uri (git-reference
@ -3368,7 +3428,7 @@ communication over HTTP.")
(file-name (git-file-name name version))
(sha256
(base32
"0j44mglsljwkw49583hcsrl5ck2g56n9srnm10kpbsz2dx5apx98"))))
"1f8d5nfm8jqhspzsslwb1b7j4glipz31i9vszrcnkx3clc39nj2n"))))
(build-system cmake-build-system)
(inputs ; TODO: Need to force-keep references on some inputs, e.g. boost.
(list zlib

View File

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

View File

@ -1,5 +1,5 @@
;;; 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.
;;;
@ -102,13 +102,13 @@ GUI based workflow. It is primarily used in the Orange framework.")
(define-public orange
(package
(name "orange")
(version "3.31.1")
(version "3.32.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Orange3" version))
(sha256
(base32 "0jqay46nysgfxldik7f6mfi8iylai2gwfpq60vklrfi1rhqf3pn6"))))
(base32 "0pxjwisc209cdgpqlqazc2vlmr0iqz8ry862w7jx95zic54d9p5l"))))
(build-system python-build-system)
(arguments
`(#:phases

View File

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

View File

@ -4,7 +4,7 @@
;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
;;; 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 © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 20182022 Tobias Geerinckx-Rice <me@tobias.gr>
@ -166,7 +166,7 @@ when jobs finish.")
(define-public slurm
(package
(name "slurm")
(version "21.08.8")
(version "22.05.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -174,7 +174,7 @@ when jobs finish.")
version ".tar.bz2"))
(sha256
(base32
"1sjln54idc9rhg8f2nvm38sgs6fncncyzslas8ixy65pqz2hphbf"))
"0f3hhlki8g7slllsnyj1qikbsvr62i0hig85lcdcfnmsagzlhbyi"))
(modules '((guix build utils)))
(snippet
'(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'
;; 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
(package
(inherit slurm)
@ -327,7 +341,7 @@ by managing a queue of pending work.")
(define-public slurm-drmaa
(package
(name "slurm-drmaa")
(version "1.1.2")
(version "1.1.3")
(source (origin
(method url-fetch)
(uri (string-append
@ -335,7 +349,7 @@ by managing a queue of pending work.")
version "/slurm-drmaa-" version ".tar.gz"))
(sha256
(base32
"0dn8ypqxdaq3k4jqwwx7msckxnmr6n2z5j68yffp50yy07ajbzjv"))))
"1fn3p4wjj0sgvx0isy3hiwi35vhxa2n2ksq5cn9sq2hg7yyb2phl"))))
(build-system gnu-build-system)
(arguments `(#:tests? #f)) ; The tests require "bats".
(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>
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
---
@ -8,19 +8,19 @@ Subject: [PATCH] fix build date in binary
1 file changed, 2 insertions(+), 10 deletions(-)
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
+++ b/src/magic/omake_gen_magic.ml
@@ -150,7 +150,7 @@ let ir_magic = "%s"
let obj_magic = "%s"
let lib_dir = "%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"
|}
default_save_interval
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)
(String.escaped libdir)
(String.escaped (shorten_version version))
@ -37,5 +37,6 @@ index b2419ba..fad52f5 100644
List.iter
(fun (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 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1794a07..c7b852a 100644
diff --git a/lib/comgr/CMakeLists.txt b/lib/comgr/CMakeLists.txt
index 8b5ca2f..a7d226f 100644
--- a/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}")
set(CLANG_LIBS
@ -28,7 +28,7 @@ index 1794a07..c7b852a 100644
set(LLD_LIBS
lldELF
@@ -218,8 +222,20 @@ if (LLVM_LINK_LLVM_DYLIB)
@@ -305,8 +309,21 @@ if (LLVM_LINK_LLVM_DYLIB)
else()
llvm_map_components_to_libnames(LLVM_LIBS
${LLVM_TARGETS_TO_BUILD}
@ -46,7 +46,8 @@ index 1794a07..c7b852a 100644
+ IRReader
+ CodeGen
+ Linker
+ Demangle
+ BinaryFormat)
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
--- a/CMakeLists.txt.orig
+++ 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(tools/clinfo)
+#add_subdirectory(tools/clinfo)
add_subdirectory(tools/cltrace)
if(BUILD_TESTS)
add_subdirectory(tests/ocltst)
@@ -108,9 +108,9 @@ endif()
###--- Packaging ------------------------------------------------------------###
diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt
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(PROGRAMS $<TARGET_FILE:clinfo>
- DESTINATION bin
- COMPONENT MAIN)
+#install(PROGRAMS $<TARGET_FILE:clinfo>
+# DESTINATION bin
+# COMPONENT MAIN)
install(PROGRAMS $<TARGET_FILE:cltrace>
DESTINATION lib
COMPONENT MAIN)
-install(TARGETS clinfo DESTINATION bin COMPONENT binary)
+#install(TARGETS clinfo DESTINATION bin COMPONENT binary)
install(TARGETS amdocl DESTINATION lib COMPONENT binary)
install(FILES ${CMAKE_SOURCE_DIR}/LICENSE.txt DESTINATION share/doc/${CMAKE_PROJECT_NAME} COMPONENT binary)

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