Merge branch 'master' into gnome-team

This commit is contained in:
Liliana Marie Prikler 2023-09-07 20:42:02 +02:00
commit 20e3f3e115
No known key found for this signature in database
GPG key ID: 442A84B8C70E2F87
142 changed files with 114197 additions and 74792 deletions

View file

@ -32,27 +32,7 @@
;; Geiser ;; Geiser
;; This allows automatically setting the `geiser-guile-load-path' ;; This allows automatically setting the `geiser-guile-load-path'
;; variable when using various Guix checkouts (e.g., via git worktrees). ;; variable when using various Guix checkouts (e.g., via git worktrees).
(eval . (let ((root-dir-unexpanded (locate-dominating-file (geiser-repl-per-project-p . t)))
default-directory ".dir-locals.el")))
;; While Guix should in theory always have a .dir-locals.el
;; (we are reading this file, after all) there seems to be a
;; strange problem where this code "escapes" to some other buffers,
;; at least vc-mode. See:
;; https://lists.gnu.org/archive/html/guix-devel/2020-11/msg00296.html
;; Upstream report: <https://bugs.gnu.org/44698>
;; Hence the following "when", which might otherwise be unnecessary;
;; it prevents causing an error when root-dir-unexpanded is nil.
(when root-dir-unexpanded
(let* ((root-dir (file-local-name (expand-file-name root-dir-unexpanded)))
;; Workaround for bug https://issues.guix.gnu.org/43818.
(root-dir* (directory-file-name root-dir)))
(unless (boundp 'geiser-guile-load-path)
(defvar geiser-guile-load-path '()))
(make-local-variable 'geiser-guile-load-path)
(require 'cl-lib)
(cl-pushnew root-dir* geiser-guile-load-path
:test #'string-equal)))))))
(c-mode . ((c-file-style . "gnu"))) (c-mode . ((c-file-style . "gnu")))
(scheme-mode (scheme-mode

View file

@ -300,15 +300,10 @@ Geiser allows for interactive and incremental development from within
Emacs: code compilation and evaluation from within buffers, access to Emacs: code compilation and evaluation from within buffers, access to
on-line documentation (docstrings), context-sensitive completion, on-line documentation (docstrings), context-sensitive completion,
@kbd{M-.} to jump to an object definition, a REPL to try out your code, @kbd{M-.} to jump to an object definition, a REPL to try out your code,
and more (@pxref{Introduction,,, geiser, Geiser User Manual}). For and more (@pxref{Introduction,,, geiser, Geiser User Manual}). If you
convenient Guix development, make sure to augment Guiles load path so allow Emacs to load the @file{.dir-locals.el} file at the root of the
that it finds source files from your checkout: project checkout, it will cause Geiser to automatically add the local
Guix sources to the Guile load path.
@lisp
;; @r{Assuming the Guix checkout is in ~/src/guix.}
(with-eval-after-load 'geiser-guile
(add-to-list 'geiser-guile-load-path "~/src/guix"))
@end lisp
To actually edit the code, Emacs already has a neat Scheme mode. But in To actually edit the code, Emacs already has a neat Scheme mode. But in
addition to that, you must not miss addition to that, you must not miss
@ -1345,6 +1340,12 @@ should not be delayed.
When a bug is resolved, please close the thread by sending an email to When a bug is resolved, please close the thread by sending an email to
@email{@var{ISSUE_NUMBER}-done@@debbugs.gnu.org}. @email{@var{ISSUE_NUMBER}-done@@debbugs.gnu.org}.
@menu
* Configuring Git::
* Sending a Patch Series::
* Teams::
@end menu
@node Configuring Git @node Configuring Git
@subsection Configuring Git @subsection Configuring Git
@cindex git configuration @cindex git configuration
@ -1625,6 +1626,8 @@ information on some builds and substitute availability.
@node Debbugs User Interfaces @node Debbugs User Interfaces
@subsection Debbugs User Interfaces @subsection Debbugs User Interfaces
@subsubsection Web interface
A web interface (actually @emph{two} web interfaces!) are available to A web interface (actually @emph{two} web interfaces!) are available to
browse issues: browse issues:
@ -1646,6 +1649,88 @@ To view discussions related to issue number @var{n}, go to
@indicateurl{https://issues.guix.gnu.org/@var{n}} or @indicateurl{https://issues.guix.gnu.org/@var{n}} or
@indicateurl{https://bugs.gnu.org/@var{n}}. @indicateurl{https://bugs.gnu.org/@var{n}}.
@subsubsection Command-line interface
Mumi also comes with a command-line interface that can be used to search
existing issues, open new issues and send patches. You do not need to
use Emacs to use the mumi command-line client. You interact with it
only on the command-line.
To use the mumi command-line interface, navigate to a local clone of the
Guix git repository, and drop into a shell with mumi, git and
git:send-email installed.
@example
$ cd guix
~/guix$ guix shell mumi git git:send-email
@end example
To search for issues, say all open issues about "zig", run
@example
~/guix [env]$ mumi search zig is:open
#60889 Add zig-build-system
opened on 17 Jan 17:37 Z by Ekaitz Zarraga
#61036 [PATCH 0/3] Update zig to 0.10.1
opened on 24 Jan 09:42 Z by Efraim Flashner
#39136 [PATCH] gnu: services: Add endlessh.
opened on 14 Jan 2020 21:21 by Nicol? Balzarotti
#60424 [PATCH] gnu: Add python-online-judge-tools
opened on 30 Dec 2022 07:03 by gemmaro
#45601 [PATCH 0/6] vlang 0.2 update
opened on 1 Jan 2021 19:23 by Ryan Prior
@end example
Pick an issue and make it the "current" issue.
@example
~/guix [env]$ mumi current 61036
#61036 [PATCH 0/3] Update zig to 0.10.1
opened on 24 Jan 09:42 Z by Efraim Flashner
@end example
Once an issue is the current issue, you can easily create and send
patches to it using
@example
~/guix [env]$ git format-patch origin/master
~/guix [env]$ mumi send-email foo.patch bar.patch
@end example
Note that you do not have to pass in @samp{--to} or @samp{--cc}
arguments to @command{git format-patch}. @command{mumi send-email} will
put them in correctly when sending the patches.
To open a new issue, run
@example
~/guix [env]$ mumi new
@end example
and send patches
@example
~/guix [env]$ mumi send-email foo.patch bar.patch
@end example
@command{mumi send-email} is really a wrapper around @command{git
send-email} that automates away all the nitty-gritty of sending patches.
It uses the current issue state to automatically figure out the correct
@samp{To} address to send to, other participants to @samp{Cc}, headers
to add, etc.
Also note that, unlike @command{git send-email}, @command{mumi
send-email} works perfectly well with single and multiple patches alike.
It automates away the debbugs dance of sending the first patch, waiting
for a response from debbugs and sending the remaining patches. It does
so by sending the first patch, polling the server for a response, and
then sending the remaining patches. This polling can unfortunately take
a few minutes. So, please be patient.
@subsubsection Emacs interface
If you use Emacs, you may find it more convenient to interact with If you use Emacs, you may find it more convenient to interact with
issues using @file{debbugs.el}, which you can install with: issues using @file{debbugs.el}, which you can install with:

View file

@ -23,6 +23,7 @@ Copyright @copyright{} 2020 Christine Lemmer-Webber@*
Copyright @copyright{} 2021 Joshua Branson@* Copyright @copyright{} 2021 Joshua Branson@*
Copyright @copyright{} 2022, 2023 Maxim Cournoyer@* Copyright @copyright{} 2022, 2023 Maxim Cournoyer@*
Copyright @copyright{} 2023 Ludovic Courtès Copyright @copyright{} 2023 Ludovic Courtès
Copyright @copyright{} 2023 Thomas Ieong
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or under the terms of the GNU Free Documentation License, Version 1.3 or
@ -128,6 +129,7 @@ System Configuration
* Connecting to Wireguard VPN:: Connecting to a Wireguard VPN. * Connecting to Wireguard VPN:: Connecting to a Wireguard VPN.
* Customizing a Window Manager:: Handle customization of a Window manager on Guix System. * Customizing a Window Manager:: Handle customization of a Window manager on Guix System.
* Running Guix on a Linode Server:: Running Guix on a Linode Server. * Running Guix on a Linode Server:: Running Guix on a Linode Server.
* Running Guix on a Kimsufi Server:: Running Guix on a Kimsufi Server.
* Setting up a bind mount:: Setting up a bind mount in the file-systems definition. * Setting up a bind mount:: Setting up a bind mount in the file-systems definition.
* Getting substitutes from Tor:: Configuring Guix daemon to get substitutes through Tor. * Getting substitutes from Tor:: Configuring Guix daemon to get substitutes through Tor.
* Setting up NGINX with Lua:: Configuring NGINX web-server to load Lua modules. * Setting up NGINX with Lua:: Configuring NGINX web-server to load Lua modules.
@ -1575,6 +1577,7 @@ reference.
* Connecting to Wireguard VPN:: Connecting to a Wireguard VPN. * Connecting to Wireguard VPN:: Connecting to a Wireguard VPN.
* Customizing a Window Manager:: Handle customization of a Window manager on Guix System. * Customizing a Window Manager:: Handle customization of a Window manager on Guix System.
* Running Guix on a Linode Server:: Running Guix on a Linode Server. * Running Guix on a Linode Server:: Running Guix on a Linode Server.
* Running Guix on a Kimsufi Server:: Running Guix on a Kimsufi Server.
* Setting up a bind mount:: Setting up a bind mount in the file-systems definition. * Setting up a bind mount:: Setting up a bind mount in the file-systems definition.
* Getting substitutes from Tor:: Configuring Guix daemon to get substitutes through Tor. * Getting substitutes from Tor:: Configuring Guix daemon to get substitutes through Tor.
* Setting up NGINX with Lua:: Configuring NGINX web-server to load Lua modules. * Setting up NGINX with Lua:: Configuring NGINX web-server to load Lua modules.
@ -2158,6 +2161,51 @@ the @code{yubikey-manager-qt} package and either wholly disable the
@samp{Applications -> OTP} view, delete the slot 1 configuration, which @samp{Applications -> OTP} view, delete the slot 1 configuration, which
comes pre-configured with the Yubico OTP application. comes pre-configured with the Yubico OTP application.
@subsection Requiring a Yubikey to open a KeePassXC database
@cindex yubikey, keepassxc integration
The KeePassXC password manager application has support for Yubikeys, but
it requires installing a udev rules for your Guix System and some
configuration of the Yubico OTP application on the key.
The necessary udev rules file comes from the
@code{yubikey-personalization} package, and can be installed like:
@lisp
(use-package-modules ... security-token ...)
...
(operating-system
...
(services
(cons*
...
(udev-rules-service 'yubikey yubikey-personalization))))
@end lisp
After reconfiguring your system (and reconnecting your Yubikey), you'll
then want to configure the OTP challenge/response application of your
Yubikey on its slot 2, which is what KeePassXC uses. It's easy to do so
via the Yubikey Manager graphical configuration tool, which can be
invoked with:
@example
guix shell yubikey-manager-qt -- ykman-gui
@end example
First, ensure @samp{OTP} is enabled under the @samp{Interfaces} tab,
then navigate to @samp{Applications -> OTP}, and click the
@samp{Configure} button under the @samp{Long Touch (Slot 2)} section.
Select @samp{Challenge-response}, input or generate a secret key, and
click the @samp{Finish} button. If you have a second Yubikey you'd like
to use as a backup, you should configure it the same way, using the
@emph{same} secret key.
Your Yubikey should now be detected by KeePassXC. It can be added to a
database by navigating to KeePassXC's @samp{Database -> Database
Security...} menu, then clicking the @samp{Add additional
protection...} button, then @samp{Add Challenge-Response}, selecting the
security key from the drop-down menu and clicking the @samp{OK} button
to complete the setup.
@node Dynamic DNS mcron job @node Dynamic DNS mcron job
@section Dynamic DNS mcron job @section Dynamic DNS mcron job
@ -2634,6 +2682,253 @@ have an easy time spinning up new Guix images! You may need to
down-size the Guix image to 6144MB, to save it as an image. Then you down-size the Guix image to 6144MB, to save it as an image. Then you
can resize it again to the max size. can resize it again to the max size.
@node Running Guix on a Kimsufi Server
@section Running Guix on a Kimsufi Server
@cindex kimsufi, Kimsufi, OVH
To run Guix on a server hosted by @uref{https://www.kimsufi.com/,
Kimsufi}, click on the netboot tab then select rescue64-pro and restart.
OVH will email you the credentials required to ssh into a Debian system.
Now you can run the "install guix from @pxref{Binary Installation,,,
guix, GNU Guix}" steps:
@example
wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh
chmod +x guix-install.sh
./guix-install.sh
guix pull
@end example
Partition the drives and format them, first stop the raid array:
@example
mdadm --stop /dev/md127
mdadm --zero-superblock /dev/sda2 /dev/sdb2
@end example
Then wipe the disks and set up the partitions, we will create
a RAID 1 array.
@example
wipefs -a /dev/sda
wipefs -a /dev/sdb
parted /dev/sda --align=opt -s -m -- mklabel gpt
parted /dev/sda --align=opt -s -m -- \
mkpart bios_grub 1049kb 512MiB \
set 1 bios_grub on
parted /dev/sda --align=opt -s -m -- \
mkpart primary 512MiB -512MiB
set 2 raid on
parted /dev/sda --align=opt -s -m -- mkpart primary linux-swap 512MiB 100%
parted /dev/sdb --align=opt -s -m -- mklabel gpt
parted /dev/sdb --align=opt -s -m -- \
mkpart bios_grub 1049kb 512MiB \
set 1 bios_grub on
parted /dev/sdb --align=opt -s -m -- \
mkpart primary 512MiB -512MiB \
set 2 raid on
parted /dev/sdb --align=opt -s -m -- mkpart primary linux-swap 512MiB 100%
@end example
Create the array:
@example
mdadm --create /dev/md127 --level=1 --raid-disks=2 \
--metadata=0.90 /dev/sda2 /dev/sdb2
@end example
Now create file systems on the relevant partitions, first the boot
partitions:
@example
mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/sdb1
@end example
Then the root partition:
@example
mkfs.ext4 /dev/md127
@end example
Initialize the swap partitions:
@example
mkswap /dev/sda3
swapon /dev/sda3
mkswap /dev/sdb3
swapon /dev/sdb3
@end example
Mount the guix drive:
@example
mkdir /mnt/guix
mount /dev/md127 /mnt/guix
@end example
Now is time to write an operating system declaration @file{os.scm} file;
here is a sample:
@lisp
(use-modules (gnu) (guix))
(use-service-modules networking ssh vpn virtualization sysctl admin mcron)
(use-package-modules ssh certs tls tmux vpn virtualization)
(operating-system
(host-name "kimsufi")
(bootloader (bootloader-configuration
(bootloader grub-bootloader)
(targets (list "/dev/sda" "/dev/sdb"))
(terminal-outputs '(console))))
;; Add a kernel module for RAID-1 (aka. "mirror").
(initrd-modules (cons* "raid1" %base-initrd-modules))
(mapped-devices
(list (mapped-device
(source (list "/dev/sda2" "/dev/sdb2"))
(target "/dev/md127")
(type raid-device-mapping))))
(swap-devices
(list (swap-space
(target "/dev/sda3"))
(swap-space
(target "/dev/sdb3"))))
(issue
;; Default contents for /etc/issue.
"\
This is the GNU system at Kimsufi. Welcome.\n")
(file-systems (cons* (file-system
(mount-point "/")
(device "/dev/md127")
(type "ext4")
(dependencies mapped-devices))
%base-file-systems))
(users (cons (user-account
(name "guix")
(comment "guix")
(group "users")
(supplementary-groups '("wheel"))
(home-directory "/home/guix"))
%base-user-accounts))
(sudoers-file
(plain-file "sudoers" "\
root ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
guix ALL=(ALL) NOPASSWD:ALL\n"))
;; Globally-installed packages.
(packages (cons* tmux nss-certs gnutls wireguard-tools %base-packages))
(services
(cons*
(service static-networking-service-type
(list (static-networking
(addresses (list (network-address
(device "enp3s0")
(value "@var{server-ip-address}/24"))))
(routes (list (network-route
(destination "default")
(gateway "@var{server-gateway}"))))
(name-servers '("213.186.33.99")))))
(service unattended-upgrade-service-type)
(service openssh-service-type
(openssh-configuration
(openssh openssh-sans-x)
(permit-root-login #f)
(authorized-keys
`(("guix" ,(plain-file "@var{ssh-key-name.pub}"
"@var{ssh-public-key-content}"))))))
(modify-services %base-services
(sysctl-service-type
config =>
(sysctl-configuration
(settings (append '(("net.ipv6.conf.all.autoconf" . "0")
("net.ipv6.conf.all.accept_ra" . "0"))
%default-sysctl-settings))))))))
@end lisp
Don't forget to substitute the @var{server-ip-address},
@var{server-gateway}, @var{ssh-key-name} and
@var{ssh-public-key-content} variables with your own values.
The gateway is the last usable IP in your block so if you have a server
with an IP of @samp{37.187.79.10} then its gateway will be
@samp{37.187.79.254}.
Transfer your operating system declaration @file{os.scm} file on the
server via the @command{scp} or @command{sftp} commands.
Now all that is left is to install Guix with a @code{guix system init}
and restart.
However we first need to set up a chroot, because the root partition of
the rescue system is mounted on an aufs partition and if you try to
install Guix it will fail at the GRUB install step complaining about the
canonical path of "aufs".
Install packages that will be used in the chroot:
@example
guix install bash-static parted util-linux-with-udev coreutils guix
@end example
Then run the following to create directories needed for the chroot:
@example
cd /mnt && \
mkdir -p bin etc gnu/store root/.guix-profile/ root/.config/guix/current \
var/guix proc sys dev
@end example
Copy the host resolv.conf in the chroot:
@example
cp /etc/resolv.conf etc/
@end example
Mount block devices, the store and its database and the current guix config:
@example
mount --rbind /proc /mnt/proc
mount --rbind /sys /mnt/sys
mount --rbind /dev /mnt/dev
mount --rbind /var/guix/ var/guix/
mount --rbind /gnu/store gnu/store/
mount --rbind /root/.config/ root/.config/
mount --rbind /root/.guix-profile/bin/ bin
mount --rbind /root/.guix-profile root/.guix-profile/
@end example
Chroot in /mnt and install the system:
@example
chroot /mnt/ /bin/bash
guix system init /root/os.scm /guix
@end example
Finally, from the web user interface (UI), change @samp{netboot} to
@samp{boot to disk} and restart (also from the web UI).
Wait a few minutes and try to ssh with @code{ssh
guix@@@var{server-ip-address>} -i @var{path-to-your-ssh-key}}
You should have a Guix system up and running on Kimsufi;
congratulations!
@node Setting up a bind mount @node Setting up a bind mount
@section Setting up a bind mount @section Setting up a bind mount

View file

@ -53,7 +53,7 @@ Copyright @copyright{} 2017, 2019, 2020, 2021, 2022, 2023 Maxim Cournoyer@*
Copyright @copyright{} 20172022 Tobias Geerinckx-Rice@* Copyright @copyright{} 20172022 Tobias Geerinckx-Rice@*
Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 George Clemmer@*
Copyright @copyright{} 2017 Andy Wingo@* Copyright @copyright{} 2017 Andy Wingo@*
Copyright @copyright{} 2017, 2018, 2019, 2020 Arun Isaac@* Copyright @copyright{} 2017, 2018, 2019, 2020, 2023 Arun Isaac@*
Copyright @copyright{} 2017 nee@* Copyright @copyright{} 2017 nee@*
Copyright @copyright{} 2018 Rutger Helling@* Copyright @copyright{} 2018 Rutger Helling@*
Copyright @copyright{} 2018, 2021 Oleg Pykhalov@* Copyright @copyright{} 2018, 2021 Oleg Pykhalov@*
@ -2402,6 +2402,16 @@ BIOS or UEFI boot menu, where you can choose to boot from the USB stick.
In order to boot from Libreboot, switch to the command mode by pressing In order to boot from Libreboot, switch to the command mode by pressing
the @kbd{c} key and type @command{search_grub usb}. the @kbd{c} key and type @command{search_grub usb}.
Sadly, on some machines, the installation medium cannot be properly
booted and you only see a black screen after booting even after you
waited for ten minutes. This may indicate that your machine cannot run
Guix System; perhaps you instead want to install Guix on a foreign
distro (@pxref{Binary Installation}). But don't give up just yet; a
possible workaround is pressing the @kbd{e} key in the GRUB boot menu
and appending @option{nomodeset} to the Linux bootline.
Sometimes the black screen issue can also be resolved by connecting a
different display.
@xref{Installing Guix in a VM}, if, instead, you would like to install @xref{Installing Guix in a VM}, if, instead, you would like to install
Guix System in a virtual machine (VM). Guix System in a virtual machine (VM).
@ -14165,6 +14175,16 @@ TeX package:
guix import texlive fontspec guix import texlive fontspec
@end example @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 json @item json
@cindex JSON, import @cindex JSON, import
Import package metadata from a local JSON file. Consider the following Import package metadata from a local JSON file. Consider the following
@ -18057,10 +18077,6 @@ administrator's choice; reconfiguring does @emph{not} change their name.
@item @code{home-directory} @item @code{home-directory}
This is the name of the home directory for the account. This is the name of the home directory for the account.
@item @code{home-directory-permissions} (default: @code{#o700})
The permission bits for the home directory. By default, full access is
granted to the user account and all other access is denied.
@item @code{create-home-directory?} (default: @code{#t}) @item @code{create-home-directory?} (default: @code{#t})
Indicates whether the home directory of this account should be created Indicates whether the home directory of this account should be created
if it does not exist yet. if it does not exist yet.
@ -31339,7 +31355,7 @@ The port on which to connect to the database.
@cindex Mumi, Debbugs Web interface @cindex Mumi, Debbugs Web interface
@cindex Debbugs, Mumi Web interface @cindex Debbugs, Mumi Web interface
@uref{https://git.elephly.net/gitweb.cgi?p=software/mumi.git, Mumi} is a @uref{https://git.savannah.gnu.org/cgit/guix/mumi.git/, Mumi} is a
Web interface to the Debbugs bug tracker, by default for Web interface to the Debbugs bug tracker, by default for
@uref{https://bugs.gnu.org, the GNU instance}. Mumi is a Web server, @uref{https://bugs.gnu.org, the GNU instance}. Mumi is a Web server,
but it also fetches and indexes mail retrieved from Debbugs. but it also fetches and indexes mail retrieved from Debbugs.
@ -32672,7 +32688,7 @@ can run on headless servers. The Xvnc implementations provided by the
@defvar xvnc-service-type @defvar xvnc-service-type
The @code{xvnc-server-type} service can be configured via the The @code{xvnc-service-type} service can be configured via the
@code{xvnc-configuration} record, documented below. A second virtual @code{xvnc-configuration} record, documented below. A second virtual
display could be made available on a remote machine via the display could be made available on a remote machine via the
following configuration: following configuration:
@ -43938,6 +43954,62 @@ Extra content appended as-is to this @code{Host} block in
@end deftp @end deftp
@cindex Parcimonie, Home service
The @code{parcimonie} service runs a daemon that slowly refreshes a GnuPG
public key from a keyserver. It refreshes one key at a time; between every
key update parcimonie sleeps a random amount of time, long enough for the
previously used Tor circuit to expire. This process is meant to make it hard
for an attacker to correlate the multiple key update.
As an example, here is how you would configure @code{parcimonie} to refresh the
keys in your GnuPG keyring, as well as those keyrings created by Guix, such as
when running @code{guix import}:
@lisp
(service home-parcimonie-service-type
(home-parcimonie-configuration
(refresh-guix-keyrings? #t)))
@end lisp
This assumes that the Tor anonymous routing daemon is already running on your
system. On Guix System, this can be achieved by setting up
@code{tor-service-type} (@pxref{Networking Services, @code{tor-service-type}}).
The service reference is given below.
@defvar parcimonie-service-type
This is the service type for @command{parcimonie}
(@uref{https://salsa.debian.org/intrigeri/parcimonie, Parcimonie's web site}).
Its value must be a @code{home-parcimonie-configuration}, as shown below.
@end defvar
@c %start of fragment
@deftp {Data Table} home-parcimonie-configuration
Available @code{home-parcimonie-configuration} fields are:
@table @asis
@item @code{parcimonie} (default: @code{parcimonie}) (type: file-like)
The parcimonie package to use.
@item @code{verbose?} (default: @code{#f}) (type: boolean)
Whether to have more verbose logging from the service.
@item @code{gnupg-already-torified?} (default: @code{#f}) (type: boolean)
Whether GnuPG is already configured to pass all traffic through
@uref{https://torproject.org, Tor}.
@item @code{refresh-guix-keyrings?} (default: @code{#f}) (type: boolean)
Guix creates a few keyrings in the @var{$XDG_CONFIG_DIR}, such as when running
@code{guix import} (@pxref{Invoking guix import}). Setting this to @code{#t}
will also refresh any keyrings which Guix has created.
@item @code{extra-content} (default: @code{#f}) (type: raw-configuration-string)
Raw content to add to the parcimonie command.
@end table
@end deftp
@c %end of fragment @c %end of fragment
@ -45866,47 +45938,48 @@ will not have the desired effect. @xref{Package Transformation Options,
Guix provides packages for the @TeX{}, @LaTeX{}, ConTeXt, LuaTeX, and Guix provides packages for the @TeX{}, @LaTeX{}, ConTeXt, LuaTeX, and
related typesetting systems, taken from the related typesetting systems, taken from the
@uref{https://www.tug.org/texlive/, @TeX{} Live distribution}. However, @uref{https://www.tug.org/texlive/, @TeX{} Live distribution}. However,
because @TeX{} Live is so huge and because finding your way in this maze because @TeX{} Live is so huge and because finding one's way in this
is tricky, we thought that you, dear user, would welcome guidance on how maze is tricky, so this section provides some guidance on how to deploy
to deploy the relevant packages so you can compile your @TeX{} and the relevant packages to compile @TeX{} and @LaTeX{} documents.
@LaTeX{} documents.
@TeX{} Live currently comes in two flavors in Guix: @TeX{} Live currently comes in two mutually exclusive flavors in Guix:
@itemize @itemize
@item @item
The ``monolithic'' @code{texlive} package: it comes with @emph{every The ``monolithic'' @code{texlive} package: it comes with @emph{every
single @TeX{} Live package} (more than 7,000 of them), but it is huge single @TeX{} Live package} (roughly 4,200), but it is huge---more than
(more than 4@tie{}GiB for a single package!). 4@tie{}GiB for a single package!
@item @item
The ``modular'' @samp{texlive-} packages: you start off with A ``modular'' @TeX{} Live distribution, in which you only install the
a combination of @TeX{} Live @dfn{collections} and packages, always prefixed with @samp{texlive-}, you need.
@dfn{schemes}---``meta-packages'' such as
@code{texlive-collection-fontsrecommended}, or
@code{texlive-collection-context}, that provide the set of packages
needed in this particular domain, schemes being the name for collections
of such collections. This grants you core functionality and the main
commands---@command{pdflatex}, @command{dvips}, @command{luatex},
@command{mf}, etc. You can then complete your selection with additional
collections or individual packages that provide just the features you
need---@code{texlive-listings} for the @code{listings} package,
@code{texlive-beamer} for Beamer, @code{texlive-pgf} for PGF/TikZ, and
so on.
@end itemize @end itemize
We recommend using the modular package set because it is much less So to insist, these two flavors cannot be combined@footnote{No rule
resource-hungry. To build your documents, you would use commands such without exception! As the monolithic @TeX{} Live does not contain the
as: @command{biber} executable, it is okay to combine it with
@code{texlive-biber}, which does.}. If in the modular setting your
document does not compile, the solution is not to add the monolithic
@code{texlive} package, but to add the set of missing packages from the
modular distribution.
Building a coherent system that provides all the essential tools and, at
the same time, satisfies all of its internal dependencies can be
a difficult task. It is therefore recommended to start with sets of
packages, called @dfn{collections}, and @dfn{schemes}, the name for
collections of collections. The following command lists available
schemes and collections (@pxref{guix-search,, Invoking guix package}):
@example @example
guix shell texlive-scheme-basic texlive-cm-super -- pdflatex doc.tex guix search texlive-\(scheme\|collection\) | recsel -p name,description
@end example @end example
You can quickly end up with unreasonably long command lines though. The If needed, you may then complete your system with individual packages,
solution is to instead write a manifest, for example like this one, particularly when they belong to a large collection you're not otherwise
which would probably be a reasonable starting point for a French interested in.
@LaTeX{} user:
For instance, the following manifest is a reasonable, yet frugal
starting point for a French @LaTeX{} user:
@lisp @lisp
(specifications->manifest (specifications->manifest
@ -45915,31 +45988,18 @@ which would probably be a reasonable starting point for a French
"texlive-scheme-basic" "texlive-scheme-basic"
"texlive-collection-latexrecommended" "texlive-collection-latexrecommended"
"texlive-collection-fontsrecommended" "texlive-collection-fontsrecommended"
"texlive-babel-french" "texlive-babel-french"
;; PGF/TikZ ;; From "latexextra" collection.
"texlive-pgf" "texlive-tabularray"
;; From "binextra" collection.
;; Additional font. "texlive-texdoc"))
"texlive-kpfonts"))
@end lisp @end lisp
You can then pass it to any command with the @option{-m} option: If you come across a document that does not compile in such a basic
setting, the main difficulty is finding the missing packages. In this
@example case, @command{pdflatex} and similar commands tend to fail with obscure
guix shell -m manifest.scm -- pdflatex doc.tex error messages along the lines of:
@end example
@xref{Writing Manifests}, for more on manifests. In the future, we plan
to provide more collections and schemes. That will allow you to list
fewer packages.
The main difficulty here is that using the modular package set forces
you to select precisely the packages that you need. You can use
@command{guix search}, but finding the right package can prove to be
tedious. When a package is missing, @command{pdflatex} and similar
commands fail with an obscure message along the lines of:
@example @example
doc.tex: File `tikz.sty' not found. doc.tex: File `tikz.sty' not found.
@ -45955,7 +46015,7 @@ kpathsea: Running mktexmf phvr7t
@end example @end example
How do you determine what the missing package is? In the first case, How do you determine what the missing package is? In the first case,
you'll find the answer by running: you will find the answer by running:
@example @example
$ guix search texlive tikz $ guix search texlive tikz
@ -45965,11 +46025,11 @@ version: 59745
@end example @end example
In the second case, @command{guix search} turns up nothing. Instead, In the second case, @command{guix search} turns up nothing. Instead,
you can search the @TeX{} Live package database using the @command{tlmgr} you can search the @TeX{} Live package database using the
command: @command{tlmgr} command:
@example @example
$ guix shell texlive-bin -- tlmgr info phvr7t $ tlmgr info phvr7t
tlmgr: cannot find package phvr7t, searching for other matches: tlmgr: cannot find package phvr7t, searching for other matches:
Packages containing `phvr7t' in their title/description: Packages containing `phvr7t' in their title/description:
@ -45984,32 +46044,10 @@ tex4ht:
texmf-dist/tex4ht/ht-fonts/alias/adobe/helvetic/phvr7t.htf texmf-dist/tex4ht/ht-fonts/alias/adobe/helvetic/phvr7t.htf
@end example @end example
The file is available in the @TeX{} Live @code{helvetic} package, which is @noindent
known in Guix as @code{texlive-helvetic}. Quite a ride, but we found The file is available in the @TeX{} Live @code{helvetic} package, which
it! is known in Guix as @code{texlive-helvetic}. Quite a ride, but you
found it!
There is one important limitation though: Guix currently provides a
subset of the @TeX{} Live packages. If you stumble upon a missing
package, you can try and import it (@pxref{Invoking guix import}):
@example
guix import texlive @var{package}
@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
@quotation Note
@TeX{} Live packaging is still very much work in progress, but you can
help! @xref{Contributing}, for more information.
@end quotation
@node Security Updates @node Security Updates
@chapter Security Updates @chapter Security Updates

View file

@ -230,7 +230,7 @@ $(srcdir)/%D%/guix.1: scripts/guix.in $(sub_commands_mans)
# source script (the first prerequisite) has been changed. The $(GOBJECTS) # source script (the first prerequisite) has been changed. The $(GOBJECTS)
# prerequisite is solely meant to force these docs to be made only after all # prerequisite is solely meant to force these docs to be made only after all
# Guile modules have been compiled. We also need the guix script to exist. # Guile modules have been compiled. We also need the guix script to exist.
$(srcdir)/%D%/guix-%.1: scripts/guix guix/scripts/%.scm $(GOBJECTS) $(srcdir)/%D%/guix-%.1: guix/scripts/%.scm $(GOBJECTS) scripts/guix
-@case '$?' in \ -@case '$?' in \
*$<*) $(AM_V_P) && set -x || echo " HELP2MAN $@"; \ *$<*) $(AM_V_P) && set -x || echo " HELP2MAN $@"; \
$(gen_man) --output="$@" "guix $*";; \ $(gen_man) --output="$@" "guix $*";; \

View file

@ -6,6 +6,7 @@
;;; Copyright © 2022, 2023 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org> ;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Simon Tournier <zimon.toutoune@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -39,6 +40,23 @@
(guix ui) (guix ui)
(git)) (git))
(define-record-type <regexp*>
(%make-regexp* pat flag rx)
regexp*?
(pat regexp*-pattern)
(flag regexp*-flag)
(rx regexp*-rx))
;;; Work around regexp implementation.
;;; This record allows to track the regexp pattern and then display it.
(define* (make-regexp* pat #:optional (flag regexp/extended))
"Alternative to `make-regexp' producing annotated <regexp*> objects."
(%make-regexp* pat flag (make-regexp pat flag)))
(define (regexp*-exec rx* str)
"Execute the RX* regexp, a <regexp*> object."
(regexp-exec (regexp*-rx rx*) str))
(define-record-type <team> (define-record-type <team>
(make-team id name description members scope) (make-team id name description members scope)
team? team?
@ -99,7 +117,7 @@
(list "gnu/packages/django.scm" (list "gnu/packages/django.scm"
"gnu/packages/jupyter.scm" "gnu/packages/jupyter.scm"
;; Match haskell.scm and haskell-*.scm. ;; Match haskell.scm and haskell-*.scm.
(make-regexp "^gnu/packages/python(-.+|)\\.scm$") (make-regexp* "^gnu/packages/python(-.+|)\\.scm$")
"gnu/packages/sphinx.scm" "gnu/packages/sphinx.scm"
"gnu/packages/tryton.scm" "gnu/packages/tryton.scm"
"guix/build/pyproject-build-system.scm" "guix/build/pyproject-build-system.scm"
@ -119,7 +137,7 @@ the haskell-build-system."
#:scope #:scope
(list "gnu/packages/dhall.scm" (list "gnu/packages/dhall.scm"
;; Match haskell.scm and haskell-*.scm. ;; Match haskell.scm and haskell-*.scm.
(make-regexp "^gnu/packages/haskell(-.+|)\\.scm$") (make-regexp* "^gnu/packages/haskell(-.+|)\\.scm$")
"gnu/packages/purescript.scm" "gnu/packages/purescript.scm"
"guix/build/haskell-build-system.scm" "guix/build/haskell-build-system.scm"
"guix/build-system/haskell.scm" "guix/build-system/haskell.scm"
@ -174,6 +192,7 @@ and the r-build-system."
"TeX, LaTeX, XeLaTeX, LuaTeX, TeXLive, the texlive-build-system, and "TeX, LaTeX, XeLaTeX, LuaTeX, TeXLive, the texlive-build-system, and
the \"texlive\" importer." the \"texlive\" importer."
#:scope (list "gnu/packages/tex.scm" #:scope (list "gnu/packages/tex.scm"
"gnu/packages/texlive.scm"
"guix/build/texlive-build-system.scm" "guix/build/texlive-build-system.scm"
"guix/build-system/texlive.scm" "guix/build-system/texlive.scm"
"guix/import/texlive.scm" "guix/import/texlive.scm"
@ -185,7 +204,7 @@ the \"texlive\" importer."
#:name "Julia team" #:name "Julia team"
#:description #:description
"The Julia language, Julia packages, and the julia-build-system." "The Julia language, Julia packages, and the julia-build-system."
#:scope (list (make-regexp "^gnu/packages/julia(-.+|)\\.scm$") #:scope (list (make-regexp* "^gnu/packages/julia(-.+|)\\.scm$")
"guix/build/julia-build-system.scm" "guix/build/julia-build-system.scm"
"guix/build-system/julia.scm"))) "guix/build-system/julia.scm")))
@ -214,14 +233,14 @@ importer, and the ocaml-build-system."
and the maven-build-system." and the maven-build-system."
#:scope #:scope
(list ;; Match java.scm and java-*.scm. (list ;; Match java.scm and java-*.scm.
(make-regexp "^gnu/packages/java(-.+|)\\.scm$") (make-regexp* "^gnu/packages/java(-.+|)\\.scm$")
;; Match maven.scm and maven-*.scm ;; Match maven.scm and maven-*.scm
(make-regexp "^gnu/packages/maven(-.+|)\\.scm$") (make-regexp* "^gnu/packages/maven(-.+|)\\.scm$")
"guix/build/ant-build-system.scm" "guix/build/ant-build-system.scm"
"guix/build/java-utils.scm" "guix/build/java-utils.scm"
"guix/build/maven-build-system.scm" "guix/build/maven-build-system.scm"
;; The maven directory ;; The maven directory
(make-regexp "^guix/build/maven/") (make-regexp* "^guix/build/maven/")
"guix/build-system/ant.scm" "guix/build-system/ant.scm"
"guix/build-system/maven.scm"))) "guix/build-system/maven.scm")))
@ -241,7 +260,9 @@ packages (e.g. Astronomy, Chemistry, Math, Physics etc.)"
#:name "Emacs team" #:name "Emacs team"
#:description "The extensible, customizable text editor and its #:description "The extensible, customizable text editor and its
ecosystem." ecosystem."
#:scope (list (make-regexp "^gnu/packages/emacs(-.+|)\\.scm$") #:scope (list "gnu/packages/aux-files/emacs/guix-emacs.el"
(make-regexp* "^gnu/packages/emacs(-.+|)\\.scm$")
"gnu/packages/tree-sitter.scm"
"guix/build/emacs-build-system.scm" "guix/build/emacs-build-system.scm"
"guix/build/emacs-utils.scm" "guix/build/emacs-utils.scm"
"guix/build-system/emacs.scm" "guix/build-system/emacs.scm"
@ -255,7 +276,7 @@ ecosystem."
#:description #:description
"Common Lisp and similar languages, Common Lisp packages and the "Common Lisp and similar languages, Common Lisp packages and the
asdf-build-system." asdf-build-system."
#:scope (list (make-regexp "^gnu/packages/lisp(-.+|)\\.scm$") #:scope (list (make-regexp* "^gnu/packages/lisp(-.+|)\\.scm$")
"guix/build/asdf-build-system.scm" "guix/build/asdf-build-system.scm"
"guix/build/lisp-utils.scm" "guix/build/lisp-utils.scm"
"guix/build-system/asdf.scm"))) "guix/build-system/asdf.scm")))
@ -294,7 +315,7 @@ asdf-build-system."
(define-team rust (define-team rust
(team 'rust (team 'rust
#:name "Rust" #:name "Rust"
#:scope (list (make-regexp "^gnu/packages/(crates|rust)(-.+|)\\.scm$") #:scope (list (make-regexp* "^gnu/packages/(crates|rust)(-.+|)\\.scm$")
"gnu/packages/sequoia.scm" "gnu/packages/sequoia.scm"
"guix/build/cargo-build-system.scm" "guix/build/cargo-build-system.scm"
"guix/build/cargo-utils.scm" "guix/build/cargo-utils.scm"
@ -393,9 +414,9 @@ asdf-build-system."
"guix/upstream.scm" "guix/upstream.scm"
"guix/utils.scm" "guix/utils.scm"
"guix/workers.scm" "guix/workers.scm"
(make-regexp "^guix/platforms/") (make-regexp* "^guix/platforms/")
(make-regexp "^guix/scripts/") (make-regexp* "^guix/scripts/")
(make-regexp "^guix/store/")))) (make-regexp* "^guix/store/"))))
(define-team games (define-team games
(team 'games (team 'games
@ -423,17 +444,17 @@ asdf-build-system."
(team 'translations (team 'translations
#:name "Translations" #:name "Translations"
#:scope (list "etc/news.scm" #:scope (list "etc/news.scm"
(make-regexp "^po/")))) (make-regexp* "^po/"))))
(define-team installer (define-team installer
(team 'installer (team 'installer
#:name "Installer script and system installer" #:name "Installer script and system installer"
#:scope (list (make-regexp "^gnu/installer(\\.scm$|/)")))) #:scope (list (make-regexp* "^gnu/installer(\\.scm$|/)"))))
(define-team home (define-team home
(team 'home (team 'home
#:name "Team for \"Guix Home\"" #:name "Team for \"Guix Home\""
#:scope (list (make-regexp "^(gnu|guix/scripts)/home(\\.scm$|/)") #:scope (list (make-regexp* "^(gnu|guix/scripts)/home(\\.scm$|/)")
"tests/guix-home.sh" "tests/guix-home.sh"
"tests/home-import.scm" "tests/home-import.scm"
"tests/home-services.scm"))) "tests/home-services.scm")))
@ -516,7 +537,7 @@ GLib/GIO, GTK, GStreamer and Webkit."
(define-member (person "Andreas Enge" (define-member (person "Andreas Enge"
"andreas@enge.fr") "andreas@enge.fr")
lxqt science) lxqt science tex)
(define-member (person "Tobias Geerinckx-Rice" (define-member (person "Tobias Geerinckx-Rice"
"me@tobias.gr") "me@tobias.gr")
@ -633,8 +654,8 @@ of file names as string."
(any (match-lambda (any (match-lambda
((? string? scope) ((? string? scope)
(string=? scope file)) (string=? scope file))
((? regexp? scope) ((? regexp*? scope)
(regexp-exec scope file))) (regexp*-exec scope file)))
(team-scope team))) (team-scope team)))
files) files)
(cons team acc) (cons team acc)
@ -664,21 +685,15 @@ TEAMS when a patch is received by Debbugs."
name))) name)))
(format #false "~a <~a>" quoted-name/maybe (person-email member)))) (format #false "~a <~a>" quoted-name/maybe (person-email member))))
(define* (list-members team #:optional port (prefix "")) (define* (list-members team #:key (prefix ""))
"Print the members of the given TEAM." "Print the members of the given TEAM."
(define port* (or port (current-output-port))) (for-each (lambda (member)
(for-each (format #t "~a~a~%" prefix (member->string member)))
(lambda (member)
(format port* "~a~a~%" prefix (member->string member)))
(sort-members (team-members team)))) (sort-members (team-members team))))
(define (list-teams) (define (print-team team)
"Print all teams, their scope and their members." "Print TEAM, a <team> record object."
(define port* (current-output-port)) (format #t
(define width* (%text-width))
(for-each
(lambda (team)
(format port*
"\ "\
id: ~a id: ~a
name: ~a name: ~a
@ -690,19 +705,35 @@ description: ~a
(or (and=> (team-description team) (or (and=> (team-description team)
(lambda (text) (lambda (text)
(string->recutils (string->recutils
(fill-paragraph text width* (fill-paragraph text (%text-width)
(string-length "description: "))))) (string-length "description: ")))))
"<none>") "<none>")
(match (team-scope team) (match (team-scope team)
(() "") (() "")
(scope (format #f "scope: ~{~s ~}~%" scope)))) (scope (format #f "scope:~%~{+ ~a~^~%~}~%"
(list-members team port* "+ ") (sort (map (match-lambda
((? regexp*? rx)
(regexp*-pattern rx))
(item item))
scope)
string<?)))))
(list-members team #:prefix "+ ")
(newline)) (newline))
(sort
(hash-map->list (lambda (key value) value) %teams) (define (sort-teams teams)
"Sort TEAMS, a list of <team> record objects."
(sort teams
(lambda (team1 team2) (lambda (team1 team2)
(string<? (symbol->string (team-id team1)) (string<? (symbol->string (team-id team1))
(symbol->string (team-id team2))))))) (symbol->string (team-id team2))))))
(define* (list-teams #:optional team-names)
"Print all teams, their scope and their members."
(for-each print-team
(sort-teams
(if team-names
(map find-team team-names)
(hash-map->list (lambda (_ value) value) %teams)))))
(define (diff-revisions rev-start rev-end) (define (diff-revisions rev-start rev-end)
@ -782,6 +813,8 @@ and REV-END, two git revision strings."
(lambda (team-name) (lambda (team-name)
(list-members (find-team team-name))) (list-members (find-team team-name)))
team-names)) team-names))
(("show" . team-names)
(list-teams team-names))
(anything (anything
(format (current-error-port) (format (current-error-port)
"Usage: etc/teams.scm <command> [<args>] "Usage: etc/teams.scm <command> [<args>]
@ -800,6 +833,8 @@ Commands:
list-members <team-name> list-members <team-name>
list members belonging to <team-name> list members belonging to <team-name>
get-maintainer <patch> get-maintainer <patch>
compatibility mode with Linux get_maintainer.pl~%")))) compatibility mode with Linux get_maintainer.pl
show <team-name>
display <team-name> properties~%"))))
(apply main (cdr (command-line))) (apply main (cdr (command-line)))

View file

@ -162,14 +162,14 @@ owner-writable in HOME."
group records) are all available." group records) are all available."
(define (make-home-directory user) (define (make-home-directory user)
(let ((home (user-account-home-directory user)) (let ((home (user-account-home-directory user))
(home-permissions (user-account-home-directory-permissions user))
(pwd (getpwnam (user-account-name user)))) (pwd (getpwnam (user-account-name user))))
(mkdir-p home) (mkdir-p home)
;; Always set ownership and permissions for home directories of system ;; Always set ownership and permissions for home directories of system
;; accounts. ;; accounts. If a service needs looser permissions on its home
;; directories, it can always chmod it in an activation snippet.
(chown home (passwd:uid pwd) (passwd:gid pwd)) (chown home (passwd:uid pwd) (passwd:gid pwd))
(chmod home home-permissions))) (chmod home #o700)))
(define system-accounts (define system-accounts
(filter (lambda (user) (filter (lambda (user)

View file

@ -21,6 +21,8 @@
#:use-module (gnu services) #:use-module (gnu services)
#:use-module (gnu services dict) #:use-module (gnu services dict)
#:use-module ((gnu system shadow) #:select (account-service-type)) #:use-module ((gnu system shadow) #:select (account-service-type))
;; For the 'home-shepherd-service-type' mapping.
#:use-module (gnu home services shepherd)
#:export (home-dicod-service-type) #:export (home-dicod-service-type)
#:re-export (dicod-configuration)) #:re-export (dicod-configuration))

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -23,7 +24,7 @@
#:use-module (gnu services configuration) #:use-module (gnu services configuration)
#:use-module (gnu home services) #:use-module (gnu home services)
#:use-module (gnu home services shepherd) #:use-module (gnu home services shepherd)
#:autoload (gnu packages gnupg) (gnupg pinentry) #:autoload (gnu packages gnupg) (gnupg pinentry parcimonie)
#:export (home-gpg-agent-configuration #:export (home-gpg-agent-configuration
home-gpg-agent-configuration? home-gpg-agent-configuration?
home-gpg-agent-configuration-gnupg home-gpg-agent-configuration-gnupg
@ -34,7 +35,16 @@
home-gpg-agent-configuration-max-cache-ttl-ssh home-gpg-agent-configuration-max-cache-ttl-ssh
home-gpg-agent-configuration-extra-content home-gpg-agent-configuration-extra-content
home-gpg-agent-service-type)) home-gpg-agent-service-type
home-parcimonie-configuration
home-parcimonie-configuration?
home-parcimonie-configuration-parcimonie
home-parcimonie-configuration-gnupg-already-torified?
home-parcimonie-configuration-refresh-guix-keyrings?
home-parcimonie-configuration-extra-content
home-parcimonie-service-type))
(define raw-configuration-string? string?) (define raw-configuration-string? string?)
@ -148,3 +158,68 @@ agent, with support for handling OpenSSH material."))))
managing OpenPGP and optionally SSH private keys. When SSH support is managing OpenPGP and optionally SSH private keys. When SSH support is
enabled, @command{gpg-agent} acts as a drop-in replacement for OpenSSH's enabled, @command{gpg-agent} acts as a drop-in replacement for OpenSSH's
@command{ssh-agent}."))) @command{ssh-agent}.")))
(define-configuration/no-serialization home-parcimonie-configuration
(parcimonie
(file-like parcimonie)
"The parcimonie package to use.")
(verbose?
(boolean #f)
"Provide extra output to the log file.")
(gnupg-aleady-torified?
(boolean #f)
"GnuPG is already configured to use tor and parcimonie won't attempt to use
tor directly.")
(refresh-guix-keyrings?
(boolean #f)
"Also refresh any Guix keyrings found in the XDG_CONFIG_DIR.")
(extra-content
(raw-configuration-string "")
"Raw content to add to the parcimonie service."))
(define (home-parcimonie-shepherd-service config)
"Return a user service to run parcimonie."
(match-record config <home-parcimonie-configuration>
(parcimonie verbose? gnupg-aleady-torified?
refresh-guix-keyrings? extra-content)
(let ((log-file #~(string-append %user-log-dir "/parcimonie.log")))
(list (shepherd-service
(provision '(parcimonie))
(modules '((shepherd support) ;for '%user-log-dir'
(guix build utils)
(srfi srfi-1)))
(start #~(make-forkexec-constructor
(cons*
#$(file-append parcimonie "/bin/parcimonie")
#$@(if verbose?
'("--verbose")
'())
#$@(if gnupg-aleady-torified?
'("--gnupg_already_torified")
'())
#$@(if (not (string=? extra-content ""))
(list extra-content)
'())
#$@(if refresh-guix-keyrings?
'((append-map
(lambda (item)
(list (string-append "--gnupg_extra_args="
"--keyring=" item)))
(find-files
(string-append (getenv "XDG_CONFIG_HOME") "/guix")
"^trustedkeys\\.kbx$")))
'((list))))
#:log-file #$log-file))
(stop #~(make-kill-destructor))
(respawn? #t)
(documentation "Incrementally refresh gnupg keyring over Tor"))))))
(define home-parcimonie-service-type
(service-type
(name 'home-parcimonie)
(extensions
(list (service-extension home-shepherd-service-type
home-parcimonie-shepherd-service)))
(default-value (home-parcimonie-configuration))
(description
"Incrementally refresh GnuPG keyrings over Tor.")))

View file

@ -20,6 +20,8 @@
#:use-module (gnu services) #:use-module (gnu services)
#:use-module (gnu home services) #:use-module (gnu home services)
#:use-module (gnu services syncthing) #:use-module (gnu services syncthing)
;; For the 'home-shepherd-service-type' mapping.
#:use-module (gnu home services shepherd)
#:export (home-syncthing-service-type) #:export (home-syncthing-service-type)
#:re-export (syncthing-configuration #:re-export (syncthing-configuration
syncthing-configuration?)) syncthing-configuration?))

View file

@ -154,6 +154,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/bioinformatics.scm \ %D%/packages/bioinformatics.scm \
%D%/packages/bittorrent.scm \ %D%/packages/bittorrent.scm \
%D%/packages/bison.scm \ %D%/packages/bison.scm \
%D%/packages/books.scm \
%D%/packages/boost.scm \ %D%/packages/boost.scm \
%D%/packages/bootloaders.scm \ %D%/packages/bootloaders.scm \
%D%/packages/bootstrap.scm \ %D%/packages/bootstrap.scm \
@ -1317,6 +1318,7 @@ dist_patch_DATA = \
%D%/packages/patches/go-github-com-golang-snappy-32bit-test.patch \ %D%/packages/patches/go-github-com-golang-snappy-32bit-test.patch \
%D%/packages/patches/go-github-com-urfave-cli-fix-tests.patch \ %D%/packages/patches/go-github-com-urfave-cli-fix-tests.patch \
%D%/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch \ %D%/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch \
%D%/packages/patches/go-github-com-wraparound-wrap-free-fonts.patch \
%D%/packages/patches/go-skip-gc-test.patch \ %D%/packages/patches/go-skip-gc-test.patch \
%D%/packages/patches/gourmet-sqlalchemy-compat.patch \ %D%/packages/patches/gourmet-sqlalchemy-compat.patch \
%D%/packages/patches/gpaste-fix-paths.patch \ %D%/packages/patches/gpaste-fix-paths.patch \
@ -1409,7 +1411,6 @@ dist_patch_DATA = \
%D%/packages/patches/imagemagick-WriteTHUMBNAILImage-fix.patch \ %D%/packages/patches/imagemagick-WriteTHUMBNAILImage-fix.patch \
%D%/packages/patches/inkscape-poppler-compat.patch \ %D%/packages/patches/inkscape-poppler-compat.patch \
%D%/packages/patches/instead-use-games-path.patch \ %D%/packages/patches/instead-use-games-path.patch \
%D%/packages/patches/intel-xed-fix-nondeterminism.patch \
%D%/packages/patches/intltool-perl-compatibility.patch \ %D%/packages/patches/intltool-perl-compatibility.patch \
%D%/packages/patches/iputils-libcap-compat.patch \ %D%/packages/patches/iputils-libcap-compat.patch \
%D%/packages/patches/irrlicht-use-system-libs.patch \ %D%/packages/patches/irrlicht-use-system-libs.patch \
@ -1731,7 +1732,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-sgmllib3k-assertions.patch \ %D%/packages/patches/python-sgmllib3k-assertions.patch \
%D%/packages/patches/python-telingo-fix-comparison.patch \ %D%/packages/patches/python-telingo-fix-comparison.patch \
%D%/packages/patches/python-typeguard-python3.10.patch \ %D%/packages/patches/python-typeguard-python3.10.patch \
%D%/packages/patches/python-w3lib-fix-test-failure.patch \
%D%/packages/patches/python-wxwidgets-type-errors.patch \ %D%/packages/patches/python-wxwidgets-type-errors.patch \
%D%/packages/patches/qtdeclarative-5-disable-qmlcache.patch \ %D%/packages/patches/qtdeclarative-5-disable-qmlcache.patch \
%D%/packages/patches/qtdeclarative-disable-qmlcache.patch \ %D%/packages/patches/qtdeclarative-disable-qmlcache.patch \
@ -1867,7 +1867,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-werkzeug-tests.patch \ %D%/packages/patches/python-werkzeug-tests.patch \
%D%/packages/patches/python-zeep-Fix-pytest_httpx-test-cases.patch \ %D%/packages/patches/python-zeep-Fix-pytest_httpx-test-cases.patch \
%D%/packages/patches/qemu-build-info-manual.patch \ %D%/packages/patches/qemu-build-info-manual.patch \
%D%/packages/patches/qemu-disable-aarch64-migration-test.patch \ %D%/packages/patches/qemu-disable-some-qtests-tests.patch \
%D%/packages/patches/qemu-glibc-2.27.patch \ %D%/packages/patches/qemu-glibc-2.27.patch \
%D%/packages/patches/qemu-glibc-2.30.patch \ %D%/packages/patches/qemu-glibc-2.30.patch \
%D%/packages/patches/qemu-fix-agent-paths.patch \ %D%/packages/patches/qemu-fix-agent-paths.patch \
@ -1916,6 +1916,7 @@ dist_patch_DATA = \
%D%/packages/patches/ruby-anystyle-fix-dictionary-populate.patch \ %D%/packages/patches/ruby-anystyle-fix-dictionary-populate.patch \
%D%/packages/patches/ruby-latex-decode-fix-test.patch \ %D%/packages/patches/ruby-latex-decode-fix-test.patch \
%D%/packages/patches/ruby-mustache-1.1.1-fix-race-condition-tests.patch \ %D%/packages/patches/ruby-mustache-1.1.1-fix-race-condition-tests.patch \
%D%/packages/patches/ruby-nokogiri.patch \
%D%/packages/patches/rustc-1.54.0-src.patch \ %D%/packages/patches/rustc-1.54.0-src.patch \
%D%/packages/patches/rust-1.64-fix-riscv64-bootstrap.patch \ %D%/packages/patches/rust-1.64-fix-riscv64-bootstrap.patch \
%D%/packages/patches/rust-ring-0.16-missing-files.patch \ %D%/packages/patches/rust-ring-0.16-missing-files.patch \
@ -1929,6 +1930,7 @@ dist_patch_DATA = \
%D%/packages/patches/rust-webbrowser-remove-unsupported-os.patch \ %D%/packages/patches/rust-webbrowser-remove-unsupported-os.patch \
%D%/packages/patches/rust-wl-clipboard-rs-newer-wl.patch \ %D%/packages/patches/rust-wl-clipboard-rs-newer-wl.patch \
%D%/packages/patches/rw-igraph-0.10.patch \ %D%/packages/patches/rw-igraph-0.10.patch \
%D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \
%D%/packages/patches/sbc-fix-build-non-x86.patch \ %D%/packages/patches/sbc-fix-build-non-x86.patch \
%D%/packages/patches/sbcl-aserve-add-HTML-5-elements.patch \ %D%/packages/patches/sbcl-aserve-add-HTML-5-elements.patch \
%D%/packages/patches/sbcl-aserve-fix-rfe12668.patch \ %D%/packages/patches/sbcl-aserve-fix-rfe12668.patch \
@ -1967,6 +1969,7 @@ dist_patch_DATA = \
%D%/packages/patches/source-highlight-gcc-compat.patch \ %D%/packages/patches/source-highlight-gcc-compat.patch \
%D%/packages/patches/softhsm-fix-openssl3-tests.patch \ %D%/packages/patches/softhsm-fix-openssl3-tests.patch \
%D%/packages/patches/spectre-meltdown-checker-externalize-fwdb.patch \ %D%/packages/patches/spectre-meltdown-checker-externalize-fwdb.patch \
%D%/packages/patches/spdlog-fix-tests.patch \
%D%/packages/patches/spectre-meltdown-checker-find-kernel.patch \ %D%/packages/patches/spectre-meltdown-checker-find-kernel.patch \
%D%/packages/patches/sphinxbase-fix-doxygen.patch \ %D%/packages/patches/sphinxbase-fix-doxygen.patch \
%D%/packages/patches/sssd-system-directories.patch \ %D%/packages/patches/sssd-system-directories.patch \
@ -2088,6 +2091,7 @@ dist_patch_DATA = \
%D%/packages/patches/vte-CVE-2012-2738-pt1.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt1.patch \
%D%/packages/patches/vte-CVE-2012-2738-pt2.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt2.patch \
%D%/packages/patches/vtk-7-gcc-10-compat.patch \ %D%/packages/patches/vtk-7-gcc-10-compat.patch \
%D%/packages/patches/vtk-7-gcc-11-compat.patch \
%D%/packages/patches/vtk-7-hdf5-compat.patch \ %D%/packages/patches/vtk-7-hdf5-compat.patch \
%D%/packages/patches/vtk-7-python-compat.patch \ %D%/packages/patches/vtk-7-python-compat.patch \
%D%/packages/patches/wacomtablet-add-missing-includes.patch \ %D%/packages/patches/wacomtablet-add-missing-includes.patch \
@ -2096,6 +2100,7 @@ dist_patch_DATA = \
%D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \ %D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \
%D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \ %D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \ %D%/packages/patches/webrtc-audio-processing-big-endian.patch \
%D%/packages/patches/webrtc-for-telegram-desktop-unbundle-libsrtp.patch \
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \ %D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
%D%/packages/patches/wmctrl-64-fix.patch \ %D%/packages/patches/wmctrl-64-fix.patch \
%D%/packages/patches/wmfire-update-for-new-gdk-versions.patch \ %D%/packages/patches/wmfire-update-for-new-gdk-versions.patch \

View file

@ -3979,7 +3979,7 @@ you are running, what theme or icon set you are using, etc.")
(define-public hyfetch (define-public hyfetch
(package (package
(name "hyfetch") (name "hyfetch")
(version "1.4.8") (version "1.4.10")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -3989,7 +3989,7 @@ you are running, what theme or icon set you are using, etc.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"127nwgxcq0fs9wavs0sqv8zqdz7yfahw1nr9pgb6z5yjnc5cdcx3")))) "1lf1vrasinda9j6yazznpx54gg5j24xvkjb68dxhby9dg8ql1h87"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (list #:tests? #f)) ;no tests (arguments (list #:tests? #f)) ;no tests
(inputs (list python-typing-extensions)) (inputs (list python-typing-extensions))
@ -4276,6 +4276,28 @@ on systems running the Linux kernel.")
(supported-systems '("i686-linux" "x86_64-linux")) (supported-systems '("i686-linux" "x86_64-linux"))
(license license:gpl2))) (license license:gpl2)))
(define-public tcptrack
(package
(name "tcptrack")
(version "1.4.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bchretien/tcptrack")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"08lh3l67wn4kq9q0nfspc7rj0jvp9dzwjgxpvqliwcif8cy5mi45"))))
(build-system gnu-build-system)
(inputs (list libpcap ncurses))
(synopsis "TCP connections sniffer")
(description
"Tcptrack is a sniffer which displays information about TCP connections
it sees on a network interface. This is a fork of Steve Bensons tcptrack.")
(home-page "https://github.com/bchretien/tcptrack")
(license license:lgpl2.1+)))
(define-public masscan (define-public masscan
(package (package
(name "masscan") (name "masscan")

View file

@ -442,8 +442,14 @@ waveform until they line up with the proper sounds.")
(inputs (inputs
(list qtbase-5 qtxmlpatterns qtmultimedia-5 qtsvg-5)) (list qtbase-5 qtxmlpatterns qtmultimedia-5 qtsvg-5))
(arguments (arguments
`(#:phases (list
(modify-phases %standard-phases #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
(lambda _
;; Its bundled catch2-2.5.0 fails to build with glibc-2.35.
(copy-file #$(file-append catch2 "/include/catch2/catch.hpp")
"tests/src/catch.hpp")))
(replace 'configure (replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
@ -453,8 +459,7 @@ waveform until they line up with the proper sounds.")
(let ((out (assoc-ref outputs "out")) (let ((out (assoc-ref outputs "out"))
(plugin-path (getenv "QT_PLUGIN_PATH"))) (plugin-path (getenv "QT_PLUGIN_PATH")))
(wrap-program (string-append out "/bin/pencil2d") (wrap-program (string-append out "/bin/pencil2d")
`("QT_PLUGIN_PATH" ":" prefix (,plugin-path))) `("QT_PLUGIN_PATH" ":" prefix (,plugin-path)))))))))
#t))))))
(home-page "https://www.pencil2d.org") (home-page "https://www.pencil2d.org")
(synopsis "Make 2D hand-drawn animations") (synopsis "Make 2D hand-drawn animations")
(description (description

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 L p R n d n <guix@lprndn.info> ;;; Copyright © 2019 L p R n d n <guix@lprndn.info>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2023 Ahmad Draidi <a.r.draidi@redscript.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -19,151 +20,149 @@
(define-module (gnu packages arcan) (define-module (gnu packages arcan)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system meson)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix gexp)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages apr)
#:use-module (gnu packages audio) #:use-module (gnu packages audio)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gl) #:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages libusb) #:use-module (gnu packages libusb)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages lua) #:use-module (gnu packages lua)
#:use-module (gnu packages ocr) #:use-module (gnu packages ocr)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages pcre) #:use-module (gnu packages pcre)
#:use-module (gnu packages pdf)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages ruby) #:use-module (gnu packages ruby)
#:use-module (gnu packages sdl) #:use-module (gnu packages sdl)
#:use-module (gnu packages speech)
#:use-module (gnu packages sqlite) #:use-module (gnu packages sqlite)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages video) #:use-module (gnu packages video)
#:use-module (gnu packages vnc)
#:use-module (gnu packages web)
#:use-module (gnu packages xdisorg) #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (srfi srfi-1)) #:use-module (srfi srfi-1))
(define-public arcan (define-public arcan
(let ((commit "b4dd1fbd1938492ff4b269189d3c8524be7450a9")
(revision "1"))
(package (package
(name "arcan") (name "arcan")
(version (git-version "0.5.5.2" revision commit)) (version "0.6.2.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(uri (git-reference (uri (git-reference
(url "https://github.com/letoram/arcan") (url "https://github.com/letoram/arcan")
(commit commit))) (commit version)))
(sha256 (sha256
(base32 "1pd0avlzc2rig1hd37zbhc7r2s6fjzdhshfg9l9cfzibl7caclyw")))) (base32
"14wwb7mgq8ab39dfprps7hzdz7a37r3cl8dc5q6m1r8n5daxyzgc"))
(modules '((guix build utils)))
(snippet
;; Remove some bundled packages.
#~(begin
(delete-file-recursively "external/git")
(delete-file-recursively "external/lua")
(delete-file-recursively "external/sqlite")))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags '("-DCMAKE_C_FLAGS=-fcommon" (list #:configure-flags #~'("-DBUILD_PRESET=everything"
"-DVIDEO_PLATFORM=egl-dri" "-DBUILTIN_LUA=off" "-DDISTR_TAG='Guix'")
"-DSTATIC_OPENAL=off""-DENABLE_LWA=on" #:phases #~(modify-phases %standard-phases
"-DSTATIC_SQLITE3=off" "-DSTATIC_FREETYPE=off" (add-after 'unpack 'patch-paths
"-DSHMIF_TUI_ACCEL=on") (lambda* (#:key outputs #:allow-other-keys)
#:phases (substitute* "src/platform/posix/paths.c"
(modify-phases %standard-phases (("/usr/local")
(add-after 'unpack 'fix-cmake-paths (assoc-ref outputs "out")))))
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/platform/cmake/modules/FindGBMKMS.cmake"
(("/usr/local/include/libdrm")
(search-input-directory inputs "include/libdrm")))
(substitute* "src/platform/cmake/modules/FindAPR.cmake"
(("/usr/local/apr/include/apr-1")
(search-input-directory inputs "include/apr-1")))
#t))
;; Normally, it tries to fetch patched openal with git ;; Normally, it tries to fetch patched openal with git
;; but copying files manually in the right place seems to work too. ;; but copying files manually in the right place seems
;; to work too.
(add-after 'unpack 'prepare-static-openal (add-after 'unpack 'prepare-static-openal
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((arcan-openal (assoc-ref inputs "arcan-openal"))) (let ((arcan-openal (assoc-ref inputs
(copy-recursively arcan-openal "external/git/openal")) "arcan-openal")))
#t)) (copy-recursively arcan-openal
"external/git/openal")) #t))
(add-after 'prepare-static-openal 'generate-man (add-after 'prepare-static-openal 'generate-man
(lambda _ (lambda _
(with-directory-excursion "doc" (with-directory-excursion "doc"
(invoke "ruby" "docgen.rb" "mangen")) (invoke "ruby" "docgen.rb" "mangen")) #t))
#t))
(add-before 'configure 'chdir (add-before 'configure 'chdir
(lambda _ (lambda _
(chdir "src") (chdir "src") #t)))
#t))
(add-after 'install 'wrap-program
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/arcan")
`("ARCAN_RESOURCEPATH" ":" suffix
(,(string-append out "/share/arcan/resources")))
`("ARCAN_STATEBASEPATH" ":" =
("$HOME/.arcan/resources/savestates"))
`("ARCAN_STATEPATH" ":" =
("$HOME/.arcan/resources/savestates"))
`("ARCAN_BINPATH" ":" =
(,(string-append out "/bin/arcan_frameserver")))))
#t)))
#:tests? #f)) #:tests? #f))
(native-search-paths (inputs `(("bash-minimal" ,bash-minimal)
(list (search-path-specification ("espeak" ,espeak)
(variable "ARCAN_APPLBASEPATH") ("ffmpeg" ,ffmpeg)
(separator #f)
(files '("share/arcan/appl")))
(search-path-specification
(variable "ARCAN_SCRIPTPATH")
(separator #f)
(files '("share/arcan/scripts")))))
(inputs
`(("apr" ,apr)
("ffmpeg" ,ffmpeg-4)
("freetype" ,freetype) ("freetype" ,freetype)
("glib" ,glib) ("gumbo-parser" ,gumbo-parser)
("glu" ,glu)
("harfbuzz" ,harfbuzz) ("harfbuzz" ,harfbuzz)
("jbig2dec" ,jbig2dec)
("leptonica" ,leptonica)
("libdrm" ,libdrm) ("libdrm" ,libdrm)
("libjpeg-turbo" ,libjpeg-turbo)
("libseccomp" ,libseccomp)
("libusb" ,libusb) ("libusb" ,libusb)
("libvnc" ,libvnc)
("libxkbcommon" ,libxkbcommon) ("libxkbcommon" ,libxkbcommon)
("lua" ,luajit) ("luajit" ,luajit)
("lzip" ,lzip) ("mupdf" ,mupdf)
("openal" ,openal) ("openal" ,openal)
("pcre" ,pcre) ("openjpeg" ,openjpeg)
("sdl2" ,sdl2)
("sqlite" ,sqlite) ("sqlite" ,sqlite)
("tesseract-ocr" ,tesseract-ocr) ("tesseract-ocr" ,tesseract-ocr)
("leptonica" ,leptonica)
("vlc" ,vlc) ("vlc" ,vlc)
("wayland" ,wayland)
("wayland-protocols" ,wayland-protocols)
("xcb-util" ,xcb-util)
("xcb-util-wm" ,xcb-util-wm)
("zlib" ,zlib)
;; To build arcan_lwa, we need a patched version of openal. ;; To build arcan_lwa, we need a patched version of openal.
;; https://github.com/letoram/arcan/wiki/packaging ;; https://github.com/letoram/arcan/wiki/packaging
("arcan-openal" ,(origin ("arcan-openal"
,(origin
(method git-fetch) (method git-fetch)
(file-name "arcan-openal-0.5.4") (file-name "arcan-openal-0.6.2")
(uri (git-reference (uri (git-reference (url
(url "https://github.com/letoram/openal") "https://github.com/letoram/openal")
(commit "1c7302c580964fee9ee9e1d89ff56d24f934bdef"))) (commit "0.6.2")))
(sha256 (sha256
(base32 (base32
"0dcxcnqjkyyqdr2yk84mprvkncy5g172kfs6vc4zrkklsbkr8yi2")))))) "0vg3fda47q2dk1n43ijcc64q39z044pa8h6scmfyi22g6r6bfw2z"))))))
(native-inputs (native-inputs (list pkg-config ruby)) ;For documentation and testing
(list pkg-config ruby)) ; For documentation and testing
(home-page "https://arcan-fe.com") (home-page "https://arcan-fe.com")
(synopsis "Display server, multimedia framework and game engine (egl-dri)") (synopsis "Display server, multimedia framework and game engine")
(description "Arcan is a development framework for creating virtually (description
"Arcan is a development framework for creating virtually
anything from user interfaces for specialized embedded applications anything from user interfaces for specialized embedded applications
all the way to full-blown desktop environments. At its heart lies a multimedia all the way to full-blown desktop environments. At its heart lies a multimedia
engine programmable using Lua.") engine with a Lua scripting interface.")
;; https://github.com/letoram/arcan/blob/master/COPYING ;; https://github.com/letoram/arcan/blob/master/COPYING
(license (list license:gpl2+ (license (list license:asl2.0
license:bsd-3
license:cc-by3.0
license:expat
license:gpl2+
license:lgpl2.0 license:lgpl2.0
license:lgpl2.0+ license:lgpl2.0+
license:public-domain license:public-domain
license:bsd-3))))) license:silofl1.1
license:zlib))))
(define-public arcan-sdl (define-public arcan-sdl
(package (package
@ -185,90 +184,67 @@ engine programmable using Lua.")
(synopsis "Combined display server, multimedia framework and game engine (SDL)"))) (synopsis "Combined display server, multimedia framework and game engine (SDL)")))
(define-public xarcan (define-public xarcan
(let ((commit "8e6ee029388326cfe5cddeffe482eb3702e9b7f3")
(revision "1" ))
(package (package
(name "xarcan") (name "xarcan")
(version (git-version "0.5.4" revision commit)) (version "0.6.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(uri (git-reference (uri (git-reference
(url "https://github.com/letoram/xarcan") (url "https://github.com/letoram/xarcan")
(commit commit))) (commit version)))
(sha256 (sha256
(base32 "0zng7cs6733mnf0p6g5wv02981f2sf567n56csax6cmzb8fpamym")))) (base32 "1z4sf101i2y6rg2vcxfwmp1nkzfa3rw1pp48ym1ds1ka513vy128"))))
(build-system gnu-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:configure-flags (list
`("--enable-kdrive" "--enable-xarcan" #:configure-flags
"--disable-xorg" "--disable-xwayland" #~(list
"--disable-xnest" "--disable-xvfb" "-Dglamor=true" "-Dint10=false"
"--enable-glamor" "--enable-glx" "-Dipv6=true"
"--disable-int10-module" "--enable-ipv6" "-Dsystemd_logind=false"
"--enable-record" "--without-systemd-daemon"
"--enable-xcsecurity" "--disable-static" ;; The following arguments were taken from the Xwayland package.
,(string-append "--with-xkb-path="
(assoc-ref %build-inputs "xkeyboard-config") ;; The build system insist on providing a default font path; give
;; that of dejavu, the same used for our fontconfig package.
(string-append "-Ddefault_font_path="
#$(this-package-input "font-dejavu") "/share/fonts")
(string-append "-Dxkb_dir=" #$(this-package-input "xkeyboard-config")
"/share/X11/xkb") "/share/X11/xkb")
,(string-append "--with-xkb-bin-directory=" (string-append "-Dxkb_bin_dir=" #$(this-package-input "xkbcomp")
(assoc-ref %build-inputs "xkbcomp")
"/bin") "/bin")
,(string-append "--with-xkb-output=" (format #f "-Dbuilder_string=\"Build ID: ~a ~a\"" #$name #$version))))
"/tmp")))) ; FIXME: Copied from xorg
(native-inputs (native-inputs
(list pkg-config autoconf automake libtool util-macros)) (list pkg-config autoconf automake libtool util-macros))
(inputs (inputs
`(("arcan" ,arcan) (list arcan
("font-util" ,font-util) font-dejavu
("libdrm" ,libdrm) font-util
("libepoxy" ,libepoxy) libdrm
("libkbfile" ,libxkbfile) libepoxy
("libressl" ,libressl) libtirpc
("libx11" ,libx11) libx11
("libxfont2" ,libxfont2) libxfont2
("mesa" ,mesa) libxkbfile
("pixman" ,pixman) libxshmfence
("xkeyboard-config" ,xkeyboard-config) mesa
("xkbcomp" ,xkbcomp) openssl
("xorgproto" ,xorgproto) pixman
("xtrans" ,xtrans))) xcb-util
xcb-util-wm
xkbcomp
xkeyboard-config
xorgproto
xtrans))
(home-page "https://arcan-fe.com") (home-page "https://arcan-fe.com")
(synopsis "Patched Xserver that bridges connections to Arcan") (synopsis "Patched Xserver that bridges connections to Arcan")
(description "Patched Xserver with a KDrive backend that uses the arcan-shmif (description "Patched Xserver with a KDrive backend that uses the arcan-shmif
to map Xlib/Xcb/X clients to a running arcan instance. It allows running an X session to map Xlib/Xcb/X clients to a running arcan instance. It allows running an X session
as a window under Arcan.") as a window under Arcan.")
(license license:expat)))) (license (list license:bsd-3 license:expat))))
;; Package was merged into arcan in upstream.
(define-public arcan-wayland (define-public arcan-wayland
(package (deprecated-package "arcan-wayland" arcan))
(inherit arcan)
(name "arcan-wayland")
(native-inputs
(list pkg-config))
(inputs
(list arcan
libseccomp
libxkbcommon
mesa
wayland
wayland-protocols))
(arguments
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'configure 'chdir
(lambda _
(chdir "src/tools/waybridge")
#t))
(add-after 'unpack 'fix-cmake-find-shmif
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/platform/cmake/modules/Findarcan_shmif.cmake"
(("/usr/local") (assoc-ref inputs "arcan")))
#t)))))
(synopsis "Wayland protocol service for Arcan")
(description "Arcan-wayland (waybridge) bridges Wayland connections
with an Arcan connection point. It allows Wayland compatible clients
to connect and render using Arcan.")
(license license:bsd-3)))

View file

@ -470,20 +470,18 @@ sets, both THUMB and ARM mode.")
(define-public intel-xed (define-public intel-xed
(package (package
(name "intel-xed") (name "intel-xed")
(version "12.0.1") (version "2023.08.21")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/intelxed/xed") (url "https://github.com/intelxed/xed")
(commit version))) (commit (string-append "v" version))))
(sha256 (base32 "07zfff8zf29c2n0wal87hiqfq3cwcjn80zz78mz0nyjfj09nd39f")) (sha256 (base32 "1zv99m5h3n3w6jcpplznq030s5mlwg5llz3vgfwpfl5l8laz1032"))
(file-name (git-file-name name version)) (file-name (git-file-name name version))))
(patches (search-patches "intel-xed-fix-nondeterminism.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("python" ,python-wrapper) `(("python" ,python-wrapper)
("tcsh" ,tcsh)
;; As of the time of writing this comment, mbuild does not exist in the ;; As of the time of writing this comment, mbuild does not exist in the
;; Python Package Index and seems to only be used by intel-xed, so we ;; Python Package Index and seems to only be used by intel-xed, so we
;; opt to include it here instead of packaging separately. Note also ;; opt to include it here instead of packaging separately. Note also
@ -491,15 +489,15 @@ sets, both THUMB and ARM mode.")
;; reference the "version" variable from setup.py instead. ;; reference the "version" variable from setup.py instead.
("mbuild" ("mbuild"
,(let ((name "mbuild") ,(let ((name "mbuild")
(version "0.2496")) (version "2022.07.28"))
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/intelxed/mbuild") (url "https://github.com/intelxed/mbuild")
(commit "3de3f0d753c11dbe634bec611d4cc13f74768e4f"))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 (base32
"0z8hdhpmk8y5c9429p2yns9daswnffbprni9czkq3vij8f58lkg4")) "0rc9xp202yqw42bwgylwxvfvjr1crdl50qvv8vzfczyvlf4wflcx"))
(file-name (git-file-name name version))))))) (file-name (git-file-name name version)))))))
(outputs '("out" "lib")) (outputs '("out" "lib"))
(arguments (arguments
@ -585,5 +583,3 @@ intrinsics as defined in the @file{arm_neon.h} header and x86 SSE (up to
SSE4.2) intrinsic functions as defined in corresponding x86 compilers headers SSE4.2) intrinsic functions as defined in corresponding x86 compilers headers
files.") files.")
(license license:bsd-2)))) (license license:bsd-2))))

View file

@ -779,6 +779,9 @@ namespace ARDOUR { const char* revision = \"" version "\" ; const char* date = \
libdir "/panners" ":" libdir "/panners" ":"
libdir "/surfaces" ":" libdir "/surfaces" ":"
libdir "/vamp" "\"]")))))) libdir "/vamp" "\"]"))))))
(add-after 'build 'build-i18n
(lambda _
(invoke "python" "waf" "i18n")))
(add-after 'install 'install-freedesktop-files (add-after 'install 'install-freedesktop-files
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
@ -2829,7 +2832,7 @@ implementation of the Open Sound Control (@dfn{OSC}) protocol.")
(define-public rtaudio (define-public rtaudio
(package (package
(name "rtaudio") (name "rtaudio")
(version "5.1.0") (version "5.2.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2838,20 +2841,8 @@ implementation of the Open Sound Control (@dfn{OSC}) protocol.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "156c2dgh6jrsyfn1y89nslvaxm4yifmxridsb708yvkaym02w2l8")))) (base32 "189xphhf0winf8b60dx1kk2biz811wk6ps44br7l1lyfhymxcjmi"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; The header that pkg-config expects is include/rtaudio/RtAudio.h,
;; but this package installs it as include/RtAudio.h by default.
(add-after 'install 'fix-inc-path
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(inc (string-append out "/include")))
(mkdir-p (string-append inc "/rtaudio"))
(rename-file (string-append inc "/RtAudio.h")
(string-append inc "/rtaudio/RtAudio.h"))))))))
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(inputs (inputs

View file

@ -46,7 +46,7 @@
(name "avr-binutils"))) (name "avr-binutils")))
(define avr-gcc (define avr-gcc
(let ((xgcc (cross-gcc "avr" #:xgcc gcc #:xbinutils avr-binutils))) (let ((xgcc (cross-gcc "avr" #:xbinutils avr-binutils)))
(package (package
(inherit xgcc) (inherit xgcc)
(name "avr-gcc") (name "avr-gcc")

View file

@ -461,7 +461,8 @@ remain fully idle, saving power and producing less noise.")
(inputs (inputs
(list librsync-0.9)) (list librsync-0.9))
(arguments (arguments
`(#:make-flags `(,(string-append "PREFIX=" (assoc-ref %outputs "out")) `(#:make-flags `("CFLAGS=-fcommon"
,(string-append "PREFIX=" (assoc-ref %outputs "out"))
,(string-append "CC=" ,(cc-for-target))) ,(string-append "CC=" ,(cc-for-target)))
#:tests? #f ;test input not distributed #:tests? #f ;test input not distributed
#:phases #:phases

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2023 Frank Pursel <frank.pursel@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -28,7 +29,103 @@
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages java) #:use-module (gnu packages java)
#:use-module (gnu packages java-xml) #:use-module (gnu packages java-xml)
#:use-module (gnu packages textutils)) #:use-module (gnu packages javascript)
#:use-module (gnu packages textutils)
#:use-module (gnu packages xml))
(define-public java-libbatik
(package
(name "java-libbatik")
(version "1.16")
(source (origin
(method url-fetch)
(uri (string-append
"https://dlcdn.apache.org/xmlgraphics/batik/source/batik-src-"
version ".tar.gz"))
(sha256
(base32
"18ys0j7i861ydvimbm3a7dyvny48x5b37zfkvznlys7vcb2qz5z1"))
(modules '((guix build utils)))
(snippet '(begin
;; Identify and delete bundled jars.
(format #t "~%~a~%" "Removing sourced jars")
(for-each (lambda (f)
(delete-file f)
(format #t "Deleted: ~a~%" f))
(find-files "." "\\.jar$"))))))
(build-system ant-build-system)
(arguments
`(#:jar-name "batik.jar"
#:source-dir "sources/src/main/java"
#:test-dir "sources/src/test"
;; Tests are successful -- exclusions in lieu of
;; deleting duplicated util tests.
#:test-exclude (list "**/util/*.java")
#:phases (modify-phases %standard-phases
(add-after 'unpack 'src-consolidation
(lambda _
(mkdir-p "sources")
(let ((cwd (getcwd))
(sub-dirs (list "anim"
"awt-util"
"bridge"
"codec"
"constants"
"css"
"dom"
"ext"
"extension"
"gui-util"
"gvt"
"i18n"
"parser"
"script"
"slideshow"
"svgbrowser"
"svg-dom"
"svggen"
"svgpp"
"svgrasterizer"
"swing"
"test"
"test-svg"
"transcoder"
"ttf2svg"
"util"
"xml"
"test-swing")))
(for-each (lambda (sdir)
(copy-recursively (string-append "batik-"
sdir)
"sources/")) sub-dirs))
;; Test prep
(copy-recursively "test-resources" "sources")
;; Remove scripting subdirs for jpython, and jacl.
(for-each (lambda (rfile)
(delete-file rfile)
(format #t "Deleted: ~s\n" rfile))
(append (find-files (string-append
"sources/src/main/java/org/"
"apache/batik/script/jpython"))
(find-files (string-append
"sources/src/main/java/org/"
"apache/batik/script/jacl")))))))))
(native-inputs (list java-jaxen
java-jdom
quickjs
java-jaxp
java-junit
java-xerces
java-xmlgraphics-commons
libxslt
rhino))
(home-page "https://xmlgraphics.apache.org/batik/")
(synopsis "Java based toolkit for Scalable Vector Graphics")
(description
"Batik is a Java-based toolkit for applications or
applets that want to use images in the Scalable Vector Graphics (SVG)
format for various purposes, such as display, generation or manipulation.")
(license license:asl2.0)))
(define-public java-w3c-smil-3.0 (define-public java-w3c-smil-3.0
(package (package

File diff suppressed because it is too large Load diff

View file

@ -2154,6 +2154,41 @@ Python.")
;; licensed lgpl2.1+ ;; licensed lgpl2.1+
(license (list license:expat license:lgpl2.1+)))) (license (list license:expat license:lgpl2.1+))))
(define-public python-scdamandtools
(package
(name "python-scdamandtools")
(version "1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KindLab/scDamAndTools")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1mblw6cn5jqik6ky8cv7ry99z6jm1i4r71pzdfl398vrwbda65gd"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;there are none
(propagated-inputs (list python-h5py
python-numpy
python-sortedcontainers
python-pandas
python-pysam
python-tqdm))
(native-inputs (list python-cython python-pytest))
(home-page "https://github.com/KindLab/scDamAndTools")
(synopsis "Functions for processing raw scDam&T-seq data")
(description
"This is a set of functions for processing raw scDam&T-seq data.
scDam&T-seq is a method to simultaneously measure protein-DNA interactions and
transcription from single cells (Rooijers et al., 2019). It combines a
DamID-based method to measure protein-DNA interactions and an adaptation of
CEL-Seq to measure transcription. The starting point of the workflow is raw
sequencing data and the end result are tables of UMI-unique DamID and CEL-Seq
counts.")
(license license:expat)))
(define-public python-bioframe (define-public python-bioframe
(package (package
(name "python-bioframe") (name "python-bioframe")
@ -9756,11 +9791,11 @@ tasks.")
(license license:expat)))) (license license:expat))))
(define-public r-chromunity (define-public r-chromunity
(let ((commit "09fce8bc12cb84b45a6ea25bf8db6e5b75113d4f") (let ((commit "712e56ccba64e8881dbb203546379a5c3c639bb2")
(revision "1")) (revision "1"))
(package (package
(name "r-chromunity") (name "r-chromunity")
(version (git-version "0.0.1" revision commit)) (version (git-version "0.0.2" revision commit))
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -9769,12 +9804,13 @@ tasks.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0lp0h614k8fq6h9gpbylk4chh7q6w4qda8lx03ajrpppxmg7al2d")))) "0sdja11l7bg5rmcbp2cl226cq9qrj3r8kq5lg49zbin83hya27vh"))))
(properties `((upstream-name . "chromunity"))) (properties `((upstream-name . "chromunity")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
(list r-arrow (list r-arrow
r-biocgenerics r-biocgenerics
r-bsgenome-hsapiens-ucsc-hg38
r-data-table r-data-table
r-gchain r-gchain
r-genomicranges r-genomicranges
@ -9786,7 +9822,6 @@ tasks.")
r-pbmcapply r-pbmcapply
r-plyr r-plyr
r-r6 r-r6
r-skitools
r-zoo)) r-zoo))
(home-page "https://github.com/mskilab/chromunity") (home-page "https://github.com/mskilab/chromunity")
(synopsis "Discovery of communities in Pore-C concatemers") (synopsis "Discovery of communities in Pore-C concatemers")
@ -17867,7 +17902,7 @@ multiple experimental contexts.")
(define-public vbz-compression (define-public vbz-compression
(package (package
(name "vbz-compression") (name "vbz-compression")
(version "1.0.1") (version "1.0.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -17879,7 +17914,7 @@ multiple experimental contexts.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1c6wsrnw03vsc5cfp2rdakly5xy55m9chjmy6v685yapdwirdky0")))) "1rn5d98flvjblhj4zjpcdqqh8qlgsh5cmb13i49fnm187p03097z"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags

120
gnu/packages/books.scm Normal file
View file

@ -0,0 +1,120 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2023 Adam Faiz <adam.faiz@disroot.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 packages books)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (guix gexp)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages music)
#:use-module (gnu packages inkscape)
#:use-module (gnu packages perl)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages tex)
#:use-module (gnu packages texlive)
#:use-module (gnu packages version-control)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils))
(define-public book-sparc
(package
(name "book-sparc")
(version "1.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/artyom-poptsov/SPARC")
(commit (string-append "v" version))))
(sha256
(base32
"0dswwwkb3h88cl3mhiy79s8i7sa9lmw6fxaj782vxgif795lcpxs"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
#~(begin
(delete-file "sparc.pdf")
(substitute* "version.tex.in"
(("@COMMIT@") ""))
(substitute* "Makefile"
(("all: sparc.pdf") "all: install")
(("^sparc.pdf:") "install:")
(("(cp out/sparc.pdf) sparc.pdf" all cp)
(string-append
"mkdir -p $(DESTDIR)$(PREFIX)/share/doc/book-sparc"
" && " cp
" $(DESTDIR)$(PREFIX)/share/doc/book-sparc/sparc.pdf")))))))
(build-system gnu-build-system)
(native-inputs
(list bash-minimal
fontconfig
inkscape
lilypond
perl
python-pygments
which))
(inputs
(list font-liberation
texlive-acronym
texlive-adjustbox
texlive-bibtex
texlive-bibtexperllibs
texlive-bigfoot
texlive-circuitikz
texlive-collection-langcyrillic
texlive-fontspec
texlive-glossaries
texlive-glossaries-extra
texlive-koma-script
texlive-lilyglyphs
texlive-minted
texlive-multirow
texlive-pgf
texlive-pgfplots
texlive-subfiles
texlive-svg
texlive-t1utils
texlive-textpos
texlive-transparent
texlive-trimspaces
texlive-xetex))
(arguments
(list #:phases
#~(modify-phases %standard-phases
(delete 'check)
(delete 'configure)
(add-before 'build 'set-envs
(lambda _
(setenv "REPRODUCIBILITY" "yes")
(setenv "PREFIX" #$output))))))
(home-page "https://github.com/artyom-poptsov/SPARC")
(synopsis "Book on combining art and technology")
(description
"Science, Programming, Art and Radioelectronics Club (SPARC) is a book that
explains how to combine the topics mentined in the title to build projects. The
book can be used to teach programming classes in colleges and to organize
workshops in hackerspaces or other community-driven spaces. Currently the book
is available only in Russian.")
(license license:cc-by-sa4.0)))

View file

@ -881,7 +881,17 @@ commands part of the U-Boot project, such as Patman.")))
(delete 'sanity-check) (delete 'sanity-check)
(add-after 'unpack 'chdir (add-after 'unpack 'chdir
(lambda _ (lambda _
(chdir "tools/patman")))))) (chdir "tools/patman")))
(add-after 'chdir 'patch-pyproject.toml
;; There is no 'run_patman' procedure in the __main__.py script,
;; which breaks execution
;; Patch submitted upstream (see:
;; https://patchwork.ozlabs.org/project/uboot/\
;; patch/20230901050532.725-1-maxim.cournoyer@gmail.com/).
(lambda _
(substitute* "pyproject.toml"
(("patman.__main__:run_patman")
"patman.__main__")))))))
(inputs (list python-pygit2 python-requests python-u-boot-pylib)) (inputs (list python-pygit2 python-requests python-u-boot-pylib))
(synopsis "Patch automation tool") (synopsis "Patch automation tool")
(description "Patman is a patch automation script which: (description "Patman is a patch automation script which:

View file

@ -118,7 +118,7 @@ makes a few sacrifices to acquire fast full and incremental build times.")
(define-public bear (define-public bear
(package (package
(name "bear") (name "bear")
(version "3.1.2") (version "3.1.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -127,7 +127,7 @@ makes a few sacrifices to acquire fast full and incremental build times.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1iq0ciw3x2awpli4k9mhx80c442xbs70y4g6qpwrirbjw15q33n7")))) (base32 "0z8jzvxmzna7320w3hvmzb1qsv91g9npc5z5j28ncwnn0b74yxnn"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases

View file

@ -35,14 +35,14 @@
(define-public ccache (define-public ccache
(package (package
(name "ccache") (name "ccache")
(version "4.8.2") (version "4.8.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/ccache/ccache/releases/download/v" (uri (string-append "https://github.com/ccache/ccache/releases/download/v"
version "/ccache-" version ".tar.xz")) version "/ccache-" version ".tar.xz"))
(sha256 (sha256
(base32 "0jba0zr2893gbzg4710f2gbayj33lz618lpflx7nrcd5i3wb6grx")))) (base32 "049b3xhp464w5m1bqi4ripbgyqy7qy31vvk56v5cyj5j23478wz4"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list #:configure-flags (list #:configure-flags

View file

@ -45,6 +45,8 @@
;;; Copyright © 2023 Timo Wilken <guix@twilken.net> ;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
;;; Copyright © 2023 Zhu Zihao <all_but_last@163.com> ;;; Copyright © 2023 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu> ;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023 Reza Housseini <reza@housseini.me>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -67,6 +69,7 @@
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages llvm) #:use-module (gnu packages llvm)
@ -94,6 +97,7 @@
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system go) #:use-module (guix build-system go)
@ -108,7 +112,7 @@
(define-public pict (define-public pict
(package (package
(name "pict") (name "pict")
(version "3.7.3") (version "3.7.4")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -118,7 +122,7 @@
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0bpyl0zklw2fyxgynrc7shg0xamw8rr68zmh528niscrpavsmfpi")))) "1f3xpcdwihlxd8lj5clzfiz4rybhzdib95nrsnjfl009gh6gbwh0"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
@ -601,7 +605,7 @@ pattern.")
(define-public catch2-3.3 (define-public catch2-3.3
(package (package
(name "catch2") (name "catch2")
(version "3.3.2") (version "3.4.0")
(home-page "https://github.com/catchorg/Catch2") (home-page "https://github.com/catchorg/Catch2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -611,7 +615,7 @@ pattern.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0m6i3lr0qk303ashjpz5vpwmxf76n5d6s8jq6r6kcy6gph525zmp")))) "1gdfsva6mnd66px85fmm3s65h8qzqnmgbmws2i3nygfav1y8d88f"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list (list
@ -813,6 +817,43 @@ and it supports a very flexible form of test discovery.")
has been designed to be fast, light and unintrusive.") has been designed to be fast, light and unintrusive.")
(license license:expat))) (license license:expat)))
(define-public ftest
;; There aren't any releases and it looks more like a small side project.
;; It is included for completness to run tests for package utfcpp.
(let ((commit "c4ad4af0946b73ce1a40cbc72205d15d196c7e06")
(revision "0"))
(package
(name "ftest")
(version (git-version "0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nemtrif/ftest")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1jcd76zjhx5f2nsi80hj7gmywgpz1f7vcw8lv5yf7gx0l99dn86x"))))
;; No CMakeLists.txt file provided, only one to run tests
(build-system copy-build-system)
(arguments
(list #:install-plan
#~'(("ftest.h" "include/ftest/"))
#:phases
#~(modify-phases %standard-phases
(add-before 'install 'check
(lambda _
(with-directory-excursion "tests"
(invoke "cmake" ".")
(invoke "make")
(invoke "ctest")))))))
(native-inputs (list cmake-minimal))
(home-page "https://github.com/nemtrif/ftest")
(synopsis "C++ testing framework")
(description
"This package provides a simple and limited unit-test framework for C++.")
(license license:boost1.0))))
(define-public python-gixy (define-public python-gixy
;; The 0.1.20 release is missing some important fixes. ;; The 0.1.20 release is missing some important fixes.
;; XXX: Commit 'e9008dcbd11f43ccac109b0cf2bf98a94e76b449' breaks tests ;; XXX: Commit 'e9008dcbd11f43ccac109b0cf2bf98a94e76b449' breaks tests

View file

@ -2,6 +2,7 @@
;;; Copyright © 2019-2023 Marius Bakke <marius@gnu.org> ;;; Copyright © 2019-2023 Marius Bakke <marius@gnu.org>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2023 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2023 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -966,20 +967,18 @@ testing.")
(name "ungoogled-chromium-wayland") (name "ungoogled-chromium-wayland")
(native-inputs '()) (native-inputs '())
(inputs (inputs
`(("bash" ,bash-minimal) (list bash-minimal glibc-utf8-locales ungoogled-chromium))
("glibc-locales" ,glibc-utf8-locales)
("ungoogled-chromium" ,ungoogled-chromium)))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
'(#:modules ((guix build utils)) (list
#:modules '((guix build utils))
#:builder #:builder
(begin #~(begin
(use-modules (guix build utils)) (use-modules (guix build utils))
(let* ((bash (assoc-ref %build-inputs "bash")) (let* ((bash #$(this-package-input "bash-minimal"))
(chromium (assoc-ref %build-inputs "ungoogled-chromium")) (chromium #$(this-package-input "ungoogled-chromium"))
(locales (assoc-ref %build-inputs "glibc-locales")) (locales #$(this-package-input "glibc-utf8-locales"))
(out (assoc-ref %outputs "out")) (exe (string-append #$output "/bin/chromium")))
(exe (string-append out "/bin/chromium")))
;; Use a Unicode locale so we can substitute the file below. ;; Use a Unicode locale so we can substitute the file below.
(setenv "GUIX_LOCPATH" (string-append locales "/lib/locale")) (setenv "GUIX_LOCPATH" (string-append locales "/lib/locale"))
@ -987,7 +986,7 @@ testing.")
(mkdir-p (dirname exe)) (mkdir-p (dirname exe))
(symlink (string-append chromium "/bin/chromedriver") (symlink (string-append chromium "/bin/chromedriver")
(string-append out "/bin/chromedriver")) (string-append #$output "/bin/chromedriver"))
(call-with-output-file exe (call-with-output-file exe
(lambda (port) (lambda (port)
@ -1000,8 +999,7 @@ exec ~a --enable-features=UseOzonePlatform --ozone-platform=wayland \
;; Provide the manual and .desktop file. ;; Provide the manual and .desktop file.
(copy-recursively (string-append chromium "/share") (copy-recursively (string-append chromium "/share")
(string-append out "/share")) (string-append #$output "/share"))
(substitute* (string-append (substitute* (string-append
out "/share/applications/chromium.desktop") #$output "/share/applications/chromium.desktop")
((chromium) out)) ((chromium) #$output))))))))
#t))))))

View file

@ -2290,7 +2290,7 @@ decompression is a little bit slower.")
(define-public upx (define-public upx
(package (package
(name "upx") (name "upx")
(version "4.0.1") (version "4.1.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -2298,7 +2298,7 @@ decompression is a little bit slower.")
version "/upx-" version "-src.tar.xz")) version "/upx-" version "-src.tar.xz"))
(sha256 (sha256
(base32 (base32
"1471nxzrbv8sw2pmxn817q5l40sr0l7v7bpvw829iai95s73q03p")))) "1l273pwa573x9l3izw75cz8ysn2g8w8w3s56rahppa3ya65zg0h5"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(home-page "https://upx.github.io/") (home-page "https://upx.github.io/")
(synopsis "Compression tool for executables") (synopsis "Compression tool for executables")

View file

@ -32,6 +32,7 @@
;;; Copyright © 2022, 2023 David Elsing <david.elsing@posteo.net> ;;; Copyright © 2022, 2023 David Elsing <david.elsing@posteo.net>
;;; Copyright © 2022, 2023 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2022, 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;; Copyright © 2023 Sughosha <Sughosha@proton.me> ;;; Copyright © 2023 Sughosha <Sughosha@proton.me>
;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2023 Liliana Marie Prikler <liliana.prikler@gmail.com> ;;; Copyright © 2023 Liliana Marie Prikler <liliana.prikler@gmail.com>
@ -509,8 +510,17 @@ library for SIMD (Single Instruction, Multiple Data) with runtime dispatch.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0i1c88rn1wwz8nf3dpapcdkk4w623m3nksfy5yjai10k9irkzy3c")))) (base32 "0i1c88rn1wwz8nf3dpapcdkk4w623m3nksfy5yjai10k9irkzy3c"))
(modules '((guix build utils)))
;; It's bundled catch2 fails to build.
(snippet '(begin
(delete-file "unittests/catch.hpp")
(substitute* "unittests/compiled_tests.cpp"
(("catch[.]hpp") "catch2/catch.hpp"))
(substitute* "unittests/type_info_test.cpp"
(("catch[.]hpp") "catch2/catch.hpp"))))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs (list catch2))
(home-page "https://chaiscript.com/") (home-page "https://chaiscript.com/")
(synopsis "Embedded scripting language designed for C++") (synopsis "Embedded scripting language designed for C++")
(description (description
@ -1722,6 +1732,30 @@ C. It focuses on standardization and parsing exactness and is at ease with
almost every type of file containing key/value pairs.") almost every type of file containing key/value pairs.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public libcppgenerate
;; dbus-cxx requires an unreleased fix.
(let ((commit "930c5503f76c877b72b9ff8546353d6f422bd010")
(revision "0"))
(package
(name "libcppgenerate")
(version (git-version "0.2" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rm5248/libcppgenerate")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0csdg9b406i85aqgivjmvqjdnqbyiyjh3s0xsfsxppv7wlh7j85r"))))
(build-system cmake-build-system)
(arguments (list #:configure-flags #~'("-DENABLE_TESTS=ON")))
(home-page "https://github.com/rm5248/libcppgenerate")
(synopsis "C++ code generator library for C++")
(description "@code{libcppgenerate} is a library for generating C++ code
from C++.")
(license license:asl2.0))))
(define-public libcutl (define-public libcutl
(package (package
(name "libcutl") (name "libcutl")
@ -1949,6 +1983,16 @@ of reading and writing XML.")
syntax with variables, conditions, functions and more.") syntax with variables, conditions, functions and more.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public python-jsonnet
(package
(inherit jsonnet)
(name "python-jsonnet")
(build-system python-build-system)
(arguments '())
(synopsis "Python bindings for Jsonnet, the data templating language")
(description "This package provides a Python library named @code{_jsonnet}
which can evaluate Jsonnet files and expressions.")))
(define-public simdjson (define-public simdjson
(package (package
(name "simdjson") (name "simdjson")
@ -2332,6 +2376,29 @@ parsing with only a single memory allocation.")
((#:tests? _ #f) #f))) ((#:tests? _ #f) #f)))
(properties '((hidden? . #t))))) (properties '((hidden? . #t)))))
(define-public optional-lite
(package
(name "optional-lite")
(version "3.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/martinmoene/optional-lite")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0jpsm94kp1504yk9s2km86zv8xrszz30qanmhz2ljmvsdblz2l47"))))
(build-system cmake-build-system)
(home-page "https://github.com/martinmoene/optional-lite")
(synopsis "Nullable object for C++98, C++11 and later")
(description
"Optional lite is a single-file header-only library to represent optional
(nullable) objects and pass them by value. The library aims to provide a
C++17-like optional for use with C++98 and later. If available,
@code{std::optional} is used.")
(license license:boost1.0)))
(define-public optionparser (define-public optionparser
(package (package
(name "optionparser") (name "optionparser")

File diff suppressed because it is too large Load diff

View file

@ -1273,7 +1273,7 @@ nameservers other than libc.")
(define-public smartdns (define-public smartdns
(package (package
(name "smartdns") (name "smartdns")
(version "42") (version "43")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1285,18 +1285,43 @@ nameservers other than libc.")
((".*SYSTEMDSYSTEMUNITDIR.*") ""))) ((".*SYSTEMDSYSTEMUNITDIR.*") "")))
(sha256 (sha256
(base32 (base32
"17j0h5l7gig6rzk8b9180jwrx5khpnrylacjxvnnpgsi2725k8lq")))) "0s789l6i4yirmarg80mknc1pp65rz01ky9f7gidgclkfcwzz41l3"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list #:tests? #f ;no tests (list #:test-target "test"
#:make-flags #:make-flags
#~(list (string-append "CC=" #$(cc-for-target)) #~(list (string-append "CC=" #$(cc-for-target))
(string-append "DESTDIR=" #$output) (string-append "DESTDIR=" #$output)
"PREFIX=''") "PREFIX=''"
(string-append "VER=" #$version))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(delete 'configure)))) (delete 'configure)
(add-after 'unpack 'skip-unavailable-tests
(lambda _
(with-directory-excursion "test/cases"
;; Tests try to open /etc/resolv.conf
(substitute* "test-bind.cc"
;; Bind.tls
(("smartdns::Server server_wrap;" all)
(string-append "GTEST_SKIP();" all)))
;; Tests use ICMP ping.
(substitute* (find-files ".")
((".*PING_TYPE_ICMP.*" all)
(string-append "GTEST_SKIP();" all)))
(delete-file "test-speed-check.cc"))))
;; Compiled .o files in build phase can't be used for tests.
(add-after 'skip-unavailable-tests 'prepare-test-dir
(lambda _
(copy-recursively "." "../test")))
(add-before 'check 'enter-test-dir
(lambda _
(chdir "../test/test")))
(add-after 'check 'leave-test-dir
(lambda _
(chdir "../../source"))))))
(inputs (list openssl)) (inputs (list openssl))
(native-inputs (list googletest `(,isc-bind "utils")))
(home-page "https://github.com/pymumu/smartdns") (home-page "https://github.com/pymumu/smartdns")
(synopsis "Local DNS server") (synopsis "Local DNS server")
(description (description

View file

@ -54,7 +54,7 @@
;; Note - when changing Docker versions it is important to update the versions ;; Note - when changing Docker versions it is important to update the versions
;; of several associated packages (docker-libnetwork and go-sctp). ;; of several associated packages (docker-libnetwork and go-sctp).
(define %docker-version "20.10.17") (define %docker-version "20.10.25")
(define-public python-docker (define-public python-docker
(package (package
@ -177,7 +177,7 @@ Python without keeping their credentials in a Docker configuration file.")
(define-public containerd (define-public containerd
(package (package
(name "containerd") (name "containerd")
(version "1.6.6") (version "1.6.22")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -186,7 +186,7 @@ Python without keeping their credentials in a Docker configuration file.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1vsl747i3wyy68j4lp4nprwxadbyga8qxlrk892afcd2990zp5mr")) (base32 "1m31y00sq2m76m1jiq4znws8gxbgkh5adklvqibxiz1b96vvwjk8"))
(patches (patches
(search-patches "containerd-create-pid-file.patch")))) (search-patches "containerd-create-pid-file.patch"))))
(build-system go-build-system) (build-system go-build-system)
@ -215,7 +215,12 @@ Python without keeping their credentials in a Docker configuration file.")
(("DefaultRuntimeName: \"runc\"") (("DefaultRuntimeName: \"runc\"")
(string-append "DefaultRuntimeName: \"" (string-append "DefaultRuntimeName: \""
(search-input-file inputs "/sbin/runc") (search-input-file inputs "/sbin/runc")
"\""))) "\""))
;; ContainerdConfig.Runtimes
(("\"runc\":")
(string-append "\""
(search-input-file inputs "/sbin/runc")
"\":")))
(substitute* "vendor/github.com/containerd/go-runc/runc.go" (substitute* "vendor/github.com/containerd/go-runc/runc.go"
(("DefaultCommand[ \t]*=.*") (("DefaultCommand[ \t]*=.*")
(string-append "DefaultCommand = \"" (string-append "DefaultCommand = \""
@ -259,9 +264,9 @@ network attachments.")
;; the branch that Docker uses, as can be seen in the 'vendor.conf' Docker ;; the branch that Docker uses, as can be seen in the 'vendor.conf' Docker
;; source file. NOTE - It is important that this version is kept in sync ;; source file. NOTE - It is important that this version is kept in sync
;; with the version of Docker being used. ;; with the version of Docker being used.
(let ((commit "f6ccccb1c082a432c2a5814aaedaca56af33d9ea") (let ((commit "3f0048413d95802b9c6c836eba06bfc54f9dbd03")
(version (version-major+minor %docker-version)) (version (version-major+minor %docker-version))
(revision "1")) (revision "2"))
(package (package
(name "docker-libnetwork") (name "docker-libnetwork")
(version (git-version version revision commit)) (version (git-version version revision commit))
@ -274,7 +279,7 @@ network attachments.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0nxpr0h0smv4n641g41vxibr5r85ixfcvs9cp3c4fc7zvrhjc49s")) "185i5ji7dwkv41zmb8s3d7i5gg72wivcj1l4bhr1lb3a1vy2hcxc"))
;; Delete bundled ("vendored") free software source code. ;; Delete bundled ("vendored") free software source code.
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet '(delete-file-recursively "vendor")))) (snippet '(delete-file-recursively "vendor"))))
@ -325,7 +330,7 @@ built-in registry server of Docker.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0hn7fg717rggwk6dbicrwa7aglqp7dp0jp5rvn6p9gfcnrp2w97d")))) (base32 "1q5vc6f5fzzxsvv1kwdky56fr1jiy9199m3vxqh4mz85qr067cmn"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
@ -586,7 +591,7 @@ runcexecutor/executor.go"
xz)) xz))
(native-inputs (native-inputs
(list eudev ; TODO: Should be propagated by lvm2 (.pc -> .pc) (list eudev ; TODO: Should be propagated by lvm2 (.pc -> .pc)
go gotestsum pkg-config)) go-1.19 gotestsum pkg-config))
(synopsis "Container component library and daemon") (synopsis "Container component library and daemon")
(description "This package provides a framework to assemble specialized (description "This package provides a framework to assemble specialized
container systems. It includes components for orchestration, image container systems. It includes components for orchestration, image
@ -607,7 +612,7 @@ provisioning etc.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0ksicj4iqvgp9jabd4xmhkf3vax6dwn4f5dsr73bdqj4mf3ahav0")))) (base32 "0qy35vvnl4lf9w6dr9n7yfqvzhzm7m3sl2ai275apbhygwgcsbss"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
`(#:import-path "github.com/docker/cli" `(#:import-path "github.com/docker/cli"

View file

@ -737,6 +737,13 @@ stored and user can review his performance in any time.")
version "-source.tgz")) version "-source.tgz"))
(sha256 (sha256
(base32 "1gfr51rnllkyzli73p4r51h5ypzfa3m7lic3m3rzpywmqwrxs07k")) (base32 "1gfr51rnllkyzli73p4r51h5ypzfa3m7lic3m3rzpywmqwrxs07k"))
(modules '((guix build utils)))
;; Fix preferences error: <https://issues.guix.gnu.org/65506>.
(snippet '(substitute* "aqt/preferences.py"
(("qc\\['collapseTime']/60\\.0" x)
(format #f "int(~a)" x))
(("qc\\['timeLim']/60\\.0" x)
(format #f "int(~a)" x))))
(patches (search-patches "anki-mpv-args.patch")))) (patches (search-patches "anki-mpv-args.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments

File diff suppressed because it is too large Load diff

View file

@ -60,6 +60,7 @@
#:use-module (gnu packages cdrom) #:use-module (gnu packages cdrom)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages containers)
#:use-module (gnu packages cross-base) #:use-module (gnu packages cross-base)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages digest) #:use-module (gnu packages digest)
@ -400,7 +401,7 @@ older games.")
;; This is not a patch staging area for DOSBox, but an unaffiliated fork. ;; This is not a patch staging area for DOSBox, but an unaffiliated fork.
(package (package
(name "dosbox-staging") (name "dosbox-staging")
(version "0.79.1") (version "0.80.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -409,16 +410,14 @@ older games.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0wdnkz3djjc514hn945fr9g9mnpnvk16fan84ny9g5wxak6dvsqp")))) (base32 "1iqqrw95lpgjbmi777jdl5z1nizxgfy8xwpmy1fasjlb2yh2kp93"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list #:configure-flags (list #:configure-flags
#~(list #~(list
;; These both try to git clone subprojects. ;; These both try to git clone subprojects.
"-Dunit_tests=disabled" ; gtest "-Dunit_tests=disabled" ; gtest
"-Duse_mt32emu=false" "-Duse_mt32emu=false")
;; Not packaged.
"-Duse_slirp=false")
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'fix-includes (add-after 'unpack 'fix-includes
@ -426,7 +425,7 @@ older games.")
;; This unnecessary file has an encoding error. ;; This unnecessary file has an encoding error.
(delete-file "./src/libs/sdlcd/macosx/SDLOSXCAGuard.h") (delete-file "./src/libs/sdlcd/macosx/SDLOSXCAGuard.h")
(substitute* (find-files "." "\\.(cpp|h)") (substitute* (find-files "." "\\.(cpp|h)")
(("^(#include <)(SDL[_.])" _ include file) (("^(#[[:space:]]*include <)(SDL[_.])" _ include file)
(string-append include "SDL2/" file)))))))) (string-append include "SDL2/" file))))))))
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
@ -435,9 +434,12 @@ older games.")
fluidsynth fluidsynth
iir iir
libpng libpng
libslirp
mesa mesa
opusfile opusfile
(sdl-union (list sdl2 sdl2-net)) sdl2
sdl2-image
sdl2-net
speexdsp speexdsp
zlib)) zlib))
(home-page "https://dosbox-staging.github.io") (home-page "https://dosbox-staging.github.io")

View file

@ -1557,6 +1557,27 @@ send break and throttle transmission speed.")
(home-page "https://github.com/wentasah/sterm") (home-page "https://github.com/wentasah/sterm")
(license license:gpl3+))) (license license:gpl3+)))
(define-public libmodbus
(package
(name "libmodbus")
(version "3.1.10")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stephane/libmodbus")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0nbpk1n56kclab8fl32dxi46v2bwax3gfk1zkc796srm7vj42sbv"))))
(build-system gnu-build-system)
(native-inputs (list autoconf automake libtool))
(synopsis "Library for the Modbus protocol")
(description "@code{libmodbus} is a library to send/receive data with a
device which respects the Modbus protocol. This library can use a serial port
or an Ethernet connection.")
(home-page "https://libmodbus.org/")
(license license:lgpl2.1+)))
(define-public harminv (define-public harminv
(package (package
(name "harminv") (name "harminv")
@ -1974,7 +1995,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
;; See <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27344#236>. ;; See <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27344#236>.
(package (package
(name "libngspice") (name "libngspice")
(version "40") (version "41")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1985,7 +2006,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
"old-releases/" version "old-releases/" version
"/ngspice-" version ".tar.gz"))) "/ngspice-" version ".tar.gz")))
(sha256 (sha256
(base32 "03c9irc44msdpqhbn2fhvb4g0sry8a2qgxl4mbbf557mq1xwl0z3")))) (base32 "1i78im03kx6vp5yml0fiwvqnic8qhczl1893n8zc6l1gblwikqhw"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(;; No tests for libngspice exist. `(;; No tests for libngspice exist.
@ -2730,7 +2751,7 @@ comments.")))
(define-public freecad (define-public freecad
(package (package
(name "freecad") (name "freecad")
(version "0.21.0") (version "0.21.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2739,7 +2760,7 @@ comments.")))
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1i1wv3swnnimmn3kwphb2fcmsc64z96rcg7fhfsgqxcbyrygw6w7")))) (base32 "0qwh6b1s432j5piwgfkphvz0slmxf0m8m8pdr3ny9zna9mghz42k"))))
(build-system qt-build-system) (build-system qt-build-system)
(native-inputs (native-inputs
(list doxygen (list doxygen
@ -3113,13 +3134,13 @@ program that can perform mesh processing tasks in batch mode, without a GUI.")
(define-public poke (define-public poke
(package (package
(name "poke") (name "poke")
(version "3.2") (version "3.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/poke/poke-" version (uri (string-append "mirror://gnu/poke/poke-" version
".tar.gz")) ".tar.gz"))
(sha256 (sha256
(base32 "15qd9z3wv7jrdlh6f9hwgni54ssdz8hzrn4lxiacwv1sslfmb3km")) (base32 "0vlm9xcr7rrfli2x4hi2q41nh8vjd2izpz4zd0xwhqshx2flb000"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View file

@ -9,6 +9,7 @@
;;; Copyright © 2021 Cees de Groot <cg@evrl.com> ;;; Copyright © 2021 Cees de Groot <cg@evrl.com>
;;; Copyright © 2022 jgart <jgart@dismail.de> ;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2023 wrobell <wrobell@riseup.net> ;;; Copyright © 2023 wrobell <wrobell@riseup.net>
;;; Copyright © 2023 Tim Johann <t1m@phrogstar.de>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -27,6 +28,7 @@
(define-module (gnu packages erlang) (define-module (gnu packages erlang)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system emacs) #:use-module (guix build-system emacs)
#:use-module (guix build-system rebar) #:use-module (guix build-system rebar)
@ -738,3 +740,75 @@ a git checkout.")
(description "This plugin allows running PropEr test suites from within (description "This plugin allows running PropEr test suites from within
rebar3.") rebar3.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public erlang-lfe
(package
(name "erlang-lfe")
(version "2.1.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lfe/lfe")
(commit "v2.1.2")))
(file-name (git-file-name name version))
(sha256
(base32
"180hz1p2v3vb6yyzcfwircmljlnd86ln8z80lzy3mwlyrcxblvxy"))))
(build-system gnu-build-system)
(arguments
(list
#:modules '((ice-9 ftw)
(srfi srfi-26)
(guix build gnu-build-system)
(guix build utils))
#:make-flags #~(list (string-append "PREFIX=" #$output) "CC=gcc")
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
;; The following is inspired by rebar-build-system.scm
(add-before 'check 'erlang-depends
(lambda* (#:key inputs #:allow-other-keys)
(define input-directories
(list #$(this-package-native-input "rebar3-proper")
#$(this-package-native-input "erlang-proper")))
(mkdir-p "_checkouts")
(for-each
(lambda (input-dir)
(let ((elibdir (string-append input-dir "/lib/erlang/lib")))
(when (directory-exists? elibdir)
(for-each
(lambda (dirname)
(let ((src (string-append elibdir "/" dirname))
(dest (string-append "_checkouts/" dirname)))
(when (not (file-exists? dest))
;; Symlinking will not work, since rebar3 will try
;; to overwrite the _build directory several times
;; with the contents of _checkout, so we copy the
;; directory tree to _checkout and make it
;; writable.
(copy-recursively src dest #:follow-symlinks? #t)
(for-each (cut chmod <> #o777)
(find-files dest)))))
(scandir elibdir (lambda (file)
(and (not (member file '("." "..")))
(file-is-directory?
(string-append elibdir
"/"
file)))))))))
input-directories)))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(begin
(setenv "REBAR_CACHE_DIR" "/tmp")
(invoke "make" "-j" (number->string (parallel-job-count))
"tests"))))))))
(native-inputs (list rebar3 rebar3-proper erlang-proper))
(propagated-inputs (list erlang))
(home-page "https://github.com/lfe/lfe")
(synopsis "Lisp Flavoured Erlang")
(description
"LFE, Lisp Flavoured Erlang, is a Lisp syntax front-end to the Erlang
compiler. Code produced with it is compatible with \"normal\" Erlang
code. An LFE evaluator and shell is also included.")
(license license:asl2.0)))

View file

@ -547,7 +547,7 @@ do so.")
(define-public electrum (define-public electrum
(package (package
(name "electrum") (name "electrum")
(version "4.4.5") (version "4.4.6")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -555,7 +555,7 @@ do so.")
version "/Electrum-" version "/Electrum-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "1gifnb927b51947psbj58c7kdsgncn3d9j7rpk5mls678yf1qd5d")) (base32 "1f0hb8xmqv1j9pf82xpyvxnn2dzmi93rhf0sh0iqakja2pbl4707"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -2237,7 +2237,7 @@ mining.")
(define-public p2pool (define-public p2pool
(package (package
(name "p2pool") (name "p2pool")
(version "3.5") (version "3.6.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2246,7 +2246,7 @@ mining.")
(commit (string-append "v" version)) (commit (string-append "v" version))
(recursive? #t))) (recursive? #t)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (base32 "1brv3lksajnmpf7g01jbx76nax6vlx8231sxb0s33yf76yc481xb")) (sha256 (base32 "0lki6yrzmmpd5hj55m6s71y1cr81lbk1f3h9h70gmm4p4qjrv5f2"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
#~(for-each delete-file-recursively #~(for-each delete-file-recursively

View file

@ -9,6 +9,7 @@
;;; Copyright © 2020, 2021, 2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020, 2021, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -34,6 +35,8 @@
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages admin) #:use-module (gnu packages admin)
@ -68,6 +71,7 @@
#:use-module (gnu packages polkit) #:use-module (gnu packages polkit)
#:use-module (gnu packages protobuf) #:use-module (gnu packages protobuf)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages shells) #:use-module (gnu packages shells)
#:use-module (gnu packages sqlite) #:use-module (gnu packages sqlite)
@ -1210,3 +1214,24 @@ AR100.")
(define-public crust-pine64-plus (define-public crust-pine64-plus
(make-crust-package "pine64_plus")) (make-crust-package "pine64_plus"))
(define-public qmk
(package
(name "qmk")
(version "1.1.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "qmk" version))
(sha256
(base32
"1619q9v90740dbg8xpzqlhwcasz42xj737803aiip8qc3a7zhwgq"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ;; No tests.
(propagated-inputs (list python-dotty-dict python-hid python-hjson
python-jsonschema python-milc python-pillow
python-pygments python-pyserial python-pyusb))
(home-page "https://qmk.fm")
(synopsis "Command line utility to manage QMK keyboard firmwares")
(description "This package provides a program to help users work with
@acronym{QMK, Quantum Mechanical Keyboard} firmwares.")
(license license:expat)))

View file

@ -230,8 +230,7 @@ firmware from it.")
(snippet (snippet
`(begin `(begin
;; Remove example flash files and teensy rebooter flash binaries. ;; Remove example flash files and teensy rebooter flash binaries.
(for-each delete-file (find-files "." "\\.(elf|hex)$")) (for-each delete-file (find-files "." "\\.(elf|hex)$"))))
#t))
(patches (search-patches "teensy-loader-cli-help.patch")))) (patches (search-patches "teensy-loader-cli-help.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
@ -244,10 +243,8 @@ firmware from it.")
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))) (bin (string-append out "/bin")))
(install-file "teensy_loader_cli" bin) (install-file "teensy_loader_cli" bin)))))))
#t)))))) (inputs (list libusb-compat)) ;only compatible with libusb 0.1
(inputs
(list libusb-compat))
(synopsis "Command line firmware uploader for Teensy development boards") (synopsis "Command line firmware uploader for Teensy development boards")
(description (description
"The Teensy loader program communicates with your Teensy board when the "The Teensy loader program communicates with your Teensy board when the

View file

@ -3,7 +3,7 @@
;;; Copyright © 2014, 2017 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Joshua Grant <tadni@riseup.net> ;;; Copyright © 2014 Joshua Grant <tadni@riseup.net>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com> ;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015, 2023 Sou Bunnbu <iyzsong@envs.net>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name>
@ -43,7 +43,7 @@
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2021-2023 Paul A. Patience <paul@apatience.com> ;;; Copyright © 2021-2023 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2021, 2022 Taiju HIGASHI <higashi@taiju.info> ;;; Copyright © 2021, 2022 Taiju HIGASHI <higashi@taiju.info>
;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com> ;;; Copyright © 2022-2023 Philip McGrath <philip@philipmcgrath.com>
;;; Copyright © 2022 Kitzman <kitzman@disroot.org> ;;; Copyright © 2022 Kitzman <kitzman@disroot.org>
;;; Copyright © 2021 Wamm K. D. <jaft.r@outlook.com> ;;; Copyright © 2021 Wamm K. D. <jaft.r@outlook.com>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com> ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
@ -57,6 +57,7 @@
;;; Copyright © 2023 Arnaud Lechevallier <arnaud.lechevallier@free.fr> ;;; Copyright © 2023 Arnaud Lechevallier <arnaud.lechevallier@free.fr>
;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com> ;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
;;; Copyright © 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> ;;; Copyright © 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2023 chris <chris@bumblehead.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -98,6 +99,7 @@
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages sdl)
#:use-module (gnu packages xorg)) #:use-module (gnu packages xorg))
(define-public font-artifika (define-public font-artifika
@ -1175,6 +1177,60 @@ It contains the following fonts and styles:
@end enumerate\n") @end enumerate\n")
(license license:gpl2+))) (license license:gpl2+)))
(define-public font-unscii
(package
(name "font-unscii")
(version "2.1")
(source (origin
(method url-fetch)
(uri (string-append
"http://viznut.fi/unscii/unscii-"
version "-src.tar.gz"))
(sha256
(base32
"0msvqrq7x36p76a2n5bzkadh95z954ayqa08wxd017g4jpa1a4jd"))))
(build-system gnu-build-system)
(outputs '("out" "otf" "ttf" "woff"))
(native-inputs (list bdftopcf fontforge perl perl-text-charwidth))
(inputs (list sdl sdl-image))
(arguments
(list #:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(delete 'configure) ;no configure script
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((pcfdir (string-append
(assoc-ref outputs "out")
"/share/fonts/misc"))
(otfdir (string-append
(assoc-ref outputs "otf")
"/share/fonts/opentype"))
(ttfdir (string-append
(assoc-ref outputs "ttf")
"/share/fonts/truetype"))
(woffdir (string-append
(assoc-ref outputs "woff")
"/share/fonts/webfonts"))
(install-fonts
(lambda (pred dir)
(for-each
(lambda (f) (install-file f dir))
(find-files "." pred)))))
(install-fonts "\\.pcf$" pcfdir)
(install-fonts "\\.otf$" otfdir)
(install-fonts "\\.ttf$" ttfdir)
(install-fonts "\\.woff$" woffdir)))))))
(synopsis "Classic bitmapped Unicode fonts")
(description
"Unscii is a set of bitmapped Unicode fonts based on classic system
fonts. Unscii attempts to support character cell art well while also being
suitable for terminal and programming use. The two main variants are
unscii-8 (8×8 pixels per glyph) and unscii-16 (8×16).")
(home-page "http://viznut.fi/unscii/")
;; "unscii-16-full" falls under GPL, the other are in the Public Domain.
(license (list license:gpl2+ license:public-domain))))
(define-public font-fantasque-sans (define-public font-fantasque-sans
(package (package
(name "font-fantasque-sans") (name "font-fantasque-sans")
@ -1855,10 +1911,40 @@ programming. Iosevka is completely generated from its source code.")
version of the original, designed for enhanced readability.") version of the original, designed for enhanced readability.")
(license license:silofl1.1))) (license license:silofl1.1)))
(define-public font-junicode
(package
(name "font-junicode")
(version "2.003")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/psb1558/Junicode-font")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1qg1qwk294p2hgq2gbyhfwwdas1xbkfz3csxf5jz4xqiskn4skgl"))))
(build-system font-build-system)
(home-page "https://github.com/psb1558/Junicode-font")
(synopsis "Unicode font for medievalists, linguists, and others")
(description "The Junicode font was developed for students and scholars of
medieval Europe, but its large glyph repertoire also makes it useful as a
general-purpose font. Its visual design is based on the typography used by
Oxford University Press in the late 17th and early 18th centuries. The font
implements the @acronym{MUFI, Medieval Unicode Font Initiative} recommendation
for encoding ligatures, alternative letter forms, and other features of
interest to medievalists using Unicode's Private Use Area.
Junicode 2 is a major reworking of the font family. Its OpenType programming
has been rebuilt to support the creation of searchable, accessible electronic
documents using the @acronym{MUFI} characters. The family includes five
weights and five widths in both Roman and Italic, plus variable fonts.")
(license license:silofl1.1)))
(define-public font-sarasa-gothic (define-public font-sarasa-gothic
(package (package
(name "font-sarasa-gothic") (name "font-sarasa-gothic")
(version "0.41.6") (version "0.41.8")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1866,7 +1952,7 @@ programming. Iosevka is completely generated from its source code.")
"/releases/download/v" version "/releases/download/v" version
"/sarasa-gothic-ttc-" version ".7z")) "/sarasa-gothic-ttc-" version ".7z"))
(sha256 (sha256
(base32 "1l238rx9nw6acxy5k5b7bjd8br8cnivdlyly7r20w1b36gscl878")))) (base32 "0m2c3g8c6wxgyyvmraln4bx0qn949j9rin593s1c01hzah435cac"))))
(build-system font-build-system) (build-system font-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
@ -2004,20 +2090,41 @@ emphasis while still being readable.")
(license license:silofl1.1))) (license license:silofl1.1)))
(define-public font-openmoji (define-public font-openmoji
(let ((commit "93f059dfb68401d49beaef7a3e09b80072b51a1f")
(revision "1"))
(package (package
(name "font-openmoji") (name "font-openmoji")
(version "13.1.0") (version (git-version "14.0.0" revision commit))
(source (source
(origin (origin
(method url-fetch/zipbomb) (method git-fetch)
(uri (uri (git-reference
(string-append "https://github.com/hfg-gmuend/openmoji/" (url "https://github.com/hfg-gmuend/openmoji/")
"releases/download/" version (commit commit)))
"/openmoji-font.zip")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0xmy3hr38v03f1riwxmxdibb7iwj0qz288inqaha3pwq7pj7ln45")))) "16w4lg2y6qzb45j08l7cdwprjhprsm11jsm6nxzxwy2wzykd7gxk"))))
(build-system font-build-system) (build-system font-build-system)
(arguments (list #:modules `((ice-9 ftw)
(guix build font-build-system)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "font")))
(add-after 'chdir 'strip-alternative-variants
(lambda _
(let ((keep '("OpenMoji-black-glyf"
"OpenMoji-color-glyf_colr_0"
"."
"..")))
(for-each (lambda (f)
(unless (member f keep)
(delete-file-recursively f)))
(scandir ".")))))
(add-before 'install-license-files 'chdir-back
(lambda _ (chdir ".."))))))
(native-inputs (native-inputs
(list unzip)) (list unzip))
(home-page "https://openmoji.org") (home-page "https://openmoji.org")
@ -2025,7 +2132,7 @@ emphasis while still being readable.")
(description (description
"This package provides the OpenMoji font in both color and black "This package provides the OpenMoji font in both color and black
variants.") variants.")
(license license:cc-by-sa4.0))) (license license:cc-by-sa4.0))))
(define-public font-dosis (define-public font-dosis
(package (package
@ -3335,3 +3442,25 @@ better code & UI. It is inspired by casual script signpainting, but designed
primarily to meet the needs of programming environments and application primarily to meet the needs of programming environments and application
interfaces.") interfaces.")
(license license:silofl1.1))) (license license:silofl1.1)))
(define-public fonts-tlwg
(package
(name "fonts-tlwg")
(version "0.7.3")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/tlwg/" name
"/releases/download/v" version "/" name "-" version ".tar.xz"))
(sha256
(base32
"00mv8rmjpsk8jbbl978q3yrc2pxj8a86a3d092563dlc9n8gykkf"))))
(native-inputs (list fontforge))
(build-system gnu-build-system)
(home-page "https://github.com/tlwg/fonts-tlwg/")
(synopsis "Collection of scalable Thai fonts")
(description "Fonts-TLWG is a collection of Thai scalable fonts. Its goal
is to provide fonts that conform to existing standards and recommendations, so
that it can be a reference implementation.")
(license license:gpl2+)))

View file

@ -841,7 +841,7 @@ converter from FontForges @acronym{SFD, Spline Font Database} fonts to
(define-public python-skia-pathops (define-public python-skia-pathops
(package (package
(name "python-skia-pathops") (name "python-skia-pathops")
(version "0.7.2") (version "0.8.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -849,7 +849,7 @@ converter from FontForges @acronym{SFD, Spline Font Database} fonts to
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet '(delete-file-recursively "src/cpp")) ;140+ MiB of stuff (snippet '(delete-file-recursively "src/cpp")) ;140+ MiB of stuff
(sha256 (sha256
(base32 "1456rclfn6a01c2cchlgyn166zppcjcqij0k5gwmm8gvzsd5rn0r")))) (base32 "1vlwl1w6sn8c78fsh1w549n3lk9v3v9hcp866vrsdr4byb7g2ani"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
(list (list

View file

@ -65,6 +65,7 @@
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost) #:use-module (gnu packages boost)
#:use-module (gnu packages build-tools) #:use-module (gnu packages build-tools)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
@ -705,6 +706,60 @@ development of visual novels, written on top of Guile-SDL2. It is still
experimental.") experimental.")
(license license:lgpl3+))) (license license:lgpl3+)))
(define-public scummc
(package
(name "scummc")
(version "0.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/AlbanBedel/scummc")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1yyq05kfmvgx5aa68kg1l5a4lpsky7hzxxcdvv2xbgf0jljdcl3k"))
(modules '((guix build utils)))
(snippet
#~(begin
(substitute* "configure"
(("\\|alpha" all)
(string-append all "|arm|aarch64|powerpc64le")))
(substitute* "examples/example.mak"
(("scost.*\n$") "scost\n")
(("bmp \\$\\(.*\n$") "bmp\n")
(("/%.scc.*\n$") "/%.scc\n")
(("voc \\$\\(.*\n$") "voc\n"))
(substitute* "Makefile.target"
(("distrib-data:.*\n") "distrib-data:\n")
(("cp.*/bin" all)
(string-append all " || true")))))))
(build-system gnu-build-system)
(arguments
(list #:test-target "test"
#:tests? #f ; The only tests verify that game checksums match
#:make-flags
#~(list "SHOW_WARNINGS=no")
#:phases
#~(modify-phases %standard-phases
(replace 'configure ; ScummC uses a non-standard configure
(lambda* (#:key configure-flags #:allow-other-keys)
(apply invoke "./configure" configure-flags)))
(replace 'install ; install target is referred to as distrib
(lambda _
(invoke "make" "distrib"
(string-append "DISTRIB=" #$output)))))))
(inputs
(list freetype gtk+-2 sdl))
(native-inputs
(list bison doxygen libxslt pkg-config))
(synopsis "SCUMM Compiler")
(description
"ScummC is a set of tools allowing to create SCUMM games from scratch.
It is capable of creating games for SCUMM version 6 and partially version 7.")
(home-page "https://github.com/AlbanBedel/scummc")
(license license:gpl2+)))
(define-public sfml (define-public sfml
(package (package
(name "sfml") (name "sfml")

View file

@ -5002,6 +5002,92 @@ Transport Tycoon Deluxe.")
"openrct2-objects is a set of objects for OpenRCT2.") "openrct2-objects is a set of objects for OpenRCT2.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public openquest
(package
(name "openquest")
(version "0.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/AlbanBedel/scummc")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1yyq05kfmvgx5aa68kg1l5a4lpsky7hzxxcdvv2xbgf0jljdcl3k"))
(modules '((guix build utils)))
(snippet
#~(begin
(substitute* "configure"
(("\\|alpha" all)
(string-append all "|arm|aarch64|powerpc64le")))
(substitute* "examples/example.mak"
(("scost.*\n$") "scost\n")
(("bmp \\$\\(.*\n$") "bmp\n")
(("/%.scc.*\n$") "/%.scc\n")
(("voc \\$\\(.*\n$") "voc\n"))
(substitute* "Makefile.target"
(("distrib-data:.*\n") "distrib-data:\n")
(("cp.*/bin" all)
(string-append all " || true")))))))
(build-system gnu-build-system)
(arguments
(substitute-keyword-arguments (package-arguments scummc)
((#:make-flags _)
#~(list "SCC=scc"
"SLD=sld"
"COST=cost"
"CHAR=char"
"SOUN=soun"))
((#:phases phases)
#~(modify-phases #$phases
(replace 'build
(lambda* (#:key make-flags #:allow-other-keys)
(with-directory-excursion "examples/openquest"
(apply invoke "make" "tentacle" make-flags))))
(add-after 'install 'install-executable
(lambda* (#:key inputs #:allow-other-keys)
;; Create standalone executable.
(let* ((bash (search-input-file inputs "/bin/bash"))
(share (string-append #$output "/examples/openquest"))
(scummvm (search-input-file inputs "/bin/scummvm"))
(bin (string-append #$output "/bin"))
(executable (string-append bin "/openquest")))
(mkdir-p bin)
(with-output-to-file executable
(lambda ()
(format #t "#!~a~%" bash)
(format #t
"exec ~a --path=~a tentacle~%"
scummvm share)))
(chmod executable #o755))))
(add-after 'install-executable 'install-desktop-file
(lambda _
;; Create desktop file. There is no official icon,
;; but the main character of the game is a good choice.
(let* ((apps (string-append #$output "/share/applications"))
(share (string-append #$output "/examples/openquest")))
(mkdir-p apps)
(make-desktop-entry-file
(string-append apps "/openquest.desktop")
#:name "OpenQuest"
#:generic-name "OpenQuest"
#:exec (string-append #$output "/bin/openquest")
#:icon (string-append share "/graphics/zob/frames/stand_S.bmp")
#:categories '("AdventureGame" "Game" "RolePlaying")
#:keywords '("game" "adventure" "roleplaying" "2D" "sci-fi")
#:comment '((#f "Simple 2D point and click adventure game"))))))))))
(inputs
(list bash scummvm))
(native-inputs
(modify-inputs (package-native-inputs scummc)
(prepend scummc)))
(home-page "https://www.scummvm.org")
(synopsis "Simple 2D point and click adventure game")
(description "OpenQuest is a two room adventure game
that follows two aliens who come to Earth in search of a stolen artifact.")
(license license:gpl2+)))
(define-public openrct2 (define-public openrct2
(package (package
(name "openrct2") (name "openrct2")
@ -5579,7 +5665,7 @@ in-window at 640x480 resolution or fullscreen.")
(lambda _ (lambda _
(substitute* "lib/framework/wzstring.cpp" (substitute* "lib/framework/wzstring.cpp"
(("<utfcpp/source/utf8.h>") (("<utfcpp/source/utf8.h>")
"<utf8.h>")))) "<utf8cpp/utf8.h>"))))
(add-after 'unpack 'link-tests-with-qt (add-after 'unpack 'link-tests-with-qt
(lambda _ (lambda _
(substitute* "tests/Makefile.am" (substitute* "tests/Makefile.am"

View file

@ -162,6 +162,19 @@ written in C, C++, Ada, Objective-C, Pascal and more.")
;; The "default" version. ;; The "default" version.
gdb-12) gdb-12)
(define-public gdb-multiarch
(package/inherit gdb-12
(name "gdb-multiarch")
(arguments
`(#:configure-flags
(list "--enable-targets=all"
"--enable-multilib"
"--enable-interwork"
"--enable-languages=c,c++"
"--disable-nls")
,@(package-arguments gdb-12)))
(synopsis "The GNU debugger (with all architectures enabled)")))
(define-public gdb-minimal (define-public gdb-minimal
(package/inherit gdb-12 (package/inherit gdb-12
(name "gdb-minimal") (name "gdb-minimal")

View file

@ -1481,6 +1481,57 @@ to create databases that are optimized for rendering/tile/map-services.")
license:bsd-2 license:bsd-2
license:bsd-3)))) license:bsd-3))))
(define-public python-metpy
(package
(name "python-metpy")
(version "1.5.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "MetPy" version))
(sha256
(base32
"0g9m8qb920mvi0kqw7vbagj08xvv96zj6gjyc7dawlvh15vb55qq"))))
(build-system pyproject-build-system)
(arguments
;; Too many of the tests in the files below require online data.
(list
#:test-flags
#~(list "--ignore" "tests/io/test_nexrad.py"
"--ignore" "tests/plots/test_declarative.py"
"--ignore" "tests/io/test_gempak.py"
"--ignore" "tests/io/test_gini.py"
"--ignore" "tests/io/test_metar.py"
"--ignore" "tests/io/test_station_data.py"
"--ignore" "tests/interpolate/test_grid.py"
"--ignore" "tests/interpolate/test_points.py"
"--ignore" "tests/test_xarray.py"
"--ignore" "tests/calc/test_indices.py"
"--ignore" "tests/calc/test_kinematics.py"
"-k" (string-append ; more tests that require online data
"not test_parse_grid_arguments_xarray"
" and not test_absolute_momentum_xarray_units_attr"
" and not test_zoom_xarray"
" and not test_parse_wpc_surface_bulletin"
" and not test_add_timestamp_xarray"
" and not test_parse_wpc_surface_bulletin_highres"))))
(propagated-inputs (list python-importlib-resources
python-matplotlib
python-numpy
python-pandas
python-pint
python-pooch
python-pyproj
python-scipy
python-traitlets
python-xarray))
(native-inputs (list python-cartopy python-netcdf4 python-pytest
python-pytest-mpl python-shapely))
(home-page "https://github.com/Unidata/MetPy")
(synopsis "Collection of tools to deal with weather data")
(description "MetPy is a collection of tools in Python for reading,
visualizing and performing calculations with weather data.")
(license license:bsd-3)))
(define-public libosmium (define-public libosmium
(package (package
(name "libosmium") (name "libosmium")

View file

@ -44,6 +44,7 @@
#:use-module (gnu packages boost) #:use-module (gnu packages boost)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages docbook) #:use-module (gnu packages docbook)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
#:use-module (gnu packages elf) #:use-module (gnu packages elf)
@ -1203,26 +1204,37 @@ programming language. It also provides the @command{dbusxx-xml2cpp} and
(define-public dbus-cxx (define-public dbus-cxx
(package (package
(name "dbus-cxx") (name "dbus-cxx")
(version "0.12.0") (version "2.4.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "mirror://sourceforge/dbus-cxx/dbus-cxx/" (uri (git-reference
version "/dbus-cxx-" version ".tar.gz")) (url "https://github.com/dbus-cxx/dbus-cxx")
(commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1acsgpkd9v7b9jdc79ijmh9dbdfrzgkwkaff518i3zpk7y6g5mzw")))) "0c9q2bjs4m66zq0qysyip8fnkvvjpj46rkjcvw15nhmfhzbq16ag"))
(modules '((guix build utils)))
(snippet '(delete-file-recursively "tools/libcppgenerate"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags '("-DENABLE_TESTS=ON" (list #:configure-flags #~(list "-DBUILD_TESTING=ON"
"-DENABLE_TOOLS=ON" "-DENABLE_TOOLS=ON"
"-DENABLE_GLIBMM=ON"))) "-DENABLE_GLIB_SUPPORT=ON"
(inputs (list dbus "-DTOOLS_BUNDLED_CPPGENERATE=OFF")
libsigc++ #:phases
glibmm #~(modify-phases %standard-phases
python (replace 'check
popt (lambda* (#:key tests? #:allow-other-keys)
expat)) (when tests?
(native-inputs (list pkg-config m4)) ;; There is no /etc/machine-id file in the build
;; environment.
(invoke "ctest" "-E" "test-machine-uuid-method")))))))
;; These are propagated due to being referenced in headers and pkg-config
;; .pc files.
(propagated-inputs (list glib libsigc++))
(inputs (list dbus expat libcppgenerate popt))
(native-inputs (list pkg-config))
(synopsis "C++ wrapper for dbus") (synopsis "C++ wrapper for dbus")
(description "Dbus-cxx is a C++ wrapper for dbus.\n (description "Dbus-cxx is a C++ wrapper for dbus.\n
It exposes the C API to allow direct manipulation and It exposes the C API to allow direct manipulation and
@ -1236,7 +1248,7 @@ This package provide 2 utils:
Some codes examples can be find at: Some codes examples can be find at:
@url{https://dbus-cxx.github.io/examples.html}") @url{https://dbus-cxx.github.io/examples.html}")
(home-page "https://dbus-cxx.github.io/") (home-page "https://dbus-cxx.github.io/")
(license license:gpl3))) (license (list license:lgpl3+ license:bsd-3)))) ;dual licensed
(define-public sdbus-c++ (define-public sdbus-c++
;; Use the latest commit, which includes unreleased fixes to the pkg-config ;; Use the latest commit, which includes unreleased fixes to the pkg-config

View file

@ -240,6 +240,39 @@ simple and consistent.")
and a few extra features.") and a few extra features.")
(license license:gpl3))) (license license:gpl3)))
(define-public qogir-icon-theme
(package
(name "qogir-icon-theme")
(version "2023.06.05")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/vinceliuice/Qogir-icon-theme")
(commit (string-replace-substring version "." "-"))))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet '(substitute* "install.sh"
(("gtk-update-icon-cache") "true")))
(sha256
(base32
"1kn8b9zdamxbfbs7b9qpx53hmjw2l40sxpjw93axb1dqy81yc8da"))))
(build-system copy-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(replace 'install
(lambda _
(let* ((dest (string-append #$output "/share/icons"))
(flags (list "--theme" "all"
"--color" "all"
"--dest" dest)))
(mkdir-p dest)
(apply invoke "bash" "install.sh" flags)))))))
(home-page "https://www.pling.com/p/1296407/")
(synopsis "Flat colorful design icon theme")
(description "This package provides a flat colorful design icon theme.")
(license license:gpl3)))
(define-public flat-remix-icon-theme (define-public flat-remix-icon-theme
(package (package
(name "flat-remix-icon-theme") (name "flat-remix-icon-theme")

View file

@ -11418,7 +11418,7 @@ and uncluttered interface for the management of password databases.")
(define-public sound-juicer (define-public sound-juicer
(package (package
(name "sound-juicer") (name "sound-juicer")
(version "3.38.0") (version "3.40.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -11427,15 +11427,25 @@ and uncluttered interface for the management of password databases.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"08d5d81rz9sj3m5paw8fwbgxmhlbr7bcjdzpmzj832qvg8smydxf")))) "1rhxmvx2mr22zd5p0azc0svi0mbnzcjnh3sasv3b9gli8ds85s1f"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list (list
#:glib-or-gtk? #t #:glib-or-gtk? #t
#:phases #~(modify-phases %standard-phases #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-gtk-update-icon-cache (add-after 'unpack 'disable-gtk-update-icon-cache
(lambda _ (lambda _
(setenv "DESTDIR" "/")))))) (substitute* "meson.build"
(("gtk_update_icon_cache: true")
"gtk_update_icon_cache: false"))))
(add-after 'install 'wrap-program
(lambda _
(let ((prog (string-append #$output "/bin/sound-juicer"))
(gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
(wrap-program prog
`("GST_PLUGIN_SYSTEM_PATH"
":" prefix (,gst-plugin-path)))))))))
(native-inputs (native-inputs
(list desktop-file-utils (list desktop-file-utils
gettext-minimal gettext-minimal
@ -11445,7 +11455,8 @@ and uncluttered interface for the management of password databases.")
pkg-config pkg-config
python)) python))
(inputs (inputs
(list brasero (list bash-minimal
brasero
gsettings-desktop-schemas gsettings-desktop-schemas
gst-plugins-base gst-plugins-base
gst-plugins-good gst-plugins-good

View file

@ -519,9 +519,9 @@ variable defined below. It requires guile-json to be installed."
;; XXXX: Workaround 'snippet' limitations. ;; XXXX: Workaround 'snippet' limitations.
(define computed-origin-method (@@ (guix packages) computed-origin-method)) (define computed-origin-method (@@ (guix packages) computed-origin-method))
(define %icecat-base-version "102.14.0") (define %icecat-base-version "102.15.0")
(define %icecat-version (string-append %icecat-base-version "-guix0-preview1")) (define %icecat-version (string-append %icecat-base-version "-guix0-preview1"))
(define %icecat-build-id "20230801000000") ;must be of the form YYYYMMDDhhmmss (define %icecat-build-id "20230829000000") ;must be of the form YYYYMMDDhhmmss
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@ -541,12 +541,12 @@ variable defined below. It requires guile-json to be installed."
"firefox-" upstream-firefox-version ".source.tar.xz")) "firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256 (sha256
(base32 (base32
"1vpglmqm97ac3rs273qv7kldkrkawyhdnwwqhvyjqiwaq20m1f0s")))) "1bs6hxfsb77cbi238wvizq2iw4mlgz29m0sd027sz8zm1025kyl1"))))
;; The upstream-icecat-base-version may be older than the ;; The upstream-icecat-base-version may be older than the
;; %icecat-base-version. ;; %icecat-base-version.
(upstream-icecat-base-version "102.14.0") (upstream-icecat-base-version "102.15.0")
(gnuzilla-commit "ac19d793c76732f9e5623e25fbf31287255a4ae7") (gnuzilla-commit "400fbfdbc0c1ac9c68c9f52fd2ab6899bc8e8bd0")
(gnuzilla-source (gnuzilla-source
(origin (origin
(method git-fetch) (method git-fetch)
@ -558,7 +558,7 @@ variable defined below. It requires guile-json to be installed."
(string-take gnuzilla-commit 8))) (string-take gnuzilla-commit 8)))
(sha256 (sha256
(base32 (base32
"0fghxy6d4102i4fsyj5x74v6q94kdfbszmirjbd63wlw1d8sy3cs")))) "1fqrf94a5vnjq56zyyxlc1zsvbblgmzcks760nj1szpws4y91m8r"))))
;; 'search-patch' returns either a valid file name or #f, so wrap it ;; 'search-patch' returns either a valid file name or #f, so wrap it
;; in 'assume-valid-file-name' to avoid 'local-file' warnings. ;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
@ -1139,8 +1139,8 @@ standards of the IceCat project.")
"ru" "sco" "si" "sk" "sl" "son" "sq" "sr" "sv-SE" "szl" "ta" "te" "th" "tl" "ru" "sco" "si" "sk" "sl" "son" "sq" "sr" "sv-SE" "szl" "ta" "te" "th" "tl"
"tr" "trs" "uk" "ur" "uz" "vi" "xh" "zh-CN" "zh-TW")) "tr" "trs" "uk" "ur" "uz" "vi" "xh" "zh-CN" "zh-TW"))
(define %icedove-build-id "20230705000000") ;must be of the form YYYYMMDDhhmmss (define %icedove-build-id "20230830000000") ;must be of the form YYYYMMDDhhmmss
(define %icedove-version "102.13.0") (define %icedove-version "102.15.0")
;; Provides the "comm" folder which is inserted into the icecat source. ;; Provides the "comm" folder which is inserted into the icecat source.
;; Avoids the duplication of Icecat's source tarball. ;; Avoids the duplication of Icecat's source tarball.
@ -1149,11 +1149,11 @@ standards of the IceCat project.")
(method hg-fetch) (method hg-fetch)
(uri (hg-reference (uri (hg-reference
(url "https://hg.mozilla.org/releases/comm-esr102") (url "https://hg.mozilla.org/releases/comm-esr102")
(changeset "2bf94c4d195694485df5d632f2453888cf4f6657"))) (changeset "ac0b189e3bc07ee798d5ed84e99f874bc72204a6")))
(file-name (string-append "thunderbird-" %icedove-version "-checkout")) (file-name (string-append "thunderbird-" %icedove-version "-checkout"))
(sha256 (sha256
(base32 (base32
"1nzbvw1n6wdjbsq0cvyq8av2xf775cp4gkvsjc7i5qzvhl84wg4l")))) "0705grqr906rw3ps32yiw4d5iaiwlql8a1ikhr43k546szypn3wg"))))
(define (comm-source->locales+changeset source) (define (comm-source->locales+changeset source)
"Given SOURCE, a checkout of the Thunderbird 'comm' component, return the "Given SOURCE, a checkout of the Thunderbird 'comm' component, return the

View file

@ -25,7 +25,7 @@
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net> ;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2021, 2022 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@mgail.com> ;;; Copyright © 2021, 2023 Sharlatan Hellseher <sharlatanus@mgail.com>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2021 jgart <jgart@dismail.de> ;;; Copyright © 2021 jgart <jgart@dismail.de>
@ -74,6 +74,7 @@
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module ((gnu packages bootstrap) #:select (glibc-dynamic-linker)) #:use-module ((gnu packages bootstrap) #:select (glibc-dynamic-linker))
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages fonts)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
@ -2112,6 +2113,54 @@ lists (Apple XML, Apple Binary, OpenStep, and GNUStep) from/to arbitrary Go
types.") types.")
(license license:giftware)))) (license license:giftware))))
(define-public go-github-com-bitly-go-hostpool
(package
(name "go-github-com-bitly-go-hostpool")
(version "0.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bitly/go-hostpool")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1iibj7dwymczw7cknrh6glc6sdpp4yap2plnyr8qphynwrzlz73w"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/bitly/go-hostpool"))
(native-inputs (list go-github-com-stretchr-testify))
(home-page "https://github.com/bitly/go-hostpool")
(synopsis "Pool among multiple hosts from Golang")
(description
"This package provides a Go package to intelligently and flexibly pool among
multiple hosts from your Go application. Host selection can operate in round
robin or epsilon greedy mode, and unresponsive hosts are avoided.")
(license license:expat)))
(define-public go-github-com-bitly-timer-metrics
(package
(name "go-github-com-bitly-timer-metrics")
(version "1.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bitly/timer_metrics")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"02fhx8hx8126m2cgxw9fm8q2401r7zfann8b5zy5yyark1sgkrb4"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/bitly/timer_metrics"))
(home-page "https://github.com/bitly/timer_metrics")
(synopsis "Capture timings and enable periodic metrics every @var{n} events")
(description
"This package provides an efficient way to capture timing information and
periodically output metrics")
(license license:expat)))
(define-public go-github-com-blanu-dust (define-public go-github-com-blanu-dust
(package (package
(name "go-github-com-blanu-dust") (name "go-github-com-blanu-dust")
@ -2437,6 +2486,132 @@ the golang proxy package which connects through a TURN relay. It provides
parsing and encoding support for STUN and TURN protocols.") parsing and encoding support for STUN and TURN protocols.")
(license license:bsd-3)))) (license license:bsd-3))))
(define-public go-github-com-flopp-go-findfont
(package
(name "go-github-com-flopp-go-findfont")
(version "0.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/flopp/go-findfont")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"05jvs5sw6yid0qr2ld7aw0n1mjp47jxhvbg9lsdig86668i2fj2q"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/flopp/go-findfont"))
(home-page "https://github.com/flopp/go-findfont")
(synopsis "go-findfont")
(description
"This package provides a platform-agnostic Go library to locate
TrueType font files in your system's user and system font directories.")
(license license:expat)))
(define-public go-github-com-phpdave11-gofpdi
(package
(name "go-github-com-phpdave11-gofpdi")
(version "1.0.13")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/phpdave11/gofpdi")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"01r8a3k2d48fxmhyvix0ry2dc1z5xankd14yxlm496a26vfnc9nq"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/phpdave11/gofpdi"
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'fix-source
(lambda _
(substitute* (find-files "." "writer\\.go$")
(("%s-%s") "%d-%s")))))))
(propagated-inputs (list go-github-com-pkg-errors))
(home-page "https://github.com/phpdave11/gofpdi")
(synopsis "PDF document importer")
(description
"gofpdi allows you to import an existing PDF into a new PDF.")
(license license:expat)))
(define-public go-github-com-signintech-gopdf
(package
(name "go-github-com-signintech-gopdf")
(version "0.18.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/signintech/gopdf")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1jf8a896qh871mdr1i7f0fdpqki5pkk1sp6p5dq404zqxpd7lq5l"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/signintech/gopdf"))
(propagated-inputs (list go-github-com-pkg-errors
go-github-com-phpdave11-gofpdi))
(home-page "https://github.com/signintech/gopdf")
(synopsis "Generating PDF documents")
(description "gopdf is a Go library for generating PDF documents.")
(license license:expat)))
(define-public go-github-com-wraparound-wrap
(package
(name "go-github-com-wraparound-wrap")
(version "0.3.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Wraparound/wrap")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0scf7v83p40r9k7k5v41rwiy9yyanfv3jm6jxs9bspxpywgjrk77"))
(patches (search-patches
"go-github-com-wraparound-wrap-free-fonts.patch"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/Wraparound/wrap/"
#:tests? #f ; no tests
#:phases
#~(modify-phases %standard-phases
(replace 'build
(lambda* (#:key import-path #:allow-other-keys)
(invoke "go" "install" "-v" "-x"
"-ldflags=-s -w"
(string-append import-path "cmd/wrap"))))
(add-after 'wrap 'wrap-fonts
(lambda* (#:key inputs outputs #:allow-other-keys)
(for-each
(lambda (program)
(wrap-program program
`("XDG_DATA_DIRS" suffix
,(map dirname
(search-path-as-list '("share/fonts")
(map cdr inputs))))))
(find-files (string-append (assoc-ref outputs "out")
"/bin"))))))))
(propagated-inputs (list go-github-com-spf13-cobra
go-github-com-signintech-gopdf
go-github-com-flopp-go-findfont))
(inputs (list font-liberation font-gnu-freefont))
(home-page "https://github.com/Wraparound/wrap")
(synopsis "Format Fountain screenplays")
(description
"Wrap is a command line tool that is able to convert Fountain files into a
correctly formatted screen- or stageplay as an HTML or a PDF. It supports
standard Fountain, but also has some custom syntax extensions such as
translated keywords and acts.")
(license license:gpl3)))
(define-public go-torproject-org-pluggable-transports-goptlib (define-public go-torproject-org-pluggable-transports-goptlib
(package (package
(name "go-torproject-org-pluggable-transports-goptlib") (name "go-torproject-org-pluggable-transports-goptlib")
@ -3135,6 +3310,55 @@ web framework
sunset times from geographical coordinates and a date.") sunset times from geographical coordinates and a date.")
(license license:expat)))) (license license:expat))))
(define-public go-github-com-nsqio-go-diskqueue
(package
(name "go-github-com-nsqio-go-diskqueue")
(version "1.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nsqio/go-diskqueue")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1hp66hkmfn0nyf3c53a40f94ah11a9rj01r5zp3jph9p54j8rany"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/nsqio/go-diskqueue"))
(home-page "https://github.com/nsqio/go-diskqueue")
(synopsis "Go package providing a file system backed FIFO queue")
(description
"The @code{diskqueue} Go package provides a file system backed FIFO
queue.")
(license license:expat)))
(define-public go-github-com-nsqio-go-nsq
(package
(name "go-github-com-nsqio-go-nsq")
(version "1.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nsqio/go-nsq")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1h9z3z225sdgg7fl3l7x11xn5ch6lm5flgmcj046cdp453qj2qhf"))))
(build-system go-build-system)
(arguments
(list #:tests? #f ;tests require networking
#:import-path "github.com/nsqio/go-nsq"))
(propagated-inputs (list go-github-com-golang-snappy))
(home-page "https://github.com/nsqio/go-nsq")
(synopsis "Consumer/producer library for NSQ")
(description
"The @code{nsq} Go module provides a high-level @code{Consumer} and
@code{Producer} types as well as low-level functions to communicate over the
NSQ protocol @url{https://nsq.io/}.")
(license license:expat)))
(define-public go-github-com-hebcal-gematriya (define-public go-github-com-hebcal-gematriya
(let ((commit "fe3043f73e415eb82727701d10f2fb40f87675e9") (let ((commit "fe3043f73e415eb82727701d10f2fb40f87675e9")
(revision "0")) (revision "0"))
@ -3420,6 +3644,32 @@ per-goroutine.")
(description "The @code{walker} function is a faster, parallel version, of (description "The @code{walker} function is a faster, parallel version, of
@code{filepath.Walk}"))) @code{filepath.Walk}")))
(define-public go-github-com-tdewolff-hasher
(package
(name "go-github-com-tdewolff-hasher")
(version "0.0.0-20210521220142-bc97f602bca2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tdewolff/hasher")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32
"12dmxpmdy2z7c2z7qv2mv2aq4hyvjncb6fzr0ymg3y5bfjvl4dcw"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/tdewolff/hasher"))
(native-inputs
(list go-github-com-cespare-mph
go-github-com-dgryski-go-mph))
(home-page "https://github.com/tdewolff/hasher")
(synopsis "Go known-keys fast-lookup map generator")
(description
"Hasher is a tool to automate the creation of methods and tables for a
@code{string} to @code{uint32} mapper.")
(license license:bsd-3)))
(define-public go-github-com-tdewolff-minify-v2 (define-public go-github-com-tdewolff-minify-v2
(package (package
(name "go-github-com-tdewolff-minify-v2") (name "go-github-com-tdewolff-minify-v2")
@ -3435,11 +3685,24 @@ per-goroutine.")
"0h006wpfkl0ls0skqxblwcanrhmphgq5q0ii26l2ayh7s99cgmy3")))) "0h006wpfkl0ls0skqxblwcanrhmphgq5q0ii26l2ayh7s99cgmy3"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list #:import-path "github.com/tdewolff/minify/v2")) (list #:import-path "github.com/tdewolff/minify/v2"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'regenerate-hash
(lambda* (#:key import-path #:allow-other-keys)
(for-each
(lambda (dir)
(with-directory-excursion
(format #f "src/~a/~a" import-path dir)
(make-file-writable "hash.go")
(format #t "Generating `hash.go' for ~a...~%" dir)
(invoke "go" "generate")))
'("css" "html" "svg")))))))
(propagated-inputs (propagated-inputs
(list go-github-com-tdewolff-parse-v2)) (list go-github-com-tdewolff-parse-v2))
(native-inputs (native-inputs
(list go-github-com-tdewolff-test)) (list go-github-com-tdewolff-hasher
go-github-com-tdewolff-test))
(home-page "https://go.tacodewolff.nl/minify") (home-page "https://go.tacodewolff.nl/minify")
(synopsis "Go minifiers for web formats") (synopsis "Go minifiers for web formats")
(description (description
@ -3462,9 +3725,22 @@ an interface to implement any other minifier.")
"1dqki9ima079k9a3l72igmx5dml8qsl9z8rzw8a433f4gjhlv320")))) "1dqki9ima079k9a3l72igmx5dml8qsl9z8rzw8a433f4gjhlv320"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
(list #:import-path "github.com/tdewolff/parse/v2")) (list #:import-path "github.com/tdewolff/parse/v2"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'regenerate-hash
(lambda* (#:key import-path #:allow-other-keys)
(for-each
(lambda (dir)
(with-directory-excursion
(format #f "src/~a/~a" import-path dir)
(make-file-writable "hash.go")
(format #t "Generating `hash.go' for ~a...~%" dir)
(invoke "go" "generate")))
'("css" "html")))))))
(native-inputs (native-inputs
(list go-github-com-tdewolff-test)) (list go-github-com-tdewolff-hasher
go-github-com-tdewolff-test))
(home-page "https://github.com/tdewolff/parse") (home-page "https://github.com/tdewolff/parse")
(synopsis "Go parsers for web formats") (synopsis "Go parsers for web formats")
(description (description
@ -5263,6 +5539,54 @@ run programs as a service using a variety of supervisors, including systemd,
SysVinit, and more.") SysVinit, and more.")
(license license:zlib)))) (license license:zlib))))
(define-public go-github-com-dgryski-go-metro
(package
(name "go-github-com-dgryski-go-metro")
(version "0.0.0-20211217172704-adc40b04c140")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dgryski/go-metro")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32
"16y5vc5qf7aipi8basqza8l939hlmp7wqsv4y6gsqac3sp9ziqyj"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/dgryski/go-metro"))
(home-page "https://github.com/dgryski/go-metro")
(synopsis "Go translation of MetroHash")
(description
"This package provides a Go translation of the
@url{https://github.com/jandrewrogers/MetroHash, reference C++ code for
MetroHash}, a high quality, high performance hash algorithm.")
(license license:expat)))
(define-public go-github-com-dgryski-go-mph
(package
(name "go-github-com-dgryski-go-mph")
(version "0.0.0-20211217222804-81a8625fb7ed")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dgryski/go-mph")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32
"10q8l4jdzqf54bnnxka2jk6qzayri3ijv51knn1n0iimfric8w9g"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/dgryski/go-mph"))
(propagated-inputs
(list go-github-com-dgryski-go-metro))
(home-page "https://github.com/dgryski/go-mph")
(synopsis "Go minimal perfect hash function")
(description
"This package implements a hash/displace minimal perfect hash function.")
(license license:expat)))
(define-public go-github-com-docker-distribution (define-public go-github-com-docker-distribution
(let ((commit "325b0804fef3a66309d962357aac3c2ce3f4d329") (let ((commit "325b0804fef3a66309d962357aac3c2ce3f4d329")
(revision "0")) (revision "0"))
@ -6225,6 +6549,57 @@ trivial @command{big.Int} encoding benchmark results in 6 times faster
encoding and 8 times faster decoding.") encoding and 8 times faster decoding.")
(license license:expat)))) (license license:expat))))
(define-public go-github-com-mreiferson-go-options
(package
(name "go-github-com-mreiferson-go-options")
(version "1.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mreiferson/go-options")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1pxs9ybrh196qy14ijn4zn51h2z28lj31y6vxrz2xxhgvpmfmxyl"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/mreiferson/go-options"))
(home-page "https://github.com/mreiferson/go-options")
(synopsis "Go package to structure and resolve options")
(description
"The @code{options} Go package resolves configuration values set via
command line flags, config files, and default struct values.")
(license license:expat)))
(define-public go-github-com-mreiferson-go-svc
;; NSQ specific fork of github.com/judwhite/go-svc, as Guix go build system
;; does not support go.mod with `replace' statement.
(let ((commit "7a96e00010f68d9436e3de53a70c53f209a0c244")
(revision "0"))
(package
(name "go-github-com-mreiferson-go-svc")
(version (git-version "1.2.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mreiferson/go-svc")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1acgb0n3svhnraqj1fz5qc5n3b4vc5ffwyk9vfi6gcfkibm0hgmd"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/judwhite/go-svc"))
(propagated-inputs (list go-golang-org-x-sys))
(home-page "https://github.com/mreiferson/go-svc")
(synopsis "Go Windows Service wrapper for GNU/Linux")
(description
"Go Windows Service wrapper compatible with GNU/Linux. Windows tests
@url{https://github.com/judwhite/go-svc/raw/master/svc/svc_windows_test.go,here}.")
(license license:expat))))
(define-public go-github-com-gxed-hashland-keccakpg (define-public go-github-com-gxed-hashland-keccakpg
(let ((commit "d9f6b97f8db22dd1e090fd0bbbe98f09cc7dd0a8") (let ((commit "d9f6b97f8db22dd1e090fd0bbbe98f09cc7dd0a8")
(revision "0")) (revision "0"))
@ -7293,6 +7668,29 @@ non-UTF-friendly sources.")
encoding in Go.") encoding in Go.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public go-github-com-cespare-mph
(package
(name "go-github-com-cespare-mph")
(version "0.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cespare/mph")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0mvd6bkvf3i3555kqkkr3k9jd4c25scjq4xad35sxpny8f72nbg1"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/cespare/mph"))
(home-page "https://github.com/cespare/mph")
(synopsis "Minimal perfect hashing in Go")
(description
"@code{mph} is a Go package that implements a minimal perfect hash table
over strings.")
(license license:expat)))
(define-public go-github-com-gdamore-tcell (define-public go-github-com-gdamore-tcell
(let ((commit "aaadc574a6ed8dc3abe56036ca130dcee1ee6b6e") (let ((commit "aaadc574a6ed8dc3abe56036ca130dcee1ee6b6e")
(version "1.1.2") (version "1.1.2")
@ -9002,6 +9400,30 @@ the library more lightweight.")
matching and globbing with support for \"doublestar\" patterns.") matching and globbing with support for \"doublestar\" patterns.")
(license license:expat))) (license license:expat)))
(define-public go-github-com-bmizerany-perks-quantile
(package
(name "go-github-com-bmizerany-perks-quantile")
(version "0.0.0-20230307044200-03f9df79da1e")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bmizerany/perks")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32
"1f2a99v3618bz2mf61iwhdjm3xi1gam6v4apqgcrz71gj7ba9943"))))
(build-system go-build-system)
(arguments
(list #:unpack-path "github.com/bmizerany/perks"
#:import-path "github.com/bmizerany/perks/quantile"))
(home-page "https://github.com/bmizerany/perks")
(synopsis "Library for computing quantiles")
(description
"Perks contains the Go package @code{quantile} that computes approximate
quantiles over an unbounded data stream within low memory and CPU bounds.")
(license license:bsd-2)))
(define-public go-github-com-dlclark-regexp2 (define-public go-github-com-dlclark-regexp2
(package (package
(name "go-github-com-dlclark-regexp2") (name "go-github-com-dlclark-regexp2")
@ -9861,6 +10283,29 @@ extensions.")
for color and styles.") for color and styles.")
(license license:lgpl3))) (license license:lgpl3)))
(define-public go-github-com-julienschmidt-httprouter
(package
(name "go-github-com-julienschmidt-httprouter")
(version "1.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/julienschmidt/httprouter")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1a6sy0ysqknsjssjh7qg1dqn21xmj9a36c57nrk7srfmab4ffmk1"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/julienschmidt/httprouter"))
(home-page "https://github.com/julienschmidt/httprouter")
(synopsis "High performance HTTP request router")
(description
"Package @code{httprouter} is a trie based high performance HTTP request
router.")
(license license:bsd-3)))
(define-public go-github-com-kevinburke-ssh-config (define-public go-github-com-kevinburke-ssh-config
(package (package
(name "go-github-com-kevinburke-ssh-config") (name "go-github-com-kevinburke-ssh-config")
@ -11893,7 +12338,7 @@ dependencies and a simple API.")
(define-public go-github-com-arceliar-ironwood (define-public go-github-com-arceliar-ironwood
(package (package
(name "go-github-com-arceliar-ironwood") (name "go-github-com-arceliar-ironwood")
(version "0.0.0-20210912013146-c2bc55bb349c") (version "0.0.0-20221115123222-ec61cea2f439")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -11903,7 +12348,7 @@ dependencies and a simple API.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1dfkqnkfxwlwcsk8g9r1pv84lfzgn8r1vam13zlmk81cgan2r6fx")))) "0jdfhsr1yci0a4fpf2pmh9n4d7iryjx12y3549gv9nfjf91rs225"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
'(#:import-path "github.com/Arceliar/ironwood" '(#:import-path "github.com/Arceliar/ironwood"

View file

@ -57,6 +57,7 @@
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-build) #:use-module (gnu packages python-build)
#:use-module (gnu packages python-compression)
#:use-module (gnu packages python-science) #:use-module (gnu packages python-science)
#:use-module (gnu packages python-web) #:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
@ -624,7 +625,7 @@ transformed into common image formats for display or printing.")
(define-public python-graph-tool (define-public python-graph-tool
(package (package
(name "python-graph-tool") (name "python-graph-tool")
(version "2.46") (version "2.57")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -632,7 +633,7 @@ transformed into common image formats for display or printing.")
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0x9jgnq9xcja3q954y7nhdzd374p4h203pymxh51b6lqqbq0hm9h")))) "0wmvzx509lvigja6cfxh45r4b7wns64vmik0x4rz4y4fnxrhw2m2"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:imported-modules (,@%gnu-build-system-modules `(#:imported-modules (,@%gnu-build-system-modules
@ -656,7 +657,11 @@ transformed into common image formats for display or printing.")
python-wrapper python-wrapper
sparsehash)) sparsehash))
(propagated-inputs (propagated-inputs
(list python-matplotlib python-numpy python-pycairo python-scipy)) (list python-matplotlib
python-numpy
python-pycairo
python-scipy
python-zstandard))
(synopsis "Manipulate and analyze graphs with Python efficiently") (synopsis "Manipulate and analyze graphs with Python efficiently")
(description "Graph-tool is an efficient Python module for manipulation (description "Graph-tool is an efficient Python module for manipulation
and statistical analysis of graphs (a.k.a. networks). Contrary to most other and statistical analysis of graphs (a.k.a. networks). Contrary to most other

View file

@ -83,6 +83,7 @@
#:use-module (gnu packages gstreamer) #:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages haskell-xyz) #:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages image-processing) #:use-module (gnu packages image-processing)
#:use-module (gnu packages imagemagick) #:use-module (gnu packages imagemagick)
@ -1414,7 +1415,7 @@ virtual reality, scientific visualization and modeling.")
(define-public gr-framework (define-public gr-framework
(package (package
(name "gr-framework") (name "gr-framework")
(version "0.58.1") (version "0.69.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1423,12 +1424,11 @@ virtual reality, scientific visualization and modeling.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0q1rz4iyxbh0dc22y4w28ry3hr0yypdwdm6pw2zlwgjya7wkbvsw")) (base32 "0kllbj4bj3f5w4wzg29ilac66fd0bslqq5srj845ssmzp4ynqglh"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
(delete-file-recursively "3rdparty") (delete-file-recursively "3rdparty")))))
#t))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f)) ; no test target `(#:tests? #f)) ; no test target
@ -1999,9 +1999,9 @@ and engineering community.")
;; https://skia.org/docs/user/release/release_notes/. The commit used ;; https://skia.org/docs/user/release/release_notes/. The commit used
;; should be the last commit, as recommended at ;; should be the last commit, as recommended at
;; https://skia.org/docs/user/release/. ;; https://skia.org/docs/user/release/.
(let ((version "98") (let ((version "112")
(revision "0") (revision "0")
(commit "55c56abac381e1ae3f0116c410bed81b05e0a38a")) (commit "6d0b93856303fcf3021a8b40654d7739fda4dfb0"))
(package (package
(name "skia") (name "skia")
(version (git-version version revision commit)) (version (git-version version revision commit))
@ -2013,14 +2013,10 @@ and engineering community.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1ldns2j1g2wj2phlxr9zqkdgs5g64pisxhwxcrq9ijn8a3jhafr2")))) "0g07xlvpbbxqmr9igvy5d1hy11z7dz9nzp2fd3ka9y2jqciniyz6"))))
(build-system gnu-build-system) ;actually GN + Ninja (build-system gnu-build-system) ;actually GN + Ninja
(arguments (arguments
(list (list
;; Running the test suite would require 'dm'; unfortunately the tool
;; can only be built for debug builds, which require fetching third
;; party sources.
#:tests? #f
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(replace 'configure (replace 'configure
@ -2037,6 +2033,7 @@ and engineering community.")
"cc=\"gcc\" " ;defaults to 'cc' "cc=\"gcc\" " ;defaults to 'cc'
"is_official_build=true " ;to use system libraries "is_official_build=true " ;to use system libraries
"is_component_build=true " ;build as a shared library "is_component_build=true " ;build as a shared library
"skia_use_system_zlib=true " ; use system zlib library
;; Specify where locate the harfbuzz and freetype ;; Specify where locate the harfbuzz and freetype
;; includes. ;; includes.
(format #f "extra_cflags=[\"-I~a\",\"-I~a\"] " (format #f "extra_cflags=[\"-I~a\",\"-I~a\"] "
@ -2048,7 +2045,10 @@ and engineering community.")
"extra_ldflags=[\"-Wl,-rpath=" #$output "/lib\"] " "extra_ldflags=[\"-Wl,-rpath=" #$output "/lib\"] "
;; Disabled, otherwise the build system attempts to ;; Disabled, otherwise the build system attempts to
;; download the SDK at build time. ;; download the SDK at build time.
"skia_use_dng_sdk=false ")))) "skia_use_dng_sdk=false "
;; Wuffs is a google language that may improve performance
;; disabled while unpackaged
"skia_use_wuffs=false "))))
(replace 'build (replace 'build
(lambda* (#:key parallel-build? #:allow-other-keys) (lambda* (#:key parallel-build? #:allow-other-keys)
(let ((job-count (if parallel-build? (let ((job-count (if parallel-build?
@ -2085,8 +2085,137 @@ Description: 2D graphic library for drawing text, geometries and images.
URL: https://skia.org/ URL: https://skia.org/
Version: ~a Version: ~a
Libs: -L${libdir} -lskia Libs: -L${libdir} -lskia
Cflags: -I${includedir}~%" #$output #$version)))))))) Cflags: -I${includedir}~%" #$output #$version)))))
(native-inputs (list gn libjpeg-turbo ninja pkg-config python-wrapper)) (replace 'check
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(let ((icu #$(this-package-native-input "icu4c-for-skia")))
;; Unbundle SPIRV-Tools dependency.
(substitute* "BUILD.gn"
(("deps \\+= \\[ \"//third_party/externals/spirv-tools:spvtools_val\" \\]")
"libs += [ \"SPIRV-Tools\" ]"))
(substitute* "src/sksl/SkSLCompiler.cpp"
(("\"spirv-tools/libspirv.hpp\"")
"<libspirv.hpp>"))
;; Configure ICU dependency.
(substitute* "third_party/icu/BUILD.gn"
(("data_dir = \"\\.\\./externals/icu/\"")
(string-append "data_dir = \"" icu "/share/data/\""))
(("script = \"\\.\\./externals/icu/scripts/")
(string-append "script = \"" icu "/share/scripts/"))
(("\\.\\./externals/icu/common/icudtl\\.dat")
(string-append icu "/share/data/icudtl.dat"))
(("sources = icu_sources")
"")
(("sources \\+= \\[ \"\\$data_assembly\" \\]")
"sources = [ \"$data_assembly\" ]"))
;; Enable system libraries without is_official_build=true.
;; This is necessary because is_official_build prevents from
;; building dm.
(for-each
(lambda (libname)
(let ((snake (string-join (string-split libname #\-) "_")))
(substitute*
(string-append "third_party/" libname "/BUILD.gn")
(((string-append "skia_use_system_"
snake
" = is_official_build.*"))
(string-append "skia_use_system_" snake " = true")))))
'("zlib" "libjpeg-turbo" "harfbuzz" "libpng" "libwebp"))
;; Configure with gn.
(invoke "gn" "gen" "out/Debug"
(string-append
"--args="
"cc=\"gcc\" " ;defaults to 'cc'
"skia_compile_sksl_tests=false " ; disable some tests
"skia_use_perfetto=false " ; disable performance tests
"skia_use_wuffs=false " ; missing performance tool
"skia_use_system_expat=true " ; use system expat library
"skia_use_system_zlib=true " ; use system zlib library
;; Specify where to locate the includes.
"extra_cflags=["
(string-join
(map
(lambda (lib)
(string-append
"\"-I"
(search-input-directory
inputs
(string-append "include/" lib)) "\""))
'("harfbuzz"
"freetype2"
"spirv-tools"
"spirv"
"unicode"))
",")
"] "
;; Otherwise the validate-runpath phase fails.
"extra_ldflags=["
"\"-Wl,-rpath=" #$output "/lib\""
"] "
;; Disabled, otherwise the build system attempts to
;; download the SDK at build time.
"skia_use_dng_sdk=false "
"skia_use_runtime_icu=true "))
;; Build dm testing tool.
(symlink
(string-append #$(this-package-native-input "gn") "/bin/gn")
"./bin/gn")
(invoke "ninja" "-C" "out/Debug" "dm")
;; The test suite requires an X server.
(let ((xvfb (search-input-file (or native-inputs inputs)
"bin/Xvfb"))
(display ":1"))
(setenv "DISPLAY" display)
(system (string-append xvfb " " display " &")))
;; Run tests.
(invoke "out/Debug/dm" "-v"
"-w" "dm_output"
"--codecWritePath" "dm_output"
"--simpleCodec"
"--skip"
;; The underscores are part of the dm syntax for
;; skipping tests.
;; These tests fail with segmentation fault.
"_" "_" "_" "Codec_trunc"
"_" "_" "_" "AnimCodecPlayer"
"_" "_" "_" "Codec_partialAnim"
"_" "_" "_" "Codec_InvalidImages"
"_" "_" "_" "Codec_GifInterlacedTruncated"
"_" "_" "_" "SkText_UnicodeText_Flags"
"_" "_" "_" "SkParagraph_FontStyle"
"_" "_" "_" "flight_animated_image"
;; These tests fail because of Codec/Sk failure.
"_" "_" "_" "AndroidCodec_computeSampleSize"
"_" "_" "_" "AnimatedImage_invalidCrop"
"_" "_" "_" "AnimatedImage_scaled"
"_" "_" "_" "AnimatedImage_copyOnWrite"
"_" "_" "_" "AnimatedImage"
"_" "_" "_" "BRD_types"
"_" "_" "_" "Codec_frames"
"_" "_" "_" "Codec_partial"
"_" "_" "_" "Codec_partialWuffs"
"_" "_" "_" "Codec_requiredFrame"
"_" "_" "_" "Codec_rewind"
"_" "_" "_" "Codec_incomplete"
"_" "_" "_" "Codec_InvalidAnimated"
"_" "_" "_" "Codec_ossfuzz6274"
"_" "_" "_" "Codec_gif_out_of_palette"
"_" "_" "_" "Codec_xOffsetTooBig"
"_" "_" "_" "Codec_gif"
"_" "_" "_" "Codec_skipFullParse"
"_" "_" "_" "AndroidCodec_animated_gif"
;; These fail for unknown reasons.
"_" "_" "_" "Gif"
"_" "_" "_" "Wuffs_seek_and_decode"
"_" "_" "_" "Skottie_Shaper_ExplicitFontMgr"
"8888" "skp" "_" "_"
"8888" "lottie" "_" "_"
"gl" "skp" "_" "_"
"gl" "lottie" "_" "_"
"_" "_" "_" "ES2BlendWithNoTexture")))))))
(native-inputs (list gn libjpeg-turbo ninja pkg-config python-wrapper
spirv-tools spirv-headers
icu4c-for-skia glu xorg-server-for-tests))
(inputs (list expat fontconfig freetype harfbuzz mesa libwebp zlib)) (inputs (list expat fontconfig freetype harfbuzz mesa libwebp zlib))
(home-page "https://skia.org/") (home-page "https://skia.org/")
(synopsis "2D graphics library") (synopsis "2D graphics library")

View file

@ -842,7 +842,9 @@ model to base your own plug-in on, here it is.")
(inputs (inputs
(append (append
(if (target-x86?) (list mediasdk) '()) (if (target-x86?) (list mediasdk) '())
(if (target-x86-64?) (list svt-hevc) '()) ;; Note: svt-hevc cannot be used, as it would break the package for
;; older x86_64 CPUs that lack AVX2, such as the Core 2 Duo (see:
;; https://github.com/OpenVisualCloud/SVT-HEVC/issues/573#issuecomment-680678144).
(list bluez (list bluez
bzip2 bzip2
cairo cairo

View file

@ -1554,7 +1554,7 @@ tracker's SOAP service, such as @url{https://bugs.gnu.org}.")
(define-public guile-email (define-public guile-email
(package (package
(name "guile-email") (name "guile-email")
(version "0.3.0") (version "0.3.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1564,7 +1564,7 @@ tracker's SOAP service, such as @url{https://bugs.gnu.org}.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0q98r460yr75gyxg06zrrixwazncd9nxl2pgr68mff2wf41f291h")))) "09r50zbkyxvg6f7qn37yibasw69ajxls3sgdnhy9j70mbvcmx9c4"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list texinfo)) (list texinfo))
@ -2974,22 +2974,18 @@ is no support for parsing block and inline level HTML.")
(inputs (list guile-2.0)))) (inputs (list guile-2.0))))
(define-public mcron (define-public mcron
;; Use the latest commits, as interesting changes haven't been released yet,
;; such as improved logging.
(let ((revision "0")
(commit "5fd0ccde5a4cff70299999f988e6b5166584814d"))
(package (package
(name "mcron") (name "mcron")
(version (git-version "1.2.1" revision commit)) (version "1.2.3")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://git.savannah.gnu.org/git/mcron.git") (url "https://git.savannah.gnu.org/git/mcron.git")
(commit commit))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0jl2w67a5hkphzssdzq3q4jcwv2b174b11d3w5i3khxq2vhzd6kk")))) "07gqwbjfsgf16ff624hkav0qhl10dv579y10fxas2kbjavqm4yx5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
@ -3023,7 +3019,7 @@ is no support for parsing block and inline level HTML.")
tasks on a schedule, such as every hour or every Monday. Mcron is written in tasks on a schedule, such as every hour or every Monday. Mcron is written in
Guile, so its configuration can be written in Scheme; the original cron Guile, so its configuration can be written in Scheme; the original cron
format is also supported.") format is also supported.")
(license license:gpl3+)))) (license license:gpl3+)))
(define-public guile-picture-language (define-public guile-picture-language
(let ((commit "a1322bf11945465241ca5b742a70893f24156d12") (let ((commit "a1322bf11945465241ca5b742a70893f24156d12")

View file

@ -457,7 +457,7 @@ without requiring the source code to be rewritten.")
(define-public guile-next (define-public guile-next
(let ((version "3.0.9") (let ((version "3.0.9")
(revision "0") (revision "0")
(commit "aa2cfe7cf69327285a17de97682d696f2f6c43ef")) (commit "c2cba86785a34351788f52ea4fccf9f10f3a1dee"))
(package (package
(inherit guile-3.0) (inherit guile-3.0)
(name "guile-next") (name "guile-next")
@ -471,7 +471,7 @@ without requiring the source code to be rewritten.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"03xwy3ni85qy0lrvz0lk0488394nfsfc1004l84lgyzql2qwkynl")))) "1k0dkmyf9s4iynjj2qm0szqfpfd3b07cpj0fay14iwbidkrqndzf"))))
(arguments (arguments
(substitute-keyword-arguments (package-arguments guile-3.0) (substitute-keyword-arguments (package-arguments guile-3.0)
((#:phases phases '%standard-phases) ((#:phases phases '%standard-phases)

View file

@ -2,7 +2,7 @@
;;; Copyright © 20182022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20182022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Evgeny Pisemsky <evgeny@pisemsky.com> ;;; Copyright © 2021, 2023 Evgeny Pisemsky <evgeny@pisemsky.com>
;;; Copyright © 2021 Léo Le Bouter <lle-bout@zaclys.net> ;;; Copyright © 2021 Léo Le Bouter <lle-bout@zaclys.net>
;;; Copyright © 2021 Denis Carikli <GNUtoo@cyberdimension.org> ;;; Copyright © 2021 Denis Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com>
@ -1459,3 +1459,37 @@ your network, send SCPI commands, and receive responses.")
on the LXI Consortium standard which defines the communication protocols for on the LXI Consortium standard which defines the communication protocols for
modern instrumentation and data acquision systems using Ethernet.") modern instrumentation and data acquision systems using Ethernet.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public usbrelay
(package
(name "usbrelay")
(version "1.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/darrylb123/usbrelay")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0fr3wglr2c6myg4k6ai2p5z38prclcnk2ngik15sq16fnp6qg750"))))
(build-system gnu-build-system)
(arguments
(list
#:phases #~(modify-phases %standard-phases
(delete 'configure)) ;no configure script
#:make-flags #~(list (string-append "CC=" #$(cc-for-target))
(string-append "PREFIX=" #$output)
(string-append "LDFLAGS=-Wl,-rpath="
(string-append #$output "/lib"))
"LDCONFIG=true"
"USBMAJOR=$(USBLIBVER)")
#:tests? #f)) ;no test suite
(inputs (list hidapi))
(home-page "https://github.com/darrylb123/usbrelay")
(synopsis "Control USB relay modules")
(description
"This is a Linux driver based on hidapi for a variety of inexpensive
HID compatible USB relay modules available with different number of
output relays.")
(license license:gpl2+)))

View file

@ -34,6 +34,7 @@
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages golang)
#:use-module (gnu packages hardware) #:use-module (gnu packages hardware)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages lua) #:use-module (gnu packages lua)
@ -43,12 +44,14 @@
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages rsync) #:use-module (gnu packages rsync)
#:use-module (gnu packages syncthing)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages valgrind) #:use-module (gnu packages valgrind)
#:use-module (gnu packages version-control) #:use-module (gnu packages version-control)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix git-download) #:use-module (guix git-download)
@ -190,6 +193,89 @@ applications.")
in general better performances compared to the old network protocol.") in general better performances compared to the old network protocol.")
(license (list license:gpl2+ license:lgpl2.1+)))) (license (list license:gpl2+ license:lgpl2.1+))))
(define-public nsq
(package
(name "nsq")
(version "1.2.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nsqio/nsq")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ajqjwfn06zsmz21z9mkl4cblarypaf20228pqcd1293zl6y3ry8"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/nsqio/nsq"
#:install-source? #f
#:phases
#~(modify-phases %standard-phases
(replace 'build
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(invoke "make"))))
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(when tests?
(setenv "HOME" "/tmp")
(with-directory-excursion (string-append "src/" import-path)
(invoke #$@(if (target-x86?)
(list "go" "test" "-v" "-race" "./...")
(list "go" "test" "-v" "./...")))))))
(replace 'install
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(invoke "make" (string-append "PREFIX=" #$output)
"install")))))))
(native-inputs
(list go-github-com-bitly-go-hostpool
go-github-com-bitly-timer-metrics
go-github-com-blang-semver
go-github-com-bmizerany-perks-quantile
go-github-com-burntsushi-toml
go-github-com-davecgh-go-spew
go-github-com-golang-snappy ; Move to (gnu packages golang)
go-github-com-julienschmidt-httprouter
go-github-com-mreiferson-go-options
go-github-com-mreiferson-go-svc
go-github-com-nsqio-go-diskqueue
go-github-com-nsqio-go-nsq
python-wrapper))
(home-page "https://nsq.io")
(synopsis "Realtime distributed messaging platform")
(description
"NSQ is a realtime distributed messaging platform designed to operate at
scale, handling billions of messages per day.
Key features:
@itemize
@item support distributed topologies without @acronym{SPOF, Single Point of
Failure}
@item scale horizontally (no brokers, seamlessly add more nodes to the
cluster)
@item low-latency push based message delivery (performance)
@item combine load-balanced and multicast style message routing
@item excel at both streaming (high-throughput) and job oriented
(low-throughput) workloads
@item primarily in-memory (beyond a high-water mark messages are transparently
kept on disk)
@item runtime discovery service for consumers to find producers (nsqlookupd)
@item transport layer security (TLS)
@item data format agnostic
@item few dependencies (easy to deploy) and a sane, bounded, default
configuration
@item simple TCP protocol supporting client libraries in any language
@item HTTP interface for stats, admin actions, and producers (no client
library needed to publish)
@item integrate with @acronym{StatsD, Stats aggregation Daemon} for realtime
instrumentation
@item robust cluster administration interface (nsqadmin)
@end itemize")
(license license:expat)))
(define-public corosync (define-public corosync
(package (package
(name "corosync") (name "corosync")

View file

@ -241,6 +241,12 @@ may also simplify input method development.")
#$flags)) #$flags))
((#:phases phases '%standard-phases) ((#:phases phases '%standard-phases)
#~(modify-phases #$phases #~(modify-phases #$phases
(add-after 'unpack 'disable-registry-cache
;; IBus registry cache depends on mtime, which doesn't work on
;; Guix.
(lambda _
(substitute* "bus/main.c"
(("ibus_init") "g_cache = \"none\"; ibus_init"))))
(replace 'wrap-with-additional-paths (replace 'wrap-with-additional-paths
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
;; Make sure 'ibus-setup' and 'ibus-daemon' runs with the ;; Make sure 'ibus-setup' and 'ibus-daemon' runs with the
@ -263,6 +269,13 @@ may also simplify input method development.")
python python
python-dbus python-dbus
python-pygobject))) python-pygobject)))
(native-search-paths
(cons (search-path-specification
(variable "GUIX_GTK3_IM_MODULE_FILE")
(file-type 'regular)
(separator #f)
(files '("lib/gtk-3.0/3.0.0/immodules-gtk3.cache")))
(package-native-search-paths ibus-minimal)))
(properties (alist-delete 'hidden? (package-properties ibus-minimal))))) (properties (alist-delete 'hidden? (package-properties ibus-minimal)))))
(define-public ibus-libpinyin (define-public ibus-libpinyin

View file

@ -9,6 +9,7 @@
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -27,14 +28,17 @@
(define-module (gnu packages icu4c) (define-module (gnu packages icu4c)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages cpio)
#:use-module (gnu packages java) #:use-module (gnu packages java)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix licenses) #:use-module (guix licenses)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system ant) #:use-module (guix build-system ant)
#:use-module (guix build-system gnu)) #:use-module (guix build-system gnu))
@ -240,3 +244,75 @@ C/C++ part.")
globalisation support for software applications. This package contains the globalisation support for software applications. This package contains the
Java part.") Java part.")
(license x11))) (license x11)))
(define-public icu4c-for-skia
;; The current version of skia needs this exact commit
;; for its test dependencies.
(let ((commit "a0718d4f121727e30b8d52c7a189ebf5ab52421f")
(revision "0"))
(package
(inherit icu4c)
(name "icu4c-for-skia")
(version "skia")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://chromium.googlesource.com/chromium/deps/icu.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1qxws2p91f6dmhy7d3967r5ygz06r88pkmpm97px067x0zzdz384"))))
(arguments
(list
#:make-flags #~(list (string-append "DESTDIR=" #$output))
#:configure-flags #~(list "--prefix=" "--exec-prefix=")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir-to-source
(lambda _ (chdir "source")))
(replace 'configure
(lambda* (#:key inputs parallel-build? configure-flags
#:allow-other-keys)
(setenv "CONFIG_SHELL" (which "sh"))
(setenv "OPTS" (string-join configure-flags))
(invoke "./runConfigureICU" "Linux/gcc"
"--disable-layout" "--disable-tests")))
(add-after 'install 'install-cleanup
(lambda* (#:key make-flags #:allow-other-keys)
(with-directory-excursion "data"
(apply invoke "make" "clean" make-flags))))
(add-after 'install-cleanup 'configure-filtered-data
(lambda* (#:key configure-flags #:allow-other-keys)
(setenv "OPTS" (string-join configure-flags))
(setenv "ICU_DATA_FILTER_FILE"
(string-append (getcwd) "/../filters/common.json"))
(invoke "./runConfigureICU" "Linux/gcc"
"--disable-layout" "--disable-tests")))
(add-after 'configure-filtered-data 'build-filtered-data
(lambda* (#:key parallel-build? make-flags #:allow-other-keys)
(let ((job-count (if parallel-build?
(number->string (parallel-job-count))
"1")))
(apply invoke "make" "-j" job-count make-flags)
(setenv "DESTDIR" #$output)
(invoke "bash" "../scripts/copy_data.sh" "common"))))
(add-after 'build-filtered-data 'install-scripts-and-data
(lambda _
(let* ((share (string-append #$output "/share"))
(scripts (string-append share "/scripts"))
(data (string-append share "/data/common")))
;; Install scripts.
(mkdir-p scripts)
(copy-recursively "../scripts/" scripts)
;; Install data.
(mkdir-p data)
(copy-recursively "./dataout/common/data/out/tmp" data)
(symlink (string-append data "/icudt69l.dat")
(string-append data "/icudtl.dat")))))
(add-before 'check 'disable-failing-uconv-test
(lambda _
(substitute* "extra/uconv/Makefile.in"
(("check: check-local")
"")))))))
(native-inputs (list cpio pkg-config python)))))

View file

@ -81,6 +81,7 @@
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages mpi) #:use-module (gnu packages mpi)
#:use-module (gnu packages opencl)
#:use-module (gnu packages pdf) #:use-module (gnu packages pdf)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages photo) #:use-module (gnu packages photo)
@ -472,7 +473,8 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
"0nm7xwwj7rnsxjdv2ssviys8nhci4n9iiiqm2y14s520hl2dsp1d")) "0nm7xwwj7rnsxjdv2ssviys8nhci4n9iiiqm2y14s520hl2dsp1d"))
(patches (search-patches "vtk-7-python-compat.patch" (patches (search-patches "vtk-7-python-compat.patch"
"vtk-7-hdf5-compat.patch" "vtk-7-hdf5-compat.patch"
"vtk-7-gcc-10-compat.patch")))) "vtk-7-gcc-10-compat.patch"
"vtk-7-gcc-11-compat.patch"))))
(arguments (arguments
(substitute-keyword-arguments (package-arguments vtk) (substitute-keyword-arguments (package-arguments vtk)
((#:configure-flags flags) ((#:configure-flags flags)
@ -492,7 +494,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
(define-public opencv (define-public opencv
(package (package
(name "opencv") (name "opencv")
(version "4.7.0") (version "4.8.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -508,6 +510,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
(for-each delete-file-recursively (for-each delete-file-recursively
'("carotene" '("carotene"
"cpufeatures" "cpufeatures"
"flatbuffers"
"ffmpeg" "ffmpeg"
"include" "include"
"ippicv" "ippicv"
@ -531,7 +534,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
(for-each delete-file (find-files "." "\\.jar$")))) (for-each delete-file (find-files "." "\\.jar$"))))
(sha256 (sha256
(base32 (base32
"0l45v41nns2jmn9nr9fb0yvhqzfjpxjxn75i1c02rsfy3r3lv22v")))) "14bjpb0ahhaqnim8g6vs0gyd6jgnmly1amx25a0rk1a6ii2aiywn"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -578,6 +581,12 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
;; which we had removed, which would lead to an error: ;; which we had removed, which would lead to an error:
"-DBUILD_PROTOBUF=OFF" "-DBUILD_PROTOBUF=OFF"
;; OpenCV tries to use flatbuffers in 3rdparty which we removed
;; so for now we don't buildfor flatbuffer support
;; TODO: make OpenCV use system flatbuffers which involves
;; modifying CMake files
"-DWITH_FLATBUFFERS=OFF"
;; Rebuild protobuf files, because we have a slightly different ;; Rebuild protobuf files, because we have a slightly different
;; version than the included one. If we would not update, we ;; version than the included one. If we would not update, we
;; would get a compile error later: ;; would get a compile error later:
@ -611,6 +620,11 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
(("\\b(Accum|DataAugmentation|Resample|Correlation|Interp)\\b" all) (("\\b(Accum|DataAugmentation|Resample|Correlation|Interp)\\b" all)
(string-append "DISABLED_" all))) (string-append "DISABLED_" all)))
;; This test fails on x86-64, loosen the bounds.
;; Expected: (max) < (0.1), actual: 0.2 vs 0.1
(substitute* "modules/photo/test/test_hdr.cpp"
(("0\\.1\\)") "0.222)"))
,@(if (target-aarch64?) ,@(if (target-aarch64?)
`(;; This test fails on aarch64, loosen the bounds. `(;; This test fails on aarch64, loosen the bounds.
;; Expected: (max) < (0.131), actual: 0.207148 vs 0.131 ;; Expected: (max) < (0.131), actual: 0.207148 vs 0.131
@ -668,7 +682,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
(file-name (git-file-name "opencv_extra" version)) (file-name (git-file-name "opencv_extra" version))
(sha256 (sha256
(base32 (base32
"0bdg5kwwdimnl2zp4ry5cmfxr9xb7zk2ml59853d90llsqjis47a")))) "11y9b35j74gg4gqll4v366qmhvjkcqml45khiajd8zsk1fraf70l"))))
("opencv-contrib" ("opencv-contrib"
,(origin ,(origin
(method git-fetch) (method git-fetch)
@ -677,9 +691,11 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
(file-name (git-file-name "opencv_contrib" version)) (file-name (git-file-name "opencv_contrib" version))
(sha256 (sha256
(base32 (base32
"0hbfn835kxh3hwmwvzgdglm2np1ri3z7nfnf60gf4x6ikp89mv4r")))))) "16crcca9r4y4rby0dqdhc06qi84hjk6qxy2sql2dhh35hfs856rr"))))))
(inputs (inputs
(list ffmpeg-4 (list eigen
ffmpeg-4
;; TODO: add gstreamer
gtk+ gtk+
gtkglext gtkglext
hdf5 hdf5
@ -692,7 +708,9 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
libtiff libtiff
libwebp libwebp
openblas openblas
opencl-headers
openexr openexr
openmpi
openjpeg openjpeg
protobuf protobuf
python python

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2023 Frank Pursel <frank.pursel@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -19,14 +20,135 @@
(define-module (gnu packages java-graphics) (define-module (gnu packages java-graphics)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix modules)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix build-system ant) #:use-module (guix build-system ant)
#:use-module (guix build utils)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (gnu packages batik)
#:use-module (gnu packages java) #:use-module (gnu packages java)
#:use-module (gnu packages java-xml)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (ice-9 match)) #:use-module (ice-9 match))
(define-public ditaa
(package
(name "ditaa")
(version "0.11.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stathissideris/ditaa")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1y3g17wp1wvb05m56pp25avww2njpgh0gk0jsbsf25scj7hyyj26"))
(modules '((guix build utils)))
(snippet '(begin
(format #t "~%~a~%"
"Finding and removing embedded jars.")
(for-each (lambda (jarf)
(delete-file jarf)
(format #t "Deleted: ~a~%" jarf))
(find-files "." "\\.jar$"))))))
(build-system ant-build-system)
(inputs (list bash-minimal))
(native-inputs (list
java-commons-cli
java-jericho-html
java-junit
java-libbatik
java-w3c-svg))
(arguments
`(#:build-target "release-all"
#:phases (modify-phases %standard-phases
;; Ant's buildfile and build tree need to be modified
;; to provide access to the guix builds of the
;; batik and the java-commons-cli
;; jar files. Also some of the source requires java7.
(add-before 'build 'build-prep
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((batik-jar
(search-input-file
inputs
"share/java/batik.jar"))
(commons-cli-jar
(search-input-file
inputs
"lib/m2/commons-cli/commons-cli/1.4/commons-cli-1.4.jar")))
(mkdir-p "lib")
(copy-file batik-jar "./lib/batik.jar")
(copy-file commons-cli-jar "./lib/commons-cli.jar"))
(with-directory-excursion "build"
(substitute* "release.xml"
(("source=\"1.6\"")
"source=\"7\"")
(("<file name=\"commons-cli-1.2.jar\"/>")
(string-append "<file name=\"commons-cli.jar\"/>"
"\n" "<file name=\"batik.jar\"/>"))))))
(replace 'build
(lambda* _
(setenv "ANT_OPTS"
(string-append "-Dversion.string="
,version))
(with-directory-excursion "build"
(invoke "ant" "-f" "release.xml" "release-jar"))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(if tests?
(begin
(setenv "ANT_OPTS"
(string-append "-Dversion.string="
,version))
(mkdir-p "tests/testlib")
(with-directory-excursion "build"
(invoke "ant" "-f" "release.xml"
"generate-test-images")
(invoke "ant" "test"))) #f)))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib"))
(bin (string-append out "/bin"))
(bash (search-input-file inputs "bin/bash"))
(java (search-input-file inputs "bin/java"))
(jre (search-input-directory inputs "jre"))
(ditaa (string-append out "/bin/ditaa"))
(jar-name (string-append ,name
,version ".jar")))
(with-directory-excursion "releases"
(install-file jar-name lib))
(mkdir-p bin)
(with-output-to-file ditaa
(lambda _
(format #t
"#!~a~%JAVA_HOME=~a ~a -jar ~a/~a $@~%"
bash
jre
java
lib
jar-name)))
(chmod ditaa #o755))))
(add-after 'install 'install-docs
(lambda* (#:key outputs #:allow-other-keys)
(let ((doc (string-append (assoc-ref outputs "out")
"/share/doc/")))
(for-each (lambda (filen)
(install-file filen doc))
(find-files "." ".*README\\.md"))))))))
(home-page "https://github.com/stathissideris/ditaa")
(synopsis "Create graphics from ascii art")
(description
"ditaa is a small command-line utility that converts diagrams drawn using
ascii art drawings that contain characters that resemble lines like @samp{|}
@samp{/} @samp{-}), into proper bitmap graphics.")
(license license:lgpl3)))
(define-public java-piccolo2d-core (define-public java-piccolo2d-core
(package (package
(name "java-piccolo2d-core") (name "java-piccolo2d-core")

View file

@ -6,6 +6,7 @@
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Léo Le Bouter <lle-bout@zaclys.net> ;;; Copyright © 2021 Léo Le Bouter <lle-bout@zaclys.net>
;;; Copyright © 2022 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2022 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2023 Frank Pursel <frank.pursel@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -32,11 +33,62 @@
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix bzr-download)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system ant) #:use-module (guix build-system ant)
#:use-module (guix utils)) #:use-module (guix utils))
(define-public java-jericho-html
(package
(name "java-jericho-html")
(version "3.4")
(source (origin
(method bzr-fetch)
(uri (bzr-reference (url (string-append
"http://jerichohtml.bzr.sourceforge.net/"
"bzr/jerichohtml"))
(revision (string-append "tag:" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1zsf4i33jn05pma4y1658d6avhw7x4c12ggs96szhc06b7bxs8j0"))
(modules '((guix build utils)))
(snippet '(begin
(format #t "~%~a~%" "Removing sourced jar files.")
(for-each (lambda (jarf)
(delete-file jarf)
(format #t "Deleted: ~a~%" jarf))
(find-files "." "\\.jar$"))))))
(build-system ant-build-system)
(arguments
`(#:jar-name (string-append ,name ".jar")
#:phases (modify-phases %standard-phases
(add-before 'build 'add-ant-env-options
(lambda* _
(setenv "ANT_OPTS" "-Dfile.encoding=iso-8859-1")
(let ((match-str (string-append "jerichohtml-"
,version)))
(substitute* "build.xml"
((match-str)
"")))))
(add-after 'build 'check-prep
(lambda* (#:key source #:allow-other-keys)
(mkdir-p "src/test/java"))))))
(native-inputs (list
java-commons-logging-minimal
java-junit
java-log4j-api
java-slf4j-api))
(home-page "http://jericho.htmlparser.net/docs/index.html")
(synopsis "Java HTML Parser library")
(description
"This Java library allowing analysis and manipulation of
parts of an HTML document, including server-side tags, while
reproducing verbatim any unrecognised or invalid HTML. It also
provides high-level HTML form manipulation functions.")
(license (list license:lgpl2.1+ license:asl2.0 license:epl1.0))))
(define-public java-simple-xml (define-public java-simple-xml
(package (package
(name "java-simple-xml") (name "java-simple-xml")

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com> ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2021, 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me> ;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me>
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; ;;;
@ -603,7 +603,7 @@ rendering library.")
(define-public julia-gr-jll (define-public julia-gr-jll
(package (package
(name "julia-gr-jll") (name "julia-gr-jll")
(version "0.58.1+0") (version "0.69.1+0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -612,7 +612,7 @@ rendering library.")
(commit (string-append "GR-v" version)))) (commit (string-append "GR-v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "16m22n0wh86v3lh0im2pc9bg381djbmqji5hjx42j6aaz634gqiq")))) (base32 "1zpa35j9f6288sa9md28g0bqkdhwx0j0dmsyy3kc0zxjlz188a94"))))
(build-system julia-build-system) (build-system julia-build-system)
(arguments (arguments
'(#:tests? #f ; no runtests '(#:tests? #f ; no runtests

View file

@ -2626,7 +2626,7 @@ users; instead, you should use one of the packages that builds on
(define-public julia-gr (define-public julia-gr
(package (package
(name "julia-gr") (name "julia-gr")
(version "0.58.1") (version "0.69.5")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2635,7 +2635,7 @@ users; instead, you should use one of the packages that builds on
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "18zxa1w2wmrf44c5l10qbh99zjdp7h94gxlymh47cf5kj5fc4xmx")))) (base32 "0i4vb5y1m47x1ispr52h5a5gs544205vpiz4cypd4pr242f96dcb"))))
(build-system julia-build-system) (build-system julia-build-system)
(propagated-inputs (propagated-inputs
(list julia-gr-jll)) (list julia-gr-jll))
@ -4860,7 +4860,7 @@ everything from run time algorithm choice to code generation at compile time.")
(define-public julia-prettytables (define-public julia-prettytables
(package (package
(name "julia-prettytables") (name "julia-prettytables")
(version "1.0.1") (version "2.1.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -4869,20 +4869,28 @@ everything from run time algorithm choice to code generation at compile time.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1d1sd87kkwbar3l608h0adzws42cwdrmp1idxx7an6mfqcsdrijw")))) (base32 "029niwxgql9rcyx0rxcyhmwkzxciccji4hb59g6752ixam65wxkh"))))
(build-system julia-build-system) (build-system julia-build-system)
(arguments (arguments
(list (list
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'link-depot 'skip-color-tests (add-after 'link-depot 'skip-tests-manipulating-terminal-display
(lambda _ (lambda _
(substitute* "test/text_backend.jl" (substitute* "test/text_backend.jl"
((".*colors\\.jl.*") ""))))))) ((".*colors\\.jl.*") "")
((".*custom_cells\\.jl.*") ""))
(substitute* "test/general.jl"
((".*string\\.jl.*") ""))
(substitute* "test/text_backend/issues.jl"
(("testset.*161.*begin" all)
(string-append all " return"))))))))
(propagated-inputs (propagated-inputs
(list julia-crayons (list julia-crayons
julia-formatting julia-formatting
julia-offsetarrays
julia-reexport julia-reexport
julia-stringmanipulation
julia-tables)) julia-tables))
(home-page "https://github.com/ronisbr/PrettyTables.jl") (home-page "https://github.com/ronisbr/PrettyTables.jl")
(synopsis "Print data in formatted tables") (synopsis "Print data in formatted tables")
@ -5168,7 +5176,7 @@ embedded in a real vector space.")
(define-public julia-recipesbase (define-public julia-recipesbase
(package (package
(name "julia-recipesbase") (name "julia-recipesbase")
(version "1.1.1") (version "1.2.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -5177,7 +5185,7 @@ embedded in a real vector space.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1b6m5rz6wprj30rwvlxz4r1jv5gl0ay0f52kfmy2w7lqly7zhap5")))) (base32 "0icyn56b17bqlxqkc3h44ndn0f1g2g9wy2kjvl8b6pfqni4ybazm"))))
(build-system julia-build-system) (build-system julia-build-system)
(home-page "https://github.com/JuliaPlots/RecipesBase.jl") (home-page "https://github.com/JuliaPlots/RecipesBase.jl")
(synopsis "Define transformation recipes on user types") (synopsis "Define transformation recipes on user types")
@ -5192,7 +5200,7 @@ more complex visualizations.")
(define-public julia-recipespipeline (define-public julia-recipespipeline
(package (package
(name "julia-recipespipeline") (name "julia-recipespipeline")
(version "0.3.4") (version "0.6.6")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -5201,7 +5209,7 @@ more complex visualizations.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0zq4bzxvq36zr0va6iip3x97mgq5b4fwza8avszx1ryfqm3lg1f7")))) (base32 "1lsjnlkmhcxngrcszfwmzb7hqg8bczi00mn7kbmwp5ffqb7fh0vv"))))
(build-system julia-build-system) (build-system julia-build-system)
(arguments (arguments
(list #:tests? #f)) ; Cycle with Plots.jl. (list #:tests? #f)) ; Cycle with Plots.jl.
@ -6030,6 +6038,26 @@ texts between multiple character encodings. It is currently based on the
@code{iconv} interface, and supports all major platforms using GNU libiconv.") @code{iconv} interface, and supports all major platforms using GNU libiconv.")
(license license:expat))) (license license:expat)))
(define-public julia-stringmanipulation
(package
(name "julia-stringmanipulation")
(version "0.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ronisbr/StringManipulation.jl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "15ss8hkjyjs2x66j1krrrxaa1hdpwz0ygs3cg3bdpm336k7621q8"))))
(build-system julia-build-system)
(home-page "https://github.com/ronisbr/StringManipulation.jl")
(synopsis "Functions to manipulate strings with ANSI escape sequences")
(description "This package provides several functions to manipulate strings
with ANSI escape sequences.")
(license license:expat)))
(define-public julia-structarrays (define-public julia-structarrays
(package (package
(name "julia-structarrays") (name "julia-structarrays")

View file

@ -2818,7 +2818,8 @@ consumption.")
"|kiowidgets-kdirmodeltest" "|kiowidgets-kdirmodeltest"
"|kiowidgets-kurifiltertest-colon-separator" "|kiowidgets-kurifiltertest-colon-separator"
"|kiofilewidgets-kfilewidgettest" "|kiofilewidgets-kfilewidgettest"
"|kiowidgets-kurifiltertest-space-separator)"))))) "|kiowidgets-kurifiltertest-space-separator"
"|kioworker-httpheaderdispositiontest)")))))
(add-after 'install 'add-symlinks (add-after 'install 'add-symlinks
;; Some package(s) (e.g. bluedevil) refer to these service types by ;; Some package(s) (e.g. bluedevil) refer to these service types by
;; the wrong name. I would prefer to patch those packages, but I ;; the wrong name. I would prefer to patch those packages, but I

View file

@ -339,6 +339,7 @@ annotating features.")
kfilemetadata kfilemetadata
kguiaddons kguiaddons
kiconthemes kiconthemes
kirigami
knewstuff knewstuff
knotifications knotifications
knotifyconfig knotifyconfig

View file

@ -13,6 +13,7 @@
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2022 Jacob Hrbek <kreyren@rixotstudio.cz> ;;; Copyright © 2022 Jacob Hrbek <kreyren@rixotstudio.cz>
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -101,11 +102,14 @@ devices on various operating systems.")
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list #:configure-flags (list #:configure-flags
#~(list "--disable-static"))) #~(list "--disable-static"
(native-inputs ;; Provide the absolute file name of libusb-1.0.so so
(list autoconf automake libtool pkg-config)) ;; dlopen works.
(inputs (string-append "LIBUSB_1_0_SONAME="
(list libusb)) #$(this-package-input "libusb")
"/lib/libusb-1.0.so"))))
(native-inputs (list autoconf automake libtool pkg-config))
(inputs (list libusb))
(home-page "https://libusb.info") (home-page "https://libusb.info")
(synopsis "Compatibility shim for libusb") (synopsis "Compatibility shim for libusb")
(description (description
@ -653,6 +657,42 @@ HID-Class devices.")
license:bsd-3 license:bsd-3
(license:non-copyleft "file://LICENSE-orig.txt"))))) (license:non-copyleft "file://LICENSE-orig.txt")))))
(define-public python-hid
(package
(name "python-hid")
(version "1.0.5")
(source (origin
(method url-fetch)
(uri (pypi-uri "hid" version))
(sha256
(base32
"1s5hvfbmnlmifswr5514f4xxn5rcd429bdcdqzgwkdxrg9zlx58y"))))
(build-system pyproject-build-system)
(arguments
;; No tests present on the source tree, without this compilation fails
;; because it "requires" the python-nose package, but it is not really
;; necessary.
(list #:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'add-extra-library-paths
(lambda _
(let ((libhidapi-hidraw.so
#$(file-append hidapi "/lib/libhidapi-hidraw.so"))
(libhidapi-libusb.so
#$(file-append hidapi "/lib/libhidapi-libusb.so")))
(substitute* "hid/__init__.py"
(("library_paths = \\(.*$" all)
(string-append
all
" '" libhidapi-hidraw.so "',\n"
" '" libhidapi-libusb.so "',\n")))))))))
(inputs (list hidapi))
(home-page "https://github.com/apmorton/pyhidapi")
(synopsis "Python @code{ctypes} bindings for HIDAPI library")
(description "Python @code{ctypes} bindings for HIDAPI library.")
(license license:expat)))
(define-public python-hidapi (define-public python-hidapi
(package (package
(name "python-hidapi") (name "python-hidapi")

View file

@ -74,6 +74,7 @@
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu> ;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream> ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023 dan <i@dan.games>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -140,6 +141,7 @@
#:use-module (gnu packages llvm) #:use-module (gnu packages llvm)
#:use-module (gnu packages lsof) #:use-module (gnu packages lsof)
#:use-module (gnu packages lua) #:use-module (gnu packages lua)
#:use-module (gnu packages m4)
#:use-module (gnu packages man) #:use-module (gnu packages man)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
@ -488,7 +490,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major ;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream. ;; versions that are still supported upstream.
(define-public linux-libre-6.4-version "6.4.11") (define-public linux-libre-6.4-version "6.4.14")
(define-public linux-libre-6.4-gnu-revision "gnu") (define-public linux-libre-6.4-gnu-revision "gnu")
(define deblob-scripts-6.4 (define deblob-scripts-6.4
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
@ -498,7 +500,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1rwm09anyn4py1g877f9vh6ya86y2hfvlqx51bpa53dci5k0b0ds"))) (base32 "1rwm09anyn4py1g877f9vh6ya86y2hfvlqx51bpa53dci5k0b0ds")))
(define-public linux-libre-6.4-pristine-source (define-public linux-libre-6.4-pristine-source
(let ((version linux-libre-6.4-version) (let ((version linux-libre-6.4-version)
(hash (base32 "0609lhgc42j9id2vvdpv8n7djabp46p2mridf9s0sg3x16snhssl"))) (hash (base32 "1rjh0jrn5qvxwzmyg478n08vckkld8r52nkc102ppqvsfhiy7skm")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-6.4))) deblob-scripts-6.4)))
@ -506,7 +508,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support. ;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines: ;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html> ;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-6.1-version "6.1.46") (define-public linux-libre-6.1-version "6.1.51")
(define-public linux-libre-6.1-gnu-revision "gnu") (define-public linux-libre-6.1-gnu-revision "gnu")
(define deblob-scripts-6.1 (define deblob-scripts-6.1
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
@ -516,12 +518,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1c73516nbhnz0cxjz38b5794dxygb8sznv9idiibw7ablmjbhd11"))) (base32 "1c73516nbhnz0cxjz38b5794dxygb8sznv9idiibw7ablmjbhd11")))
(define-public linux-libre-6.1-pristine-source (define-public linux-libre-6.1-pristine-source
(let ((version linux-libre-6.1-version) (let ((version linux-libre-6.1-version)
(hash (base32 "15m228bllks2p8gpsmvplx08yxzp7bij9fnmnafqszylrk7ppxpm"))) (hash (base32 "0fqhmb6v28rssd44z7jw57mwvvskpl4kabjylck0pg54irnl9c2q")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-6.1))) deblob-scripts-6.1)))
(define-public linux-libre-5.15-version "5.15.127") (define-public linux-libre-5.15-version "5.15.130")
(define-public linux-libre-5.15-gnu-revision "gnu") (define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15 (define deblob-scripts-5.15
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
@ -531,27 +533,27 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1c3lm0j401lv2lk39dmr4mlf5ic173snm7cc0cckl6czyvxr5ysy"))) (base32 "1c3lm0j401lv2lk39dmr4mlf5ic173snm7cc0cckl6czyvxr5ysy")))
(define-public linux-libre-5.15-pristine-source (define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version) (let ((version linux-libre-5.15-version)
(hash (base32 "09lgj9hs1cjxg84hb7avras4rlsx18igr69mx433l9hv6issbl5d"))) (hash (base32 "0qix62jsn3z9yccakac7fvqnip19zi05qn0w5wkgb7rj0x0lwimb")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.15))) deblob-scripts-5.15)))
(define-public linux-libre-5.10-version "5.10.191") (define-public linux-libre-5.10-version "5.10.194")
(define-public linux-libre-5.10-gnu-revision "gnu1") (define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10 (define deblob-scripts-5.10
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-5.10-version linux-libre-5.10-version
linux-libre-5.10-gnu-revision linux-libre-5.10-gnu-revision
(base32 "0hirc87hgyy9qhgiipp5iahmdk4wwhiml6rp1naphz9d1vw3kb35") (base32 "1b33rkn32b923025iiz4xzxiy8y5ii9j5qk4021mg575890rl4ch")
(base32 "0nnp46mn32yk436swd2qh34igmzinfgkwvbzp3lqyy45f06hbc2j"))) (base32 "0nnp46mn32yk436swd2qh34igmzinfgkwvbzp3lqyy45f06hbc2j")))
(define-public linux-libre-5.10-pristine-source (define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version) (let ((version linux-libre-5.10-version)
(hash (base32 "1hk2x5dgvfq9v6161v25wz5qpzgyvqbx34xbm7ww8z4ish76cm6b"))) (hash (base32 "15fr7krhpmqz0xqjg78m2xvfllbni3xh8xyhxh9ni31ppd3mw394")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.10))) deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.254") (define-public linux-libre-5.4-version "5.4.256")
(define-public linux-libre-5.4-gnu-revision "gnu1") (define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4 (define deblob-scripts-5.4
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
@ -561,12 +563,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0sw67b2pk3lng4y67diqqnhxaggnp3nbkx8dxc5fs27rinfxr4m1"))) (base32 "0sw67b2pk3lng4y67diqqnhxaggnp3nbkx8dxc5fs27rinfxr4m1")))
(define-public linux-libre-5.4-pristine-source (define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version) (let ((version linux-libre-5.4-version)
(hash (base32 "1iyrm2xql15ifhy2b939ywrrc44yd41b79sjjim4vqxmc6lqsq2i"))) (hash (base32 "0fim5q9xakwnjfg48bpsic9r2r8dvrjlalqqkm9vh1rml9mhi967")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.4))) deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.292") (define-public linux-libre-4.19-version "4.19.294")
(define-public linux-libre-4.19-gnu-revision "gnu1") (define-public linux-libre-4.19-gnu-revision "gnu1")
(define deblob-scripts-4.19 (define deblob-scripts-4.19
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
@ -576,12 +578,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1425mhkfxn18vxn05bb4h3li7x1jl7l1hf1zi8xhnqv3wa31h9wl"))) (base32 "1425mhkfxn18vxn05bb4h3li7x1jl7l1hf1zi8xhnqv3wa31h9wl")))
(define-public linux-libre-4.19-pristine-source (define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version) (let ((version linux-libre-4.19-version)
(hash (base32 "0dr12v4jqmzxcqdghqqjny5zp3g4dx9lxqrl9d4fxz23s79ji5rl"))) (hash (base32 "03x0xsb8a369zdr81hg6xdl5n5v48k6iwnhj6r29725777lvvbfc")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.19))) deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.323") (define-public linux-libre-4.14-version "4.14.325")
(define-public linux-libre-4.14-gnu-revision "gnu1") (define-public linux-libre-4.14-gnu-revision "gnu1")
(define deblob-scripts-4.14 (define deblob-scripts-4.14
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
@ -591,7 +593,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1faagsj4i31z2bp83hflx3q9vrddjnn37a3ah2b47iaplva7z1nd"))) (base32 "1faagsj4i31z2bp83hflx3q9vrddjnn37a3ah2b47iaplva7z1nd")))
(define-public linux-libre-4.14-pristine-source (define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version) (let ((version linux-libre-4.14-version)
(hash (base32 "1g2fh0mn1sv0kq2hh3pynmx2fjai7hdwhf4fnaspl7j5n88902kg"))) (hash (base32 "117p1mdha57f6d3kdwac9jrbmib7g77q4xhir8ghl6fmrs1f2sav")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.14))) deblob-scripts-4.14)))
@ -1517,7 +1519,7 @@ and the notification, WiFi, and Bluetooth LED.")
(define-public tuxedo-keyboard (define-public tuxedo-keyboard
(package (package
(name "tuxedo-keyboard") (name "tuxedo-keyboard")
(version "3.2.1") (version "3.2.10")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1526,7 +1528,7 @@ and the notification, WiFi, and Bluetooth LED.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "13fncirqcci46zxmsrawsxpazip5k46i849dwkhkqlg0mg4vxxw5")))) (base32 "1kbspr1vs6jpfsb3c4hbw2d8y06v2a3m4c27rhggkfksf4x82gip"))))
(build-system linux-module-build-system) (build-system linux-module-build-system)
(arguments (arguments
(list #:tests? #f)) ; no test suite (list #:tests? #f)) ; no test suite
@ -7255,32 +7257,36 @@ under OpenGL graphics workloads.")
(license license:gpl3))) (license license:gpl3)))
(define-public efivar (define-public efivar
;; XXX: 15622b7e5761f3dde3f0e42081380b2b41639a48 fixes compilation on i686.
;; ca48d3964d26f5e3b38d73655f19b1836b16bd2d fixes cross-compilation.
(let ((commit "ca48d3964d26f5e3b38d73655f19b1836b16bd2d")
(revision "0"))
(package (package
(name "efivar") (name "efivar")
(version "38") (version (git-version "38" revision commit))
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/rhboot/" name (uri (git-reference
"/releases/download/" version "/" name (url "https://github.com/rhboot/efivar")
"-" version ".tar.bz2")) (commit commit)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0jaka7b4lccswjqiv4liclkj6w78gildg7vd6dnw3wf595pfs67h")) "0zsab3hcv1v53cxwkvsk09ifnwhs48a6xa3kxlwvs87yxswspvi8"))))
(patches
(search-patches "efivar-211.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
;; Tests require a UEFI system and is not detected in the chroot. ;; Tests require a UEFI system and is not detected in the chroot.
#:tests? #f #:tests? #f
#:make-flags #:make-flags #~(list (string-append "prefix="
#~(list (string-append "prefix=" #$output) #$output)
(string-append "libdir=" #$output "/lib") (string-append "libdir="
(string-append "CC=" #$(cc-for-target)) #$output "/lib")
(string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib")) (string-append "CC="
#:phases #$(cc-for-target)) "HOSTCC=gcc"
#~(modify-phases %standard-phases (string-append "LDFLAGS=-Wl,-rpath="
#$output "/lib"))
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'build-deterministically (add-after 'unpack 'build-deterministically
(lambda _ (lambda _
(substitute* "src/include/defaults.mk" (substitute* "src/include/defaults.mk"
@ -7288,15 +7294,13 @@ under OpenGL graphics workloads.")
(("-march=native") (("-march=native")
"")))) ""))))
(delete 'configure)))) (delete 'configure))))
(native-inputs (native-inputs (list mandoc pkg-config))
(list mandoc pkg-config)) (inputs (list popt))
(inputs
(list popt))
(home-page "https://github.com/rhboot/efivar") (home-page "https://github.com/rhboot/efivar")
(synopsis "Tool and library to manipulate EFI variables") (synopsis "Tool and library to manipulate EFI variables")
(description "This package provides a library and a command line (description "This package provides a library and a command line
interface to the variable facility of UEFI boot firmware.") interface to the variable facility of UEFI boot firmware.")
(license license:lgpl2.1+))) (license license:lgpl2.1+))))
(define-public efibootmgr (define-public efibootmgr
(package (package
@ -10360,3 +10364,39 @@ error detection and correction (EDAC).")
against the several transient execution CVEs that were published since early against the several transient execution CVEs that were published since early
2018, and gives guidance as to how to mitigate them.") 2018, and gives guidance as to how to mitigate them.")
(license license:gpl3))) (license license:gpl3)))
(define-public csmith
(package
(name "csmith")
(version "2.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/csmith-project/csmith")
(commit (string-append "csmith-" version))))
(sha256
(base32
"0nhrsnv6cny14xz68qb1h30fbwc05adkisk51p3x63mydm60ddl3"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake libtool m4 perl))
(arguments
(list
#:tests? #f ;no test suite
;; Do not install headers under 'include/csmith-VERSION' but in
;; 'include/csmith'.
#:phases
`(modify-phases %standard-phases
(add-after 'unpack 'patch-includedir
(lambda _
(substitute* "runtime/Makefile.am"
(("\\$\\(includedir\\)/\\$\\(PACKAGE\\)-\\$\\(VERSION\\)")
"$(includedir)/$(PACKAGE)"))))
(add-before 'bootstrap 'force-bootstrap
(lambda _
(delete-file "configure"))))))
(home-page "https://github.com/csmith-project/csmith")
(synopsis "Random generator of C programs")
(description "The primary purpose of Csmith is to find compiler bugs with
random programs using differential testing.")
(license license:bsd-4)))

View file

@ -5646,8 +5646,8 @@ RFC 1321 by R. Rivest, published April 1992.")
(list ecl-flexi-streams)))) (list ecl-flexi-streams))))
(define-public sbcl-cl+ssl (define-public sbcl-cl+ssl
(let ((commit "1e2ffc9511df4b1c25c23e0313a642a610dae352") (let ((commit "17d5cdd65405f1d26e26f3e875e70027d0c8eedb")
(revision "5")) (revision "6"))
(package (package
(name "sbcl-cl+ssl") (name "sbcl-cl+ssl")
(version (git-version "0.0.0" revision commit)) (version (git-version "0.0.0" revision commit))
@ -5659,7 +5659,7 @@ RFC 1321 by R. Rivest, published April 1992.")
(commit commit))) (commit commit)))
(file-name (git-file-name "cl+ssl" version)) (file-name (git-file-name "cl+ssl" version))
(sha256 (sha256
(base32 "0iwdh416ggzs2ig6i0ivrwfy21w7m39w464pc7j3p9pvq09837fy")))) (base32 "0v0kx2m5355jkdshmj0z923c5rlvdl2n11rb3hjbv3kssdfsbs0s"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(arguments (arguments
'(#:phases '(#:phases
@ -7982,29 +7982,32 @@ formats.")
(sbcl-package->ecl-package sbcl-swap-bytes)) (sbcl-package->ecl-package sbcl-swap-bytes))
(define-public sbcl-iolib (define-public sbcl-iolib
(let ((commit "010b7a6bdd2e918ebf2ec85edd3853179f01cb30")
(revision "0"))
(package (package
(name "sbcl-iolib") (name "sbcl-iolib")
(version "0.8.4") (version (git-version "0.8.4" revision commit))
(home-page "https://github.com/sionescu/iolib") (home-page "https://github.com/sionescu/iolib")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url home-page) (url home-page)
(commit (string-append "v" version)))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name "cl-iolib" version))
(sha256 (sha256
(base32 (base32 "1qqy2yhprkmdn2vmi69akf818q3n99gv8cacv6456af0wjm5p1ga"))))
"1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(native-inputs
(list pkg-config sbcl-fiveam))
(inputs (inputs
`(("alexandria" ,sbcl-alexandria) (list libfixposix
("bordeaux-threads" ,sbcl-bordeaux-threads) sbcl-alexandria
("cffi" ,sbcl-cffi) sbcl-bordeaux-threads
("idna" ,sbcl-idna) sbcl-cffi
("libfixposix" ,libfixposix) sbcl-idna
("split-sequence" ,sbcl-split-sequence) sbcl-split-sequence
("swap-bytes" ,sbcl-swap-bytes))) sbcl-swap-bytes))
(arguments (arguments
'(#:asd-systems '("iolib" '(#:asd-systems '("iolib"
"iolib/os") "iolib/os")
@ -8026,7 +8029,7 @@ formats.")
the standard Common Lisp library. It contains a socket library, a DNS the standard Common Lisp library. It contains a socket library, a DNS
resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)} resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
and @code{kqueue(2)}), a pathname library and file-system utilities.") and @code{kqueue(2)}), a pathname library and file-system utilities.")
(license license:expat))) (license license:expat))))
(define-public cl-iolib (define-public cl-iolib
(let ((parent (sbcl-package->cl-source-package sbcl-iolib))) (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
@ -9565,8 +9568,8 @@ function.")
(sbcl-package->cl-source-package sbcl-specialization-store)) (sbcl-package->cl-source-package sbcl-specialization-store))
(define-public sbcl-cl-gobject-introspection (define-public sbcl-cl-gobject-introspection
(let ((commit "c4fef07d01cec7c830ce84ef150ed8e4da5959c4") (let ((commit "83beec4492948b52aae4d4152200de5d5c7ac3e9")
(revision "2")) (revision "3"))
(package (package
(name "sbcl-cl-gobject-introspection") (name "sbcl-cl-gobject-introspection")
(version (git-version "0.3" revision commit)) (version (git-version "0.3" revision commit))
@ -9579,7 +9582,7 @@ function.")
(commit commit))) (commit commit)))
(file-name (git-file-name "cl-gobject-introspection" version)) (file-name (git-file-name "cl-gobject-introspection" version))
(sha256 (sha256
(base32 "18n4wg93sf6cjmpcpr47bg2rd8mbm9ml9lykmjsxgvsf3nwr5vnw")))) (base32 "0xwmj4b3whz12i474g54krp1v6h0fpvsx8lgwpk6rkli9xc71wc3"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(inputs (inputs
(list glib (list glib
@ -26600,7 +26603,7 @@ instead of #'FOO.
(define-public sbcl-njson (define-public sbcl-njson
(package (package
(name "sbcl-njson") (name "sbcl-njson")
(version "1.1.0") (version "1.1.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -26609,7 +26612,7 @@ instead of #'FOO.
(file-name (git-file-name "cl-njson" version)) (file-name (git-file-name "cl-njson" version))
(sha256 (sha256
(base32 (base32
"02m9l77am2rlkg83dyp3jvb76ifw1y84xh3wpz6cx7h2wkxkjnl5")))) "0zdf6mlbpc2j95qm000ljf642af18sfz45yxh6rnxrbf8m4laxxa"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(inputs (list sbcl-cl-json sbcl-jzon)) (inputs (list sbcl-cl-json sbcl-jzon))
(native-inputs (list sbcl-lisp-unit2)) (native-inputs (list sbcl-lisp-unit2))
@ -26622,23 +26625,25 @@ instead of #'FOO.
and process JSON data, in the minimum keystrokes/minutes possible. and process JSON data, in the minimum keystrokes/minutes possible.
NJSON is parser-independent, with existing Common Lisp JSON parsers being NJSON is parser-independent, with existing Common Lisp JSON parsers being
loadable as additional system. @code{jzon} and @code{cl-json} backends are loadable as additional system. @code{jzon} is included by default, though.
included by default, though. Conveniences that NJSON provides are: Conveniences that NJSON provides are:
@itemize @itemize
@item @code{encode} and @code{decode} as single entry points for JSON reading @item @code{encode} and @code{decode} as single entry points for JSON reading
and writing, be it from streams/string/files, or from those. and writing, be it from streams/string/files, or from those.
@item @code{jget}, @code{jrem}, @code{jtruep}, and their aliases to @item @code{jget}, @code{jcopy}, @code{jkeys}, and their aliases to
access/delete the decoded objects' properties and check their truth value manipulate the decoded objects' properties without the need to worry
without the need to worry about the low-level details of how these values are about the low-level details of how these values are decoded.
decoded.
@item @code{jif}, @code{jwhen}, @code{jor}, @code{jand}, and other macros @item @code{jif}, @code{jwhen}, @code{jor}, @code{jand}, and other macros
mimicking Lisp ones, while using truth values of JSON-decoded data. mimicking Lisp ones, while using truth values of JSON-decoded data.
@item @code{jbind} and @code{jmatch} macros to destructure and
validate parsed JSON.
@item @code{njson/aliases} package to nickname to @code{j} for all the @item @code{njson/aliases} package to nickname to @code{j} for all the
forms conveniently accessible as @code{j:rem}, @code{j:get}, forms conveniently accessible as @code{j:get}, @code{j:copy},
@code{j:if} etc. @code{j:if} etc.
@end itemize\n") @end itemize\n")

View file

@ -220,6 +220,7 @@ output in multiple windows in a terminal.")
(url "https://github.com/gabime/spdlog") (url "https://github.com/gabime/spdlog")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(patches (search-patches "spdlog-fix-tests.patch"))
(sha256 (sha256
(base32 "0i3a1cqrg1sz0w50g7zz9x73rf838igqri12q8ijh4rzpq0qq3ch")))) (base32 "0i3a1cqrg1sz0w50g7zz9x73rf838igqri12q8ijh4rzpq0qq3ch"))))
(build-system cmake-build-system) (build-system cmake-build-system)

View file

@ -1194,7 +1194,7 @@ I/O.")
(define-public gemmlowp (define-public gemmlowp
(let ((commit "f9959600daa42992baace8a49544a00a743ce1b6") (let ((commit "08e4bb339e34017a0835269d4a37c4ea04d15a69")
(version "0.1") (version "0.1")
(revision "1")) (revision "1"))
(package (package
@ -1207,13 +1207,14 @@ I/O.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1hzfhlhzcb827aza6a7drydc67dw5fm3qfqilb9ibskan8dsf0c6")))) "1q8f3w5slxd8fbn31hpm00y6wyp7gm71rzr27cmcff4b3px4ca6k"))))
(arguments (arguments
`(#:configure-flags `(#:configure-flags
(list ,@(match (%current-system) (list ,@(match (%current-system)
((or "x86_64-linux" "i686-linux") ((or "x86_64-linux" "i686-linux")
'("-DCMAKE_CXX_FLAGS=-msse2")) '("-DCMAKE_CXX_FLAGS=-msse2"))
(_ '()))) (_ '()))
"-DBUILD_SHARED_LIBS=ON")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; This directory contains the CMakeLists.txt. ;; This directory contains the CMakeLists.txt.
@ -1993,13 +1994,13 @@ discrete, and conditional dimensions.")
(define-public python-deepxde (define-public python-deepxde
(package (package
(name "python-deepxde") (name "python-deepxde")
(version "1.9.2") (version "1.9.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "DeepXDE" version)) (uri (pypi-uri "DeepXDE" version))
(sha256 (sha256
(base32 (base32
"07bz3d7d698l0fhznw5l8p16b22d4ly7xq99vrgv48c722qr2r5b")))) "1zw2gqssc0s3maf4gdjckxmzx1d3036hbp1iir26kd08hxj93vzs"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list #:tests? #f ; there are no tests (list #:tests? #f ; there are no tests

View file

@ -801,7 +801,7 @@ It adds a large amount of new and improved features to mutt.")
vala vala
which)) ; to find libtool, &c. which)) ; to find libtool, &c.
(inputs (list glib gpgme zlib)) (inputs (list glib gpgme zlib))
(home-page "http://spruce.sourceforge.net/gmime/") (home-page "https://spruce.sourceforge.net/gmime/")
(synopsis "MIME message parser and creator library") (synopsis "MIME message parser and creator library")
(description (description
"GMime provides a core library and set of utilities which may be used for "GMime provides a core library and set of utilities which may be used for
@ -809,20 +809,6 @@ the creation and parsing of messages using the Multipurpose Internet Mail
Extension (MIME).") Extension (MIME).")
(license (list license:lgpl2.1+ license:gpl2+ license:gpl3+)))) (license (list license:lgpl2.1+ license:gpl2+ license:gpl3+))))
;; Some packages are not ready for GMime 3 yet.
(define-public gmime-2.6
(package
(inherit gmime)
(version "2.6.23")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/gmime/"
(version-major+minor version)
"/gmime-" version ".tar.xz"))
(sha256
(base32
"0slzlzcr3h8jikpz5a5amqd0csqh2m40gdk910ws2hnaf5m6hjbi"))))))
(define-public altermime (define-public altermime
(package (package
(name "altermime") (name "altermime")
@ -4087,8 +4073,8 @@ It is a replacement for the @command{urlview} program.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public mumi (define-public mumi
(let ((commit "85d5efb4367b9178eb7093e3ebca760745de0753") (let ((commit "2453a5a6686c035854e4d523b8faa8c47405bd76")
(revision "2")) (revision "3"))
(package (package
(name "mumi") (name "mumi")
(version (git-version "0.0.5" revision commit)) (version (git-version "0.0.5" revision commit))
@ -4100,7 +4086,7 @@ It is a replacement for the @command{urlview} program.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0yn8dfj3krqwfsdn888vbv903kfa7clmbj2xxin263zqcyzc3alq")))) "0dq87qn77c6qganhck048qxq5ghj3fh2v604f87hwv530lxifabr"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list

View file

@ -5917,7 +5917,7 @@ structured and unstructured grid problems.")))
(define-public matio (define-public matio
(package (package
(name "matio") (name "matio")
(version "1.5.19") (version "1.5.23")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -5925,7 +5925,7 @@ structured and unstructured grid problems.")))
"matio-" version ".tar.gz")) "matio-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0vr8c1mz1k6mz0sgh6n3scl5c3a71iqmy5fnydrgq504icj4vym4")))) "0vjdkxn402gwrgbi5ii3n2ai01bjzzfb588iqd9ylinzc7kfm4cz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
@ -5936,7 +5936,7 @@ structured and unstructured grid problems.")))
(install-file "src/matioConfig.h" (install-file "src/matioConfig.h"
(string-append #$output "/include"))))))) (string-append #$output "/include")))))))
(inputs (inputs
(list zlib hdf5-1.8)) (list zlib hdf5))
(home-page "http://matio.sourceforge.net/") (home-page "http://matio.sourceforge.net/")
(synopsis "Library for reading and writing MAT files") (synopsis "Library for reading and writing MAT files")
(description "Matio is a library for reading and writing MAT files. It (description "Matio is a library for reading and writing MAT files. It

View file

@ -1317,7 +1317,7 @@ Encryption to Gajim.")
(define-public dino (define-public dino
(package (package
(name "dino") (name "dino")
(version "0.4.2") (version "0.4.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1325,7 +1325,7 @@ Encryption to Gajim.")
(string-append "https://github.com/dino/dino/releases/download/v" (string-append "https://github.com/dino/dino/releases/download/v"
version "/dino-" version ".tar.gz")) version "/dino-" version ".tar.gz"))
(sha256 (sha256
(base32 "1vbyrnivibsn4jzmfb6sfq5fxhb0xh1cnhgcmg1rafq751q55cg1")))) (base32 "01jbggjqsbqrzd76bq4h8ccnijsw3m3mav838mnk20kls8agq5d6"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(outputs '("out" "debug")) (outputs '("out" "debug"))
(arguments (arguments
@ -1405,7 +1405,7 @@ default.")
(define-public kaidan (define-public kaidan
(package (package
(name "kaidan") (name "kaidan")
(version "0.8.0") (version "0.9.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://kde/unstable/kaidan/" version (uri (string-append "mirror://kde/unstable/kaidan/" version
@ -1415,7 +1415,7 @@ default.")
#~(begin #~(begin
(delete-file-recursively "3rdparty"))) (delete-file-recursively "3rdparty")))
(sha256 (sha256
(base32 "195iddv35gc3k83r226y17avsab2b9bszgd7z7ynbddsgbf75rx7")))) (base32 "1waqv0fdkhvp3cqy2a2g6i2wc9s0zbvgzknymrwxy99mnx9ymw9g"))))
(build-system qt-build-system) (build-system qt-build-system)
(arguments (arguments
(list #:configure-flags #~(list "-DBUILD_TESTS=true"))) (list #:configure-flags #~(list "-DBUILD_TESTS=true")))
@ -1435,6 +1435,7 @@ default.")
qtxmlpatterns qtxmlpatterns
qqc2-desktop-style qqc2-desktop-style
qxmpp qxmpp
sonnet
zxing-cpp)) zxing-cpp))
(home-page "https://www.kaidan.im/") (home-page "https://www.kaidan.im/")
(synopsis "Qt-based XMPP/Jabber Client") (synopsis "Qt-based XMPP/Jabber Client")
@ -2129,7 +2130,7 @@ are both supported).")
(define-public profanity (define-public profanity
(package (package
(name "profanity") (name "profanity")
(version "0.13.0") (version "0.14.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -2138,7 +2139,7 @@ are both supported).")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"14n45zwc6fxjargqhwqan8fyb7x0ql0hmw56rbjkjfkhpba2qmks")))) "0zygsxxwdxmpppr7vyzi2r7d854yjl6918w0lrs7k41iib9zy8zx"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags

View file

@ -44,10 +44,8 @@
#:use-module (gnu packages avahi) #:use-module (gnu packages avahi)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages build-tools) ;meson-next
#:use-module (gnu packages boost) #:use-module (gnu packages boost)
#:use-module (gnu packages cdrom) #:use-module (gnu packages cdrom)
#:use-module (gnu packages cmake) ;for MPD
#:use-module (gnu packages cpp) #:use-module (gnu packages cpp)
#:use-module (gnu packages file-systems) #:use-module (gnu packages file-systems)
#:use-module (gnu packages freedesktop) ;elogind #:use-module (gnu packages freedesktop) ;elogind
@ -615,7 +613,7 @@ mpdevil loads all tags and covers on demand.")
(define-public mympd (define-public mympd
(package (package
(name "mympd") (name "mympd")
(version "11.0.4") (version "11.0.5")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -624,7 +622,7 @@ mpdevil loads all tags and covers on demand.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0ki9az71x35548mnl5assb0hgli3bvrbzv0fb5dfli4q5i1z8fmq")))) "0b3skvam3kb14w2afzxl1pfvj4cfanr45nyv93zpxafmxgghxqcv"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list (list

View file

@ -2270,7 +2270,7 @@ a JACK session.")
(define-public mixxx (define-public mixxx
(package (package
(name "mixxx") (name "mixxx")
(version "2.3.5") (version "2.3.6")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2282,7 +2282,7 @@ a JACK session.")
(search-patches "mixxx-link-qtscriptbytearray-qtscript.patch" (search-patches "mixxx-link-qtscriptbytearray-qtscript.patch"
"mixxx-system-googletest-benchmark.patch")) "mixxx-system-googletest-benchmark.patch"))
(sha256 (sha256
(base32 "0142xcq5ahk50kzc06s13xilj8m4p0spmd5hqd8s08qjhr37n2il")) (base32 "1v1sza75rf2q1m0bdc0j2k53qd34m12d1573jmac3g7vvyqh5n2m"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Delete libraries that we already have or don't need. ;; Delete libraries that we already have or don't need.
@ -6350,6 +6350,170 @@ keymaps for QWERTZ, QWERTY and AZERTY keyboards and also allows custom
ones.") ones.")
(license license:bsd-0))) (license license:bsd-0)))
(define-public distrho-ports
;; From 2021-03-15 to this commit various important changes are made
;; including improved directory structure and updated JUCE versions.
(let ((commit "f2dbaded0a05732e3499fa374a586e5b32370da5")
(revision "0"))
(package
(name "distrho-ports")
(version (git-version "2021-03-15" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/DISTRHO/DISTRHO-Ports")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1rrnqwask2qg05ynisk6bpj118cl7c3w53rqrfg5x3sx847rjjgc"))
(modules '((guix build utils)))
(snippet
'(begin
;; Delete third party libraries, libraries without
;; licenses, and unneeded libraries.
(for-each
delete-file-recursively
(list "ports-juce5/arctican-function" ;no license
"ports-juce5/arctican-pilgrim" ;no license
"ports-juce5/drowaudio-tremolo" ;no license
"ports-juce5/juce-demo-host" ;not used
"ports-juce5/juce-demo-plugin" ;not used
"ports-juce5/temper/source/faust" ;bundled
"ports-juce6/chow" ;not used
"ports-juce6/swankyamp/thirdparty" ;bundled
"ports-juce6/vitalium/third_party")) ;bundled
;; Exclude them from building.
(substitute* (find-files "." "meson.build$")
(("'arctican") "#'arctican")
(("'drowaudio-tremolo") "#'drowaudio-tremolo")
(("'third") "#'third"))
;; Use system provided "nlohmann/json.hpp".
(with-directory-excursion "ports-juce6/vitalium/source"
(substitute*
(list "common/line_generator.h"
"common/load_save.h"
"common/tuning.h"
"common/wavetable/wavetable_component.h"
"common/wavetable/wavetable_creator.h"
"common/wavetable/wavetable_keyframe.h"
"interface/editor_sections/save_section.h"
"interface/look_and_feel/skin.h"
"synthesis/producers/sample_source.h")
(("json/json\\.h") "nlohmann/json.hpp")))))))
(build-system meson-build-system)
(arguments
(list
#:tests? #f ;no test target
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-juce-fonts
(lambda* (#:key inputs #:allow-other-keys)
(let ((fonts (search-input-directory inputs "/etc/fonts")))
(with-directory-excursion "libs"
(substitute* (find-files "." "juce_linux_Fonts.cpp$")
(("/usr/share/fonts") fonts)))))))))
(native-inputs
(list cmake-minimal
concurrentqueue
faust
nlohmann-json
optional-lite
pkg-config))
(inputs
(list alsa-lib
fontconfig
freetype
fftwf
libx11
libxcursor
libxext
libxrender
mesa))
(native-search-paths
(list (search-path-specification
(variable "LV2_PATH")
(files '("lib/lv2")))
(search-path-specification
(variable "VST2_PATH")
(files '("lib/vst")))
(search-path-specification
(variable "VST3_PATH")
(files '("lib/vst3")))))
(home-page "https://github.com/DISTRHO/DISTRHO-Ports")
(synopsis "Audio plugins and LV2 ports")
(description
"This package contains LV2 ports of the following audio plugins:
@itemize
@item Dexed,
@item dRowAudio plugins (Distortion, Distortion Shaper, Flanger, Reverb,
Tremolo),
@item DrumSynth,
@item EasySSP,
@item EQinox,
@item HiReSam,
@item JuceOPL,
@item KlangFalter,
@item LUFS Meter,
@item Luftikus,
@item Obxd,
@item PitchedDelay,
@item ReFine,
@item StereoSourceSeperation,
@item Swanky Amp,
@item TAL plugins (Dub-3, Filter, Filter-2, Noize Mak3r, Reverb, Reverb-II,
Reverb-III, Vocoder-II),
@item Temper,
@item Vex,
@item Vitalium, and
@item Wolpertinger.
@end itemize")
(license
(list license:asl2.0 ;used by Dexed
;; mingw-std-threads and EasySSP (for dsp-utility) use FreeBSD.
license:bsd-2
;; Licenses for dRowAudio is not found in this repository, but
;; the upstream project is licensed under MIT:
;; https://github.com/drowaudio/drowaudio.
;; Luftikus, PitchedDelay and ReFine are ported from lkjb plugins
;; which is licensed under MIT:
;; https://github.com/lkjbdsp/lkjb-plugins.
license:expat
(license:fsf-free ;used by Temper
"file:///ports-juce5/temper/source/TemperDsp.hpp")
;; juce-plugin, LUFS Meter, Obxd and TAL plugins use GPLv2.
license:gpl2
;; License for Wolpertinger is not found in this repository, but
;; the upstream project is licensed under GPLv2+:
;; https://github.com/jkroll20/wolpertinger.
;; dRowAudio plugins, juced, HiReSam and Vex use this license.
;; Packages using files from JUCETICE project use this license.
license:gpl2+
;; License for EasySSP is not found in this repository, but the
;; upstream project is licensed under GPLv3:
;; https://github.com/automatl/audio-dsp-multi-visualize.
license:gpl3 ;used by JUCE
;; Dexed, Swanky Amp, Vitalium and KlangFalter use GPLv3+.
license:gpl3+
;; License for lv2-ttl-generator is not found in this repository,
;; but is a part of DPF-Plugins and is licensed under ISC:
;; https://github.com/DISTRHO/DPF.
;; JUCE uses this license for juce_audio_basics,
;; juce_audio_devices, juce_blocks_basics, juce_core and
;; juce_events.
license:isc
license:lgpl2.0+ ;used by DrumSynth and EQinox
license:lgpl2.1+ ;used by SoundTouch and juce-opl
;; StereoSourceSeperation uses a non-copyleft license.
(license:non-copyleft
"file:///ports-juce5/stereosourceseparation/\
source/kiss_fft/kiss_fft.c")
;; dRowAudio uses a non-copyleft license for curl.
(license:non-copyleft
"file:///libs/drowaudio/source/dRowAudio/network/\
curl/include/curl/curl.h")
license:wtfpl2))))) ;used by dRowAudio for FFTReal
(define-public dpf-plugins (define-public dpf-plugins
(package (package
(name "dpf-plugins") (name "dpf-plugins")
@ -6515,6 +6679,7 @@ and as an LV2 plugin.")
"-Dgraphviz=enabled" ;for exporting routing graphs "-Dgraphviz=enabled" ;for exporting routing graphs
"-Dguile=enabled" ;for Guile scripting "-Dguile=enabled" ;for Guile scripting
"-Djack=enabled" ;for JACK audio/MIDI backend "-Djack=enabled" ;for JACK audio/MIDI backend
"-Drtaudio=enabled" ;for RtAudio backend (ALSA)
"-Drtmidi=enabled" ;for RtMidi backend (ALSA sequencer) "-Drtmidi=enabled" ;for RtMidi backend (ALSA sequencer)
"-Dsdl=enabled") ;for SDL audio backend (which uses ALSA) "-Dsdl=enabled") ;for SDL audio backend (which uses ALSA)
#:phases #:phases
@ -6596,6 +6761,7 @@ success = io_mkdir (tmp_log_dir, &err);")))
pipewire pipewire
pulseaudio pulseaudio
reproc reproc
rtaudio
rtmidi rtmidi
rubberband rubberband
sdl2 sdl2

View file

@ -256,7 +256,7 @@ protocols.")
(define-public lcrq (define-public lcrq
(package (package
(name "lcrq") (name "lcrq")
(version "0.1.0") (version "0.1.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -265,7 +265,7 @@ protocols.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"13mfg866scvy557zrvjxjhkzam39h8d07s2w3fqbwhw6br6axkxk")))) "1m29p4bsafzbchnkidyrnglfdf1c9pnq6akkmivi23qdv9kj51dg"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:parallel-tests? #f `(#:parallel-tests? #f
@ -289,7 +289,7 @@ the RFC.")
(define-public lcsync (define-public lcsync
(package (package
(name "lcsync") (name "lcsync")
(version "0.0.1") (version "0.2.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -298,45 +298,33 @@ the RFC.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0s038b4xg9nlzhrganzjyfvc6n6cgd6kilnpik4axp62j2n5q11q")))) "0bsd3dkir2i647nmrmyb7skbv16v0f6f3gfwkpxz8g42978dlms5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:parallel-tests? #f `(#:parallel-tests? #f
#:configure-flags
(list
(string-append "--prefix="
(assoc-ref %outputs "out")))
#:make-flags (let ((target ,(%current-target-system))) #:make-flags (let ((target ,(%current-target-system)))
(list ,(string-append "CC=" (list ,(string-append "CC="
(cc-for-target)) (cc-for-target))))
;; avoid running setcap in the install process
"SETCAP_PROGRAM=true"
(string-append "prefix="
(assoc-ref %outputs "out"))))
#:test-target "test" #:test-target "test"
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
(delete 'configure) ;no configure script (add-after 'unpack 'use-prefix-from-configure-in-doc-makefile
(add-before 'check 'remove-network-tests ;; Use prefix from configure. Fixed upstream:
;; https://codeberg.org/librecast/lcsync/commit/4ba00f6
;; XXX: Remove for 0.2.2+
(lambda _ (lambda _
;; these tests require networking (substitute* "doc/Makefile.in"
(delete-file "./test/0000-0027.c") (("PREFIX .= /usr/local") "PREFIX ?= @prefix@"))))
(delete-file "./test/0000-0049.c")
(delete-file "./test/0000-0074.c")))
(add-after 'unpack 'remove-immintrin.h
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "Makefile"
(("CFLAGS :=")
(string-append "CFLAGS := -I" (search-input-directory
inputs "include/simde"))))
(substitute* (find-files "src")
((".*immintrin\\.h.*")
(string-append "#include <simde-features.h>\n"
"#include <x86/ssse3.h>\n"))
(("__m128i") "simde__m128i"))))
(add-before 'build 'add-library-paths (add-before 'build 'add-library-paths
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let* ((librecast (assoc-ref inputs "librecast"))) (let* ((librecast (assoc-ref inputs "librecast")))
(substitute* (list "./src/Makefile" "./test/Makefile") (substitute* (list "./src/Makefile" "./test/Makefile")
(("-llibrecast") (("-llibrecast")
(string-append "-L" librecast "/lib -llibrecast"))))))))) (string-append "-L" librecast "/lib -llibrecast")))))))))
(inputs (list librecast libsodium)) (inputs (list lcrq librecast libsodium))
(native-inputs (list simde))
(home-page "https://librecast.net/lcsync.html") (home-page "https://librecast.net/lcsync.html")
(synopsis "Librecast file and data syncing tool") (synopsis "Librecast file and data syncing tool")
(description (description
@ -487,7 +475,7 @@ GLib-based library, libnice, as well as GStreamer elements to use it.")
(define-public librecast (define-public librecast
(package (package
(name "librecast") (name "librecast")
(version "0.6.1") (version "0.7.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -496,7 +484,7 @@ GLib-based library, libnice, as well as GStreamer elements to use it.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1kixnm7pn8345wp0klhnpw5x992cqbqx3bhc01j8xhqf6irlzdm3")))) "0y0km0fv39m3i227pyg7fcr7d94gbji51fkcywqyrjgmk4j1hp1n"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:parallel-tests? #f `(#:parallel-tests? #f
@ -505,26 +493,7 @@ GLib-based library, libnice, as well as GStreamer elements to use it.")
(cc-for-target)) (cc-for-target))
(string-append "PREFIX=" (string-append "PREFIX="
(assoc-ref %outputs "out")))) (assoc-ref %outputs "out"))))
#:test-target "test" #:test-target "test"))
#:phases (modify-phases %standard-phases
(add-before 'check 'remove-network-tests
(lambda _
;; these tests require networking
(delete-file "./test/0000-0010.c")
(delete-file "./test/0000-0012.c")
(delete-file "./test/0000-0013.c")
(delete-file "./test/0000-0014.c")
(delete-file "./test/0000-0015.c")
(delete-file "./test/0000-0016.c")
(delete-file "./test/0000-0018.c")
(delete-file "./test/0000-0019.c")
(delete-file "./test/0000-0021.c")
(delete-file "./test/0000-0028.c")
(delete-file "./test/0000-0036.c")
(delete-file "./test/0000-0037.c")
(delete-file "./test/0000-0038.c")
(delete-file "./test/0000-0039.c")
(delete-file "./test/0000-0040.c"))))))
(inputs (list libsodium lcrq)) (inputs (list libsodium lcrq))
(synopsis "IPv6 multicast library") (synopsis "IPv6 multicast library")
(description "Librecast is a C library which supports IPv6 multicast (description "Librecast is a C library which supports IPv6 multicast
@ -1505,6 +1474,26 @@ containing both Producer and Consumer support.")
(base32 (base32
"0ay0n0d85254zdmv8znmn399gfiqpk6ga0jwdwa7ylpbw9pbdzw8")))) "0ay0n0d85254zdmv8znmn399gfiqpk6ga0jwdwa7ylpbw9pbdzw8"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs
(if (%current-target-system)
(list pkg-config
libtool
gettext-minimal
autoconf automake)
'()))
(arguments
(if (%current-target-system)
(list #:phases
#~(modify-phases %standard-phases
;; AC_FUNC_MALLOC and AC_FUNC_REALLOC usually unneeded
;; see https://lists.gnu.org/archive/html/autoconf/2003-02/msg00017.html
(add-after 'unpack 'fix-rpl_malloc
(lambda _
(substitute* "configure.ac"
(("AC_FUNC_MALLOC") ""))
;; let bootstrap phase run.
(delete-file "./configure")))))
'()))
(home-page "https://libndp.org/") (home-page "https://libndp.org/")
(synopsis "Library for Neighbor Discovery Protocol") (synopsis "Library for Neighbor Discovery Protocol")
(description (description
@ -4389,7 +4378,7 @@ network.")
(define-public yggdrasil (define-public yggdrasil
(package (package
(name "yggdrasil") (name "yggdrasil")
(version "0.4.3") (version "0.4.7")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -4400,27 +4389,33 @@ network.")
(recursive? #t))) (recursive? #t)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0jp6998a45xi8pbi8p84chvpm1mhhcvcxm1avi1c1gjjp4jqm3vl")) (base32 "01mllfrsr55lnfivxwa57cfrjas6w4shsvx9k81pw8jixc124myk"))
(patches (search-patches "yggdrasil-extra-config.patch")))) (patches (search-patches "yggdrasil-extra-config.patch"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
'(#:import-path "github.com/yggdrasil-network/yggdrasil-go" (list #:import-path "github.com/yggdrasil-network/yggdrasil-go"
;; TODO: figure out how tests are run ;; TODO: figure out how tests are run
#:tests? #f #:tests? #f
#:install-source? #f #:install-source? #f
#:go go-1.20
#:phases #:phases
(modify-phases %standard-phases #~(modify-phases %standard-phases
(replace 'build (replace 'build
(lambda* (#:key import-path build-flags #:allow-other-keys) (lambda* (#:key import-path build-flags #:allow-other-keys)
(let* ((pkgsrc "github.com/yggdrasil-network/yggdrasil-go/src/version")
(ldflags (format #f
"-X ~a.buildName=yggdrasil -X ~a.buildVersion=~a"
pkgsrc
pkgsrc
#$version)))
(for-each (for-each
(lambda (directory) (lambda (directory)
((assoc-ref %standard-phases 'build) ((assoc-ref %standard-phases 'build)
#:build-flags build-flags #:build-flags `("-ldflags" ,ldflags)
#:import-path directory)) #:import-path directory))
(list "github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasil" (list "github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasil"
"github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasilctl" "github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasilctl"
"github.com/yggdrasil-network/yggdrasil-go/cmd/genkeys")) "github.com/yggdrasil-network/yggdrasil-go/cmd/genkeys"))))))))
#t)))))
;; https://github.com/kardianos/minwinsvc is windows only ;; https://github.com/kardianos/minwinsvc is windows only
(propagated-inputs (propagated-inputs
(list ;;("go-golang-zx2c4-com-wireguard-windows" (list ;;("go-golang-zx2c4-com-wireguard-windows"
@ -4430,11 +4425,14 @@ network.")
go-golang-org-x-sys go-golang-org-x-sys
go-golang-org-x-net go-golang-org-x-net
go-golang-org-x-crypto go-golang-org-x-crypto
go-golang-org-x-tools
go-netns go-netns
go-netlink go-netlink
go-github-com-olekukonko-tablewriter
go-github-com-mitchellh-mapstructure go-github-com-mitchellh-mapstructure
go-github-com-mattn-go-runewidth go-github-com-mattn-go-runewidth
go-github-com-mattn-go-isatty go-github-com-mattn-go-isatty
go-github-com-mattn-go-colorable
go-github-com-kardianos-minwinsvc go-github-com-kardianos-minwinsvc
go-github-com-hjson-hjson-go go-github-com-hjson-hjson-go
go-github-com-hashicorp-go-syslog go-github-com-hashicorp-go-syslog

View file

@ -669,7 +669,7 @@ parser definition into a C output.")
(define-public llhttp-bootstrap (define-public llhttp-bootstrap
(package (package
(name "llhttp") (name "llhttp")
(version "6.0.10") (version "6.0.11")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -678,7 +678,7 @@ parser definition into a C output.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0izwqa77y007xdi0bj3ccw821n19rz89mz4hx4lg99fwkwylr6x8")) "16gaylka6nx9bsff9xga3s8xihxm3k7svrb88lr4dj2s4pzlfga9"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -738,14 +738,14 @@ source files.")
(define-public node-lts (define-public node-lts
(package (package
(inherit node) (inherit node)
(version "18.16.0") (version "18.17.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://nodejs.org/dist/v" version (uri (string-append "https://nodejs.org/dist/v" version
"/node-v" version ".tar.gz")) "/node-v" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0vcc132z7lkxnw5clmiz6sp6ccmw35pyb69hczphrig5frfmqkva")) "0dachvhf5jxrb1av8mn2dikbhwklxsgc9y2zg4h50fcwh5d54mqi"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View file

@ -1450,8 +1450,8 @@ environments.")
"0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc"))))))) "0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc")))))))
(define-public guix-build-coordinator (define-public guix-build-coordinator
(let ((commit "06a44693c4f25109f945e5aa6c7c4670df72b690") (let ((commit "cbded42c284cca4ecaaebbf0a666cf89efc465a7")
(revision "87")) (revision "88"))
(package (package
(name "guix-build-coordinator") (name "guix-build-coordinator")
(version (git-version "0" revision commit)) (version (git-version "0" revision commit))
@ -1462,7 +1462,7 @@ environments.")
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 (base32
"1g9dq7nzndrws82dajxapajhd2c7zmk7kmi7fbga9qd414pwfv92")) "1z2wdf5h4dxq9g7a6j7nvmrsqcibrfm8nmkakqgz7ipcxyk0vzjx"))
(file-name (string-append name "-" version "-checkout")))) (file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments

View file

@ -30,6 +30,7 @@
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module (gnu packages web)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix git-download) #:use-module (guix git-download)
@ -40,7 +41,7 @@
(define-public granite (define-public granite
(package (package
(name "granite") (name "granite")
(version "6.2.0") (version "7.3.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -49,16 +50,21 @@
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0ilslmg63hh2x7h5rvs3mhzw1y9ixhhkqnn1j1lzwm12v2iidkaq")))) "0pyvkif2kin5dskh7adadsh4r96mvx12y7cs6gnm0ml733q548dj"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
(add-after 'unpack 'disable-icon-cache (add-after 'unpack 'disable-icon-cache
(lambda _ (lambda _
(setenv "DESTDIR" "/")))))) (setenv "DESTDIR" "/"))))))
(inputs (list glib gtk+ libgee)) (inputs (list sassc))
(native-inputs (list gettext-minimal gobject-introspection pkg-config (propagated-inputs (list glib libgee gtk)) ;required in .pc file
python vala)) (native-inputs (list gettext-minimal
`(,glib "bin")
gobject-introspection
pkg-config
python
vala))
(home-page "https://github.com/elementary/granite") (home-page "https://github.com/elementary/granite")
(synopsis "Library that extends GTK with common widgets and utilities") (synopsis "Library that extends GTK with common widgets and utilities")
(description "Granite is a companion library for GTK+ and GLib. Among other (description "Granite is a companion library for GTK+ and GLib. Among other
@ -69,7 +75,7 @@ in apps built for the Pantheon desktop.")
(define-public pantheon-calculator (define-public pantheon-calculator
(package (package
(name "pantheon-calculator") (name "pantheon-calculator")
(version "1.7.2") (version "2.0.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -79,7 +85,7 @@ in apps built for the Pantheon desktop.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"11rwwi6nlhwpcm29dn2mbz0239nfjdwlqlqbchm0j9sr1ypifk2k")))) "1w59sgznzybawhz411avqayws8jq0471n6hwhkplvcz7inxlzdrw"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t `(#:glib-or-gtk? #t
@ -91,15 +97,15 @@ in apps built for the Pantheon desktop.")
(inputs (inputs
(list granite (list granite
glib glib
gtk+ gtk
libgee libgee
libhandy)) libhandy))
(native-inputs (native-inputs
`(("cmake" ,cmake) (list cmake
("glib:bin" ,glib "bin") ; for glib-compile-schemas `(,glib "bin") ; for glib-compile-schemas
("gettext" ,gettext-minimal) gettext-minimal
("pkg-config" ,pkg-config) pkg-config
("vala" ,vala))) vala))
(home-page "https://github.com/elementary/calculator") (home-page "https://github.com/elementary/calculator")
(synopsis "Desktop calculator") (synopsis "Desktop calculator")
(description "Calculator is an application for performing simple (description "Calculator is an application for performing simple
@ -110,7 +116,7 @@ desktop.")
(define-public sideload (define-public sideload
(package (package
(name "sideload") (name "sideload")
(version "6.0.2") (version "6.2.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -120,7 +126,7 @@ desktop.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0abpcawmmv5mgzk2i5n9rlairmjr2v9rg9b8c9g7xa085s496bi9")))) "0vrj91899f13cvzpycqy3y74hmixsffjbzsj29da7n370fa3ci86"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t `(#:glib-or-gtk? #t

View file

@ -1577,7 +1577,7 @@ pass-tomb to automatically close your store after a given time.")
(define-public xkcdpass (define-public xkcdpass
(package (package
(name "xkcdpass") (name "xkcdpass")
(version "1.19.3") (version "1.19.4")
(home-page "https://github.com/redacted/XKCD-password-generator") (home-page "https://github.com/redacted/XKCD-password-generator")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -1587,7 +1587,7 @@ pass-tomb to automatically close your store after a given time.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0xfrmx9k2vinlagv476rfcfdp41aix1ldy6qnzzx26n985gcyk7p")))) "1din4fqxgcj74vcjrsmn19sv81raards39x8pd75hmfxqqgggnd6"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases `(#:phases

View file

@ -0,0 +1,84 @@
Index: wrap-source/pkg/pdf/fonts.go
===================================================================
--- wrap-source.orig/pkg/pdf/fonts.go
+++ wrap-source/pkg/pdf/fonts.go
@@ -36,15 +36,15 @@ var (
BoldItalic: []string{"Courier Prime Bold Italic.ttf"},
}
- CourierNew = Font{
- RomanName: "Courier New",
- Roman: []string{"Courier New.ttf", "cour.ttf"},
- BoldName: "Courier New Bold",
- Bold: []string{"Courier New Bold.ttf", "courbd.ttf"},
- ItalicName: "Courier New Italic",
- Italic: []string{"Courier New Italic.ttf", "couri.ttf"},
- BoldItalicName: "Courier New Bold Italic",
- BoldItalic: []string{"Courier New Bold Italic.ttf", "courbi.ttf"},
+ LiberationMono = Font{
+ RomanName: "Liberation Mono Regular",
+ Roman: []string{"LiberationMono-Regular.ttf"},
+ BoldName: "Liberation Mono Bold",
+ Bold: []string{"LiberationMono-Bold.ttf"},
+ ItalicName: "Liberation Mono Italic",
+ Italic: []string{"LiberationMono-Italic.ttf"},
+ BoldItalicName: "Liberation Mono Bold Italic",
+ BoldItalic: []string{"LiberationMono-BoldItalic.ttf"},
}
FreeMono = Font{
@@ -151,9 +151,8 @@ func loadFonts() {
err := loadFont(CourierPrime)
if err != nil {
- // Courier New should be available on macOS and Windows
fmt.Fprintln(os.Stderr, "Warning: "+err.Error())
- err = loadFont(CourierNew)
+ err = loadFont(LiberationMono)
if err != nil {
// FreeMono as a final attempt
Index: wrap-source/pkg/cli/pdf.go
===================================================================
--- wrap-source.orig/pkg/cli/pdf.go
+++ wrap-source/pkg/cli/pdf.go
@@ -22,7 +22,7 @@ var pdfCmd = &cobra.Command{
var (
pdfProductionFlag bool
useCourierPrime bool
- useCourierNew bool
+ useLiberationMono bool
useFreeMono bool
pageSize string
font string
@@ -31,7 +31,7 @@ var (
func init() {
pdfCmd.Flags().BoolVarP(&pdfProductionFlag, "production", "p", false, "add scene numbers and other production text")
pdfCmd.Flags().BoolVar(&useCourierPrime, "use-courier-prime", false, "force the usage of Courier Prime")
- pdfCmd.Flags().BoolVar(&useCourierNew, "use-courier-new", false, "force the usage of Courier New")
+ pdfCmd.Flags().BoolVar(&useLiberationMono, "use-courier-new", false, "force the usage of Liberation Mono")
pdfCmd.Flags().BoolVar(&useFreeMono, "use-freemono", false, "force the usage of GNU FreeMono")
pdfCmd.Flags().StringVar(&pageSize, "page-size", "", "choose page size (letter or a4)")
pdfCmd.RegisterFlagCompletionFunc("page-size", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
@@ -46,8 +46,8 @@ func pdfRun(cmd *cobra.Command, args []s
// Evaluate font selection
pdf.AutoFontSelection = false
- if (font != "" && atLeastOne(useCourierPrime, useCourierNew, useFreeMono)) ||
- moreThanOne(useCourierPrime, useCourierNew, useFreeMono) {
+ if (font != "" && atLeastOne(useCourierPrime, useLiberationMono, useFreeMono)) ||
+ moreThanOne(useCourierPrime, useLiberationMono, useFreeMono) {
// The fonts are mutualy exclusive so throw an error
handle(errors.New("tried to force multiple fonts at the same time"))
}
@@ -77,8 +77,8 @@ func pdfRun(cmd *cobra.Command, args []s
} else if useCourierPrime {
pdf.SelectedFont = pdf.CourierPrime
- } else if useCourierNew {
- pdf.SelectedFont = pdf.CourierNew
+ } else if useLiberationMono {
+ pdf.SelectedFont = pdf.LiberationMono
} else if useFreeMono {
pdf.SelectedFont = pdf.FreeMono

View file

@ -1,113 +0,0 @@
This patch removes sources of build non-determinism in the upstream sources.
In particular, many of the compiled sources are generated with Python code,
which in turn uses dictionaries to index the output C functions. However,
iterators over Python dictionaries have no guaranteed order, thus resulting in
the C functions being output in a random order between builds.
The patch below fixes this by forcing an order during output in several key
places. Note, however, that future updates may uncover new such places that
just happen to be non-problematic at the time of this patch. If you are
reading this due to finding such issues, feel free to contact me at
elaexuotee@wilsonb.com for help.
diff --git a/pysrc/ild_codegen.py b/pysrc/ild_codegen.py
index 628ec45..a9bff79 100755
--- a/pysrc/ild_codegen.py
+++ b/pysrc/ild_codegen.py
@@ -188,14 +188,14 @@ def gen_l2_func_list(agi, target_nt_dict, arg_nt_dict,
ild_t_member):
"""generate L2 functions"""
l2_func_list = []
- for (nt_name,array) in target_nt_dict.items():
+ for (nt_name,array) in sorted(target_nt_dict.items()):
target_opname = array.get_target_opname()
if array.is_const_lookup_fun():
fo = gen_const_l2_function(agi, nt_name,
target_opname, ild_t_member)
l2_func_list.append(fo)
else:
- for arg_nt_seq,arg_arr in arg_nt_dict.items():
+ for arg_nt_seq,arg_arr in sorted(arg_nt_dict.items()):
fo = gen_scalable_l2_function(agi, nt_name,
target_opname, ild_t_member, arg_arr, list(arg_nt_seq))
l2_func_list.append(fo)
diff --git a/pysrc/ild_disp.py b/pysrc/ild_disp.py
index 942c036..cf80e29 100755
--- a/pysrc/ild_disp.py
+++ b/pysrc/ild_disp.py
@@ -350,7 +350,8 @@ def work(agi, united_lookup, disp_nts, brdisp_nts, ild_gendir,
disp_dict = _gen_l3_array_dict(agi, disp_nts, _disp_token)
- nt_arr_list = list(brdisp_dict.values()) + list(disp_dict.values())
+ nt_arr_list = ([v for (k,v) in sorted(brdisp_dict.items())] +
+ [v for (k,v) in sorted(disp_dict.items())])
#create function that calls all initialization functions
init_f = ild_nt.gen_init_function(nt_arr_list, 'xed_ild_disp_l3_init')
@@ -367,7 +368,7 @@ def work(agi, united_lookup, disp_nts, brdisp_nts, ild_gendir,
l2_functions = []
eosz_op = ild_eosz.get_target_opname()
easz_op = ild_easz.get_target_opname()
- for nt_name,array in list(disp_dict.items()) + list(brdisp_dict.items()):
+ for nt_name,array in sorted(disp_dict.items()) + sorted(brdisp_dict.items()):
#Some DISP NTs depend on EOSZ, others on EASZ, we need to know
#that when we generate L2 functions
if eosz_op in array.get_arg_names():
diff --git a/pysrc/ild_easz.py b/pysrc/ild_easz.py
index 02cd691..c53b9f2 100755
--- a/pysrc/ild_easz.py
+++ b/pysrc/ild_easz.py
@@ -165,9 +165,10 @@ def work(agi, united_lookup, easz_nts, ild_gendir, debug):
return
nt_seq_arrays[tuple(nt_seq)] = array
#init function calls all single init functions for the created tables
- init_f = ild_nt.gen_init_function(list(nt_seq_arrays.values()),
+ nt_seq_values = [v for (k,v) in sorted(nt_seq_arrays.items())]
+ init_f = ild_nt.gen_init_function(nt_seq_values,
'xed_ild_easz_init')
- ild_nt.dump_lu_arrays(agi, list(nt_seq_arrays.values()), _easz_c_fn,
+ ild_nt.dump_lu_arrays(agi, nt_seq_values, _easz_c_fn,
mbuild.join('include-private', _easz_header_fn),
init_f)
getter_fos = []
diff --git a/pysrc/ild_eosz.py b/pysrc/ild_eosz.py
index 6643bc3..89d2d89 100755
--- a/pysrc/ild_eosz.py
+++ b/pysrc/ild_eosz.py
@@ -200,10 +200,11 @@ def work(agi, united_lookup, eosz_nts, ild_gendir, debug):
return None
nt_seq_arrays[tuple(nt_seq)] = array
#init function calls all single init functions for the created tables
- init_f = ild_nt.gen_init_function(list(nt_seq_arrays.values()),
+ nt_seq_values = [v for (k,v) in sorted(nt_seq_arrays.items())]
+ init_f = ild_nt.gen_init_function(nt_seq_values,
'xed_ild_eosz_init')
#dump init and lookup functions for EOSZ sequences
- ild_nt.dump_lu_arrays(agi, list(nt_seq_arrays.values()), _eosz_c_fn,
+ ild_nt.dump_lu_arrays(agi, nt_seq_values, _eosz_c_fn,
mbuild.join('include-private', _eosz_header_fn),
init_f)
#generate EOSZ getter functions - they get xed_decoded_inst_t*
diff --git a/pysrc/ild_imm.py b/pysrc/ild_imm.py
index 51c413c..0530bae 100755
--- a/pysrc/ild_imm.py
+++ b/pysrc/ild_imm.py
@@ -322,12 +322,14 @@ def work(agi, united_lookup, imm_nts, ild_gendir, eosz_dict,
level='l3')
nt_dict[nt_name] = array
+ nt_dict_values = [v for (k,v) in sorted(nt_dict.items())]
+
#create function that calls all initialization functions for L3
- init_f = ild_nt.gen_init_function(list(nt_dict.values()),
+ init_f = ild_nt.gen_init_function(nt_dict_values,
'xed_ild_imm_l3_init')
#dump L3 functions
- ild_nt.dump_lu_arrays(agi, list(nt_dict.values()), _l3_c_fn,
+ ild_nt.dump_lu_arrays(agi, nt_dict_values, _l3_c_fn,
mbuild.join('include-private',_l3_header_fn),
init_f)

View file

@ -1,60 +0,0 @@
From fae6cc40e112cd13697cb0e8d79976f32c72491d Mon Sep 17 00:00:00 2001
From: Eugenio Lacuesta <eugenio.lacuesta@gmail.com>
Date: Wed, 10 Mar 2021 12:31:05 -0300
Subject: [PATCH] [CI] Mark single add_or_replace_parameter test as xfail
---
This patch is based on upstream commit
fae6cc40e112cd13697cb0e8d79976f32c72491d which is part of
https://github.com/scrapy/w3lib/pull/166.
.gitignore | 3 ++-
tests/test_url.py | 25 ++++++++++++++-----------
2 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/tests/test_url.py b/tests/test_url.py
index 8b07c00..0f7458e 100644
--- a/tests/test_url.py
+++ b/tests/test_url.py
@@ -1,12 +1,14 @@
-# -*- coding: utf-8 -*-
from __future__ import absolute_import
import os
import unittest
+
+import pytest
+from six.moves.urllib.parse import urlparse
+
from w3lib.url import (is_url, safe_url_string, safe_download_url,
url_query_parameter, add_or_replace_parameter, url_query_cleaner,
file_uri_to_path, parse_data_uri, path_to_file_uri, any_to_uri,
urljoin_rfc, canonicalize_url, parse_url, add_or_replace_parameters)
-from six.moves.urllib.parse import urlparse
class UrlTests(unittest.TestCase):
@@ -310,10 +311,6 @@ def test_add_or_replace_parameter(self):
self.assertEqual(add_or_replace_parameter(url, 'arg3', 'nv3'),
'http://domain/test?arg1=v1&arg2=v2&arg3=nv3')
- url = 'http://domain/test?arg1=v1;arg2=v2'
- self.assertEqual(add_or_replace_parameter(url, 'arg1', 'v3'),
- 'http://domain/test?arg1=v3&arg2=v2')
-
self.assertEqual(add_or_replace_parameter("http://domain/moreInfo.asp?prodID=", 'prodID', '20'),
'http://domain/moreInfo.asp?prodID=20')
url = 'http://rmc-offers.co.uk/productlist.asp?BCat=2%2C60&CatID=60'
@@ -338,6 +335,13 @@ def test_add_or_replace_parameter(self):
self.assertEqual(add_or_replace_parameter(url, 'arg1', 'v3'),
'http://domain/test?arg1=v3&arg2=v2')
+ @pytest.mark.xfail(reason="https://github.com/scrapy/w3lib/issues/164")
+ def test_add_or_replace_parameter_fail(self):
+ self.assertEqual(
+ add_or_replace_parameter('http://domain/test?arg1=v1;arg2=v2', 'arg1', 'v3'),
+ 'http://domain/test?arg1=v3&arg2=v2'
+ )
+
def test_add_or_replace_parameters(self):
url = 'http://domain/test'
self.assertEqual(add_or_replace_parameters(url, {'arg': 'v'}),

View file

@ -1,13 +0,0 @@
Disable the qtest-aarch64/migration-test, which sometimes fail non-deterministically.
See: https://gitlab.com/qemu-project/qemu/-/issues/1230.
--- qemu-7.1.0/tests/qtest/meson.build.old 1969-12-31 19:00:01.000000000 -0500
+++ qemu-7.1.0/tests/qtest/meson.build 2022-09-26 11:11:05.434209797 -0400
@@ -219,7 +219,6 @@
['arm-cpu-features',
'numa-test',
'boot-serial-test',
- 'migration-test',
'bcm2835-dma-test']
qtests_s390x = \

View file

@ -0,0 +1,52 @@
Disable the qtest-aarch64/migration-test, which sometimes fail
non-deterministically (see:
https://gitlab.com/qemu-project/qemu/-/issues/1230).
Also disable the bios-tables-test, which may fail on older machines (see:
https://gitlab.com/qemu-project/qemu/-/issues/1098).
--- qemu-8.1.0/tests/qtest/meson.build.old 2023-08-30 11:48:27.871146249 -0400
+++ qemu-8.1.0/tests/qtest/meson.build 2023-08-30 13:53:25.994084948 -0400
@@ -1,6 +1,5 @@
slow_qtests = {
'ahci-test' : 60,
- 'bios-tables-test' : 120,
'boot-serial-test' : 60,
'migration-test' : 150,
'npcm7xx_pwm-test': 150,
@@ -81,9 +80,6 @@
config_all_devices.has_key('CONFIG_Q35') and \
config_all_devices.has_key('CONFIG_VIRTIO_PCI') and \
slirp.found() ? ['virtio-net-failover'] : []) + \
- (unpack_edk2_blobs and \
- config_all_devices.has_key('CONFIG_HPET') and \
- config_all_devices.has_key('CONFIG_PARALLEL') ? ['bios-tables-test'] : []) + \
qtests_pci + \
qtests_cxl + \
['fdc-test',
@@ -212,7 +208,6 @@
# TODO: once aarch64 TCG is fixed on ARM 32 bit host, make bios-tables-test unconditional
qtests_aarch64 = \
- (cpu != 'arm' and unpack_edk2_blobs ? ['bios-tables-test'] : []) + \
(config_all.has_key('CONFIG_TCG') and config_all_devices.has_key('CONFIG_TPM_TIS_SYSBUS') ? \
['tpm-tis-device-test', 'tpm-tis-device-swtpm-test'] : []) + \
(config_all_devices.has_key('CONFIG_XLNX_ZYNQMP_ARM') ? ['xlnx-can-test', 'fuzz-xlnx-dp-test'] : []) + \
@@ -222,8 +217,7 @@
config_all_devices.has_key('CONFIG_TPM_TIS_I2C') ? ['tpm-tis-i2c-test'] : []) + \
['arm-cpu-features',
'numa-test',
- 'boot-serial-test',
- 'migration-test']
+ 'boot-serial-test']
qtests_s390x = \
qtests_filter + \
@@ -301,7 +295,6 @@
endif
qtests = {
- 'bios-tables-test': [io, 'boot-sector.c', 'acpi-utils.c', 'tpm-emu.c'],
'cdrom-test': files('boot-sector.c'),
'dbus-vmstate-test': files('migration-helpers.c') + dbus_vmstate1,
'erst-test': files('erst-test.c'),

View file

@ -0,0 +1,79 @@
Fix a bug that causes the cursor position to be incorrect when opening
new terminals:
http://lists.schmorp.de/pipermail/rxvt-unicode/2023q1/002639.html
https://bugs.archlinux.org/task/77062
https://gitlab.alpinelinux.org/alpine/aports/-/issues/14525
This patches reverts all changes made to 'src/screen.C' in rxvt-unicode 9.31.
--- rxvt-unicode-9.31/src/screen.C 2022-08-08 06:33:08.000000000 -0400
+++ rxvt-unicode-9.30/src/screen.C 2021-07-02 23:55:47.000000000 -0400
@@ -293,7 +293,6 @@
int common_col = min (prev_ncol, ncol);
- // resize swap_buf, blank drawn_buf
for (int row = min (nrow, prev_nrow); row--; )
{
scr_blank_screen_mem (drawn_buf [row], DEFAULT_RSTYLE);
@@ -307,7 +306,6 @@
int pend = MOD (term_start + top_row , prev_total_rows);
int q = total_rows; // rewrapped row
-#if ENABLE_FRILLS
if ((rewrap_always || top_row) && !rewrap_never)
{
// Re-wrap lines. This is rather ugly, possibly because I am too dumb
@@ -389,35 +387,36 @@
scr_blank_line (*qline, qline->l, ncol - qline->l, DEFAULT_RSTYLE);
}
while (p != pend && q > 0);
+
+ term_start = total_rows - nrow;
+ top_row = q - term_start;
+
+ // make sure all terminal lines exist
+ while (top_row > 0)
+ scr_blank_screen_mem (ROW (--top_row), DEFAULT_RSTYLE);
}
else
-#endif
{
- // wing, instead of wrap
- screen.cur.row += nrow - prev_nrow;
+ // if no scrollback exists (yet), wing, instead of wrap
- do
+ for (int row = min (nrow, prev_nrow); row--; )
{
- p = MOD (p - 1, prev_total_rows);
- q--;
+ line_t &src = prev_row_buf [MOD (term_start + row, prev_total_rows)];
+ line_t &dst = row_buf [row];
- copy_line (row_buf [q], prev_row_buf [p]);
+ copy_line (dst, src);
}
- while (p != pend && q > 0);
- }
- term_start = total_rows - nrow;
- top_row = q - term_start;
+ for (int row = prev_nrow; row < nrow; row++)
+ scr_blank_screen_mem (row_buf [row], DEFAULT_RSTYLE);
- // make sure all terminal lines exist
- while (top_row > 0)
- scr_blank_screen_mem (ROW (--top_row), DEFAULT_RSTYLE);
+ term_start = 0;
+ }
clamp_it (screen.cur.row, 0, nrow - 1);
clamp_it (screen.cur.col, 0, ncol - 1);
}
- // ensure drawn_buf, swap_buf and terminal rows are all initialized
for (int row = nrow; row--; )
{
if (!ROW (row).valid ()) scr_blank_screen_mem (ROW (row), DEFAULT_RSTYLE);

View file

@ -0,0 +1,26 @@
Remove after next release and package update:
https://github.com/gabime/spdlog/commit/2ee8bac78e6525a8ad9a9196e65d502ce390d83a
From 2ee8bac78e6525a8ad9a9196e65d502ce390d83a Mon Sep 17 00:00:00 2001
From: xvitaly <vitaly@easycoding.org>
Date: Sun, 23 Jul 2023 10:15:25 +0200
Subject: [PATCH] Added missing square bracket to fix the level_to_string_view
test. (#2827)
---
tests/test_misc.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/test_misc.cpp b/tests/test_misc.cpp
index 9f3cb1744..6199641ff 100644
--- a/tests/test_misc.cpp
+++ b/tests/test_misc.cpp
@@ -43,7 +43,7 @@ TEST_CASE("log_levels", "[log_levels]")
REQUIRE(log_info("Hello", spdlog::level::trace) == "Hello");
}
-TEST_CASE("level_to_string_view", "[convert_to_string_view")
+TEST_CASE("level_to_string_view", "[convert_to_string_view]")
{
REQUIRE(spdlog::level::to_string_view(spdlog::level::trace) == "trace");
REQUIRE(spdlog::level::to_string_view(spdlog::level::debug) == "debug");

View file

@ -0,0 +1,11 @@
Description: GCC 11 now enforces that comparison objects be invocable as const.
--- a/Rendering/Label/vtkLabelHierarchy.cxx
+++ b/Rendering/Label/vtkLabelHierarchy.cxx
@@ -525,1 +525,1 @@
- const vtkHierarchyNode & b)
+ const vtkHierarchyNode & b) const
--- a/Rendering/Label/vtkLabelHierarchyPrivate.h
+++ b/Rendering/Label/vtkLabelHierarchyPrivate.h
@@ -66,1 +66,1 @@
- bool operator () ( const vtkIdType& a, const vtkIdType& b )
+ bool operator () ( const vtkIdType& a, const vtkIdType& b ) const

View file

@ -0,0 +1,137 @@
From 62672f3756ecf218252098211d78c13369ab6d28 Mon Sep 17 00:00:00 2001
From: Nicholas Guriev <nicholas@guriev.su>
Date: Thu, 4 May 2023 16:21:09 +0300
Subject: [PATCH] Unbundle libSRTP
Avoid private symbols and link against system-wide libSRTP. The excluded code
in SrtpSession looks unreachable from the call integration in Telegram Desktop.
---
CMakeLists.txt | 3 +++
cmake/libsrtp.cmake | 13 +++++++++++++
src/pc/external_hmac.cc | 1 -
src/pc/external_hmac.h | 9 ++++++---
src/pc/srtp_session.cc | 16 ++++++++++++++--
5 files changed, 36 insertions(+), 6 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index af7d24c21..66bec8fdf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2647,6 +2647,9 @@ if (TG_OWT_USE_PROTOBUF)
list(APPEND export_targets proto)
endif()
+if (LIBSRTP_FOUND)
+ target_compile_definitions(tg_owt PRIVATE HAVE_LIBSRTP)
+endif()
if (NOT absl_FOUND)
list(APPEND export_targets libabsl)
endif()
diff --git a/cmake/libsrtp.cmake b/cmake/libsrtp.cmake
index 5124312d2..01f051606 100644
--- a/cmake/libsrtp.cmake
+++ b/cmake/libsrtp.cmake
@@ -1,3 +1,16 @@
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(LIBSRTP libsrtp2)
+
+if (LIBSRTP_FOUND)
+ add_library(libsrtp INTERFACE EXCLUDE_FROM_ALL)
+ add_library(tg_owt::libsrtp ALIAS libsrtp)
+
+ target_include_directories(libsrtp INTERFACE ${LIBSRTP_INCLUDE_DIRS} ${LIBSRTP_CFLAGS_OTHER})
+ target_link_libraries(libsrtp INTERFACE ${LIBSRTP_LINK_LIBRARIES} ${LIBSRTP_LDFLAGS_OTHER})
+
+ return()
+endif()
+
add_library(libsrtp OBJECT EXCLUDE_FROM_ALL)
init_target(libsrtp)
add_library(tg_owt::libsrtp ALIAS libsrtp)
diff --git a/src/pc/external_hmac.cc b/src/pc/external_hmac.cc
index 27b5d0e5a..222f5d9ae 100644
--- a/src/pc/external_hmac.cc
+++ b/src/pc/external_hmac.cc
@@ -15,7 +15,6 @@
#include "rtc_base/logging.h"
#include "rtc_base/zero_memory.h"
-#include "third_party/libsrtp/include/srtp.h"
// Begin test case 0 */
static const uint8_t kExternalHmacTestCase0Key[20] = {
diff --git a/src/pc/external_hmac.h b/src/pc/external_hmac.h
index c5071fc19..8fdc2f1a7 100644
--- a/src/pc/external_hmac.h
+++ b/src/pc/external_hmac.h
@@ -30,9 +30,12 @@
#include <stdint.h>
-#include "third_party/libsrtp/crypto/include/crypto_types.h"
-#include "third_party/libsrtp/include/srtp.h"
-#include "third_party/libsrtp/include/srtp_priv.h"
+#ifdef HAVE_LIBSRTP
+# include <srtp2/auth.h>
+# include <srtp2/srtp.h>
+#else
+# include "srtp_priv.h"
+#endif
#define EXTERNAL_HMAC_SHA1 SRTP_HMAC_SHA1 + 1
#define HMAC_KEY_LENGTH 20
diff --git a/src/pc/srtp_session.cc b/src/pc/srtp_session.cc
index 7d1aaf2d6..7b5a789b0 100644
--- a/src/pc/srtp_session.cc
+++ b/src/pc/srtp_session.cc
@@ -30,8 +30,12 @@
#include "rtc_base/thread_annotations.h"
#include "rtc_base/time_utils.h"
#include "system_wrappers/include/metrics.h"
-#include "third_party/libsrtp/include/srtp.h"
-#include "third_party/libsrtp/include/srtp_priv.h"
+
+#ifdef HAVE_LIBSRTP
+# include <srtp2/srtp.h>
+#else
+# include "srtp_priv.h"
+#endif
namespace cricket {
@@ -290,6 +294,9 @@ bool SrtpSession::UnprotectRtcp(void* p, int in_len, int* out_len) {
bool SrtpSession::GetRtpAuthParams(uint8_t** key, int* key_len, int* tag_len) {
RTC_DCHECK(thread_checker_.IsCurrent());
RTC_DCHECK(IsExternalAuthActive());
+#ifdef HAVE_LIBSRTP
+ return false;
+#else
if (!IsExternalAuthActive()) {
return false;
}
@@ -313,6 +320,7 @@ bool SrtpSession::GetRtpAuthParams(uint8_t** key, int* key_len, int* tag_len) {
*key_len = external_hmac->key_length;
*tag_len = rtp_auth_tag_len_;
return true;
+#endif
}
int SrtpSession::GetSrtpOverhead() const {
@@ -336,6 +344,9 @@ bool SrtpSession::GetSendStreamPacketIndex(void* p,
int in_len,
int64_t* index) {
RTC_DCHECK(thread_checker_.IsCurrent());
+#ifdef HAVE_LIBSRTP
+ return false;
+#else
srtp_hdr_t* hdr = reinterpret_cast<srtp_hdr_t*>(p);
srtp_stream_ctx_t* stream = srtp_get_stream(session_, hdr->ssrc);
if (!stream) {
@@ -346,6 +357,7 @@ bool SrtpSession::GetSendStreamPacketIndex(void* p,
*index = static_cast<int64_t>(rtc::NetworkToHost64(
srtp_rdbx_get_packet_index(&stream->rtp_rdbx) << 16));
return true;
+#endif
}
bool SrtpSession::DoSetKey(int type,

View file

@ -33,7 +33,7 @@ index 58b8230..b9df98a 100644
panic(err) panic(err)
} }
+ if extraconffile != "" { + if extraconffile != "" {
+ extraconf, err = ioutil.ReadFile(extraconffile); + extraconf, err = os.ReadFile(extraconffile);
+ } + }
+ if err != nil { + if err != nil {
+ panic(err) + panic(err)

View file

@ -172,14 +172,14 @@ different programming languages.")
(define-public fmt-10 (define-public fmt-10
(package (package
(name "fmt") (name "fmt")
(version "10.0.0") (version "10.1.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/fmtlib/fmt/releases/download/" (uri (string-append "https://github.com/fmtlib/fmt/releases/download/"
version "/fmt-" version ".zip")) version "/fmt-" version ".zip"))
(sha256 (sha256
(base32 "10f23avnpad8sakmq514w2bw6cw7xrb30kc3v8k7yn1zbwbcnhs9")))) (base32 "06wxxn9yxw44nskdnpwyl6y4j27ssmw5d3d4rnb03df922imhkmq"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) (arguments '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
(native-inputs (list unzip)) (native-inputs (list unzip))
@ -352,7 +352,7 @@ seen in a terminal.")
(define-public highlight (define-public highlight
(package (package
(name "highlight") (name "highlight")
(version "4.7") (version "4.8")
(outputs (list "out" "gui")) (outputs (list "out" "gui"))
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -360,7 +360,7 @@ seen in a terminal.")
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1cl21qpgy92w1x53vrn1bgq84mkh6fgayc9k38mz4xmz2yw01nv1")) "1iggdw4c8pfz1z1c51fyd6x79y1mnc82b6lfkg3vbb44739m5cjs"))
(patches (search-patches "highlight-gui-data-dir.patch")))) (patches (search-patches "highlight-gui-data-dir.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments

View file

@ -2095,7 +2095,7 @@ cssutils not receiving updates as of 1.0.2.")
(define-public python-cssselect (define-public python-cssselect
(package (package
(name "python-cssselect") (name "python-cssselect")
(version "1.1.0") (version "1.2.0")
(source (origin (source (origin
;; The PyPI release does not contain tests. ;; The PyPI release does not contain tests.
(method git-fetch) (method git-fetch)
@ -2105,13 +2105,8 @@ cssutils not receiving updates as of 1.0.2.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0xslrnhbrmgakp4xg6k26qffay3kqffp3a2z2sk27c65rwxa79kc")))) "1x4nrvb1p1byi1whmspik7lbh303akdlh762dayfxam3hycsh5kk"))))
(build-system python-build-system) (build-system pyproject-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'check
(lambda _
(invoke "pytest" "-vv"))))))
(native-inputs (native-inputs
(list python-lxml python-pytest)) (list python-lxml python-pytest))
(home-page "https://github.com/scrapy/cssselect") (home-page "https://github.com/scrapy/cssselect")
@ -7752,25 +7747,17 @@ GCS, Azure Blob Storage, gzip, bz2, etc.)")
(define-public python-w3lib (define-public python-w3lib
(package (package
(name "python-w3lib") (name "python-w3lib")
(version "1.22.0") (version "2.1.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "w3lib" version)) (uri (pypi-uri "w3lib" version))
(patches (search-patches "python-w3lib-fix-test-failure.patch"))
(sha256 (sha256
(base32 (base32
"1pv02lvvmgz2qb61vz1jkjc04fgm4hpfvaj5zm4i3mjp64hd1mha")))) "1cd4b3w5g3pfccsg79kjj27fwi216ip927rjq7isp8pfjzlp8nzd"))))
(build-system python-build-system) (build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest")))))))
(native-inputs (native-inputs
(list python-pytest python-six)) (list python-pytest))
(home-page "https://github.com/scrapy/w3lib") (home-page "https://github.com/scrapy/w3lib")
(synopsis "Python library of web-related functions") (synopsis "Python library of web-related functions")
(description (description
@ -8052,21 +8039,22 @@ by asyncio.")
(define-public python-parsel (define-public python-parsel
(package (package
(name "python-parsel") (name "python-parsel")
(version "1.6.0") (version "1.8.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "parsel" version)) (uri (pypi-uri "parsel" version))
(sha256 (sha256
(base32 "0yawf9r3r863lwxj0n89i7h3n8xjbsl5b7n6xg76r68scl5yzvvh")))) (base32 "0f8yh30y3961a7kqwcnp4j3s7044ilakykiavc0skwdkr5l8xwmg"))))
(build-system python-build-system) (build-system pyproject-build-system)
(propagated-inputs (propagated-inputs
(list python-cssselect (list python-cssselect
python-jmespath
python-lxml python-lxml
python-six python-typing-extensions
python-w3lib)) python-w3lib))
(native-inputs (native-inputs
(list python-pytest python-pytest-runner)) (list python-psutil python-pytest))
(home-page "https://github.com/scrapy/parsel") (home-page "https://github.com/scrapy/parsel")
(synopsis "Extract data from HTML and XML using XPath and CSS selectors") (synopsis "Extract data from HTML and XML using XPath and CSS selectors")
(description "Parsel is a library to extract and remove data from (description "Parsel is a library to extract and remove data from
@ -8077,36 +8065,29 @@ regular expressions.")
(define-public python-scrapy (define-public python-scrapy
(package (package
(name "python-scrapy") (name "python-scrapy")
(version "2.7.1") (version "2.10.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "Scrapy" version)) (uri (pypi-uri "Scrapy" version))
(sha256 (sha256
(base32 "0kpi3hg2ycs6s8cg41r2zc1axd0rpnps8bnzg7wisjyjaf1l1yih")))) (base32 "03yil4hjn14amx5jnvjfahmm78qqax2664z30xxn0dxmzdspimli"))))
(build-system python-build-system) (build-system pyproject-build-system)
(arguments (arguments
`(#:phases (list #:test-flags
(modify-phases %standard-phases ;; Tests fail with DNS lookup or need a display.
(replace 'check #~(list "-k" (string-append
(lambda* (#:key tests? #:allow-other-keys) "not " (string-join
(when tests? (list "test_SCRAPY_CHECK_set"
(invoke "pytest" "test_check_all_default_contracts"
"-n" (number->string (parallel-job-count)) "test_check_cb_kwargs_contract"
;; These tests fail when run in parallel (see: "test_check_returns_items_contract"
;; https://github.com/scrapy/scrapy/issues/5502). "test_check_returns_requests_contract"
"--ignore" "tests/test_engine.py" "test_check_scrapes_contract"
"--ignore" "tests/test_engine_stop_download_bytes.py" "test_pformat"
"--ignore" "tests/test_engine_stop_download_headers.py" "test_pformat_old_windows"
;; This test require network access. "test_pformat_windows")
"--ignore" "tests/test_command_check.py" " and not ")))))
"-k"
(string-append
;; The followin tests fail for unknown reasons.
"not test_server_set_cookie_domain_suffix_public_private"
" and not test_user_set_cookie_domain_suffix_public_private"
" and not test_pformat")
"tests")))))))
(propagated-inputs (propagated-inputs
(list python-botocore ; Optional: For S3FeedStorage class. (list python-botocore ; Optional: For S3FeedStorage class.
python-cryptography python-cryptography

View file

@ -140,6 +140,7 @@
;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net> ;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net>
;;; Copyright © 2023 Ontje Lünsdorf <ontje.luensdorf@dlr.de> ;;; Copyright © 2023 Ontje Lünsdorf <ontje.luensdorf@dlr.de>
;;; Copyright © 2023 Parnikkapore <poomklao@yahoo.com> ;;; Copyright © 2023 Parnikkapore <poomklao@yahoo.com>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -625,6 +626,25 @@ hierarchy creation, can be initialized with keys, can be initialized from a
dictionary, can be convert to a dictionary, and is ordered by insertion.") dictionary, can be convert to a dictionary, and is ordered by insertion.")
(license license:expat))) (license license:expat)))
(define-public python-dotty-dict
(package
(name "python-dotty-dict")
(version "1.3.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "dotty_dict" version))
(sha256
(base32
"058sah2nyg44xq5wxywlzc3abzcv9fifnlvsflwma9mfp01nw0ab"))))
(build-system pyproject-build-system)
(native-inputs (list python-poetry-core))
(home-page "https://github.com/pawelzny/dotty_dict")
(synopsis "Python library for accessing dictionaries using a dot syntax")
(description "This package provides a library that wraps the traditional
Python dictionaries and provides a syntax to access nested dictionaries values
using a dot syntax, for example: @code{dictionary['deeply.nested.key']}.")
(license license:expat)))
(define-public python-twodict (define-public python-twodict
(package (package
(name "python-twodict") (name "python-twodict")
@ -1171,17 +1191,21 @@ Markdown. All extensions are found under the module namespace of pymdownx.")
(sha256 (sha256
(base32 (base32
"0rv0cbala7ibjbaf6kkcn0mdhqdbajnvlcw0f15gwzfwg10g0z1q")))) "0rv0cbala7ibjbaf6kkcn0mdhqdbajnvlcw0f15gwzfwg10g0z1q"))))
(build-system python-build-system) (build-system pyproject-build-system)
(arguments
;; This single test tries to write to $HOME/.cache/pint.
(list #:test-flags #~'("-k" "not test_auto")))
(native-inputs (native-inputs
(list python-pytest ;for pytest-subtests (list python-dask
python-distributed
python-importlib-metadata
python-pytest ;for pytest-subtests
python-pytest-cov python-pytest-cov
python-pytest-mpl python-pytest-mpl
python-pytest-subtests python-pytest-subtests
python-setuptools-scm python-setuptools-scm
python-sparse python-sparse
python-dask python-xarray))
python-xarray
python-distributed))
(home-page "https://github.com/hgrecco/pint") (home-page "https://github.com/hgrecco/pint")
(synopsis "Physical quantities module") (synopsis "Physical quantities module")
(description (description
@ -2167,6 +2191,30 @@ access to HDF5 files, datasets and groups using established Python and NumPy
concepts.") concepts.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public python-hjson
;; Using commit from master branch as the PyPI version does not contain
;; the hjson/tests/ directory.
(let ((revision "0")
(commit "1687b811fcbbc54b5ac71cfbaa99f805e406fbcb"))
(package
(name "python-hjson")
(version (git-version "3.1.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hjson/hjson-py")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1qfqnhvfx5mm7bdajjnnagmvns1zxyksjzh3k5la2ag6a8bp5gki"))))
(build-system pyproject-build-system)
(home-page "https://github.com/hjson/hjson-py")
(synopsis "Python package to parse HJSON documents")
(description "This package provides a Python library and a command-line
interface utility to parse @url{https://hjson.github.io/, HJSON}) documents.")
(license license:expat))))
(define-public python-hnswlib (define-public python-hnswlib
(package (package
(name "python-hnswlib") (name "python-hnswlib")
@ -4191,6 +4239,26 @@ package.")
"Extras is a set of extensions to the Python standard library.") "Extras is a set of extensions to the Python standard library.")
(license license:expat))) (license license:expat)))
(define-public python-milc
(package
(name "python-milc")
(version "1.6.8")
(source (origin
(method url-fetch)
(uri (pypi-uri "milc" version))
(sha256
(base32
"1pnwdg2653lc82qsv6c0kv9qcydh2f6w5mx5l4227zy1f6kr7b52"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-appdirs python-argcomplete python-colorama
python-halo python-spinners))
(home-page "https://github.com/clueboard/milc")
(synopsis "Python library for command line interface programs")
(description "MILC is a Python library for developing command line
interface programs. This library provides features to parse arguments,
automatic tab-completion, color support, logging to @code{std}, etc.")
(license license:expat)))
(define-public python-mimeparse (define-public python-mimeparse
(package (package
(name "python-mimeparse") (name "python-mimeparse")
@ -7328,14 +7396,14 @@ objects.")
(define-public python-sparse (define-public python-sparse
(package (package
(name "python-sparse") (name "python-sparse")
(version "0.13.0") (version "0.14.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "sparse" version)) (uri (pypi-uri "sparse" version))
(sha256 (sha256
(base32 (base32
"05ar1lhq1yy4nb78s7vpb1wz4ac4kj0r4lrd7yrf23kpmaacjpb8")))) "1600xad37mff46xg80cy6bi3l2n6jm69j7sl19rzdmkcgyijfn2z"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -7347,8 +7415,8 @@ objects.")
(propagated-inputs (propagated-inputs
(list python-numba python-numpy python-scipy)) (list python-numba python-numpy python-scipy))
(native-inputs (native-inputs
(list python-dask python-pytest python-pytest-black (list python-dask python-importlib-metadata python-pytest
python-pytest-cov)) python-pytest-black python-pytest-cov))
(home-page "https://github.com/pydata/sparse/") (home-page "https://github.com/pydata/sparse/")
(synopsis "Library for multi-dimensional sparse arrays") (synopsis "Library for multi-dimensional sparse arrays")
(description (description
@ -21014,13 +21082,13 @@ Mustache templating language renderer.")
(define-public python-duckdb (define-public python-duckdb
(package (package
(name "python-duckdb") (name "python-duckdb")
(version "0.8.0") (version "0.8.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "duckdb" version)) (uri (pypi-uri "duckdb" version))
(sha256 (sha256
(base32 (base32
"13y1gs565q51li5fi9m7fpf0sqns8frsaii6v95acwjhmdds73f6")))) "1sgfmii5xlkbx3hzyjxg80gl2ni1rxpabahl4gww9by2mgs3fkd5"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list (list
@ -22945,6 +23013,57 @@ library.")
(description (description
"This is the Cython-coded accelerator module for PyOpenGL."))) "This is the Cython-coded accelerator module for PyOpenGL.")))
(define-public python-glcontext
(package
(name "python-glcontext")
(version "2.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/moderngl/glcontext")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0zzpwyqg19y600n09xz07cxk4jimh9vjraszda7g7ipijq6iasac"))))
(build-system pyproject-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
(add-before 'build 'fix-lib-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((mesa (assoc-ref inputs "mesa"))
(libx11 (assoc-ref inputs "libx11")))
(substitute* '("glcontext/x11.cpp"
"glcontext/egl.cpp")
(("\"libGL.so\"")
(string-append "\"" mesa "/lib/libGL.so\""))
(("\"libEGL.so\"")
(string-append "\"" mesa "/lib/libEGL.so\""))
(("\"libX11.so\"")
(string-append "\"" libx11 "/lib/libX11.so\"")))
(substitute* '("glcontext/__init__.py")
(("find_library\\('GL'\\)")
(string-append "'" mesa "/lib/libGL.so'"))
(("find_library\\('EGL'\\)")
(string-append "'" mesa "/lib/libEGL.so'"))
(("find_library\\(\"X11\"\\)")
(string-append "'" libx11 "/lib/libX11.so'"))))))
(replace 'check
(lambda* (#:key inputs outputs tests?
#:allow-other-keys)
(when tests?
(system "Xvfb :1 &")
(setenv "DISPLAY" ":1")
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "tests")))))))
(inputs (list libx11 mesa))
(native-inputs (list xorg-server-for-tests python-pytest python-psutil))
(home-page "https://github.com/moderngl/glcontext")
(synopsis "Portable OpenGL Context for ModernGL")
(description "Python-glcontext is a library providing an OpenGL
implementation for ModernGL on multiple platforms.")
(license license:expat)))
(define-public python-rencode (define-public python-rencode
(package (package
(name "python-rencode") (name "python-rencode")
@ -32558,13 +32677,13 @@ message queues for Python.")
(define-public python-itemadapter (define-public python-itemadapter
(package (package
(name "python-itemadapter") (name "python-itemadapter")
(version "0.5.0") (version "0.8.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "itemadapter" version)) (uri (pypi-uri "itemadapter" version))
(sha256 (sha256
(base32 "083wp3h2brh8x19jbdr8rz3biqwp3jlqd0rfzcyrjyhssffsgdh5")))) (base32 "1aa898gjgwy3axxfrgsh4kdvhp6n6wz3ccdishq0gh8azf2q8xbp"))))
(build-system python-build-system) (build-system python-build-system)
(home-page "https://github.com/scrapy/itemadapter") (home-page "https://github.com/scrapy/itemadapter")
(synopsis "Common interface for data container classes") (synopsis "Common interface for data container classes")
@ -32588,14 +32707,15 @@ implementing a pre-defined interface.")
(define-public python-itemloaders (define-public python-itemloaders
(package (package
(name "python-itemloaders") (name "python-itemloaders")
(version "1.0.4") (version "1.1.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "itemloaders" version)) (uri (pypi-uri "itemloaders" version))
(sha256 (sha256
(base32 "15hc78h90qhwass1bga1c3xar2dd6j8sxg61zg6jvh74lf6csxqj")))) (base32 "0j2aw4ipalj208594x80blpgkh1i63gqqa4nb67b823av9hirn11"))))
(build-system python-build-system) (build-system pyproject-build-system)
(native-inputs (list python-pytest))
(propagated-inputs (propagated-inputs
(list python-itemadapter python-jmespath python-parsel python-w3lib)) (list python-itemadapter python-jmespath python-parsel python-w3lib))
(home-page "https://github.com/scrapy/itemloaders") (home-page "https://github.com/scrapy/itemloaders")

View file

@ -32,6 +32,7 @@
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages assembly) #:use-module (gnu packages assembly)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages check) #:use-module (gnu packages check)
@ -43,11 +44,13 @@
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gstreamer) #:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages libusb) #:use-module (gnu packages libusb)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages mp3) #:use-module (gnu packages mp3)
#:use-module (gnu packages nettle) #:use-module (gnu packages nettle)
#:use-module (gnu packages opencl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
@ -113,13 +116,18 @@ to remotely control a user's Windows desktop.")
xmlto)) xmlto))
(inputs (inputs
(list alsa-lib (list alsa-lib
cairo
cups cups
dbus
ffmpeg-4 ffmpeg-4
gsm
lame
libjpeg-turbo libjpeg-turbo
libusb libusb
libx11 libx11
libxkbfile libxkbfile
libxcursor libxcursor
libxdamage
libxext libxext
libxi libxi
libxv libxv
@ -127,6 +135,10 @@ to remotely control a user's Windows desktop.")
libxrender libxrender
libxinerama libxinerama
libxshmfence libxshmfence
opencl-headers
openh264
opensles
openssl
pulseaudio pulseaudio
zlib)) zlib))
(propagated-inputs (list libxkbcommon openssl wayland)) (propagated-inputs (list libxkbcommon openssl wayland))
@ -139,7 +151,10 @@ to remotely control a user's Windows desktop.")
#~()) #~())
"-DWITH_PULSE=ON" "-DWITH_PULSE=ON"
"-DWITH_CUPS=ON" "-DWITH_CUPS=ON"
"-DBUILD_TESTING=ON"))) "-DBUILD_TESTING=ON"
"-DWITH_SERVER=ON" ;build servers
"-DWITH_SHADOW=ON" ;build shadow server
"-DWITH_PROXY=ON")))
(home-page "https://www.freerdp.com") (home-page "https://www.freerdp.com")
(synopsis "Remote Desktop Protocol implementation") (synopsis "Remote Desktop Protocol implementation")
(description "FreeRDP implements Microsoft's Remote Desktop Protocol. (description "FreeRDP implements Microsoft's Remote Desktop Protocol.

View file

@ -1196,13 +1196,13 @@ the @env{RSPEC_DEBUG} environment variable to @samp{true} then invoke the
(define-public bundler (define-public bundler
(package (package
(name "bundler") (name "bundler")
(version "2.4.10") (version "2.4.18")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (rubygems-uri "bundler" version)) (uri (rubygems-uri "bundler" version))
(sha256 (sha256
(base32 (base32
"08d1nj2h4yl6c1bnrwl2pk1kcskpgi6fvyd8fs36lfh68jlnz05r")))) "03ppd60cbwzlrhsidi7frj826ssmxzwd954ikjk7966l45qx5xxn"))))
(build-system ruby-build-system) (build-system ruby-build-system)
(arguments (arguments
'(#:tests? #f)) ; avoid dependency cycles '(#:tests? #f)) ; avoid dependency cycles

View file

@ -555,17 +555,16 @@ in Scheme, and a runtime library which allows Pre-Scheme code to run as Scheme."
(define-public gambit-c (define-public gambit-c
(package (package
(name "gambit-c") (name "gambit-c")
(version "4.9.4") (version "4.9.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"http://www.gambitscheme.org/" "http://www.gambitscheme.org/" version "/gambit-v"
version "/gambit-v"
(string-map (lambda (c) (if (char=? c #\.) #\_ c)) version) (string-map (lambda (c) (if (char=? c #\.) #\_ c)) version)
".tgz")) ".tgz"))
(sha256 (sha256
(base32 "025x8zi9176qwww4d3pk8aj9ab1fpqyxqz26q3v394k6bfk49yqr")))) (base32 "1p61z1rp0ya4i61mq3hzmr67r3xbvi9h058cf9ci2yqfbzdzi3p2"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags '(#:configure-flags

View file

@ -95,14 +95,14 @@
(define-public ccid (define-public ccid
(package (package
(name "ccid") (name "ccid")
(version "1.4.36") (version "1.5.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://ccid.apdu.fr/files/ccid-" (uri (string-append "https://ccid.apdu.fr/files/ccid-"
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1ha9cwxkadx4rs4jj114qzh42qj02x6r8y1mvhcvijhvby4aqwrb")))) "06bjdswbwcwndsn23rsdhz5a7xqsgb66glqnk9lqzd7qws3l94qk"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags (list (string-append "--enable-usbdropdir=" %output `(#:configure-flags (list (string-append "--enable-usbdropdir=" %output

View file

@ -19,43 +19,52 @@
(define-module (gnu packages simh) (define-module (gnu packages simh)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages admin)) #:use-module (guix utils)
#:use-module (gnu packages admin)
#:use-module (gnu packages compression))
(define-public simh (define-public simh
(package (package
(name "simh") (name "simh")
(version "3.9-0") (version "3.12-4")
(source (source
(origin (origin
(method git-fetch) (method url-fetch)
(uri (git-reference (uri (list (string-append
(url "https://github.com/simh/simh") "http://simh.trailing-edge.com/sources/simhv"
(commit (string-append "v" version)))) (string-delete #\. version) ".zip")
(string-append
"http://simh.trailing-edge.com/sources/archive/simhv"
(string-delete #\. version) ".zip")))
(sha256 (sha256
(base32 "1jiq6shj6a9xvzacvmyhxxd6xdyica8q4006qqjh5mh96rxrp15c")) (base32 "1i78c1x8xjiwy9dd2ss0mk3f1v9pmcjb4zc37ikqnjarsfqj2nm0"))))
(file-name (git-file-name name version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs
(list unzip))
(inputs (inputs
(list libpcap)) (list libpcap))
(arguments (arguments
'(#:tests? #f (list #:tests? #f
#:make-flags (list #:make-flags
"LDFLAGS=-lm" #~(list (string-append "GCC=" #$(cc-for-target) " -fcommon"))
(string-append "INCPATH=" #:modules `((ice-9 string-fun)
(assoc-ref %build-inputs "libpcap") ,@%gnu-build-system-modules)
"/include")
(string-append "LIBPATH="
(assoc-ref %build-inputs "libpcap")
"/lib"))
#:phases #:phases
(modify-phases %standard-phases #~(modify-phases %standard-phases
(delete 'configure) (delete 'configure)
(add-before 'build 'prepare-build (add-before 'build 'prepare-build
(lambda _ (lambda _
(substitute* "makefile"
(("LIBPATH:=/usr/lib")
(string-append "LIBPATH:="
(string-replace-substring
(getenv "LIBRARY_PATH") ":" " ")))
(("export LIBRARY_PATH = .*") ""))
(mkdir "BIN"))) (mkdir "BIN")))
(replace 'install (replace 'install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
@ -64,15 +73,14 @@
(lib (string-append out "/lib/simh/"))) (lib (string-append out "/lib/simh/")))
(mkdir-p bin) (mkdir-p bin)
(mkdir-p lib) (mkdir-p lib)
(for-each (for-each (lambda (file)
(lambda (file) (copy-file file
(copy-file file (string-append bin (string-append bin "simh-"
"simh-"
(basename file)))) (basename file))))
(find-files "BIN")) (find-files "BIN"))
(for-each (for-each (lambda (file)
(lambda (file) (copy-file file
(copy-file file (string-append lib (string-append lib
(basename file)))) (basename file))))
(find-files "VAX" "bin$")))))))) (find-files "VAX" "bin$"))))))))
(home-page "http://simh.trailing-edge.com") (home-page "http://simh.trailing-edge.com")

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