Merge branch 'master' into emacs-team
commit
94ca5b4357
|
@ -32,27 +32,7 @@
|
|||
;; Geiser
|
||||
;; This allows automatically setting the `geiser-guile-load-path'
|
||||
;; variable when using various Guix checkouts (e.g., via git worktrees).
|
||||
(eval . (let ((root-dir-unexpanded (locate-dominating-file
|
||||
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)))))))
|
||||
(geiser-repl-per-project-p . t)))
|
||||
|
||||
(c-mode . ((c-file-style . "gnu")))
|
||||
(scheme-mode
|
||||
|
|
|
@ -300,15 +300,10 @@ Geiser allows for interactive and incremental development from within
|
|||
Emacs: code compilation and evaluation from within buffers, access to
|
||||
on-line documentation (docstrings), context-sensitive completion,
|
||||
@kbd{M-.} to jump to an object definition, a REPL to try out your code,
|
||||
and more (@pxref{Introduction,,, geiser, Geiser User Manual}). For
|
||||
convenient Guix development, make sure to augment Guile’s load path so
|
||||
that it finds source files from your checkout:
|
||||
|
||||
@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
|
||||
and more (@pxref{Introduction,,, geiser, Geiser User Manual}). If you
|
||||
allow Emacs to load the @file{.dir-locals.el} file at the root of the
|
||||
project checkout, it will cause Geiser to automatically add the local
|
||||
Guix sources to the Guile load path.
|
||||
|
||||
To actually edit the code, Emacs already has a neat Scheme mode. But in
|
||||
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
|
||||
@email{@var{ISSUE_NUMBER}-done@@debbugs.gnu.org}.
|
||||
|
||||
@menu
|
||||
* Configuring Git::
|
||||
* Sending a Patch Series::
|
||||
* Teams::
|
||||
@end menu
|
||||
|
||||
@node Configuring Git
|
||||
@subsection Configuring Git
|
||||
@cindex git configuration
|
||||
|
@ -1542,10 +1543,10 @@ This section describes how the Guix project tracks its bug reports,
|
|||
patch submissions and topic branches.
|
||||
|
||||
@menu
|
||||
* The Issue Tracker:: The official bug and patch tracker.
|
||||
* Managing Patches and Branches:: How changes to Guix are managed.
|
||||
* Debbugs User Interfaces:: Ways to interact with Debbugs.
|
||||
* Debbugs Usertags:: Tag reports with custom labels.
|
||||
* The Issue Tracker:: The official bug and patch tracker.
|
||||
* Managing Patches and Branches:: How changes to Guix are managed.
|
||||
* Debbugs User Interfaces:: Ways to interact with Debbugs.
|
||||
* Debbugs Usertags:: Tag reports with custom labels.
|
||||
@end menu
|
||||
|
||||
@node The Issue Tracker
|
||||
|
@ -1625,6 +1626,8 @@ information on some builds and substitute availability.
|
|||
@node Debbugs User Interfaces
|
||||
@subsection Debbugs User Interfaces
|
||||
|
||||
@subsubsection Web interface
|
||||
|
||||
A web interface (actually @emph{two} web interfaces!) are available to
|
||||
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://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
|
||||
issues using @file{debbugs.el}, which you can install with:
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@ Copyright @copyright{} 2020 Christine Lemmer-Webber@*
|
|||
Copyright @copyright{} 2021 Joshua Branson@*
|
||||
Copyright @copyright{} 2022, 2023 Maxim Cournoyer@*
|
||||
Copyright @copyright{} 2023 Ludovic Courtès
|
||||
Copyright @copyright{} 2023 Thomas Ieong
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
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.
|
||||
* 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 Kimsufi Server:: Running Guix on a Kimsufi Server.
|
||||
* 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.
|
||||
* 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.
|
||||
* 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 Kimsufi Server:: Running Guix on a Kimsufi Server.
|
||||
* 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.
|
||||
* 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
|
||||
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
|
||||
@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
|
||||
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
|
||||
@section Setting up a bind mount
|
||||
|
||||
|
|
210
doc/guix.texi
210
doc/guix.texi
|
@ -53,7 +53,7 @@ Copyright @copyright{} 2017, 2019, 2020, 2021, 2022, 2023 Maxim Cournoyer@*
|
|||
Copyright @copyright{} 2017–2022 Tobias Geerinckx-Rice@*
|
||||
Copyright @copyright{} 2017 George Clemmer@*
|
||||
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{} 2018 Rutger Helling@*
|
||||
Copyright @copyright{} 2018, 2021 Oleg Pykhalov@*
|
||||
|
@ -2405,6 +2405,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
|
||||
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
|
||||
Guix System in a virtual machine (VM).
|
||||
|
||||
|
@ -14168,6 +14178,16 @@ TeX package:
|
|||
guix import texlive fontspec
|
||||
@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
|
||||
@cindex JSON, import
|
||||
Import package metadata from a local JSON file. Consider the following
|
||||
|
@ -18060,10 +18080,6 @@ administrator's choice; reconfiguring does @emph{not} change their name.
|
|||
@item @code{home-directory}
|
||||
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})
|
||||
Indicates whether the home directory of this account should be created
|
||||
if it does not exist yet.
|
||||
|
@ -31342,7 +31358,7 @@ The port on which to connect to the database.
|
|||
|
||||
@cindex Mumi, Debbugs 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
|
||||
@uref{https://bugs.gnu.org, the GNU instance}. Mumi is a Web server,
|
||||
but it also fetches and indexes mail retrieved from Debbugs.
|
||||
|
@ -32675,7 +32691,7 @@ can run on headless servers. The Xvnc implementations provided by the
|
|||
|
||||
@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
|
||||
display could be made available on a remote machine via the
|
||||
following configuration:
|
||||
|
@ -43941,6 +43957,62 @@ Extra content appended as-is to this @code{Host} block in
|
|||
|
||||
@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
|
||||
|
||||
|
@ -45869,47 +45941,48 @@ will not have the desired effect. @xref{Package Transformation Options,
|
|||
Guix provides packages for the @TeX{}, @LaTeX{}, ConTeXt, LuaTeX, and
|
||||
related typesetting systems, taken from the
|
||||
@uref{https://www.tug.org/texlive/, @TeX{} Live distribution}. However,
|
||||
because @TeX{} Live is so huge and because finding your way in this maze
|
||||
is tricky, we thought that you, dear user, would welcome guidance on how
|
||||
to deploy the relevant packages so you can compile your @TeX{} and
|
||||
@LaTeX{} documents.
|
||||
because @TeX{} Live is so huge and because finding one's way in this
|
||||
maze is tricky, so this section provides some guidance on how to deploy
|
||||
the relevant packages to compile @TeX{} and @LaTeX{} documents.
|
||||
|
||||
@TeX{} Live currently comes in two flavors in Guix:
|
||||
@TeX{} Live currently comes in two mutually exclusive flavors in Guix:
|
||||
|
||||
@itemize
|
||||
@item
|
||||
The ``monolithic'' @code{texlive} package: it comes with @emph{every
|
||||
single @TeX{} Live package} (more than 7,000 of them), but it is huge
|
||||
(more than 4@tie{}GiB for a single package!).
|
||||
single @TeX{} Live package} (roughly 4,200), but it is huge---more than
|
||||
4@tie{}GiB for a single package!
|
||||
|
||||
@item
|
||||
The ``modular'' @samp{texlive-} packages: you start off with
|
||||
a combination of @TeX{} Live @dfn{collections} and
|
||||
@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.
|
||||
A ``modular'' @TeX{} Live distribution, in which you only install the
|
||||
packages, always prefixed with @samp{texlive-}, you need.
|
||||
@end itemize
|
||||
|
||||
We recommend using the modular package set because it is much less
|
||||
resource-hungry. To build your documents, you would use commands such
|
||||
as:
|
||||
So to insist, these two flavors cannot be combined@footnote{No rule
|
||||
without exception! As the monolithic @TeX{} Live does not contain the
|
||||
@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
|
||||
guix shell texlive-scheme-basic texlive-cm-super -- pdflatex doc.tex
|
||||
guix search texlive-\(scheme\|collection\) | recsel -p name,description
|
||||
@end example
|
||||
|
||||
You can quickly end up with unreasonably long command lines though. The
|
||||
solution is to instead write a manifest, for example like this one,
|
||||
which would probably be a reasonable starting point for a French
|
||||
@LaTeX{} user:
|
||||
If needed, you may then complete your system with individual packages,
|
||||
particularly when they belong to a large collection you're not otherwise
|
||||
interested in.
|
||||
|
||||
For instance, the following manifest is a reasonable, yet frugal
|
||||
starting point for a French @LaTeX{} user:
|
||||
|
||||
@lisp
|
||||
(specifications->manifest
|
||||
|
@ -45918,31 +45991,18 @@ which would probably be a reasonable starting point for a French
|
|||
"texlive-scheme-basic"
|
||||
"texlive-collection-latexrecommended"
|
||||
"texlive-collection-fontsrecommended"
|
||||
|
||||
"texlive-babel-french"
|
||||
|
||||
;; PGF/TikZ
|
||||
"texlive-pgf"
|
||||
|
||||
;; Additional font.
|
||||
"texlive-kpfonts"))
|
||||
;; From "latexextra" collection.
|
||||
"texlive-tabularray"
|
||||
;; From "binextra" collection.
|
||||
"texlive-texdoc"))
|
||||
@end lisp
|
||||
|
||||
You can then pass it to any command with the @option{-m} option:
|
||||
|
||||
@example
|
||||
guix shell -m manifest.scm -- pdflatex doc.tex
|
||||
@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:
|
||||
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
|
||||
case, @command{pdflatex} and similar commands tend to fail with obscure
|
||||
error messages along the lines of:
|
||||
|
||||
@example
|
||||
doc.tex: File `tikz.sty' not found.
|
||||
|
@ -45958,7 +46018,7 @@ kpathsea: Running mktexmf phvr7t
|
|||
@end example
|
||||
|
||||
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
|
||||
$ guix search texlive tikz
|
||||
|
@ -45968,11 +46028,11 @@ version: 59745
|
|||
@end example
|
||||
|
||||
In the second case, @command{guix search} turns up nothing. Instead,
|
||||
you can search the @TeX{} Live package database using the @command{tlmgr}
|
||||
command:
|
||||
you can search the @TeX{} Live package database using the
|
||||
@command{tlmgr} command:
|
||||
|
||||
@example
|
||||
$ guix shell texlive-bin -- tlmgr info phvr7t
|
||||
$ tlmgr info phvr7t
|
||||
tlmgr: cannot find package phvr7t, searching for other matches:
|
||||
|
||||
Packages containing `phvr7t' in their title/description:
|
||||
|
@ -45987,32 +46047,10 @@ tex4ht:
|
|||
texmf-dist/tex4ht/ht-fonts/alias/adobe/helvetic/phvr7t.htf
|
||||
@end example
|
||||
|
||||
The file is available in the @TeX{} Live @code{helvetic} package, which is
|
||||
known in Guix as @code{texlive-helvetic}. Quite a ride, but we 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
|
||||
@noindent
|
||||
The file is available in the @TeX{} Live @code{helvetic} package, which
|
||||
is known in Guix as @code{texlive-helvetic}. Quite a ride, but you
|
||||
found it!
|
||||
|
||||
@node Security Updates
|
||||
@chapter Security Updates
|
||||
|
|
|
@ -230,7 +230,7 @@ $(srcdir)/%D%/guix.1: scripts/guix.in $(sub_commands_mans)
|
|||
# source script (the first prerequisite) has been changed. The $(GOBJECTS)
|
||||
# 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.
|
||||
$(srcdir)/%D%/guix-%.1: scripts/guix guix/scripts/%.scm $(GOBJECTS)
|
||||
$(srcdir)/%D%/guix-%.1: guix/scripts/%.scm $(GOBJECTS) scripts/guix
|
||||
-@case '$?' in \
|
||||
*$<*) $(AM_V_P) && set -x || echo " HELP2MAN $@"; \
|
||||
$(gen_man) --output="$@" "guix $*";; \
|
||||
|
|
137
etc/teams.scm.in
137
etc/teams.scm.in
|
@ -6,6 +6,7 @@
|
|||
;;; Copyright © 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
|
||||
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2022 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -39,6 +40,23 @@
|
|||
(guix ui)
|
||||
(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>
|
||||
(make-team id name description members scope)
|
||||
team?
|
||||
|
@ -99,7 +117,7 @@
|
|||
(list "gnu/packages/django.scm"
|
||||
"gnu/packages/jupyter.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/tryton.scm"
|
||||
"guix/build/pyproject-build-system.scm"
|
||||
|
@ -119,7 +137,7 @@ the haskell-build-system."
|
|||
#:scope
|
||||
(list "gnu/packages/dhall.scm"
|
||||
;; Match haskell.scm and haskell-*.scm.
|
||||
(make-regexp "^gnu/packages/haskell(-.+|)\\.scm$")
|
||||
(make-regexp* "^gnu/packages/haskell(-.+|)\\.scm$")
|
||||
"gnu/packages/purescript.scm"
|
||||
"guix/build/haskell-build-system.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
|
||||
the \"texlive\" importer."
|
||||
#:scope (list "gnu/packages/tex.scm"
|
||||
"gnu/packages/texlive.scm"
|
||||
"guix/build/texlive-build-system.scm"
|
||||
"guix/build-system/texlive.scm"
|
||||
"guix/import/texlive.scm"
|
||||
|
@ -185,7 +204,7 @@ the \"texlive\" importer."
|
|||
#:name "Julia team"
|
||||
#:description
|
||||
"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-system/julia.scm")))
|
||||
|
||||
|
@ -214,14 +233,14 @@ importer, and the ocaml-build-system."
|
|||
and the maven-build-system."
|
||||
#:scope
|
||||
(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
|
||||
(make-regexp "^gnu/packages/maven(-.+|)\\.scm$")
|
||||
(make-regexp* "^gnu/packages/maven(-.+|)\\.scm$")
|
||||
"guix/build/ant-build-system.scm"
|
||||
"guix/build/java-utils.scm"
|
||||
"guix/build/maven-build-system.scm"
|
||||
;; The maven directory
|
||||
(make-regexp "^guix/build/maven/")
|
||||
(make-regexp* "^guix/build/maven/")
|
||||
"guix/build-system/ant.scm"
|
||||
"guix/build-system/maven.scm")))
|
||||
|
||||
|
@ -241,7 +260,9 @@ packages (e.g. Astronomy, Chemistry, Math, Physics etc.)"
|
|||
#:name "Emacs team"
|
||||
#:description "The extensible, customizable text editor and its
|
||||
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-utils.scm"
|
||||
"guix/build-system/emacs.scm"
|
||||
|
@ -255,7 +276,7 @@ ecosystem."
|
|||
#:description
|
||||
"Common Lisp and similar languages, Common Lisp packages and the
|
||||
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/lisp-utils.scm"
|
||||
"guix/build-system/asdf.scm")))
|
||||
|
@ -294,7 +315,7 @@ asdf-build-system."
|
|||
(define-team rust
|
||||
(team '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"
|
||||
"guix/build/cargo-build-system.scm"
|
||||
"guix/build/cargo-utils.scm"
|
||||
|
@ -393,9 +414,9 @@ asdf-build-system."
|
|||
"guix/upstream.scm"
|
||||
"guix/utils.scm"
|
||||
"guix/workers.scm"
|
||||
(make-regexp "^guix/platforms/")
|
||||
(make-regexp "^guix/scripts/")
|
||||
(make-regexp "^guix/store/"))))
|
||||
(make-regexp* "^guix/platforms/")
|
||||
(make-regexp* "^guix/scripts/")
|
||||
(make-regexp* "^guix/store/"))))
|
||||
|
||||
(define-team games
|
||||
(team 'games
|
||||
|
@ -423,17 +444,17 @@ asdf-build-system."
|
|||
(team 'translations
|
||||
#:name "Translations"
|
||||
#:scope (list "etc/news.scm"
|
||||
(make-regexp "^po/"))))
|
||||
(make-regexp* "^po/"))))
|
||||
|
||||
(define-team installer
|
||||
(team 'installer
|
||||
#:name "Installer script and system installer"
|
||||
#:scope (list (make-regexp "^gnu/installer(\\.scm$|/)"))))
|
||||
#:scope (list (make-regexp* "^gnu/installer(\\.scm$|/)"))))
|
||||
|
||||
(define-team home
|
||||
(team '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/home-import.scm"
|
||||
"tests/home-services.scm")))
|
||||
|
@ -516,7 +537,7 @@ GLib/GIO, GTK, GStreamer and Webkit."
|
|||
|
||||
(define-member (person "Andreas Enge"
|
||||
"andreas@enge.fr")
|
||||
lxqt science)
|
||||
lxqt science tex)
|
||||
|
||||
(define-member (person "Tobias Geerinckx-Rice"
|
||||
"me@tobias.gr")
|
||||
|
@ -633,8 +654,8 @@ of file names as string."
|
|||
(any (match-lambda
|
||||
((? string? scope)
|
||||
(string=? scope file))
|
||||
((? regexp? scope)
|
||||
(regexp-exec scope file)))
|
||||
((? regexp*? scope)
|
||||
(regexp*-exec scope file)))
|
||||
(team-scope team)))
|
||||
files)
|
||||
(cons team acc)
|
||||
|
@ -664,45 +685,55 @@ TEAMS when a patch is received by Debbugs."
|
|||
name)))
|
||||
(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."
|
||||
(define port* (or port (current-output-port)))
|
||||
(for-each
|
||||
(lambda (member)
|
||||
(format port* "~a~a~%" prefix (member->string member)))
|
||||
(sort-members (team-members team))))
|
||||
(for-each (lambda (member)
|
||||
(format #t "~a~a~%" prefix (member->string member)))
|
||||
(sort-members (team-members team))))
|
||||
|
||||
(define (list-teams)
|
||||
"Print all teams, their scope and their members."
|
||||
(define port* (current-output-port))
|
||||
(define width* (%text-width))
|
||||
(for-each
|
||||
(lambda (team)
|
||||
(format port*
|
||||
"\
|
||||
(define (print-team team)
|
||||
"Print TEAM, a <team> record object."
|
||||
(format #t
|
||||
"\
|
||||
id: ~a
|
||||
name: ~a
|
||||
description: ~a
|
||||
~amembers:
|
||||
"
|
||||
(team-id team)
|
||||
(team-name team)
|
||||
(or (and=> (team-description team)
|
||||
(lambda (text)
|
||||
(string->recutils
|
||||
(fill-paragraph text width*
|
||||
(string-length "description: ")))))
|
||||
"<none>")
|
||||
(match (team-scope team)
|
||||
(() "")
|
||||
(scope (format #f "scope: ~{~s ~}~%" scope))))
|
||||
(list-members team port* "+ ")
|
||||
(newline))
|
||||
(sort
|
||||
(hash-map->list (lambda (key value) value) %teams)
|
||||
(lambda (team1 team2)
|
||||
(string<? (symbol->string (team-id team1))
|
||||
(symbol->string (team-id team2)))))))
|
||||
(team-id team)
|
||||
(team-name team)
|
||||
(or (and=> (team-description team)
|
||||
(lambda (text)
|
||||
(string->recutils
|
||||
(fill-paragraph text (%text-width)
|
||||
(string-length "description: ")))))
|
||||
"<none>")
|
||||
(match (team-scope team)
|
||||
(() "")
|
||||
(scope (format #f "scope:~%~{+ ~a~^~%~}~%"
|
||||
(sort (map (match-lambda
|
||||
((? regexp*? rx)
|
||||
(regexp*-pattern rx))
|
||||
(item item))
|
||||
scope)
|
||||
string<?)))))
|
||||
(list-members team #:prefix "+ ")
|
||||
(newline))
|
||||
|
||||
(define (sort-teams teams)
|
||||
"Sort TEAMS, a list of <team> record objects."
|
||||
(sort teams
|
||||
(lambda (team1 team2)
|
||||
(string<? (symbol->string (team-id team1))
|
||||
(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)
|
||||
|
@ -782,6 +813,8 @@ and REV-END, two git revision strings."
|
|||
(lambda (team-name)
|
||||
(list-members (find-team team-name)))
|
||||
team-names))
|
||||
(("show" . team-names)
|
||||
(list-teams team-names))
|
||||
(anything
|
||||
(format (current-error-port)
|
||||
"Usage: etc/teams.scm <command> [<args>]
|
||||
|
@ -800,6 +833,8 @@ Commands:
|
|||
list-members <team-name>
|
||||
list members belonging to <team-name>
|
||||
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)))
|
||||
|
|
|
@ -162,14 +162,14 @@ owner-writable in HOME."
|
|||
group records) are all available."
|
||||
(define (make-home-directory user)
|
||||
(let ((home (user-account-home-directory user))
|
||||
(home-permissions (user-account-home-directory-permissions user))
|
||||
(pwd (getpwnam (user-account-name user))))
|
||||
(mkdir-p home)
|
||||
|
||||
;; 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))
|
||||
(chmod home home-permissions)))
|
||||
(chmod home #o700)))
|
||||
|
||||
(define system-accounts
|
||||
(filter (lambda (user)
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
#:use-module (gnu services)
|
||||
#:use-module (gnu services dict)
|
||||
#: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)
|
||||
#:re-export (dicod-configuration))
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -23,7 +24,7 @@
|
|||
#:use-module (gnu services configuration)
|
||||
#:use-module (gnu home services)
|
||||
#:use-module (gnu home services shepherd)
|
||||
#:autoload (gnu packages gnupg) (gnupg pinentry)
|
||||
#:autoload (gnu packages gnupg) (gnupg pinentry parcimonie)
|
||||
#:export (home-gpg-agent-configuration
|
||||
home-gpg-agent-configuration?
|
||||
home-gpg-agent-configuration-gnupg
|
||||
|
@ -34,7 +35,16 @@
|
|||
home-gpg-agent-configuration-max-cache-ttl-ssh
|
||||
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?)
|
||||
|
||||
|
@ -148,3 +158,68 @@ agent, with support for handling OpenSSH material."))))
|
|||
managing OpenPGP and optionally SSH private keys. When SSH support is
|
||||
enabled, @command{gpg-agent} acts as a drop-in replacement for OpenSSH's
|
||||
@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.")))
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
#:use-module (gnu services)
|
||||
#:use-module (gnu home services)
|
||||
#:use-module (gnu services syncthing)
|
||||
;; For the 'home-shepherd-service-type' mapping.
|
||||
#:use-module (gnu home services shepherd)
|
||||
#:export (home-syncthing-service-type)
|
||||
#:re-export (syncthing-configuration
|
||||
syncthing-configuration?))
|
||||
|
|
23
gnu/local.mk
23
gnu/local.mk
|
@ -153,6 +153,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/bioinformatics.scm \
|
||||
%D%/packages/bittorrent.scm \
|
||||
%D%/packages/bison.scm \
|
||||
%D%/packages/books.scm \
|
||||
%D%/packages/boost.scm \
|
||||
%D%/packages/bootloaders.scm \
|
||||
%D%/packages/bootstrap.scm \
|
||||
|
@ -912,6 +913,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/apr-skip-getservbyname-test.patch \
|
||||
%D%/packages/patches/ark-skip-xar-test.patch \
|
||||
%D%/packages/patches/arpack-ng-propagate-rng-state.patch \
|
||||
%D%/packages/patches/asli-use-system-libs.patch \
|
||||
%D%/packages/patches/aspell-CVE-2019-25051.patch \
|
||||
%D%/packages/patches/aspell-default-dict-dir.patch \
|
||||
%D%/packages/patches/ath9k-htc-firmware-binutils.patch \
|
||||
|
@ -1180,9 +1182,15 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/gajim-honour-GAJIM_PLUGIN_PATH.patch \
|
||||
%D%/packages/patches/ganeti-disable-version-symlinks.patch \
|
||||
%D%/packages/patches/ganeti-haskell-pythondir.patch \
|
||||
%D%/packages/patches/ganeti-lens-compat.patch \
|
||||
%D%/packages/patches/ganeti-pyyaml-compat.patch \
|
||||
%D%/packages/patches/ganeti-procps-compat.patch \
|
||||
%D%/packages/patches/ganeti-reorder-arbitrary-definitions.patch \
|
||||
%D%/packages/patches/ganeti-relax-dependencies.patch \
|
||||
%D%/packages/patches/ganeti-shepherd-master-failover.patch \
|
||||
%D%/packages/patches/ganeti-shepherd-support.patch \
|
||||
%D%/packages/patches/ganeti-template-haskell-2.17.patch \
|
||||
%D%/packages/patches/ganeti-template-haskell-2.18.patch \
|
||||
%D%/packages/patches/gawk-shell.patch \
|
||||
%D%/packages/patches/gcc-arm-bug-71399.patch \
|
||||
%D%/packages/patches/gcc-arm-link-spec-fix.patch \
|
||||
|
@ -1319,6 +1327,7 @@ dist_patch_DATA = \
|
|||
%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-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/gourmet-sqlalchemy-compat.patch \
|
||||
%D%/packages/patches/gpaste-fix-paths.patch \
|
||||
|
@ -1410,9 +1419,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/imagemagick-WriteTHUMBNAILImage-fix.patch \
|
||||
%D%/packages/patches/inkscape-poppler-compat.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/iputils-libcap-compat.patch \
|
||||
%D%/packages/patches/irrlicht-use-system-libs.patch \
|
||||
%D%/packages/patches/irrlicht-link-against-needed-libs.patch \
|
||||
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
|
||||
|
@ -1601,7 +1608,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
|
||||
%D%/packages/patches/libmemcached-build-with-gcc7.patch \
|
||||
%D%/packages/patches/libmhash-hmac-fix-uaf.patch \
|
||||
%D%/packages/patches/libsigrokdecode-python3.9-fix.patch \
|
||||
%D%/packages/patches/maturin-no-cross-compile.patch \
|
||||
%D%/packages/patches/mecab-variable-param.patch \
|
||||
%D%/packages/patches/memtest86+-build-reproducibly.patch \
|
||||
|
@ -1734,7 +1740,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-sgmllib3k-assertions.patch \
|
||||
%D%/packages/patches/python-telingo-fix-comparison.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/qtdeclarative-5-disable-qmlcache.patch \
|
||||
%D%/packages/patches/qtdeclarative-disable-qmlcache.patch \
|
||||
|
@ -1840,7 +1845,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch \
|
||||
%D%/packages/patches/python-pillow-CVE-2022-45199.patch \
|
||||
%D%/packages/patches/python-pyfakefs-remove-bad-test.patch \
|
||||
%D%/packages/patches/python-pyflakes-test-location.patch \
|
||||
%D%/packages/patches/python-flint-includes.patch \
|
||||
%D%/packages/patches/python-libxml2-utf8.patch \
|
||||
%D%/packages/patches/python-memcached-syntax-warnings.patch \
|
||||
|
@ -1870,7 +1874,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-werkzeug-tests.patch \
|
||||
%D%/packages/patches/python-zeep-Fix-pytest_httpx-test-cases.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.30.patch \
|
||||
%D%/packages/patches/qemu-fix-agent-paths.patch \
|
||||
|
@ -1902,7 +1906,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
|
||||
%D%/packages/patches/rtags-separate-rct.patch \
|
||||
%D%/packages/patches/racket-chez-scheme-bin-sh.patch \
|
||||
%D%/packages/patches/racket-rktboot-riscv64-support.patch \
|
||||
%D%/packages/patches/racket-backport-8.10-rktboot.patch \
|
||||
%D%/packages/patches/racket-rktio-bin-sh.patch \
|
||||
%D%/packages/patches/racket-zuo-bin-sh.patch \
|
||||
%D%/packages/patches/remake-impure-dirs.patch \
|
||||
|
@ -1919,6 +1923,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/ruby-anystyle-fix-dictionary-populate.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-nokogiri.patch \
|
||||
%D%/packages/patches/rustc-1.54.0-src.patch \
|
||||
%D%/packages/patches/rust-1.64-fix-riscv64-bootstrap.patch \
|
||||
%D%/packages/patches/rust-ring-0.16-missing-files.patch \
|
||||
|
@ -1932,6 +1937,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/rust-webbrowser-remove-unsupported-os.patch \
|
||||
%D%/packages/patches/rust-wl-clipboard-rs-newer-wl.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/sbcl-aserve-add-HTML-5-elements.patch \
|
||||
%D%/packages/patches/sbcl-aserve-fix-rfe12668.patch \
|
||||
|
@ -1969,6 +1975,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/source-highlight-gcc-compat.patch \
|
||||
%D%/packages/patches/softhsm-fix-openssl3-tests.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/sphinxbase-fix-doxygen.patch \
|
||||
%D%/packages/patches/sssd-system-directories.patch \
|
||||
|
@ -2090,6 +2097,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/vte-CVE-2012-2738-pt1.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-11-compat.patch \
|
||||
%D%/packages/patches/vtk-7-hdf5-compat.patch \
|
||||
%D%/packages/patches/vtk-7-python-compat.patch \
|
||||
%D%/packages/patches/wacomtablet-add-missing-includes.patch \
|
||||
|
@ -2098,6 +2106,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \
|
||||
%D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.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/wmctrl-64-fix.patch \
|
||||
%D%/packages/patches/wmfire-update-for-new-gdk-versions.patch \
|
||||
|
|
|
@ -385,9 +385,18 @@ interface and is based on GNU Guile.")
|
|||
(base32
|
||||
"0v9ld9gbqdp5ya380fbkdsxa0iqr90gi6yk004ccz3n792nq6wlj"))))
|
||||
(native-inputs (modify-inputs (package-native-inputs shepherd-0.9)
|
||||
(replace "guile-fibers" guile-fibers-1.3)))
|
||||
(replace "guile-fibers"
|
||||
;; Work around
|
||||
;; <https://github.com/wingo/fibers/issues/89>. This
|
||||
;; affects any system without a functional real-time
|
||||
;; clock (RTC), but in practice these are typically Arm
|
||||
;; single-board computers.
|
||||
(if (target-arm?)
|
||||
guile-fibers-1.1
|
||||
guile-fibers-1.3))))
|
||||
(inputs (modify-inputs (package-inputs shepherd-0.9)
|
||||
(replace "guile-fibers" guile-fibers-1.3)))))
|
||||
(replace "guile-fibers"
|
||||
(this-package-native-input "guile-fibers"))))))
|
||||
|
||||
(define-public shepherd shepherd-0.9)
|
||||
|
||||
|
@ -3979,7 +3988,7 @@ you are running, what theme or icon set you are using, etc.")
|
|||
(define-public hyfetch
|
||||
(package
|
||||
(name "hyfetch")
|
||||
(version "1.4.8")
|
||||
(version "1.4.10")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -3989,7 +3998,7 @@ you are running, what theme or icon set you are using, etc.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"127nwgxcq0fs9wavs0sqv8zqdz7yfahw1nr9pgb6z5yjnc5cdcx3"))))
|
||||
"1lf1vrasinda9j6yazznpx54gg5j24xvkjb68dxhby9dg8ql1h87"))))
|
||||
(build-system python-build-system)
|
||||
(arguments (list #:tests? #f)) ;no tests
|
||||
(inputs (list python-typing-extensions))
|
||||
|
@ -4276,6 +4285,28 @@ on systems running the Linux kernel.")
|
|||
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||
(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 Benson’s tcptrack.")
|
||||
(home-page "https://github.com/bchretien/tcptrack")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public masscan
|
||||
(package
|
||||
(name "masscan")
|
||||
|
|
|
@ -1154,38 +1154,6 @@ features, and more.")
|
|||
(substitute* "test/CMakeLists.txt"
|
||||
(("ei_add_test\\(stddeque") "#")))))))))))
|
||||
|
||||
(define-public eigen-for-tensorflow-lite
|
||||
;; This commit was taken from
|
||||
;; tensorflow/lite/tools/cmake/modules/eigen.cmake
|
||||
(let ((commit "d10b27fe37736d2944630ecd7557cefa95cf87c9")
|
||||
(revision "1"))
|
||||
(package (inherit eigen)
|
||||
(name "eigen-for-tensorflow-lite")
|
||||
(version (git-version "3.3.7" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/libeigen/eigen")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"0v8a20cwvwmp3hw4275b37frw33v92z0mr8f4dn6y8k0rz92hrrf"))
|
||||
(file-name (git-file-name name version))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Ther are test failures in the "unsupported" directory, but
|
||||
;; maintainers say it's unsupported anyway, so just skip
|
||||
;; them.
|
||||
'(begin
|
||||
(substitute* "unsupported/CMakeLists.txt"
|
||||
(("add_subdirectory\\(test.*")
|
||||
"# Do not build the tests for unsupported features.\n"))))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments eigen)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(delete 'disable-some-tests))))))))
|
||||
|
||||
(define-public xtensor
|
||||
(package
|
||||
(name "xtensor")
|
||||
|
|
|
@ -442,19 +442,24 @@ waveform until they line up with the proper sounds.")
|
|||
(inputs
|
||||
(list qtbase-5 qtxmlpatterns qtmultimedia-5 qtsvg-5))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "qmake" (string-append "PREFIX=" out)))))
|
||||
(add-after 'install 'wrap-executable
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(plugin-path (getenv "QT_PLUGIN_PATH")))
|
||||
(wrap-program (string-append out "/bin/pencil2d")
|
||||
`("QT_PLUGIN_PATH" ":" prefix (,plugin-path)))
|
||||
#t))))))
|
||||
(list
|
||||
#: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
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "qmake" (string-append "PREFIX=" out)))))
|
||||
(add-after 'install 'wrap-executable
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(plugin-path (getenv "QT_PLUGIN_PATH")))
|
||||
(wrap-program (string-append out "/bin/pencil2d")
|
||||
`("QT_PLUGIN_PATH" ":" prefix (,plugin-path)))))))))
|
||||
(home-page "https://www.pencil2d.org")
|
||||
(synopsis "Make 2D hand-drawn animations")
|
||||
(description
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2019 L p R n d n <guix@lprndn.info>
|
||||
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2023 Ahmad Draidi <a.r.draidi@redscript.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -19,151 +20,149 @@
|
|||
|
||||
(define-module (gnu packages arcan)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages apr)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages ocr)
|
||||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages ruby)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages speech)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages vnc)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
(define-public arcan
|
||||
(let ((commit "b4dd1fbd1938492ff4b269189d3c8524be7450a9")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "arcan")
|
||||
(version (git-version "0.5.5.2" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(file-name (git-file-name name version))
|
||||
(uri (git-reference
|
||||
(url "https://github.com/letoram/arcan")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32 "1pd0avlzc2rig1hd37zbhc7r2s6fjzdhshfg9l9cfzibl7caclyw"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-DCMAKE_C_FLAGS=-fcommon"
|
||||
"-DVIDEO_PLATFORM=egl-dri" "-DBUILTIN_LUA=off"
|
||||
"-DSTATIC_OPENAL=off""-DENABLE_LWA=on"
|
||||
"-DSTATIC_SQLITE3=off" "-DSTATIC_FREETYPE=off"
|
||||
"-DSHMIF_TUI_ACCEL=on")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-cmake-paths
|
||||
(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
|
||||
;; but copying files manually in the right place seems to work too.
|
||||
(add-after 'unpack 'prepare-static-openal
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((arcan-openal (assoc-ref inputs "arcan-openal")))
|
||||
(copy-recursively arcan-openal "external/git/openal"))
|
||||
#t))
|
||||
(add-after 'prepare-static-openal 'generate-man
|
||||
(lambda _
|
||||
(with-directory-excursion "doc"
|
||||
(invoke "ruby" "docgen.rb" "mangen"))
|
||||
#t))
|
||||
(add-before 'configure 'chdir
|
||||
(lambda _
|
||||
(chdir "src")
|
||||
#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))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "ARCAN_APPLBASEPATH")
|
||||
(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)
|
||||
("glib" ,glib)
|
||||
("glu" ,glu)
|
||||
("harfbuzz" ,harfbuzz)
|
||||
("libdrm" ,libdrm)
|
||||
("libusb" ,libusb)
|
||||
("libxkbcommon" ,libxkbcommon)
|
||||
("lua" ,luajit)
|
||||
("lzip" ,lzip)
|
||||
("openal" ,openal)
|
||||
("pcre" ,pcre)
|
||||
("sqlite" ,sqlite)
|
||||
("tesseract-ocr" ,tesseract-ocr)
|
||||
("leptonica" ,leptonica)
|
||||
("vlc" ,vlc)
|
||||
;; To build arcan_lwa, we need a patched version of openal.
|
||||
;; https://github.com/letoram/arcan/wiki/packaging
|
||||
("arcan-openal" ,(origin
|
||||
(method git-fetch)
|
||||
(file-name "arcan-openal-0.5.4")
|
||||
(uri (git-reference
|
||||
(url "https://github.com/letoram/openal")
|
||||
(commit "1c7302c580964fee9ee9e1d89ff56d24f934bdef")))
|
||||
(sha256
|
||||
(base32
|
||||
"0dcxcnqjkyyqdr2yk84mprvkncy5g172kfs6vc4zrkklsbkr8yi2"))))))
|
||||
(native-inputs
|
||||
(list pkg-config ruby)) ; For documentation and testing
|
||||
(home-page "https://arcan-fe.com")
|
||||
(synopsis "Display server, multimedia framework and game engine (egl-dri)")
|
||||
(description "Arcan is a development framework for creating virtually
|
||||
(package
|
||||
(name "arcan")
|
||||
(version "0.6.2.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(file-name (git-file-name name version))
|
||||
(uri (git-reference
|
||||
(url "https://github.com/letoram/arcan")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(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)
|
||||
(arguments
|
||||
(list #:configure-flags #~'("-DBUILD_PRESET=everything"
|
||||
"-DDISTR_TAG='Guix'")
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-paths
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "src/platform/posix/paths.c"
|
||||
(("/usr/local")
|
||||
(assoc-ref outputs "out")))))
|
||||
;; Normally, it tries to fetch patched openal with git
|
||||
;; but copying files manually in the right place seems
|
||||
;; to work too.
|
||||
(add-after 'unpack 'prepare-static-openal
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((arcan-openal (assoc-ref inputs
|
||||
"arcan-openal")))
|
||||
(copy-recursively arcan-openal
|
||||
"external/git/openal")) #t))
|
||||
(add-after 'prepare-static-openal 'generate-man
|
||||
(lambda _
|
||||
(with-directory-excursion "doc"
|
||||
(invoke "ruby" "docgen.rb" "mangen")) #t))
|
||||
(add-before 'configure 'chdir
|
||||
(lambda _
|
||||
(chdir "src") #t)))
|
||||
#:tests? #f))
|
||||
(inputs `(("bash-minimal" ,bash-minimal)
|
||||
("espeak" ,espeak)
|
||||
("ffmpeg" ,ffmpeg)
|
||||
("freetype" ,freetype)
|
||||
("gumbo-parser" ,gumbo-parser)
|
||||
("harfbuzz" ,harfbuzz)
|
||||
("jbig2dec" ,jbig2dec)
|
||||
("leptonica" ,leptonica)
|
||||
("libdrm" ,libdrm)
|
||||
("libjpeg-turbo" ,libjpeg-turbo)
|
||||
("libseccomp" ,libseccomp)
|
||||
("libusb" ,libusb)
|
||||
("libvnc" ,libvnc)
|
||||
("libxkbcommon" ,libxkbcommon)
|
||||
("luajit" ,luajit)
|
||||
("mupdf" ,mupdf)
|
||||
("openal" ,openal)
|
||||
("openjpeg" ,openjpeg)
|
||||
("sdl2" ,sdl2)
|
||||
("sqlite" ,sqlite)
|
||||
("tesseract-ocr" ,tesseract-ocr)
|
||||
("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.
|
||||
;; https://github.com/letoram/arcan/wiki/packaging
|
||||
("arcan-openal"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(file-name "arcan-openal-0.6.2")
|
||||
(uri (git-reference (url
|
||||
"https://github.com/letoram/openal")
|
||||
(commit "0.6.2")))
|
||||
(sha256
|
||||
(base32
|
||||
"0vg3fda47q2dk1n43ijcc64q39z044pa8h6scmfyi22g6r6bfw2z"))))))
|
||||
(native-inputs (list pkg-config ruby)) ;For documentation and testing
|
||||
(home-page "https://arcan-fe.com")
|
||||
(synopsis "Display server, multimedia framework and game engine")
|
||||
(description
|
||||
"Arcan is a development framework for creating virtually
|
||||
anything from user interfaces for specialized embedded applications
|
||||
all the way to full-blown desktop environments. At its heart lies a multimedia
|
||||
engine programmable using Lua.")
|
||||
;; https://github.com/letoram/arcan/blob/master/COPYING
|
||||
(license (list license:gpl2+
|
||||
license:lgpl2.0
|
||||
license:lgpl2.0+
|
||||
license:public-domain
|
||||
license:bsd-3)))))
|
||||
engine with a Lua scripting interface.")
|
||||
;; https://github.com/letoram/arcan/blob/master/COPYING
|
||||
(license (list license:asl2.0
|
||||
license:bsd-3
|
||||
license:cc-by3.0
|
||||
license:expat
|
||||
license:gpl2+
|
||||
license:lgpl2.0
|
||||
license:lgpl2.0+
|
||||
license:public-domain
|
||||
license:silofl1.1
|
||||
license:zlib))))
|
||||
|
||||
(define-public arcan-sdl
|
||||
(package
|
||||
|
@ -185,90 +184,67 @@ engine programmable using Lua.")
|
|||
(synopsis "Combined display server, multimedia framework and game engine (SDL)")))
|
||||
|
||||
(define-public xarcan
|
||||
(let ((commit "8e6ee029388326cfe5cddeffe482eb3702e9b7f3")
|
||||
(revision "1" ))
|
||||
(package
|
||||
(name "xarcan")
|
||||
(version (git-version "0.5.4" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(file-name (git-file-name name version))
|
||||
(uri (git-reference
|
||||
(url "https://github.com/letoram/xarcan")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32 "0zng7cs6733mnf0p6g5wv02981f2sf567n56csax6cmzb8fpamym"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
`("--enable-kdrive" "--enable-xarcan"
|
||||
"--disable-xorg" "--disable-xwayland"
|
||||
"--disable-xnest" "--disable-xvfb"
|
||||
"--enable-glamor" "--enable-glx"
|
||||
"--disable-int10-module" "--enable-ipv6"
|
||||
"--enable-record" "--without-systemd-daemon"
|
||||
"--enable-xcsecurity" "--disable-static"
|
||||
,(string-append "--with-xkb-path="
|
||||
(assoc-ref %build-inputs "xkeyboard-config")
|
||||
"/share/X11/xkb")
|
||||
,(string-append "--with-xkb-bin-directory="
|
||||
(assoc-ref %build-inputs "xkbcomp")
|
||||
"/bin")
|
||||
,(string-append "--with-xkb-output="
|
||||
"/tmp")))) ; FIXME: Copied from xorg
|
||||
(native-inputs
|
||||
(list pkg-config autoconf automake libtool util-macros))
|
||||
(inputs
|
||||
`(("arcan" ,arcan)
|
||||
("font-util" ,font-util)
|
||||
("libdrm" ,libdrm)
|
||||
("libepoxy" ,libepoxy)
|
||||
("libkbfile" ,libxkbfile)
|
||||
("libressl" ,libressl)
|
||||
("libx11" ,libx11)
|
||||
("libxfont2" ,libxfont2)
|
||||
("mesa" ,mesa)
|
||||
("pixman" ,pixman)
|
||||
("xkeyboard-config" ,xkeyboard-config)
|
||||
("xkbcomp" ,xkbcomp)
|
||||
("xorgproto" ,xorgproto)
|
||||
("xtrans" ,xtrans)))
|
||||
(home-page "https://arcan-fe.com")
|
||||
(synopsis "Patched Xserver that bridges connections to Arcan")
|
||||
(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
|
||||
as a window under Arcan.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public arcan-wayland
|
||||
(package
|
||||
(inherit arcan)
|
||||
(name "arcan-wayland")
|
||||
(name "xarcan")
|
||||
(version "0.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(file-name (git-file-name name version))
|
||||
(uri (git-reference
|
||||
(url "https://github.com/letoram/xarcan")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "1z4sf101i2y6rg2vcxfwmp1nkzfa3rw1pp48ym1ds1ka513vy128"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list
|
||||
"-Dglamor=true" "-Dint10=false"
|
||||
"-Dipv6=true"
|
||||
"-Dsystemd_logind=false"
|
||||
|
||||
;; The following arguments were taken from the Xwayland package.
|
||||
|
||||
;; 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")
|
||||
(string-append "-Dxkb_bin_dir=" #$(this-package-input "xkbcomp")
|
||||
"/bin")
|
||||
(format #f "-Dbuilder_string=\"Build ID: ~a ~a\"" #$name #$version))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(list pkg-config autoconf automake libtool util-macros))
|
||||
(inputs
|
||||
(list arcan
|
||||
libseccomp
|
||||
libxkbcommon
|
||||
font-dejavu
|
||||
font-util
|
||||
libdrm
|
||||
libepoxy
|
||||
libtirpc
|
||||
libx11
|
||||
libxfont2
|
||||
libxkbfile
|
||||
libxshmfence
|
||||
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)))
|
||||
openssl
|
||||
pixman
|
||||
xcb-util
|
||||
xcb-util-wm
|
||||
xkbcomp
|
||||
xkeyboard-config
|
||||
xorgproto
|
||||
xtrans))
|
||||
(home-page "https://arcan-fe.com")
|
||||
(synopsis "Patched Xserver that bridges connections to Arcan")
|
||||
(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
|
||||
as a window under Arcan.")
|
||||
(license (list license:bsd-3 license:expat))))
|
||||
|
||||
;; Package was merged into arcan in upstream.
|
||||
(define-public arcan-wayland
|
||||
(deprecated-package "arcan-wayland" arcan))
|
||||
|
|
|
@ -470,20 +470,18 @@ sets, both THUMB and ARM mode.")
|
|||
(define-public intel-xed
|
||||
(package
|
||||
(name "intel-xed")
|
||||
(version "12.0.1")
|
||||
(version "2023.08.21")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/intelxed/xed")
|
||||
(commit version)))
|
||||
(sha256 (base32 "07zfff8zf29c2n0wal87hiqfq3cwcjn80zz78mz0nyjfj09nd39f"))
|
||||
(file-name (git-file-name name version))
|
||||
(patches (search-patches "intel-xed-fix-nondeterminism.patch"))))
|
||||
(commit (string-append "v" version))))
|
||||
(sha256 (base32 "1zv99m5h3n3w6jcpplznq030s5mlwg5llz3vgfwpfl5l8laz1032"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("python" ,python-wrapper)
|
||||
("tcsh" ,tcsh)
|
||||
;; 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
|
||||
;; 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.
|
||||
("mbuild"
|
||||
,(let ((name "mbuild")
|
||||
(version "0.2496"))
|
||||
(version "2022.07.28"))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/intelxed/mbuild")
|
||||
(commit "3de3f0d753c11dbe634bec611d4cc13f74768e4f")))
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"0z8hdhpmk8y5c9429p2yns9daswnffbprni9czkq3vij8f58lkg4"))
|
||||
"0rc9xp202yqw42bwgylwxvfvjr1crdl50qvv8vzfczyvlf4wflcx"))
|
||||
(file-name (git-file-name name version)))))))
|
||||
(outputs '("out" "lib"))
|
||||
(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
|
||||
files.")
|
||||
(license license:bsd-2))))
|
||||
|
||||
|
||||
|
|
|
@ -779,6 +779,9 @@ namespace ARDOUR { const char* revision = \"" version "\" ; const char* date = \
|
|||
libdir "/panners" ":"
|
||||
libdir "/surfaces" ":"
|
||||
libdir "/vamp" "\"]"))))))
|
||||
(add-after 'build 'build-i18n
|
||||
(lambda _
|
||||
(invoke "python" "waf" "i18n")))
|
||||
(add-after 'install 'install-freedesktop-files
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
|
@ -2829,7 +2832,7 @@ implementation of the Open Sound Control (@dfn{OSC}) protocol.")
|
|||
(define-public rtaudio
|
||||
(package
|
||||
(name "rtaudio")
|
||||
(version "5.1.0")
|
||||
(version "5.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -2838,20 +2841,8 @@ implementation of the Open Sound Control (@dfn{OSC}) protocol.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "156c2dgh6jrsyfn1y89nslvaxm4yifmxridsb708yvkaym02w2l8"))))
|
||||
(base32 "189xphhf0winf8b60dx1kk2biz811wk6ps44br7l1lyfhymxcjmi"))))
|
||||
(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
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
(name "avr-binutils")))
|
||||
|
||||
(define avr-gcc
|
||||
(let ((xgcc (cross-gcc "avr" #:xgcc gcc #:xbinutils avr-binutils)))
|
||||
(let ((xgcc (cross-gcc "avr" #:xbinutils avr-binutils)))
|
||||
(package
|
||||
(inherit xgcc)
|
||||
(name "avr-gcc")
|
||||
|
|
|
@ -461,7 +461,8 @@ remain fully idle, saving power and producing less noise.")
|
|||
(inputs
|
||||
(list librsync-0.9))
|
||||
(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)))
|
||||
#:tests? #f ;test input not distributed
|
||||
#:phases
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
|
||||
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2023 Frank Pursel <frank.pursel@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -28,7 +29,103 @@
|
|||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages java)
|
||||
#: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
|
||||
(package
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2154,6 +2154,41 @@ Python.")
|
|||
;; licensed 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
|
||||
(package
|
||||
(name "python-bioframe")
|
||||
|
@ -9756,11 +9791,11 @@ tasks.")
|
|||
(license license:expat))))
|
||||
|
||||
(define-public r-chromunity
|
||||
(let ((commit "09fce8bc12cb84b45a6ea25bf8db6e5b75113d4f")
|
||||
(let ((commit "712e56ccba64e8881dbb203546379a5c3c639bb2")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "r-chromunity")
|
||||
(version (git-version "0.0.1" revision commit))
|
||||
(version (git-version "0.0.2" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -9769,12 +9804,13 @@ tasks.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0lp0h614k8fq6h9gpbylk4chh7q6w4qda8lx03ajrpppxmg7al2d"))))
|
||||
"0sdja11l7bg5rmcbp2cl226cq9qrj3r8kq5lg49zbin83hya27vh"))))
|
||||
(properties `((upstream-name . "chromunity")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-arrow
|
||||
r-biocgenerics
|
||||
r-bsgenome-hsapiens-ucsc-hg38
|
||||
r-data-table
|
||||
r-gchain
|
||||
r-genomicranges
|
||||
|
@ -9786,7 +9822,6 @@ tasks.")
|
|||
r-pbmcapply
|
||||
r-plyr
|
||||
r-r6
|
||||
r-skitools
|
||||
r-zoo))
|
||||
(home-page "https://github.com/mskilab/chromunity")
|
||||
(synopsis "Discovery of communities in Pore-C concatemers")
|
||||
|
@ -17867,7 +17902,7 @@ multiple experimental contexts.")
|
|||
(define-public vbz-compression
|
||||
(package
|
||||
(name "vbz-compression")
|
||||
(version "1.0.1")
|
||||
(version "1.0.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -17879,7 +17914,7 @@ multiple experimental contexts.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1c6wsrnw03vsc5cfp2rdakly5xy55m9chjmy6v685yapdwirdky0"))))
|
||||
"1rn5d98flvjblhj4zjpcdqqh8qlgsh5cmb13i49fnm187p03097z"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
|
|
@ -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)))
|
|
@ -881,7 +881,17 @@ commands part of the U-Boot project, such as Patman.")))
|
|||
(delete 'sanity-check)
|
||||
(add-after 'unpack 'chdir
|
||||
(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))
|
||||
(synopsis "Patch automation tool")
|
||||
(description "Patman is a patch automation script which:
|
||||
|
|
|
@ -118,7 +118,7 @@ makes a few sacrifices to acquire fast full and incremental build times.")
|
|||
(define-public bear
|
||||
(package
|
||||
(name "bear")
|
||||
(version "3.1.2")
|
||||
(version "3.1.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -127,7 +127,7 @@ makes a few sacrifices to acquire fast full and incremental build times.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1iq0ciw3x2awpli4k9mhx80c442xbs70y4g6qpwrirbjw15q33n7"))))
|
||||
(base32 "0z8jzvxmzna7320w3hvmzb1qsv91g9npc5z5j28ncwnn0b74yxnn"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2022 Ekaitz Zarraga <ekaitz@elenq.tech>
|
||||
;;; Copyright © 2022 ( <paren@disroot.org>
|
||||
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
|
||||
;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe>
|
||||
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
|
||||
;;;
|
||||
|
@ -1495,6 +1496,34 @@ string.h, but with a utf8* prefix instead of the str* prefix.")
|
|||
"This package provides a header-only unit testing library for C/C++.")
|
||||
(license license:unlicense))))
|
||||
|
||||
(define-public nsync
|
||||
(package
|
||||
(name "nsync")
|
||||
(version "1.26.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/google/nsync")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qg58kkcbm4zqkql8j5yvrb7fpx09qsf7j93dwqb9s1y69l70kx4"))))
|
||||
(build-system cmake-build-system)
|
||||
(home-page "https://github.com/google/nsync")
|
||||
(synopsis "C library for synchronization primitives")
|
||||
(description
|
||||
"nsync is a C library that exports various synchronization primitives:
|
||||
@enumerate
|
||||
@item locks,
|
||||
@item condition variables,
|
||||
@item run-once initialization,
|
||||
@item waitable counter (useful for barriers),
|
||||
@item waitable bit (useful for cancellation, or other conditions).
|
||||
@end enumerate
|
||||
")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public ispc
|
||||
(package
|
||||
(name "ispc")
|
||||
|
|
|
@ -35,14 +35,14 @@
|
|||
(define-public ccache
|
||||
(package
|
||||
(name "ccache")
|
||||
(version "4.8.2")
|
||||
(version "4.8.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/ccache/ccache/releases/download/v"
|
||||
version "/ccache-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0jba0zr2893gbzg4710f2gbayj33lz618lpflx7nrcd5i3wb6grx"))))
|
||||
(base32 "049b3xhp464w5m1bqi4ripbgyqy7qy31vvk56v5cyj5j23478wz4"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
|
|
|
@ -45,6 +45,8 @@
|
|||
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
|
||||
;;; Copyright © 2023 Zhu Zihao <all_but_last@163.com>
|
||||
;;; 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.
|
||||
;;;
|
||||
|
@ -67,6 +69,7 @@
|
|||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
|
@ -94,6 +97,7 @@
|
|||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#: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 gnu)
|
||||
#:use-module (guix build-system go)
|
||||
|
@ -108,7 +112,7 @@
|
|||
(define-public pict
|
||||
(package
|
||||
(name "pict")
|
||||
(version "3.7.3")
|
||||
(version "3.7.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -118,7 +122,7 @@
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0bpyl0zklw2fyxgynrc7shg0xamw8rr68zmh528niscrpavsmfpi"))))
|
||||
"1f3xpcdwihlxd8lj5clzfiz4rybhzdib95nrsnjfl009gh6gbwh0"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -601,7 +605,7 @@ pattern.")
|
|||
(define-public catch2-3.3
|
||||
(package
|
||||
(name "catch2")
|
||||
(version "3.3.2")
|
||||
(version "3.4.0")
|
||||
(home-page "https://github.com/catchorg/Catch2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
|
@ -611,7 +615,7 @@ pattern.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0m6i3lr0qk303ashjpz5vpwmxf76n5d6s8jq6r6kcy6gph525zmp"))))
|
||||
"1gdfsva6mnd66px85fmm3s65h8qzqnmgbmws2i3nygfav1y8d88f"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -813,6 +817,43 @@ and it supports a very flexible form of test discovery.")
|
|||
has been designed to be fast, light and unintrusive.")
|
||||
(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
|
||||
;; The 0.1.20 release is missing some important fixes.
|
||||
;; XXX: Commit 'e9008dcbd11f43ccac109b0cf2bf98a94e76b449' breaks tests
|
||||
|
|
|
@ -466,7 +466,7 @@ and 32-bit PowerPC architectures.")
|
|||
(package
|
||||
(inherit chez-scheme)
|
||||
(name "chez-scheme-for-racket")
|
||||
(version "9.9.9-pre-release.16")
|
||||
(version "9.9.9-pre-release.17")
|
||||
;; The version should match `scheme-version`.
|
||||
;; See racket/src/ChezScheme/s/cmacros.ss c. line 360.
|
||||
;; It will always be different than the upstream version!
|
||||
|
@ -691,13 +691,7 @@ source.")))
|
|||
#~(invoke
|
||||
(search-input-file (or native-inputs inputs)
|
||||
"/opt/racket-vm/bin/racket")
|
||||
"../rktboot/main.rkt"
|
||||
;; Temporary handling of builds on non-x86 architectures,
|
||||
;; see https://github.com/racket/racket/issues/3948
|
||||
;; Autodetect in rktboot only addresses x86 archs, so far.
|
||||
#$@(let ((m (or (racket-cs-native-supported-system?)
|
||||
(nix-system->pbarch-machine-type))))
|
||||
#~("--machine" #$m))))))))))))
|
||||
"../rktboot/main.rkt"))))))))))
|
||||
(supported-systems
|
||||
(package-supported-systems chez-scheme-for-racket))
|
||||
(home-page "https://github.com/racket/ChezScheme")
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2019-2023 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2023 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -966,42 +967,39 @@ testing.")
|
|||
(name "ungoogled-chromium-wayland")
|
||||
(native-inputs '())
|
||||
(inputs
|
||||
`(("bash" ,bash-minimal)
|
||||
("glibc-locales" ,glibc-utf8-locales)
|
||||
("ungoogled-chromium" ,ungoogled-chromium)))
|
||||
(list bash-minimal glibc-utf8-locales ungoogled-chromium))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
'(#:modules ((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((bash (assoc-ref %build-inputs "bash"))
|
||||
(chromium (assoc-ref %build-inputs "ungoogled-chromium"))
|
||||
(locales (assoc-ref %build-inputs "glibc-locales"))
|
||||
(out (assoc-ref %outputs "out"))
|
||||
(exe (string-append out "/bin/chromium")))
|
||||
(list
|
||||
#:modules '((guix build utils))
|
||||
#:builder
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((bash #$(this-package-input "bash-minimal"))
|
||||
(chromium #$(this-package-input "ungoogled-chromium"))
|
||||
(locales #$(this-package-input "glibc-utf8-locales"))
|
||||
(exe (string-append #$output "/bin/chromium")))
|
||||
|
||||
;; Use a Unicode locale so we can substitute the file below.
|
||||
(setenv "GUIX_LOCPATH" (string-append locales "/lib/locale"))
|
||||
(setlocale LC_ALL "en_US.utf8")
|
||||
;; Use a Unicode locale so we can substitute the file below.
|
||||
(setenv "GUIX_LOCPATH" (string-append locales "/lib/locale"))
|
||||
(setlocale LC_ALL "en_US.utf8")
|
||||
|
||||
(mkdir-p (dirname exe))
|
||||
(symlink (string-append chromium "/bin/chromedriver")
|
||||
(string-append out "/bin/chromedriver"))
|
||||
(mkdir-p (dirname exe))
|
||||
(symlink (string-append chromium "/bin/chromedriver")
|
||||
(string-append #$output "/bin/chromedriver"))
|
||||
|
||||
(call-with-output-file exe
|
||||
(lambda (port)
|
||||
(format port "#!~a
|
||||
(call-with-output-file exe
|
||||
(lambda (port)
|
||||
(format port "#!~a
|
||||
exec ~a --enable-features=UseOzonePlatform --ozone-platform=wayland \
|
||||
--enable-features=WebRTCPipeWireCapturer $@"
|
||||
(string-append bash "/bin/bash")
|
||||
(string-append chromium "/bin/chromium"))))
|
||||
(chmod exe #o555)
|
||||
(string-append bash "/bin/bash")
|
||||
(string-append chromium "/bin/chromium"))))
|
||||
(chmod exe #o555)
|
||||
|
||||
;; Provide the manual and .desktop file.
|
||||
(copy-recursively (string-append chromium "/share")
|
||||
(string-append out "/share"))
|
||||
(substitute* (string-append
|
||||
out "/share/applications/chromium.desktop")
|
||||
((chromium) out))
|
||||
#t))))))
|
||||
;; Provide the manual and .desktop file.
|
||||
(copy-recursively (string-append chromium "/share")
|
||||
(string-append #$output "/share"))
|
||||
(substitute* (string-append
|
||||
#$output "/share/applications/chromium.desktop")
|
||||
((chromium) #$output))))))))
|
||||
|
|
|
@ -46,14 +46,14 @@
|
|||
(define-public drbd-utils
|
||||
(package
|
||||
(name "drbd-utils")
|
||||
(version "9.22.0")
|
||||
(version "9.25.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append "https://pkg.linbit.com/downloads/drbd"
|
||||
"/utils/drbd-utils-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"02zdfd9xg5xdxps2bg9ch3vkrs800whsycazkvgi29p80nihq1vm"))
|
||||
"01vbghs4vyl3jvxkid59bqv73dya98k6jx5zhni2yx2xf8msynvf"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -2290,7 +2290,7 @@ decompression is a little bit slower.")
|
|||
(define-public upx
|
||||
(package
|
||||
(name "upx")
|
||||
(version "4.0.1")
|
||||
(version "4.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -2298,7 +2298,7 @@ decompression is a little bit slower.")
|
|||
version "/upx-" version "-src.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1471nxzrbv8sw2pmxn817q5l40sr0l7v7bpvw829iai95s73q03p"))))
|
||||
"1l273pwa573x9l3izw75cz8ysn2g8w8w3s56rahppa3ya65zg0h5"))))
|
||||
(build-system cmake-build-system)
|
||||
(home-page "https://upx.github.io/")
|
||||
(synopsis "Compression tool for executables")
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
;;; Copyright © 2022, 2023 David Elsing <david.elsing@posteo.net>
|
||||
;;; Copyright © 2022, 2023 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
|
||||
;;; Copyright © 2023 Sughosha <Sughosha@proton.me>
|
||||
;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@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))))
|
||||
(file-name (git-file-name name version))
|
||||
(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)
|
||||
(inputs (list catch2))
|
||||
(home-page "https://chaiscript.com/")
|
||||
(synopsis "Embedded scripting language designed for C++")
|
||||
(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.")
|
||||
(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
|
||||
(package
|
||||
(name "libcutl")
|
||||
|
@ -1949,6 +1983,16 @@ of reading and writing XML.")
|
|||
syntax with variables, conditions, functions and more.")
|
||||
(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
|
||||
(package
|
||||
(name "simdjson")
|
||||
|
@ -2332,6 +2376,29 @@ parsing with only a single memory allocation.")
|
|||
((#:tests? _ #f) #f)))
|
||||
(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
|
||||
(package
|
||||
(name "optionparser")
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -32,14 +32,14 @@
|
|||
(define-public dezyne
|
||||
(package
|
||||
(name "dezyne")
|
||||
(version "2.17.5")
|
||||
(version "2.17.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://dezyne.org/download/dezyne/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "15jhi17f0aqnlznvpf6lkz2y837xkzf8chi9rhhb55920vqf6cgg"))))
|
||||
(base32 "0z019yyvf1ac1l95j29wlayi2gmwa9sjqg31a4r89za1bijmk19k"))))
|
||||
(inputs (list bash-minimal
|
||||
guile-3.0-latest
|
||||
guile-json-4
|
||||
|
|
|
@ -1273,7 +1273,7 @@ nameservers other than libc.")
|
|||
(define-public smartdns
|
||||
(package
|
||||
(name "smartdns")
|
||||
(version "42")
|
||||
(version "43")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1285,18 +1285,43 @@ nameservers other than libc.")
|
|||
((".*SYSTEMDSYSTEMUNITDIR.*") "")))
|
||||
(sha256
|
||||
(base32
|
||||
"17j0h5l7gig6rzk8b9180jwrx5khpnrylacjxvnnpgsi2725k8lq"))))
|
||||
"0s789l6i4yirmarg80mknc1pp65rz01ky9f7gidgclkfcwzz41l3"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;no tests
|
||||
(list #:test-target "test"
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
(string-append "DESTDIR=" #$output)
|
||||
"PREFIX=''")
|
||||
"PREFIX=''"
|
||||
(string-append "VER=" #$version))
|
||||
#: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))
|
||||
(native-inputs (list googletest `(,isc-bind "utils")))
|
||||
(home-page "https://github.com/pymumu/smartdns")
|
||||
(synopsis "Local DNS server")
|
||||
(description
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
|
||||
;; Note - when changing Docker versions it is important to update the versions
|
||||
;; 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
|
||||
(package
|
||||
|
@ -177,7 +177,7 @@ Python without keeping their credentials in a Docker configuration file.")
|
|||
(define-public containerd
|
||||
(package
|
||||
(name "containerd")
|
||||
(version "1.6.6")
|
||||
(version "1.6.22")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -186,7 +186,7 @@ Python without keeping their credentials in a Docker configuration file.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1vsl747i3wyy68j4lp4nprwxadbyga8qxlrk892afcd2990zp5mr"))
|
||||
(base32 "1m31y00sq2m76m1jiq4znws8gxbgkh5adklvqibxiz1b96vvwjk8"))
|
||||
(patches
|
||||
(search-patches "containerd-create-pid-file.patch"))))
|
||||
(build-system go-build-system)
|
||||
|
@ -215,7 +215,12 @@ Python without keeping their credentials in a Docker configuration file.")
|
|||
(("DefaultRuntimeName: \"runc\"")
|
||||
(string-append "DefaultRuntimeName: \""
|
||||
(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"
|
||||
(("DefaultCommand[ \t]*=.*")
|
||||
(string-append "DefaultCommand = \""
|
||||
|
@ -259,9 +264,9 @@ network attachments.")
|
|||
;; 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
|
||||
;; with the version of Docker being used.
|
||||
(let ((commit "f6ccccb1c082a432c2a5814aaedaca56af33d9ea")
|
||||
(let ((commit "3f0048413d95802b9c6c836eba06bfc54f9dbd03")
|
||||
(version (version-major+minor %docker-version))
|
||||
(revision "1"))
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "docker-libnetwork")
|
||||
(version (git-version version revision commit))
|
||||
|
@ -274,7 +279,7 @@ network attachments.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0nxpr0h0smv4n641g41vxibr5r85ixfcvs9cp3c4fc7zvrhjc49s"))
|
||||
"185i5ji7dwkv41zmb8s3d7i5gg72wivcj1l4bhr1lb3a1vy2hcxc"))
|
||||
;; Delete bundled ("vendored") free software source code.
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(delete-file-recursively "vendor"))))
|
||||
|
@ -325,7 +330,7 @@ built-in registry server of Docker.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0hn7fg717rggwk6dbicrwa7aglqp7dp0jp5rvn6p9gfcnrp2w97d"))))
|
||||
(base32 "1q5vc6f5fzzxsvv1kwdky56fr1jiy9199m3vxqh4mz85qr067cmn"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -586,7 +591,7 @@ runcexecutor/executor.go"
|
|||
xz))
|
||||
(native-inputs
|
||||
(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")
|
||||
(description "This package provides a framework to assemble specialized
|
||||
container systems. It includes components for orchestration, image
|
||||
|
@ -607,7 +612,7 @@ provisioning etc.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ksicj4iqvgp9jabd4xmhkf3vax6dwn4f5dsr73bdqj4mf3ahav0"))))
|
||||
(base32 "0qy35vvnl4lf9w6dr9n7yfqvzhzm7m3sl2ai275apbhygwgcsbss"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "github.com/docker/cli"
|
||||
|
|
|
@ -737,6 +737,13 @@ stored and user can review his performance in any time.")
|
|||
version "-source.tgz"))
|
||||
(sha256
|
||||
(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"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
|
|
@ -79,49 +79,48 @@ to take care of the OS-specific details when writing software that uses serial p
|
|||
(license license:lgpl3+)))
|
||||
|
||||
(define-public libsigrokdecode
|
||||
(package
|
||||
(name "libsigrokdecode")
|
||||
(version "0.5.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1h1zi1kpsgf6j2z8j8hjpv1q7n49i3fhqjn8i178rka3cym18265"))
|
||||
(patches
|
||||
(search-patches "libsigrokdecode-python3.9-fix.patch"))))
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'bootstrap
|
||||
(lambda _
|
||||
(invoke "autoconf")
|
||||
(invoke "aclocal")
|
||||
(invoke "automake" "-ac")))
|
||||
(add-after 'build 'build-doc
|
||||
(lambda _
|
||||
(invoke "doxygen")
|
||||
#t))
|
||||
(add-after 'install 'install-doc
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(copy-recursively "doxy/html-api"
|
||||
(string-append (assoc-ref outputs "doc")
|
||||
"/share/doc/libsigrokdecode"))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
(list check doxygen graphviz pkg-config automake autoconf))
|
||||
;; libsigrokdecode.pc lists "python" in Requires.private, and "glib" in Requires.
|
||||
(propagated-inputs
|
||||
(list glib python))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://www.sigrok.org/wiki/Libsigrokdecode")
|
||||
(synopsis "Library providing (streaming) protocol decoding functionality")
|
||||
(description "Libsigrokdecode is a shared library written in C, which provides
|
||||
(let ((commit "e6962b3fe8260382bb9932a1cfdd7ee7090ce267")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "libsigrokdecode")
|
||||
(version (git-version "0.5.3" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sigrokproject/libsigrokdecode")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ik93p6k8hpv8ahchjnmir8paz2w718y1j8pnmrmagjx8vvqd9y6"))))
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'build 'build-doc
|
||||
(lambda _
|
||||
(invoke "doxygen")
|
||||
#t))
|
||||
(add-after 'install 'install-doc
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(copy-recursively "doxy/html-api"
|
||||
(string-append (assoc-ref outputs "doc")
|
||||
"/share/doc/libsigrokdecode"))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
(list check doxygen graphviz pkg-config automake autoconf libtool))
|
||||
;; libsigrokdecode.pc lists "python" in Requires.private, and "glib" in
|
||||
;; Requires.
|
||||
(propagated-inputs
|
||||
(list glib python))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://www.sigrok.org/wiki/Libsigrokdecode")
|
||||
(synopsis
|
||||
"Library providing (streaming) protocol decoding functionality")
|
||||
(description
|
||||
"Libsigrokdecode is a shared library written in C, which provides
|
||||
(streaming) protocol decoding functionality.")
|
||||
(license license:gpl3+)))
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public sigrok-firmware-fx2lafw
|
||||
(package
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -60,6 +60,7 @@
|
|||
#:use-module (gnu packages cdrom)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages containers)
|
||||
#:use-module (gnu packages cross-base)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages digest)
|
||||
|
@ -400,7 +401,7 @@ older games.")
|
|||
;; This is not a patch staging area for DOSBox, but an unaffiliated fork.
|
||||
(package
|
||||
(name "dosbox-staging")
|
||||
(version "0.79.1")
|
||||
(version "0.80.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -409,16 +410,14 @@ older games.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0wdnkz3djjc514hn945fr9g9mnpnvk16fan84ny9g5wxak6dvsqp"))))
|
||||
(base32 "1iqqrw95lpgjbmi777jdl5z1nizxgfy8xwpmy1fasjlb2yh2kp93"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
#~(list
|
||||
;; These both try to git clone subprojects.
|
||||
"-Dunit_tests=disabled" ; gtest
|
||||
"-Duse_mt32emu=false"
|
||||
;; Not packaged.
|
||||
"-Duse_slirp=false")
|
||||
"-Duse_mt32emu=false")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-includes
|
||||
|
@ -426,7 +425,7 @@ older games.")
|
|||
;; This unnecessary file has an encoding error.
|
||||
(delete-file "./src/libs/sdlcd/macosx/SDLOSXCAGuard.h")
|
||||
(substitute* (find-files "." "\\.(cpp|h)")
|
||||
(("^(#include <)(SDL[_.])" _ include file)
|
||||
(("^(#[[:space:]]*include <)(SDL[_.])" _ include file)
|
||||
(string-append include "SDL2/" file))))))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
|
@ -435,9 +434,12 @@ older games.")
|
|||
fluidsynth
|
||||
iir
|
||||
libpng
|
||||
libslirp
|
||||
mesa
|
||||
opusfile
|
||||
(sdl-union (list sdl2 sdl2-net))
|
||||
sdl2
|
||||
sdl2-image
|
||||
sdl2-net
|
||||
speexdsp
|
||||
zlib))
|
||||
(home-page "https://dosbox-staging.github.io")
|
||||
|
|
|
@ -1557,6 +1557,27 @@ send break and throttle transmission speed.")
|
|||
(home-page "https://github.com/wentasah/sterm")
|
||||
(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
|
||||
(package
|
||||
(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>.
|
||||
(package
|
||||
(name "libngspice")
|
||||
(version "40")
|
||||
(version "41")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1985,7 +2006,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
|
|||
"old-releases/" version
|
||||
"/ngspice-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32 "03c9irc44msdpqhbn2fhvb4g0sry8a2qgxl4mbbf557mq1xwl0z3"))))
|
||||
(base32 "1i78im03kx6vp5yml0fiwvqnic8qhczl1893n8zc6l1gblwikqhw"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(;; No tests for libngspice exist.
|
||||
|
@ -2730,7 +2751,7 @@ comments.")))
|
|||
(define-public freecad
|
||||
(package
|
||||
(name "freecad")
|
||||
(version "0.21.0")
|
||||
(version "0.21.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -2739,7 +2760,7 @@ comments.")))
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1i1wv3swnnimmn3kwphb2fcmsc64z96rcg7fhfsgqxcbyrygw6w7"))))
|
||||
(base32 "0qwh6b1s432j5piwgfkphvz0slmxf0m8m8pdr3ny9zna9mghz42k"))))
|
||||
(build-system qt-build-system)
|
||||
(native-inputs
|
||||
(list doxygen
|
||||
|
@ -3113,13 +3134,13 @@ program that can perform mesh processing tasks in batch mode, without a GUI.")
|
|||
(define-public poke
|
||||
(package
|
||||
(name "poke")
|
||||
(version "3.2")
|
||||
(version "3.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/poke/poke-" version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32 "15qd9z3wv7jrdlh6f9hwgni54ssdz8hzrn4lxiacwv1sslfmb3km"))
|
||||
(base32 "0vlm9xcr7rrfli2x4hi2q41nh8vjd2izpz4zd0xwhqshx2flb000"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
;;; Copyright © 2021 Cees de Groot <cg@evrl.com>
|
||||
;;; Copyright © 2022 jgart <jgart@dismail.de>
|
||||
;;; Copyright © 2023 wrobell <wrobell@riseup.net>
|
||||
;;; Copyright © 2023 Tim Johann <t1m@phrogstar.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -27,6 +28,7 @@
|
|||
|
||||
(define-module (gnu packages erlang)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system emacs)
|
||||
#:use-module (guix build-system rebar)
|
||||
|
@ -738,3 +740,75 @@ a git checkout.")
|
|||
(description "This plugin allows running PropEr test suites from within
|
||||
rebar3.")
|
||||
(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)))
|
||||
|
|
|
@ -547,7 +547,7 @@ do so.")
|
|||
(define-public electrum
|
||||
(package
|
||||
(name "electrum")
|
||||
(version "4.4.5")
|
||||
(version "4.4.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -555,7 +555,7 @@ do so.")
|
|||
version "/Electrum-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1gifnb927b51947psbj58c7kdsgncn3d9j7rpk5mls678yf1qd5d"))
|
||||
(base32 "1f0hb8xmqv1j9pf82xpyvxnn2dzmi93rhf0sh0iqakja2pbl4707"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -2237,7 +2237,7 @@ mining.")
|
|||
(define-public p2pool
|
||||
(package
|
||||
(name "p2pool")
|
||||
(version "3.5")
|
||||
(version "3.6.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -2246,7 +2246,7 @@ mining.")
|
|||
(commit (string-append "v" version))
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32 "1brv3lksajnmpf7g01jbx76nax6vlx8231sxb0s33yf76yc481xb"))
|
||||
(sha256 (base32 "0lki6yrzmmpd5hj55m6s71y1cr81lbk1f3h9h70gmm4p4qjrv5f2"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(for-each delete-file-recursively
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
;;; Copyright © 2020, 2021, 2022 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.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.
|
||||
;;;
|
||||
|
@ -34,6 +35,8 @@
|
|||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#: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 (gnu packages)
|
||||
#:use-module (gnu packages admin)
|
||||
|
@ -68,6 +71,7 @@
|
|||
#:use-module (gnu packages polkit)
|
||||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages shells)
|
||||
#:use-module (gnu packages sqlite)
|
||||
|
@ -1210,3 +1214,24 @@ AR100.")
|
|||
|
||||
(define-public crust-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)))
|
||||
|
|
|
@ -230,8 +230,7 @@ firmware from it.")
|
|||
(snippet
|
||||
`(begin
|
||||
;; Remove example flash files and teensy rebooter flash binaries.
|
||||
(for-each delete-file (find-files "." "\\.(elf|hex)$"))
|
||||
#t))
|
||||
(for-each delete-file (find-files "." "\\.(elf|hex)$"))))
|
||||
(patches (search-patches "teensy-loader-cli-help.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -244,10 +243,8 @@ firmware from it.")
|
|||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(install-file "teensy_loader_cli" bin)
|
||||
#t))))))
|
||||
(inputs
|
||||
(list libusb-compat))
|
||||
(install-file "teensy_loader_cli" bin)))))))
|
||||
(inputs (list libusb-compat)) ;only compatible with libusb 0.1
|
||||
(synopsis "Command line firmware uploader for Teensy development boards")
|
||||
(description
|
||||
"The Teensy loader program communicates with your Teensy board when the
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;;; Copyright © 2014, 2017 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014 Joshua Grant <tadni@riseup.net>
|
||||
;;; 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, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name>
|
||||
|
@ -43,7 +43,7 @@
|
|||
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
||||
;;; Copyright © 2021-2023 Paul A. Patience <paul@apatience.com>
|
||||
;;; 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 © 2021 Wamm K. D. <jaft.r@outlook.com>
|
||||
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
|
||||
|
@ -57,6 +57,7 @@
|
|||
;;; Copyright © 2023 Arnaud Lechevallier <arnaud.lechevallier@free.fr>
|
||||
;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
|
||||
;;; Copyright © 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
;;; Copyright © 2023 chris <chris@bumblehead.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -98,6 +99,7 @@
|
|||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public font-artifika
|
||||
|
@ -1175,6 +1177,60 @@ It contains the following fonts and styles:
|
|||
@end enumerate\n")
|
||||
(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
|
||||
(package
|
||||
(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.")
|
||||
(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
|
||||
(package
|
||||
(name "font-sarasa-gothic")
|
||||
(version "0.41.6")
|
||||
(version "0.41.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1866,7 +1952,7 @@ programming. Iosevka is completely generated from its source code.")
|
|||
"/releases/download/v" version
|
||||
"/sarasa-gothic-ttc-" version ".7z"))
|
||||
(sha256
|
||||
(base32 "1l238rx9nw6acxy5k5b7bjd8br8cnivdlyly7r20w1b36gscl878"))))
|
||||
(base32 "0m2c3g8c6wxgyyvmraln4bx0qn949j9rin593s1c01hzah435cac"))))
|
||||
(build-system font-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
|
@ -2004,20 +2090,41 @@ emphasis while still being readable.")
|
|||
(license license:silofl1.1)))
|
||||
|
||||
(define-public font-openmoji
|
||||
(package
|
||||
(let ((commit "93f059dfb68401d49beaef7a3e09b80072b51a1f")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "font-openmoji")
|
||||
(version "13.1.0")
|
||||
(version (git-version "14.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch/zipbomb)
|
||||
(uri
|
||||
(string-append "https://github.com/hfg-gmuend/openmoji/"
|
||||
"releases/download/" version
|
||||
"/openmoji-font.zip"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/hfg-gmuend/openmoji/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xmy3hr38v03f1riwxmxdibb7iwj0qz288inqaha3pwq7pj7ln45"))))
|
||||
"16w4lg2y6qzb45j08l7cdwprjhprsm11jsm6nxzxwy2wzykd7gxk"))))
|
||||
(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
|
||||
(list unzip))
|
||||
(home-page "https://openmoji.org")
|
||||
|
@ -2025,7 +2132,7 @@ emphasis while still being readable.")
|
|||
(description
|
||||
"This package provides the OpenMoji font in both color and black
|
||||
variants.")
|
||||
(license license:cc-by-sa4.0)))
|
||||
(license license:cc-by-sa4.0))))
|
||||
|
||||
(define-public font-dosis
|
||||
(package
|
||||
|
@ -3085,7 +3192,7 @@ dialects in Hong Kong and Taiwan.")))
|
|||
(define-public font-chiron-sung-hk
|
||||
(package
|
||||
(name "font-chiron-sung-hk")
|
||||
(version "1.008")
|
||||
(version "1.010")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -3094,7 +3201,7 @@ dialects in Hong Kong and Taiwan.")))
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"19rabzmy4ywam4r5kgnqbgbmqzvhsagzddbyis5iicc6y8jrmd1j"))))
|
||||
"065p1gc5xjwc4kfw8bqpsbhaf1p4w0k4l0j04vjsjhcl4k9vyvfz"))))
|
||||
(build-system font-build-system)
|
||||
(home-page "https://chiron-fonts.github.io/")
|
||||
(synopsis "Traditional Chinese Song typeface")
|
||||
|
@ -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
|
||||
interfaces.")
|
||||
(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+)))
|
||||
|
|
|
@ -841,7 +841,7 @@ converter from FontForge’s @acronym{SFD, Spline Font Database} fonts to
|
|||
(define-public python-skia-pathops
|
||||
(package
|
||||
(name "python-skia-pathops")
|
||||
(version "0.7.2")
|
||||
(version "0.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -849,7 +849,7 @@ converter from FontForge’s @acronym{SFD, Spline Font Database} fonts to
|
|||
(modules '((guix build utils)))
|
||||
(snippet '(delete-file-recursively "src/cpp")) ;140+ MiB of stuff
|
||||
(sha256
|
||||
(base32 "1456rclfn6a01c2cchlgyn166zppcjcqij0k5gwmm8gvzsd5rn0r"))))
|
||||
(base32 "1vlwl1w6sn8c78fsh1w549n3lk9v3v9hcp866vrsdr4byb7g2ani"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -65,6 +65,7 @@
|
|||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages compression)
|
||||
|
@ -705,6 +706,60 @@ development of visual novels, written on top of Guile-SDL2. It is still
|
|||
experimental.")
|
||||
(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
|
||||
(package
|
||||
(name "sfml")
|
||||
|
|
|
@ -5002,6 +5002,92 @@ Transport Tycoon Deluxe.")
|
|||
"openrct2-objects is a set of objects for OpenRCT2.")
|
||||
(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
|
||||
(package
|
||||
(name "openrct2")
|
||||
|
@ -5579,7 +5665,7 @@ in-window at 640x480 resolution or fullscreen.")
|
|||
(lambda _
|
||||
(substitute* "lib/framework/wzstring.cpp"
|
||||
(("<utfcpp/source/utf8.h>")
|
||||
"<utf8.h>"))))
|
||||
"<utf8cpp/utf8.h>"))))
|
||||
(add-after 'unpack 'link-tests-with-qt
|
||||
(lambda _
|
||||
(substitute* "tests/Makefile.am"
|
||||
|
|
|
@ -162,6 +162,19 @@ written in C, C++, Ada, Objective-C, Pascal and more.")
|
|||
;; The "default" version.
|
||||
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
|
||||
(package/inherit gdb-12
|
||||
(name "gdb-minimal")
|
||||
|
|
|
@ -1481,6 +1481,57 @@ to create databases that are optimized for rendering/tile/map-services.")
|
|||
license:bsd-2
|
||||
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
|
||||
(package
|
||||
(name "libosmium")
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages elf)
|
||||
|
@ -1255,26 +1256,37 @@ programming language. It also provides the @command{dbusxx-xml2cpp} and
|
|||
(define-public dbus-cxx
|
||||
(package
|
||||
(name "dbus-cxx")
|
||||
(version "0.12.0")
|
||||
(version "2.4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/dbus-cxx/dbus-cxx/"
|
||||
version "/dbus-cxx-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dbus-cxx/dbus-cxx")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1acsgpkd9v7b9jdc79ijmh9dbdfrzgkwkaff518i3zpk7y6g5mzw"))))
|
||||
"0c9q2bjs4m66zq0qysyip8fnkvvjpj46rkjcvw15nhmfhzbq16ag"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(delete-file-recursively "tools/libcppgenerate"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-DENABLE_TESTS=ON"
|
||||
"-DENABLE_TOOLS=ON"
|
||||
"-DENABLE_GLIBMM=ON")))
|
||||
(inputs (list dbus
|
||||
libsigc++
|
||||
glibmm
|
||||
python
|
||||
popt
|
||||
expat))
|
||||
(native-inputs (list pkg-config m4))
|
||||
(list #:configure-flags #~(list "-DBUILD_TESTING=ON"
|
||||
"-DENABLE_TOOLS=ON"
|
||||
"-DENABLE_GLIB_SUPPORT=ON"
|
||||
"-DTOOLS_BUNDLED_CPPGENERATE=OFF")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; 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")
|
||||
(description "Dbus-cxx is a C++ wrapper for dbus.\n
|
||||
It exposes the C API to allow direct manipulation and
|
||||
|
@ -1288,7 +1300,7 @@ This package provide 2 utils:
|
|||
Some codes examples can be find at:
|
||||
@url{https://dbus-cxx.github.io/examples.html}")
|
||||
(home-page "https://dbus-cxx.github.io/")
|
||||
(license license:gpl3)))
|
||||
(license (list license:lgpl3+ license:bsd-3)))) ;dual licensed
|
||||
|
||||
(define-public sdbus-c++
|
||||
;; Use the latest commit, which includes unreleased fixes to the pkg-config
|
||||
|
|
|
@ -240,6 +240,39 @@ simple and consistent.")
|
|||
and a few extra features.")
|
||||
(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
|
||||
(package
|
||||
(name "flat-remix-icon-theme")
|
||||
|
@ -451,7 +484,7 @@ takes advantage of modern hardware using OpenGL.")
|
|||
(define-public portfolio
|
||||
(package
|
||||
(name "portfolio")
|
||||
(version "0.9.14")
|
||||
(version "1.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -460,7 +493,7 @@ takes advantage of modern hardware using OpenGL.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0h09v8lhz3kv6qmwjhx3gr7rp6ccfhrzm54gjnaixl4dcg9zddls"))))
|
||||
"1ai9mx801m5lngkljg42vrpvhbvc3071sp4jypsvbzw55hxnn5ba"))))
|
||||
(arguments
|
||||
(list #:glib-or-gtk? #t
|
||||
#:imported-modules `(,@%meson-build-system-modules
|
||||
|
@ -475,6 +508,10 @@ takes advantage of modern hardware using OpenGL.")
|
|||
(with-directory-excursion (string-append #$output
|
||||
"/bin")
|
||||
(symlink "dev.tchx84.Portfolio" "portfolio"))))
|
||||
(add-after 'unpack 'skip-gtk-update-icon-cache
|
||||
(lambda _
|
||||
(substitute* "build-aux/meson/postinstall.py"
|
||||
(("gtk-update-icon-cache") "true"))))
|
||||
(add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(wrap-program (search-input-file outputs
|
||||
|
@ -486,12 +523,12 @@ takes advantage of modern hardware using OpenGL.")
|
|||
`("GI_TYPELIB_PATH" =
|
||||
(,(getenv "GI_TYPELIB_PATH")))))))))
|
||||
(build-system meson-build-system)
|
||||
(inputs (list bash-minimal python-pygobject gtk+ libhandy))
|
||||
(inputs (list bash-minimal python-pygobject gtk libadwaita))
|
||||
(native-inputs
|
||||
(list desktop-file-utils
|
||||
gettext-minimal
|
||||
`(,glib "bin")
|
||||
`(,gtk+ "bin")
|
||||
pkg-config
|
||||
python))
|
||||
(home-page "https://github.com/tchx84/Portfolio")
|
||||
(synopsis "Minimalist file manager for Linux mobile devices")
|
||||
|
|
|
@ -11430,7 +11430,7 @@ and uncluttered interface for the management of password databases.")
|
|||
(define-public sound-juicer
|
||||
(package
|
||||
(name "sound-juicer")
|
||||
(version "3.38.0")
|
||||
(version "3.40.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -11439,15 +11439,25 @@ and uncluttered interface for the management of password databases.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08d5d81rz9sj3m5paw8fwbgxmhlbr7bcjdzpmzj832qvg8smydxf"))))
|
||||
"1rhxmvx2mr22zd5p0azc0svi0mbnzcjnh3sasv3b9gli8ds85s1f"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:glib-or-gtk? #t
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-gtk-update-icon-cache
|
||||
(lambda _
|
||||
(setenv "DESTDIR" "/"))))))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-gtk-update-icon-cache
|
||||
(lambda _
|
||||
(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
|
||||
(list desktop-file-utils
|
||||
gettext-minimal
|
||||
|
@ -11457,7 +11467,8 @@ and uncluttered interface for the management of password databases.")
|
|||
pkg-config
|
||||
python))
|
||||
(inputs
|
||||
(list brasero
|
||||
(list bash-minimal
|
||||
brasero
|
||||
gsettings-desktop-schemas
|
||||
gst-plugins-base
|
||||
gst-plugins-good
|
||||
|
|
|
@ -518,9 +518,9 @@ variable defined below. It requires guile-json to be installed."
|
|||
;; XXXX: Workaround 'snippet' limitations.
|
||||
(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-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
|
||||
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
|
||||
|
@ -540,12 +540,12 @@ variable defined below. It requires guile-json to be installed."
|
|||
"firefox-" upstream-firefox-version ".source.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1vpglmqm97ac3rs273qv7kldkrkawyhdnwwqhvyjqiwaq20m1f0s"))))
|
||||
"1bs6hxfsb77cbi238wvizq2iw4mlgz29m0sd027sz8zm1025kyl1"))))
|
||||
|
||||
;; The upstream-icecat-base-version may be older than the
|
||||
;; %icecat-base-version.
|
||||
(upstream-icecat-base-version "102.14.0")
|
||||
(gnuzilla-commit "ac19d793c76732f9e5623e25fbf31287255a4ae7")
|
||||
(upstream-icecat-base-version "102.15.0")
|
||||
(gnuzilla-commit "400fbfdbc0c1ac9c68c9f52fd2ab6899bc8e8bd0")
|
||||
(gnuzilla-source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -557,7 +557,7 @@ variable defined below. It requires guile-json to be installed."
|
|||
(string-take gnuzilla-commit 8)))
|
||||
(sha256
|
||||
(base32
|
||||
"0fghxy6d4102i4fsyj5x74v6q94kdfbszmirjbd63wlw1d8sy3cs"))))
|
||||
"1fqrf94a5vnjq56zyyxlc1zsvbblgmzcks760nj1szpws4y91m8r"))))
|
||||
|
||||
;; 'search-patch' returns either a valid file name or #f, so wrap it
|
||||
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
|
||||
|
@ -1138,8 +1138,8 @@ standards of the IceCat project.")
|
|||
"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"))
|
||||
|
||||
(define %icedove-build-id "20230705000000") ;must be of the form YYYYMMDDhhmmss
|
||||
(define %icedove-version "102.13.0")
|
||||
(define %icedove-build-id "20230830000000") ;must be of the form YYYYMMDDhhmmss
|
||||
(define %icedove-version "102.15.0")
|
||||
|
||||
;; Provides the "comm" folder which is inserted into the icecat source.
|
||||
;; Avoids the duplication of Icecat's source tarball.
|
||||
|
@ -1148,11 +1148,11 @@ standards of the IceCat project.")
|
|||
(method hg-fetch)
|
||||
(uri (hg-reference
|
||||
(url "https://hg.mozilla.org/releases/comm-esr102")
|
||||
(changeset "2bf94c4d195694485df5d632f2453888cf4f6657")))
|
||||
(changeset "ac0b189e3bc07ee798d5ed84e99f874bc72204a6")))
|
||||
(file-name (string-append "thunderbird-" %icedove-version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nzbvw1n6wdjbsq0cvyq8av2xf775cp4gkvsjc7i5qzvhl84wg4l"))))
|
||||
"0705grqr906rw3ps32yiw4d5iaiwlql8a1ikhr43k546szypn3wg"))))
|
||||
|
||||
(define (comm-source->locales+changeset source)
|
||||
"Given SOURCE, a checkout of the Thunderbird 'comm' component, return the
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
|
||||
;;; Copyright © 2021, 2022 Ricardo Wurmus <rekado@elephly.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 Raghav Gururajan <rg@raghavgururajan.name>
|
||||
;;; Copyright © 2021 jgart <jgart@dismail.de>
|
||||
|
@ -74,6 +74,7 @@
|
|||
#:use-module (gnu packages base)
|
||||
#:use-module ((gnu packages bootstrap) #:select (glibc-dynamic-linker))
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnupg)
|
||||
|
@ -2112,6 +2113,54 @@ lists (Apple XML, Apple Binary, OpenStep, and GNUStep) from/to arbitrary Go
|
|||
types.")
|
||||
(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
|
||||
(package
|
||||
(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.")
|
||||
(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
|
||||
(package
|
||||
(name "go-torproject-org-pluggable-transports-goptlib")
|
||||
|
@ -3135,6 +3310,55 @@ web framework
|
|||
sunset times from geographical coordinates and a date.")
|
||||
(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
|
||||
(let ((commit "fe3043f73e415eb82727701d10f2fb40f87675e9")
|
||||
(revision "0"))
|
||||
|
@ -3420,6 +3644,32 @@ per-goroutine.")
|
|||
(description "The @code{walker} function is a faster, parallel version, of
|
||||
@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
|
||||
(package
|
||||
(name "go-github-com-tdewolff-minify-v2")
|
||||
|
@ -3435,11 +3685,24 @@ per-goroutine.")
|
|||
"0h006wpfkl0ls0skqxblwcanrhmphgq5q0ii26l2ayh7s99cgmy3"))))
|
||||
(build-system go-build-system)
|
||||
(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
|
||||
(list go-github-com-tdewolff-parse-v2))
|
||||
(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")
|
||||
(synopsis "Go minifiers for web formats")
|
||||
(description
|
||||
|
@ -3462,9 +3725,22 @@ an interface to implement any other minifier.")
|
|||
"1dqki9ima079k9a3l72igmx5dml8qsl9z8rzw8a433f4gjhlv320"))))
|
||||
(build-system go-build-system)
|
||||
(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
|
||||
(list go-github-com-tdewolff-test))
|
||||
(list go-github-com-tdewolff-hasher
|
||||
go-github-com-tdewolff-test))
|
||||
(home-page "https://github.com/tdewolff/parse")
|
||||
(synopsis "Go parsers for web formats")
|
||||
(description
|
||||
|
@ -5263,6 +5539,54 @@ run programs as a service using a variety of supervisors, including systemd,
|
|||
SysVinit, and more.")
|
||||
(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
|
||||
(let ((commit "325b0804fef3a66309d962357aac3c2ce3f4d329")
|
||||
(revision "0"))
|
||||
|
@ -6225,6 +6549,57 @@ trivial @command{big.Int} encoding benchmark results in 6 times faster
|
|||
encoding and 8 times faster decoding.")
|
||||
(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
|
||||
(let ((commit "d9f6b97f8db22dd1e090fd0bbbe98f09cc7dd0a8")
|
||||
(revision "0"))
|
||||
|
@ -7293,6 +7668,29 @@ non-UTF-friendly sources.")
|
|||
encoding in Go.")
|
||||
(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
|
||||
(let ((commit "aaadc574a6ed8dc3abe56036ca130dcee1ee6b6e")
|
||||
(version "1.1.2")
|
||||
|
@ -9002,6 +9400,30 @@ the library more lightweight.")
|
|||
matching and globbing with support for \"doublestar\" patterns.")
|
||||
(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
|
||||
(package
|
||||
(name "go-github-com-dlclark-regexp2")
|
||||
|
@ -9861,6 +10283,29 @@ extensions.")
|
|||
for color and styles.")
|
||||
(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
|
||||
(package
|
||||
(name "go-github-com-kevinburke-ssh-config")
|
||||
|
@ -11893,7 +12338,7 @@ dependencies and a simple API.")
|
|||
(define-public go-github-com-arceliar-ironwood
|
||||
(package
|
||||
(name "go-github-com-arceliar-ironwood")
|
||||
(version "0.0.0-20210912013146-c2bc55bb349c")
|
||||
(version "0.0.0-20221115123222-ec61cea2f439")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -11903,7 +12348,7 @@ dependencies and a simple API.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1dfkqnkfxwlwcsk8g9r1pv84lfzgn8r1vam13zlmk81cgan2r6fx"))))
|
||||
"0jdfhsr1yci0a4fpf2pmh9n4d7iryjx12y3549gv9nfjf91rs225"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/Arceliar/ironwood"
|
||||
|
|
|
@ -57,6 +57,7 @@
|
|||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-compression)
|
||||
#:use-module (gnu packages python-science)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
|
@ -624,7 +625,7 @@ transformed into common image formats for display or printing.")
|
|||
(define-public python-graph-tool
|
||||
(package
|
||||
(name "python-graph-tool")
|
||||
(version "2.46")
|
||||
(version "2.57")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -632,7 +633,7 @@ transformed into common image formats for display or printing.")
|
|||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0x9jgnq9xcja3q954y7nhdzd374p4h203pymxh51b6lqqbq0hm9h"))))
|
||||
"0wmvzx509lvigja6cfxh45r4b7wns64vmik0x4rz4y4fnxrhw2m2"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:imported-modules (,@%gnu-build-system-modules
|
||||
|
@ -656,7 +657,11 @@ transformed into common image formats for display or printing.")
|
|||
python-wrapper
|
||||
sparsehash))
|
||||
(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")
|
||||
(description "Graph-tool is an efficient Python module for manipulation
|
||||
and statistical analysis of graphs (a.k.a. networks). Contrary to most other
|
||||
|
|
|
@ -83,6 +83,7 @@
|
|||
#:use-module (gnu packages gstreamer)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages haskell-xyz)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages image-processing)
|
||||
#:use-module (gnu packages imagemagick)
|
||||
|
@ -1414,7 +1415,7 @@ virtual reality, scientific visualization and modeling.")
|
|||
(define-public gr-framework
|
||||
(package
|
||||
(name "gr-framework")
|
||||
(version "0.58.1")
|
||||
(version "0.69.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1423,12 +1424,11 @@ virtual reality, scientific visualization and modeling.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0q1rz4iyxbh0dc22y4w28ry3hr0yypdwdm6pw2zlwgjya7wkbvsw"))
|
||||
(base32 "0kllbj4bj3f5w4wzg29ilac66fd0bslqq5srj845ssmzp4ynqglh"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(delete-file-recursively "3rdparty")
|
||||
#t))))
|
||||
(delete-file-recursively "3rdparty")))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; no test target
|
||||
|
@ -1999,9 +1999,9 @@ and engineering community.")
|
|||
;; https://skia.org/docs/user/release/release_notes/. The commit used
|
||||
;; should be the last commit, as recommended at
|
||||
;; https://skia.org/docs/user/release/.
|
||||
(let ((version "98")
|
||||
(let ((version "112")
|
||||
(revision "0")
|
||||
(commit "55c56abac381e1ae3f0116c410bed81b05e0a38a"))
|
||||
(commit "6d0b93856303fcf3021a8b40654d7739fda4dfb0"))
|
||||
(package
|
||||
(name "skia")
|
||||
(version (git-version version revision commit))
|
||||
|
@ -2013,14 +2013,10 @@ and engineering community.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ldns2j1g2wj2phlxr9zqkdgs5g64pisxhwxcrq9ijn8a3jhafr2"))))
|
||||
"0g07xlvpbbxqmr9igvy5d1hy11z7dz9nzp2fd3ka9y2jqciniyz6"))))
|
||||
(build-system gnu-build-system) ;actually GN + Ninja
|
||||
(arguments
|
||||
(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
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
|
@ -2037,6 +2033,7 @@ and engineering community.")
|
|||
"cc=\"gcc\" " ;defaults to 'cc'
|
||||
"is_official_build=true " ;to use system libraries
|
||||
"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
|
||||
;; includes.
|
||||
(format #f "extra_cflags=[\"-I~a\",\"-I~a\"] "
|
||||
|
@ -2048,7 +2045,10 @@ and engineering community.")
|
|||
"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_dng_sdk=false "
|
||||
;; Wuffs is a google language that may improve performance
|
||||
;; disabled while unpackaged
|
||||
"skia_use_wuffs=false "))))
|
||||
(replace 'build
|
||||
(lambda* (#:key parallel-build? #:allow-other-keys)
|
||||
(let ((job-count (if parallel-build?
|
||||
|
@ -2085,13 +2085,142 @@ Description: 2D graphic library for drawing text, geometries and images.
|
|||
URL: https://skia.org/
|
||||
Version: ~a
|
||||
Libs: -L${libdir} -lskia
|
||||
Cflags: -I${includedir}~%" #$output #$version))))))))
|
||||
(native-inputs (list gn libjpeg-turbo ninja pkg-config python-wrapper))
|
||||
(inputs (list expat fontconfig freetype harfbuzz mesa libwebp zlib))
|
||||
(home-page "https://skia.org/")
|
||||
(synopsis "2D graphics library")
|
||||
(description
|
||||
"Skia is a 2D graphics library for drawing text, geometries, and images.
|
||||
Cflags: -I${includedir}~%" #$output #$version)))))
|
||||
(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))
|
||||
(home-page "https://skia.org/")
|
||||
(synopsis "2D graphics library")
|
||||
(description
|
||||
"Skia is a 2D graphics library for drawing text, geometries, and images.
|
||||
It supports:
|
||||
@itemize
|
||||
@item 3x3 matrices with perspective
|
||||
|
@ -2099,7 +2228,7 @@ It supports:
|
|||
@item shaders, xfermodes, maskfilters, patheffects
|
||||
@item subpixel text
|
||||
@end itemize")
|
||||
(license license:bsd-3))))
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public superfamiconv
|
||||
(package
|
||||
|
@ -2526,6 +2655,80 @@ anything from rendering scalable icons in an editor application to prototyping
|
|||
a game.")
|
||||
(license license:zlib))))
|
||||
|
||||
(define-public asli
|
||||
(package
|
||||
(name "asli")
|
||||
(version "0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tpms-lattice/ASLI")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "02hwdavpsy3vmivd6prp03jn004ykrl11lbkvksy5i2zm38zbknr"))
|
||||
(patches (search-patches "asli-use-system-libs.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove bundled libraries except (the ones missing from Guix and)
|
||||
;; KU Leuven's mTT, which is an obscure (i.e., unfindable by searching
|
||||
;; online for “mTT KU Leuven”), BSD-3 licensed, header-only library.
|
||||
#~(begin
|
||||
;;(delete-file-recursively "libs/AdaptTools") ; Missing from Guix
|
||||
(delete-file-recursively "libs/CGAL")
|
||||
;;(delete-file-recursively "libs/alglib") ; Missing from Guix
|
||||
(delete-file-recursively "libs/eigen")
|
||||
(delete-file-recursively "libs/mmg")
|
||||
;;(delete-file-recursively "libs/tetgen") ; Missing from Guix
|
||||
(delete-file-recursively "libs/yaml")))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(list boost
|
||||
cgal
|
||||
eigen
|
||||
gmp
|
||||
`(,mmg "lib")
|
||||
mpfr
|
||||
tbb-2020
|
||||
yaml-cpp))
|
||||
(arguments
|
||||
(list #:tests? #f ; No tests
|
||||
#:configure-flags
|
||||
#~(list "-DCGAL_ACTIVATE_CONCURRENT_MESH_3=ON"
|
||||
(string-append "-DEIGEN3_INCLUDE_DIR="
|
||||
#$(this-package-input "eigen")
|
||||
"/include/eigen3")
|
||||
(string-append "-DMMG_INCLUDE_DIR="
|
||||
(ungexp (this-package-input "mmg") "lib")
|
||||
"/include")
|
||||
(string-append "-DMMG_LIBRARY_DIR="
|
||||
(ungexp (this-package-input "mmg") "lib")
|
||||
"/lib"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'install ; No install phase
|
||||
(lambda _
|
||||
(with-directory-excursion "../source/bin"
|
||||
(install-file "ASLI" (string-append #$output "/bin"))
|
||||
;; The manual is included in the repository.
|
||||
;; Building it requires -DASLI_DOC=ON, but this is marked
|
||||
;; as unsupported (presumably for users).
|
||||
;; Besides, some of the LaTeX packages it uses are
|
||||
;; missing from Guix, for example emptypage, fvextra and
|
||||
;; menukeys.
|
||||
(install-file "docs/ASLI [User Manual].pdf"
|
||||
(string-append #$output "/share/doc/"
|
||||
#$name "-" #$version))))))))
|
||||
(home-page "http://www.biomech.ulg.ac.be/ASLI/")
|
||||
(synopsis "Create lattice infills with varying unit cell type, size and feature")
|
||||
(description "ASLI (A Simple Lattice Infiller) is a command-line tool that
|
||||
allows users to fill any 3D geometry with a functionally graded lattice. The
|
||||
lattice infill is constructed out of unit cells, described by implicit
|
||||
functions, whose type, size and feature can be varied locally to obtain the
|
||||
desired local properties.")
|
||||
(license license:agpl3+)))
|
||||
|
||||
(define-public f3d
|
||||
(package
|
||||
(name "f3d")
|
||||
|
|
|
@ -849,7 +849,9 @@ model to base your own plug-in on, here it is.")
|
|||
(inputs
|
||||
(append
|
||||
(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
|
||||
bzip2
|
||||
cairo
|
||||
|
|
|
@ -728,7 +728,7 @@ you send to a FIFO file.")
|
|||
(define-public guile-dsv
|
||||
(package
|
||||
(name "guile-dsv")
|
||||
(version "0.6.0")
|
||||
(version "0.7.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -737,12 +737,19 @@ you send to a FIFO file.")
|
|||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0llivcgb7idglsapcmvb2qscds7768f2xfgr4lns8mzl2xf5hwvv"))))
|
||||
"0shrzmbh6x3n3xzpcijkxk3f73z6m1i50zgc2dnnccwf4j1c78p2"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf automake pkg-config texinfo help2man))
|
||||
(inputs (list guile-3.0))
|
||||
(propagated-inputs (list guile-lib))
|
||||
(native-inputs (list autoconf
|
||||
automake
|
||||
pkg-config
|
||||
texinfo
|
||||
help2man
|
||||
;; needed when cross-compiling.
|
||||
guile-3.0
|
||||
guile-lib
|
||||
guile-smc))
|
||||
(inputs (list bash-minimal guile-3.0))
|
||||
(propagated-inputs (list guile-lib guile-smc))
|
||||
(arguments
|
||||
`(#:modules (((guix build guile-build-system)
|
||||
#:select (target-guile-effective-version))
|
||||
|
@ -756,32 +763,41 @@ you send to a FIFO file.")
|
|||
(bin (string-append out "/bin"))
|
||||
(guile-lib (assoc-ref inputs "guile-lib"))
|
||||
(version (target-guile-effective-version))
|
||||
(scm (string-append "/share/guile/site/"
|
||||
version))
|
||||
(go (string-append "/lib/guile/"
|
||||
version "/site-ccache")))
|
||||
(scm (string-append "/share/guile/site/" version))
|
||||
(go (string-append "/lib/guile/" version
|
||||
"/site-ccache")))
|
||||
(wrap-program (string-append bin "/dsv")
|
||||
`("GUILE_LOAD_PATH" prefix
|
||||
(,(string-append out scm)
|
||||
,(string-append guile-lib scm)))
|
||||
(,(string-append out scm) ,(string-append
|
||||
guile-lib scm)))
|
||||
`("GUILE_LOAD_COMPILED_PATH" prefix
|
||||
(,(string-append out go)
|
||||
,(string-append guile-lib go)))))
|
||||
#t)))))
|
||||
(,(string-append out go) ,(string-append guile-lib
|
||||
go))))) #t)))))
|
||||
(home-page "https://github.com/artyom-poptsov/guile-dsv")
|
||||
(synopsis "DSV module for Guile")
|
||||
(description
|
||||
"Guile-DSV is a GNU Guile module for working with the
|
||||
delimiter-separated values (DSV) data format. Guile-DSV supports the
|
||||
Unix-style DSV format and RFC 4180 format.")
|
||||
"Guile-DSV is a GNU Guile module for working with the delimiter-separated
|
||||
values (DSV) data format. Guile-DSV supports the Unix-style DSV format and RFC 4180
|
||||
style format. Also Guile-DSV includes a console program named @code{dsv} that allows
|
||||
to view and process DSV data, including such operations as delimiter change,
|
||||
conversion from one DSV standard to another and printing the data as pseudographics
|
||||
tables.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public guile2.2-dsv
|
||||
(package
|
||||
(inherit guile-dsv)
|
||||
(name "guile2.2-dsv")
|
||||
(inputs (list guile-2.2))
|
||||
(propagated-inputs `(("guile-lib" ,guile2.2-lib)))))
|
||||
(native-inputs (modify-inputs (package-native-inputs guile-dsv)
|
||||
(replace "guile-smc" guile2.2-smc)
|
||||
(replace "guile" guile-2.2)
|
||||
(replace "guile-lib" guile2.2-lib)))
|
||||
(inputs (modify-inputs (package-inputs guile-dsv)
|
||||
(replace "guile" guile-2.2)
|
||||
(replace "guile-lib" guile2.2-lib)))
|
||||
(propagated-inputs (modify-inputs (package-propagated-inputs guile-dsv)
|
||||
(replace "guile-lib" guile2.2-lib)
|
||||
(replace "guile-smc" guile2.2-smc)))))
|
||||
|
||||
(define-public guile-fibers-1.3
|
||||
(package
|
||||
|
@ -1554,7 +1570,7 @@ tracker's SOAP service, such as @url{https://bugs.gnu.org}.")
|
|||
(define-public guile-email
|
||||
(package
|
||||
(name "guile-email")
|
||||
(version "0.3.0")
|
||||
(version "0.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1564,7 +1580,7 @@ tracker's SOAP service, such as @url{https://bugs.gnu.org}.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0q98r460yr75gyxg06zrrixwazncd9nxl2pgr68mff2wf41f291h"))))
|
||||
"09r50zbkyxvg6f7qn37yibasw69ajxls3sgdnhy9j70mbvcmx9c4"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list texinfo))
|
||||
|
@ -2974,56 +2990,52 @@ is no support for parsing block and inline level HTML.")
|
|||
(inputs (list guile-2.0))))
|
||||
|
||||
(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
|
||||
(name "mcron")
|
||||
(version (git-version "1.2.1" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.savannah.gnu.org/git/mcron.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0jl2w67a5hkphzssdzq3q4jcwv2b174b11d3w5i3khxq2vhzd6kk"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-before 'check 'adjust-tests
|
||||
(lambda _
|
||||
(substitute* "tests/job-specifier.scm"
|
||||
;; (getpw) fails with "entry not found" in the build
|
||||
;; environment, so pass an argument.
|
||||
(("\\(getpw\\)")
|
||||
"(getpwnam (getuid))")
|
||||
;; The build environment lacks an entry for root in
|
||||
;; /etc/passwd.
|
||||
(("\\(getpw 0\\)")
|
||||
"(getpwnam \"nobody\")")
|
||||
;; FIXME: Skip the 4 faulty tests (see above).
|
||||
(("\\(test-equal \"next-year\"" all)
|
||||
(string-append "(test-skip 4)\n" all))))))))
|
||||
(native-inputs (list autoconf
|
||||
automake
|
||||
guile-3.0 ;for 'guild compile'
|
||||
help2man
|
||||
pkg-config
|
||||
tzdata-for-tests
|
||||
texinfo))
|
||||
(inputs (list guile-3.0))
|
||||
(home-page "https://www.gnu.org/software/mcron/")
|
||||
(synopsis "Run jobs at scheduled times")
|
||||
(description
|
||||
"GNU Mcron is a complete replacement for Vixie cron. It is used to run
|
||||
(package
|
||||
(name "mcron")
|
||||
(version "1.2.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.savannah.gnu.org/git/mcron.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"07gqwbjfsgf16ff624hkav0qhl10dv579y10fxas2kbjavqm4yx5"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-before 'check 'adjust-tests
|
||||
(lambda _
|
||||
(substitute* "tests/job-specifier.scm"
|
||||
;; (getpw) fails with "entry not found" in the build
|
||||
;; environment, so pass an argument.
|
||||
(("\\(getpw\\)")
|
||||
"(getpwnam (getuid))")
|
||||
;; The build environment lacks an entry for root in
|
||||
;; /etc/passwd.
|
||||
(("\\(getpw 0\\)")
|
||||
"(getpwnam \"nobody\")")
|
||||
;; FIXME: Skip the 4 faulty tests (see above).
|
||||
(("\\(test-equal \"next-year\"" all)
|
||||
(string-append "(test-skip 4)\n" all))))))))
|
||||
(native-inputs (list autoconf
|
||||
automake
|
||||
guile-3.0 ;for 'guild compile'
|
||||
help2man
|
||||
pkg-config
|
||||
tzdata-for-tests
|
||||
texinfo))
|
||||
(inputs (list guile-3.0))
|
||||
(home-page "https://www.gnu.org/software/mcron/")
|
||||
(synopsis "Run jobs at scheduled times")
|
||||
(description
|
||||
"GNU Mcron is a complete replacement for Vixie cron. It is used to run
|
||||
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
|
||||
format is also supported.")
|
||||
(license license:gpl3+))))
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public guile-picture-language
|
||||
(let ((commit "a1322bf11945465241ca5b742a70893f24156d12")
|
||||
|
@ -5417,6 +5429,9 @@ with a FSM is being built (for example, from a Makefile.)")
|
|||
(package
|
||||
(inherit guile-smc)
|
||||
(name "guile2.2-smc")
|
||||
(native-inputs (modify-inputs (package-native-inputs guile-smc)
|
||||
(replace "guile" guile-2.2)
|
||||
(replace "guile-lib" guile2.2-lib)))
|
||||
(inputs (modify-inputs (package-inputs guile-smc)
|
||||
(replace "guile" guile-2.2)
|
||||
(replace "guile-lib" guile2.2-lib)))))
|
||||
|
|
|
@ -457,7 +457,7 @@ without requiring the source code to be rewritten.")
|
|||
(define-public guile-next
|
||||
(let ((version "3.0.9")
|
||||
(revision "0")
|
||||
(commit "aa2cfe7cf69327285a17de97682d696f2f6c43ef"))
|
||||
(commit "c2cba86785a34351788f52ea4fccf9f10f3a1dee"))
|
||||
(package
|
||||
(inherit guile-3.0)
|
||||
(name "guile-next")
|
||||
|
@ -471,7 +471,7 @@ without requiring the source code to be rewritten.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"03xwy3ni85qy0lrvz0lk0488394nfsfc1004l84lgyzql2qwkynl"))))
|
||||
"1k0dkmyf9s4iynjj2qm0szqfpfd3b07cpj0fay14iwbidkrqndzf"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments guile-3.0)
|
||||
((#:phases phases '%standard-phases)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; 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 Denis Carikli <GNUtoo@cyberdimension.org>
|
||||
;;; 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
|
||||
modern instrumentation and data acquision systems using Ethernet.")
|
||||
(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+)))
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages hardware)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages lua)
|
||||
|
@ -43,12 +44,14 @@
|
|||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages rsync)
|
||||
#:use-module (gnu packages syncthing)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages valgrind)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
|
@ -190,6 +193,89 @@ applications.")
|
|||
in general better performances compared to the old network protocol.")
|
||||
(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
|
||||
(package
|
||||
(name "corosync")
|
||||
|
|
|
@ -241,6 +241,12 @@ may also simplify input method development.")
|
|||
#$flags))
|
||||
((#:phases phases '%standard-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
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Make sure 'ibus-setup' and 'ibus-daemon' runs with the
|
||||
|
@ -263,6 +269,13 @@ may also simplify input method development.")
|
|||
python
|
||||
python-dbus
|
||||
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)))))
|
||||
|
||||
(define-public ibus-libpinyin
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
|
||||
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -27,14 +28,17 @@
|
|||
|
||||
(define-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages cpio)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system ant)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
|
@ -240,3 +244,75 @@ C/C++ part.")
|
|||
globalisation support for software applications. This package contains the
|
||||
Java part.")
|
||||
(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)))))
|
||||
|
|
|
@ -81,6 +81,7 @@
|
|||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages opencl)
|
||||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages photo)
|
||||
|
@ -472,7 +473,8 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
|
|||
"0nm7xwwj7rnsxjdv2ssviys8nhci4n9iiiqm2y14s520hl2dsp1d"))
|
||||
(patches (search-patches "vtk-7-python-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
|
||||
(substitute-keyword-arguments (package-arguments vtk)
|
||||
((#:configure-flags flags)
|
||||
|
@ -492,7 +494,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
|
|||
(define-public opencv
|
||||
(package
|
||||
(name "opencv")
|
||||
(version "4.7.0")
|
||||
(version "4.8.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -508,6 +510,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
|
|||
(for-each delete-file-recursively
|
||||
'("carotene"
|
||||
"cpufeatures"
|
||||
"flatbuffers"
|
||||
"ffmpeg"
|
||||
"include"
|
||||
"ippicv"
|
||||
|
@ -531,7 +534,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
|
|||
(for-each delete-file (find-files "." "\\.jar$"))))
|
||||
(sha256
|
||||
(base32
|
||||
"0l45v41nns2jmn9nr9fb0yvhqzfjpxjxn75i1c02rsfy3r3lv22v"))))
|
||||
"14bjpb0ahhaqnim8g6vs0gyd6jgnmly1amx25a0rk1a6ii2aiywn"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#: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:
|
||||
"-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
|
||||
;; version than the included one. If we would not update, we
|
||||
;; 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)
|
||||
(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?)
|
||||
`(;; This test fails on aarch64, loosen the bounds.
|
||||
;; 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))
|
||||
(sha256
|
||||
(base32
|
||||
"0bdg5kwwdimnl2zp4ry5cmfxr9xb7zk2ml59853d90llsqjis47a"))))
|
||||
"11y9b35j74gg4gqll4v366qmhvjkcqml45khiajd8zsk1fraf70l"))))
|
||||
("opencv-contrib"
|
||||
,(origin
|
||||
(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))
|
||||
(sha256
|
||||
(base32
|
||||
"0hbfn835kxh3hwmwvzgdglm2np1ri3z7nfnf60gf4x6ikp89mv4r"))))))
|
||||
"16crcca9r4y4rby0dqdhc06qi84hjk6qxy2sql2dhh35hfs856rr"))))))
|
||||
(inputs
|
||||
(list ffmpeg-4
|
||||
(list eigen
|
||||
ffmpeg-4
|
||||
;; TODO: add gstreamer
|
||||
gtk+
|
||||
gtkglext
|
||||
hdf5
|
||||
|
@ -692,7 +708,9 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
|
|||
libtiff
|
||||
libwebp
|
||||
openblas
|
||||
opencl-headers
|
||||
openexr
|
||||
openmpi
|
||||
openjpeg
|
||||
protobuf
|
||||
python
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2023 Frank Pursel <frank.pursel@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -19,14 +20,135 @@
|
|||
(define-module (gnu packages java-graphics)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix modules)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system ant)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages batik)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages java-xml)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
#: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
|
||||
(package
|
||||
(name "java-piccolo2d-core")
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; Copyright © 2021 Léo Le Bouter <lle-bout@zaclys.net>
|
||||
;;; Copyright © 2022 Christopher Baines <mail@cbaines.net>
|
||||
;;; Copyright © 2023 Frank Pursel <frank.pursel@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -32,11 +33,62 @@
|
|||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix bzr-download)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system ant)
|
||||
#: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
|
||||
(package
|
||||
(name "java-simple-xml")
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
|
||||
;;; 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 © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;;
|
||||
|
@ -603,7 +603,7 @@ rendering library.")
|
|||
(define-public julia-gr-jll
|
||||
(package
|
||||
(name "julia-gr-jll")
|
||||
(version "0.58.1+0")
|
||||
(version "0.69.1+0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -612,7 +612,7 @@ rendering library.")
|
|||
(commit (string-append "GR-v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "16m22n0wh86v3lh0im2pc9bg381djbmqji5hjx42j6aaz634gqiq"))))
|
||||
(base32 "1zpa35j9f6288sa9md28g0bqkdhwx0j0dmsyy3kc0zxjlz188a94"))))
|
||||
(build-system julia-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no runtests
|
||||
|
|
|
@ -2626,7 +2626,7 @@ users; instead, you should use one of the packages that builds on
|
|||
(define-public julia-gr
|
||||
(package
|
||||
(name "julia-gr")
|
||||
(version "0.58.1")
|
||||
(version "0.69.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -2635,7 +2635,7 @@ users; instead, you should use one of the packages that builds on
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "18zxa1w2wmrf44c5l10qbh99zjdp7h94gxlymh47cf5kj5fc4xmx"))))
|
||||
(base32 "0i4vb5y1m47x1ispr52h5a5gs544205vpiz4cypd4pr242f96dcb"))))
|
||||
(build-system julia-build-system)
|
||||
(propagated-inputs
|
||||
(list julia-gr-jll))
|
||||
|
@ -4860,7 +4860,7 @@ everything from run time algorithm choice to code generation at compile time.")
|
|||
(define-public julia-prettytables
|
||||
(package
|
||||
(name "julia-prettytables")
|
||||
(version "1.0.1")
|
||||
(version "2.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -4869,20 +4869,28 @@ everything from run time algorithm choice to code generation at compile time.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1d1sd87kkwbar3l608h0adzws42cwdrmp1idxx7an6mfqcsdrijw"))))
|
||||
(base32 "029niwxgql9rcyx0rxcyhmwkzxciccji4hb59g6752ixam65wxkh"))))
|
||||
(build-system julia-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'link-depot 'skip-color-tests
|
||||
(add-after 'link-depot 'skip-tests-manipulating-terminal-display
|
||||
(lambda _
|
||||
(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
|
||||
(list julia-crayons
|
||||
julia-formatting
|
||||
julia-offsetarrays
|
||||
julia-reexport
|
||||
julia-stringmanipulation
|
||||
julia-tables))
|
||||
(home-page "https://github.com/ronisbr/PrettyTables.jl")
|
||||
(synopsis "Print data in formatted tables")
|
||||
|
@ -5168,7 +5176,7 @@ embedded in a real vector space.")
|
|||
(define-public julia-recipesbase
|
||||
(package
|
||||
(name "julia-recipesbase")
|
||||
(version "1.1.1")
|
||||
(version "1.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -5177,7 +5185,7 @@ embedded in a real vector space.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1b6m5rz6wprj30rwvlxz4r1jv5gl0ay0f52kfmy2w7lqly7zhap5"))))
|
||||
(base32 "0icyn56b17bqlxqkc3h44ndn0f1g2g9wy2kjvl8b6pfqni4ybazm"))))
|
||||
(build-system julia-build-system)
|
||||
(home-page "https://github.com/JuliaPlots/RecipesBase.jl")
|
||||
(synopsis "Define transformation recipes on user types")
|
||||
|
@ -5192,7 +5200,7 @@ more complex visualizations.")
|
|||
(define-public julia-recipespipeline
|
||||
(package
|
||||
(name "julia-recipespipeline")
|
||||
(version "0.3.4")
|
||||
(version "0.6.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -5201,7 +5209,7 @@ more complex visualizations.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0zq4bzxvq36zr0va6iip3x97mgq5b4fwza8avszx1ryfqm3lg1f7"))))
|
||||
(base32 "1lsjnlkmhcxngrcszfwmzb7hqg8bczi00mn7kbmwp5ffqb7fh0vv"))))
|
||||
(build-system julia-build-system)
|
||||
(arguments
|
||||
(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.")
|
||||
(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
|
||||
(package
|
||||
(name "julia-structarrays")
|
||||
|
|
|
@ -2818,7 +2818,8 @@ consumption.")
|
|||
"|kiowidgets-kdirmodeltest"
|
||||
"|kiowidgets-kurifiltertest-colon-separator"
|
||||
"|kiofilewidgets-kfilewidgettest"
|
||||
"|kiowidgets-kurifiltertest-space-separator)")))))
|
||||
"|kiowidgets-kurifiltertest-space-separator"
|
||||
"|kioworker-httpheaderdispositiontest)")))))
|
||||
(add-after 'install 'add-symlinks
|
||||
;; Some package(s) (e.g. bluedevil) refer to these service types by
|
||||
;; the wrong name. I would prefer to patch those packages, but I
|
||||
|
|
|
@ -339,6 +339,7 @@ annotating features.")
|
|||
kfilemetadata
|
||||
kguiaddons
|
||||
kiconthemes
|
||||
kirigami
|
||||
knewstuff
|
||||
knotifications
|
||||
knotifyconfig
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2022 Jacob Hrbek <kreyren@rixotstudio.cz>
|
||||
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -101,11 +102,14 @@ devices on various operating systems.")
|
|||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
#~(list "--disable-static")))
|
||||
(native-inputs
|
||||
(list autoconf automake libtool pkg-config))
|
||||
(inputs
|
||||
(list libusb))
|
||||
#~(list "--disable-static"
|
||||
;; Provide the absolute file name of libusb-1.0.so so
|
||||
;; dlopen works.
|
||||
(string-append "LIBUSB_1_0_SONAME="
|
||||
#$(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")
|
||||
(synopsis "Compatibility shim for libusb")
|
||||
(description
|
||||
|
@ -561,14 +565,14 @@ over USB.")
|
|||
(define-public libmtp
|
||||
(package
|
||||
(name "libmtp")
|
||||
(version "1.1.20")
|
||||
(version "1.1.21")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/libmtp/libmtp/" version
|
||||
"/libmtp-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1l2npk3b5v9cxhs2g01w3b13mxvin881cr085r0cyi2p5yn1s6f9"))))
|
||||
"19vj10la88lrhdfdcpkad7aiii01q59y5wj700dwjj4gijmsbzy4"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
|
@ -653,6 +657,42 @@ HID-Class devices.")
|
|||
license:bsd-3
|
||||
(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
|
||||
(package
|
||||
(name "python-hidapi")
|
||||
|
|
|
@ -74,6 +74,7 @@
|
|||
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
|
||||
;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
|
||||
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2023 dan <i@dan.games>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -140,6 +141,7 @@
|
|||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages lsof)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages maths)
|
||||
#: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
|
||||
;; 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 deblob-scripts-6.4
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -498,7 +500,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "1rwm09anyn4py1g877f9vh6ya86y2hfvlqx51bpa53dci5k0b0ds")))
|
||||
(define-public linux-libre-6.4-pristine-source
|
||||
(let ((version linux-libre-6.4-version)
|
||||
(hash (base32 "0609lhgc42j9id2vvdpv8n7djabp46p2mridf9s0sg3x16snhssl")))
|
||||
(hash (base32 "1rjh0jrn5qvxwzmyg478n08vckkld8r52nkc102ppqvsfhiy7skm")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
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.
|
||||
;; Here are the support timelines:
|
||||
;; <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 deblob-scripts-6.1
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -516,12 +518,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "1c73516nbhnz0cxjz38b5794dxygb8sznv9idiibw7ablmjbhd11")))
|
||||
(define-public linux-libre-6.1-pristine-source
|
||||
(let ((version linux-libre-6.1-version)
|
||||
(hash (base32 "15m228bllks2p8gpsmvplx08yxzp7bij9fnmnafqszylrk7ppxpm")))
|
||||
(hash (base32 "0fqhmb6v28rssd44z7jw57mwvvskpl4kabjylck0pg54irnl9c2q")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
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 deblob-scripts-5.15
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -531,27 +533,27 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "1c3lm0j401lv2lk39dmr4mlf5ic173snm7cc0cckl6czyvxr5ysy")))
|
||||
(define-public linux-libre-5.15-pristine-source
|
||||
(let ((version linux-libre-5.15-version)
|
||||
(hash (base32 "09lgj9hs1cjxg84hb7avras4rlsx18igr69mx433l9hv6issbl5d")))
|
||||
(hash (base32 "0qix62jsn3z9yccakac7fvqnip19zi05qn0w5wkgb7rj0x0lwimb")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
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 deblob-scripts-5.10
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-5.10-version
|
||||
linux-libre-5.10-gnu-revision
|
||||
(base32 "0hirc87hgyy9qhgiipp5iahmdk4wwhiml6rp1naphz9d1vw3kb35")
|
||||
(base32 "1b33rkn32b923025iiz4xzxiy8y5ii9j5qk4021mg575890rl4ch")
|
||||
(base32 "0nnp46mn32yk436swd2qh34igmzinfgkwvbzp3lqyy45f06hbc2j")))
|
||||
(define-public linux-libre-5.10-pristine-source
|
||||
(let ((version linux-libre-5.10-version)
|
||||
(hash (base32 "1hk2x5dgvfq9v6161v25wz5qpzgyvqbx34xbm7ww8z4ish76cm6b")))
|
||||
(hash (base32 "15fr7krhpmqz0xqjg78m2xvfllbni3xh8xyhxh9ni31ppd3mw394")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
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 deblob-scripts-5.4
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -561,12 +563,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "0sw67b2pk3lng4y67diqqnhxaggnp3nbkx8dxc5fs27rinfxr4m1")))
|
||||
(define-public linux-libre-5.4-pristine-source
|
||||
(let ((version linux-libre-5.4-version)
|
||||
(hash (base32 "1iyrm2xql15ifhy2b939ywrrc44yd41b79sjjim4vqxmc6lqsq2i")))
|
||||
(hash (base32 "0fim5q9xakwnjfg48bpsic9r2r8dvrjlalqqkm9vh1rml9mhi967")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
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 deblob-scripts-4.19
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -576,12 +578,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "1425mhkfxn18vxn05bb4h3li7x1jl7l1hf1zi8xhnqv3wa31h9wl")))
|
||||
(define-public linux-libre-4.19-pristine-source
|
||||
(let ((version linux-libre-4.19-version)
|
||||
(hash (base32 "0dr12v4jqmzxcqdghqqjny5zp3g4dx9lxqrl9d4fxz23s79ji5rl")))
|
||||
(hash (base32 "03x0xsb8a369zdr81hg6xdl5n5v48k6iwnhj6r29725777lvvbfc")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
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 deblob-scripts-4.14
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -591,7 +593,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "1faagsj4i31z2bp83hflx3q9vrddjnn37a3ah2b47iaplva7z1nd")))
|
||||
(define-public linux-libre-4.14-pristine-source
|
||||
(let ((version linux-libre-4.14-version)
|
||||
(hash (base32 "1g2fh0mn1sv0kq2hh3pynmx2fjai7hdwhf4fnaspl7j5n88902kg")))
|
||||
(hash (base32 "117p1mdha57f6d3kdwac9jrbmib7g77q4xhir8ghl6fmrs1f2sav")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.14)))
|
||||
|
@ -1517,7 +1519,7 @@ and the notification, WiFi, and Bluetooth LED.")
|
|||
(define-public tuxedo-keyboard
|
||||
(package
|
||||
(name "tuxedo-keyboard")
|
||||
(version "3.2.1")
|
||||
(version "3.2.10")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1526,7 +1528,7 @@ and the notification, WiFi, and Bluetooth LED.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "13fncirqcci46zxmsrawsxpazip5k46i849dwkhkqlg0mg4vxxw5"))))
|
||||
(base32 "1kbspr1vs6jpfsb3c4hbw2d8y06v2a3m4c27rhggkfksf4x82gip"))))
|
||||
(build-system linux-module-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ; no test suite
|
||||
|
@ -7255,48 +7257,50 @@ under OpenGL graphics workloads.")
|
|||
(license license:gpl3)))
|
||||
|
||||
(define-public efivar
|
||||
(package
|
||||
(name "efivar")
|
||||
(version "38")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/rhboot/" name
|
||||
"/releases/download/" version "/" name
|
||||
"-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jaka7b4lccswjqiv4liclkj6w78gildg7vd6dnw3wf595pfs67h"))
|
||||
(patches
|
||||
(search-patches "efivar-211.patch"))))
|
||||
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; Tests require a UEFI system and is not detected in the chroot.
|
||||
#:tests? #f
|
||||
#:make-flags
|
||||
#~(list (string-append "prefix=" #$output)
|
||||
(string-append "libdir=" #$output "/lib")
|
||||
(string-append "CC=" #$(cc-for-target))
|
||||
(string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'build-deterministically
|
||||
(lambda _
|
||||
(substitute* "src/include/defaults.mk"
|
||||
;; Don't use -march=native.
|
||||
(("-march=native")
|
||||
""))))
|
||||
(delete 'configure))))
|
||||
(native-inputs
|
||||
(list mandoc pkg-config))
|
||||
(inputs
|
||||
(list popt))
|
||||
(home-page "https://github.com/rhboot/efivar")
|
||||
(synopsis "Tool and library to manipulate EFI variables")
|
||||
(description "This package provides a library and a command line
|
||||
;; XXX: 15622b7e5761f3dde3f0e42081380b2b41639a48 fixes compilation on i686.
|
||||
;; ca48d3964d26f5e3b38d73655f19b1836b16bd2d fixes cross-compilation.
|
||||
(let ((commit "ca48d3964d26f5e3b38d73655f19b1836b16bd2d")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "efivar")
|
||||
(version (git-version "38" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rhboot/efivar")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0zsab3hcv1v53cxwkvsk09ifnwhs48a6xa3kxlwvs87yxswspvi8"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; Tests require a UEFI system and is not detected in the chroot.
|
||||
#:tests? #f
|
||||
#:make-flags #~(list (string-append "prefix="
|
||||
#$output)
|
||||
(string-append "libdir="
|
||||
#$output "/lib")
|
||||
(string-append "CC="
|
||||
#$(cc-for-target)) "HOSTCC=gcc"
|
||||
(string-append "LDFLAGS=-Wl,-rpath="
|
||||
#$output "/lib"))
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'build-deterministically
|
||||
(lambda _
|
||||
(substitute* "src/include/defaults.mk"
|
||||
;; Don't use -march=native.
|
||||
(("-march=native")
|
||||
""))))
|
||||
(delete 'configure))))
|
||||
(native-inputs (list mandoc pkg-config))
|
||||
(inputs (list popt))
|
||||
(home-page "https://github.com/rhboot/efivar")
|
||||
(synopsis "Tool and library to manipulate EFI variables")
|
||||
(description "This package provides a library and a command line
|
||||
interface to the variable facility of UEFI boot firmware.")
|
||||
(license license:lgpl2.1+)))
|
||||
(license license:lgpl2.1+))))
|
||||
|
||||
(define-public efibootmgr
|
||||
(package
|
||||
|
@ -10360,3 +10364,39 @@ error detection and correction (EDAC).")
|
|||
against the several transient execution CVEs that were published since early
|
||||
2018, and gives guidance as to how to mitigate them.")
|
||||
(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)))
|
||||
|
|
|
@ -5646,8 +5646,8 @@ RFC 1321 by R. Rivest, published April 1992.")
|
|||
(list ecl-flexi-streams))))
|
||||
|
||||
(define-public sbcl-cl+ssl
|
||||
(let ((commit "1e2ffc9511df4b1c25c23e0313a642a610dae352")
|
||||
(revision "5"))
|
||||
(let ((commit "17d5cdd65405f1d26e26f3e875e70027d0c8eedb")
|
||||
(revision "6"))
|
||||
(package
|
||||
(name "sbcl-cl+ssl")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
|
@ -5659,7 +5659,7 @@ RFC 1321 by R. Rivest, published April 1992.")
|
|||
(commit commit)))
|
||||
(file-name (git-file-name "cl+ssl" version))
|
||||
(sha256
|
||||
(base32 "0iwdh416ggzs2ig6i0ivrwfy21w7m39w464pc7j3p9pvq09837fy"))))
|
||||
(base32 "0v0kx2m5355jkdshmj0z923c5rlvdl2n11rb3hjbv3kssdfsbs0s"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
@ -7982,51 +7982,54 @@ formats.")
|
|||
(sbcl-package->ecl-package sbcl-swap-bytes))
|
||||
|
||||
(define-public sbcl-iolib
|
||||
(package
|
||||
(name "sbcl-iolib")
|
||||
(version "0.8.4")
|
||||
(home-page "https://github.com/sionescu/iolib")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
`(("alexandria" ,sbcl-alexandria)
|
||||
("bordeaux-threads" ,sbcl-bordeaux-threads)
|
||||
("cffi" ,sbcl-cffi)
|
||||
("idna" ,sbcl-idna)
|
||||
("libfixposix" ,libfixposix)
|
||||
("split-sequence" ,sbcl-split-sequence)
|
||||
("swap-bytes" ,sbcl-swap-bytes)))
|
||||
(arguments
|
||||
'(#:asd-systems '("iolib"
|
||||
"iolib/os")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/syscalls/ffi-functions-unix.lisp"
|
||||
(("\\(:default \"libfixposix\"\\)")
|
||||
(string-append
|
||||
"(:default \""
|
||||
(assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
|
||||
;; Socket tests need Internet access, disable them.
|
||||
(substitute* "iolib.asd"
|
||||
(("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
|
||||
"")))))))
|
||||
(synopsis "Common Lisp I/O library")
|
||||
(description "IOlib is to be a better and more modern I/O library than
|
||||
(let ((commit "010b7a6bdd2e918ebf2ec85edd3853179f01cb30")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-iolib")
|
||||
(version (git-version "0.8.4" revision commit))
|
||||
(home-page "https://github.com/sionescu/iolib")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-iolib" version))
|
||||
(sha256
|
||||
(base32 "1qqy2yhprkmdn2vmi69akf818q3n99gv8cacv6456af0wjm5p1ga"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list pkg-config sbcl-fiveam))
|
||||
(inputs
|
||||
(list libfixposix
|
||||
sbcl-alexandria
|
||||
sbcl-bordeaux-threads
|
||||
sbcl-cffi
|
||||
sbcl-idna
|
||||
sbcl-split-sequence
|
||||
sbcl-swap-bytes))
|
||||
(arguments
|
||||
'(#:asd-systems '("iolib"
|
||||
"iolib/os")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/syscalls/ffi-functions-unix.lisp"
|
||||
(("\\(:default \"libfixposix\"\\)")
|
||||
(string-append
|
||||
"(:default \""
|
||||
(assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
|
||||
;; Socket tests need Internet access, disable them.
|
||||
(substitute* "iolib.asd"
|
||||
(("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
|
||||
"")))))))
|
||||
(synopsis "Common Lisp I/O library")
|
||||
(description "IOlib is to be a better and more modern I/O library than
|
||||
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)}
|
||||
and @code{kqueue(2)}), a pathname library and file-system utilities.")
|
||||
(license license:expat)))
|
||||
(license license:expat))))
|
||||
|
||||
(define-public cl-iolib
|
||||
(let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
|
||||
|
@ -9565,8 +9568,8 @@ function.")
|
|||
(sbcl-package->cl-source-package sbcl-specialization-store))
|
||||
|
||||
(define-public sbcl-cl-gobject-introspection
|
||||
(let ((commit "c4fef07d01cec7c830ce84ef150ed8e4da5959c4")
|
||||
(revision "2"))
|
||||
(let ((commit "83beec4492948b52aae4d4152200de5d5c7ac3e9")
|
||||
(revision "3"))
|
||||
(package
|
||||
(name "sbcl-cl-gobject-introspection")
|
||||
(version (git-version "0.3" revision commit))
|
||||
|
@ -9579,7 +9582,7 @@ function.")
|
|||
(commit commit)))
|
||||
(file-name (git-file-name "cl-gobject-introspection" version))
|
||||
(sha256
|
||||
(base32 "18n4wg93sf6cjmpcpr47bg2rd8mbm9ml9lykmjsxgvsf3nwr5vnw"))))
|
||||
(base32 "0xwmj4b3whz12i474g54krp1v6h0fpvsx8lgwpk6rkli9xc71wc3"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list glib
|
||||
|
@ -26600,7 +26603,7 @@ instead of #'FOO.
|
|||
(define-public sbcl-njson
|
||||
(package
|
||||
(name "sbcl-njson")
|
||||
(version "1.1.0")
|
||||
(version "1.1.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -26609,7 +26612,7 @@ instead of #'FOO.
|
|||
(file-name (git-file-name "cl-njson" version))
|
||||
(sha256
|
||||
(base32
|
||||
"02m9l77am2rlkg83dyp3jvb76ifw1y84xh3wpz6cx7h2wkxkjnl5"))))
|
||||
"0zdf6mlbpc2j95qm000ljf642af18sfz45yxh6rnxrbf8m4laxxa"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs (list sbcl-cl-json sbcl-jzon))
|
||||
(native-inputs (list sbcl-lisp-unit2))
|
||||
|
@ -26622,23 +26625,25 @@ instead of #'FOO.
|
|||
and process JSON data, in the minimum keystrokes/minutes possible.
|
||||
|
||||
NJSON is parser-independent, with existing Common Lisp JSON parsers being
|
||||
loadable as additional system. @code{jzon} and @code{cl-json} backends are
|
||||
included by default, though. Conveniences that NJSON provides are:
|
||||
loadable as additional system. @code{jzon} is included by default, though.
|
||||
Conveniences that NJSON provides are:
|
||||
|
||||
@itemize
|
||||
@item @code{encode} and @code{decode} as single entry points for JSON reading
|
||||
and writing, be it from streams/string/files, or from those.
|
||||
|
||||
@item @code{jget}, @code{jrem}, @code{jtruep}, and their aliases to
|
||||
access/delete the decoded objects' properties and check their truth value
|
||||
without the need to worry about the low-level details of how these values are
|
||||
decoded.
|
||||
@item @code{jget}, @code{jcopy}, @code{jkeys}, and their aliases to
|
||||
manipulate the decoded objects' properties without the need to worry
|
||||
about the low-level details of how these values are decoded.
|
||||
|
||||
@item @code{jif}, @code{jwhen}, @code{jor}, @code{jand}, and other macros
|
||||
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
|
||||
forms conveniently accessible as @code{j:rem}, @code{j:get},
|
||||
forms conveniently accessible as @code{j:get}, @code{j:copy},
|
||||
@code{j:if} etc.
|
||||
|
||||
@end itemize\n")
|
||||
|
|
|
@ -220,6 +220,7 @@ output in multiple windows in a terminal.")
|
|||
(url "https://github.com/gabime/spdlog")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(patches (search-patches "spdlog-fix-tests.patch"))
|
||||
(sha256
|
||||
(base32 "0i3a1cqrg1sz0w50g7zz9x73rf838igqri12q8ijh4rzpq0qq3ch"))))
|
||||
(build-system cmake-build-system)
|
||||
|
|
|
@ -55,12 +55,14 @@
|
|||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages assembly)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages bdw-gc)
|
||||
#:use-module (gnu packages c)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cmake)
|
||||
|
@ -89,6 +91,7 @@
|
|||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages ocaml)
|
||||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages opencl)
|
||||
#:use-module (gnu packages parallel)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
|
@ -100,6 +103,7 @@
|
|||
#:use-module (gnu packages python-science)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages regex)
|
||||
#:use-module (gnu packages rpc)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages sphinx)
|
||||
|
@ -108,6 +112,7 @@
|
|||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages time)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages vulkan)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml)
|
||||
|
@ -115,6 +120,37 @@
|
|||
#:use-module (gnu packages xorg)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
(define-public fasttext
|
||||
(package
|
||||
(name "fasttext")
|
||||
(version "0.9.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/facebookresearch/fastText")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "07cz2ghfq6amcljaxpdr5chbd64ph513y8zqmibfx2xwfp74xkhn"))))
|
||||
(build-system cmake-build-system)
|
||||
;; Tests require downloading of test data.
|
||||
(arguments (list #:tests? #false))
|
||||
(home-page "https://github.com/facebookresearch/fastText")
|
||||
(synopsis "Library for fast text representation and classification")
|
||||
(description "fastText is a library for efficient learning of word
|
||||
representations and sentence classification.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-fasttext
|
||||
(package
|
||||
(inherit fasttext)
|
||||
(name "python-fasttext")
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs (list python-numpy python-scipy))
|
||||
(inputs (list fasttext))
|
||||
(native-inputs (list pybind11))))
|
||||
|
||||
(define-public fann
|
||||
;; The last release is >100 commits behind, so we package from git.
|
||||
(let ((commit "d71d54788bee56ba4cf7522801270152da5209d7"))
|
||||
|
@ -1194,7 +1230,7 @@ I/O.")
|
|||
|
||||
|
||||
(define-public gemmlowp
|
||||
(let ((commit "f9959600daa42992baace8a49544a00a743ce1b6")
|
||||
(let ((commit "08e4bb339e34017a0835269d4a37c4ea04d15a69")
|
||||
(version "0.1")
|
||||
(revision "1"))
|
||||
(package
|
||||
|
@ -1207,13 +1243,14 @@ I/O.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hzfhlhzcb827aza6a7drydc67dw5fm3qfqilb9ibskan8dsf0c6"))))
|
||||
"1q8f3w5slxd8fbn31hpm00y6wyp7gm71rzr27cmcff4b3px4ca6k"))))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list ,@(match (%current-system)
|
||||
((or "x86_64-linux" "i686-linux")
|
||||
'("-DCMAKE_CXX_FLAGS=-msse2"))
|
||||
(_ '())))
|
||||
(_ '()))
|
||||
"-DBUILD_SHARED_LIBS=ON")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; This directory contains the CMakeLists.txt.
|
||||
|
@ -1993,13 +2030,13 @@ discrete, and conditional dimensions.")
|
|||
(define-public python-deepxde
|
||||
(package
|
||||
(name "python-deepxde")
|
||||
(version "1.9.2")
|
||||
(version "1.9.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "DeepXDE" version))
|
||||
(sha256
|
||||
(base32
|
||||
"07bz3d7d698l0fhznw5l8p16b22d4ly7xq99vrgv48c722qr2r5b"))))
|
||||
"1zw2gqssc0s3maf4gdjckxmzx1d3036hbp1iir26kd08hxj93vzs"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ; there are no tests
|
||||
|
@ -2935,7 +2972,7 @@ advanced research.")
|
|||
(define-public tensorflow-lite
|
||||
(package
|
||||
(name "tensorflow-lite")
|
||||
(version "2.5.0")
|
||||
(version "2.12.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -2945,97 +2982,141 @@ advanced research.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1jdw2i1rq06zqd6aabh7bbm0avsg4pygnfmd7gviv0blhih9054l"))))
|
||||
"0jkgljdagdqllnxygl35r5bh3f9qmbczymfj357gm9krh59g2kmd"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #false ; no "check" target
|
||||
#:build-type "Release"
|
||||
#:configure-flags
|
||||
(list
|
||||
"-DTFLITE_ENABLE_GPU=OFF"
|
||||
"-DTFLITE_ENABLE_RUY=OFF"
|
||||
(list
|
||||
#:tests? #false ;tests are not building now
|
||||
#:build-type "Release"
|
||||
#:modules '((ice-9 match)
|
||||
(guix build utils)
|
||||
(guix build cmake-build-system))
|
||||
#:configure-flags
|
||||
#~(list
|
||||
;; "-DTFLITE_KERNEL_TEST=ON" ; TODO: build tests
|
||||
;; so cmake can be used to find this from other packages
|
||||
"-DTFLITE_ENABLE_INSTALL=ON"
|
||||
|
||||
;; TODO: The build system attempts to build xnnpack from source. We
|
||||
;; would like to use our xnnpack package here, but this requires more
|
||||
;; work.
|
||||
"-DTFLITE_ENABLE_XNNPACK=OFF"
|
||||
;; Use Guix's own packages as dependencies.
|
||||
"-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON"
|
||||
|
||||
;; Pretend we've already fetched abseil. We won't actually build it
|
||||
;; but use the existing package.
|
||||
"-Dabseil-cpp_POPULATED=TRUE"
|
||||
"-DTFLITE_ENABLE_GPU=ON"
|
||||
"-DTFLITE_ENABLE_RUY=ON"
|
||||
|
||||
;; Don't fetch the sources. We have already built flatbuffers.
|
||||
"-Dflatbuffers_POPULATED=TRUE"
|
||||
;; TODO: turn on Farmhash
|
||||
;;"-DSYSTEM_FARMHASH=ON"
|
||||
(string-append "-Dabsl_DIR=" #$(this-package-input "abseil-cpp")
|
||||
"/lib/cmake/absl")
|
||||
(string-append "-DEigen3_DIR=" #$(this-package-input "eigen")
|
||||
"/share/eigen3/cmake")
|
||||
(string-append "-DFlatBuffers_DIR="
|
||||
#$(this-package-input "flatbuffers-shared")
|
||||
"/lib/cmake/flatbuffers")
|
||||
(string-append "-DNEON_2_SSE_DIR=" #$(this-package-input "neon2sse")
|
||||
"/lib/cmake/NEON_2_SSE")
|
||||
(string-append "-Dcpuinfo_DIR=" #$(this-package-input "cpuinfo")
|
||||
"/share/cpuinfo")
|
||||
(string-append "-Druy_DIR=" #$(this-package-input "ruy")
|
||||
"/lib/cmake/ruy")
|
||||
|
||||
"-DFFT2D_SOURCE_DIR=/tmp/fft2d"
|
||||
"-Dneon2sse_SOURCE_DIR=/tmp/neon2sse"
|
||||
"-Dneon2sse_BINARY_DIR=/tmp/neon2sse-bin"
|
||||
"-DFARMHASH_SOURCE_DIR=/tmp/farmhash"
|
||||
"-Dgemmlowp_SOURCE_DIR=/tmp/gemmlowp"
|
||||
(string-append "-DRUY_SOURCE_DIR="
|
||||
(assoc-ref %build-inputs "ruy-src")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _ (chdir "tensorflow/lite")))
|
||||
(add-after 'chdir 'copy-sources
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Use external cmake finders instead of these stubs that won't
|
||||
;; find anything but the bundled sources.
|
||||
(delete-file "tools/cmake/modules/Findabsl.cmake")
|
||||
(delete-file "tools/cmake/modules/Findeigen.cmake")
|
||||
;; TODO: The build system attempts to build xnnpack from source. We
|
||||
;; would like to use our xnnpack package here, but this requires more
|
||||
;; work.
|
||||
"-DTFLITE_ENABLE_XNNPACK=OFF"
|
||||
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("find_package\\(eigen REQUIRED")
|
||||
"find_package(eigen REQUIRED NAMES Eigen3"))
|
||||
(substitute* "tools/cmake/modules/Findflatbuffers.cmake"
|
||||
(("get_target_property.*")
|
||||
(format #false "set(FLATBUFFERS_INCLUDE_DIRS ~a/include)\n"
|
||||
(assoc-ref inputs "flatbuffers"))))
|
||||
;; Don't fetch the sources. We have these already
|
||||
"-Degl_headers_POPULATED=TRUE"
|
||||
"-Dfp16_headers_POPULATED=TRUE"
|
||||
"-Dopencl_headers_POPULATED=TRUE"
|
||||
"-Dopengl_headers_POPULATED=TRUE"
|
||||
"-Dvulkan_headers_POPULATED=TRUE"
|
||||
"-Dgoogletest_POPULATED=TRUE"
|
||||
"-Dgoogle_benchmark_POPULATED=TRUE"
|
||||
"-Dnsync_POPULATED=TRUE"
|
||||
"-Dre2_POPULATED=TRUE"
|
||||
|
||||
;; Don't fetch source code; we already have everything we need.
|
||||
(substitute* '("tools/cmake/modules/fft2d.cmake"
|
||||
"tools/cmake/modules/ruy.cmake"
|
||||
"tools/cmake/modules/farmhash.cmake"
|
||||
"tools/cmake/modules/neon2sse.cmake"
|
||||
"tools/cmake/modules/gemmlowp.cmake")
|
||||
(("OverridableFetchContent_Populate.*") ""))
|
||||
"-DFFT2D_SOURCE_DIR=/tmp/fft2d"
|
||||
"-DFARMHASH_SOURCE_DIR=/tmp/farmhash"
|
||||
"-Dgemmlowp_SOURCE_DIR=/tmp/gemmlowp")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _ (chdir "tensorflow/lite")))
|
||||
(add-after 'chdir 'copy-sources
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; TODO: properly use Guix's pthreaqdpool. We are not using
|
||||
;; pthreadpool because we are not enabling xnnpack
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("if\\(NOT DEFINED PTHREADPOOL_SOURCE_DIR\\)")
|
||||
"if(false)"))
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("if\\(NOT TARGET pthreadpool\\)")
|
||||
"if(false)"))
|
||||
|
||||
(mkdir-p "/tmp/farmhash")
|
||||
(with-directory-excursion "/tmp/farmhash"
|
||||
(invoke "tar" "--strip-components=1"
|
||||
"-xf" (assoc-ref inputs "farmhash-src")))
|
||||
;; Don't fetch source code; we already have everything we need.
|
||||
(substitute* '("tools/cmake/modules/fft2d.cmake"
|
||||
"tools/cmake/modules/farmhash.cmake"
|
||||
"tools/cmake/modules/gemmlowp.cmake")
|
||||
(("OverridableFetchContent_Populate.*") ""))
|
||||
|
||||
(mkdir-p "/tmp/fft2d")
|
||||
(with-directory-excursion "/tmp/fft2d"
|
||||
(invoke "tar" "--strip-components=1"
|
||||
"-xf" (assoc-ref inputs "fft2d-src")))
|
||||
(mkdir-p "/tmp/farmhash")
|
||||
(with-directory-excursion "/tmp/farmhash"
|
||||
(invoke "tar" "--strip-components=1"
|
||||
"-xf" (assoc-ref inputs "farmhash-src")))
|
||||
|
||||
(copy-recursively (assoc-ref inputs "neon2sse-src")
|
||||
"/tmp/neon2sse/")
|
||||
(copy-recursively (assoc-ref inputs "gemmlowp-src")
|
||||
"/tmp/gemmlowp/")))
|
||||
(add-after 'copy-sources 'prepare-shared-library-build
|
||||
(lambda _ (chdir "c")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib"))
|
||||
(headers (string-append out "/include/tensorflow/lite")))
|
||||
(install-file "../build/libtensorflowlite_c.so" lib)
|
||||
(with-directory-excursion ".."
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(let ((target-dir (string-append headers "/" (dirname file))))
|
||||
(install-file file target-dir)))
|
||||
(find-files "." "\\.h$")))))))))
|
||||
(mkdir-p "/tmp/fft2d")
|
||||
(with-directory-excursion "/tmp/fft2d"
|
||||
(invoke "tar" "--strip-components=1"
|
||||
"-xf" (assoc-ref inputs "fft2d-src")))
|
||||
|
||||
(copy-recursively (assoc-ref inputs "gemmlowp-src")
|
||||
"/tmp/gemmlowp/")))
|
||||
|
||||
(add-after 'build 'build-shared-library
|
||||
(lambda* (#:key configure-flags #:allow-other-keys)
|
||||
(mkdir-p "c")
|
||||
(with-directory-excursion "c"
|
||||
(apply invoke "cmake" (append configure-flags (list "../../lite/c")))
|
||||
(invoke "cmake" "--build" "." "-j" (number->string
|
||||
(parallel-job-count))))))
|
||||
(add-after 'build-shared-library 'build-benchmark-model
|
||||
(lambda _
|
||||
(invoke "cmake" "--build" "." "--target" "benchmark_model"
|
||||
"-j" (number->string (parallel-job-count)))))
|
||||
|
||||
(add-after 'install 'install-extra
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib"))
|
||||
(bin (string-append out "/bin")))
|
||||
(install-file "../build/c/libtensorflowlite_c.so" lib)
|
||||
(install-file "../build/tools/benchmark/benchmark_model" bin))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "ctest" "-L" "plain")))))))
|
||||
(inputs
|
||||
`(("abseil-cpp" ,abseil-cpp-20200923.3)
|
||||
("eigen" ,eigen-for-tensorflow-lite)
|
||||
("flatbuffers" ,flatbuffers)
|
||||
("python" ,python)))
|
||||
("cpuinfo" ,cpuinfo)
|
||||
("eigen" ,eigen)
|
||||
("fp16" ,fp16)
|
||||
("flatbuffers-shared" ,flatbuffers-next-shared)
|
||||
;;("gemmlowp" ,gemmlowp) ; TODO
|
||||
("mesa-headers" ,mesa-headers)
|
||||
("neon2sse" ,neon2sse)
|
||||
("nsync" ,nsync)
|
||||
("opencl-clhpp" ,opencl-clhpp)
|
||||
("opencl-headers" ,opencl-headers)
|
||||
("opencl-icd-loader" ,opencl-icd-loader)
|
||||
("pthreadpool" ,pthreadpool)
|
||||
("python" ,python)
|
||||
("ruy" ,ruy)
|
||||
("re2" ,re2)
|
||||
;;("xnnpack" ,xnnpack) ; TODO: use Guix's copy of xnnpack
|
||||
("vulkan-headers" ,vulkan-headers)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("googletest" ,googletest)
|
||||
("gemmlowp-src"
|
||||
;; The commit hash is taken from
|
||||
;; "tensorflow/lite/tools/cmake/modules/gemmlowp.cmake".
|
||||
|
@ -3049,17 +3130,6 @@ advanced research.")
|
|||
(sha256
|
||||
(base32
|
||||
"1sbp8kmr2azwlvfbzryy1frxi99jhsh1nc93bdbxdf8zdgpv0kxl")))))
|
||||
("neon2sse-src"
|
||||
,(let ((commit "a1652fd5253afbf3e39357b012974f93511f6108"))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/intel/ARM_NEON_2_x86_SSE")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "neon2sse" (string-take commit 8)))
|
||||
(sha256
|
||||
(base32
|
||||
"1q8gkxag9wlnwdwad2pclsrkwzrdjy94hyrkayrsvxyj7szb5y8i")))))
|
||||
("farmhash-src"
|
||||
,(let ((commit "816a4ae622e964763ca0862d9dbd19324a1eaf45"))
|
||||
(origin
|
||||
|
@ -3075,24 +3145,12 @@ advanced research.")
|
|||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://storage.googleapis.com/"
|
||||
"mirror.tensorflow.org/"
|
||||
"www.kurims.kyoto-u.ac.jp/~ooura/fft2d.tgz"))
|
||||
"mirror.tensorflow.org/github.com/petewarden/"
|
||||
"OouraFFT/archive/v1.0.tar.gz"))
|
||||
(file-name "fft2d.tar.gz")
|
||||
(sha256
|
||||
(base32
|
||||
"1jfflzi74fag9z4qmgwvp90aif4dpbr1657izmxlgvf4hy8fk9xd"))))
|
||||
("ruy-src"
|
||||
,(let ((commit "9c56af3fce210a8a103eda19bd6f47c08a9e3d90"))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/google/ruy")
|
||||
(commit commit)
|
||||
(recursive? #true)))
|
||||
(file-name (git-file-name "ruy" (string-take commit 8)))
|
||||
(sha256
|
||||
(base32
|
||||
"1cfd5gk6kaj8kbl3h98gx1ap8czd59y6p8qq8nr28fklpyzf5cis")))))))
|
||||
"1jfflzi74fag9z4qmgwvp90aif4dpbr1657izmxlgvf4hy8fk9xd"))))))
|
||||
(home-page "https://tensorflow.org")
|
||||
(synopsis "Machine learning framework")
|
||||
(description
|
||||
|
|
|
@ -648,7 +648,7 @@ operating systems.")
|
|||
(define-public neomutt
|
||||
(package
|
||||
(name "neomutt")
|
||||
(version "20220429")
|
||||
(version "20230517")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -657,7 +657,7 @@ operating systems.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "106m6al48m22gl8848z8d0hsg2qiaz74vgy4f37hycl4v5d3n5ic"))))
|
||||
(base32 "0kjllp2scgmpkl8yd0hwz6jmm98hr2r7qkb75ps9753fl96i4bfn"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list cyrus-sasl
|
||||
|
@ -802,7 +802,7 @@ It adds a large amount of new and improved features to mutt.")
|
|||
vala
|
||||
which)) ; to find libtool, &c.
|
||||
(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")
|
||||
(description
|
||||
"GMime provides a core library and set of utilities which may be used for
|
||||
|
@ -810,20 +810,6 @@ the creation and parsing of messages using the Multipurpose Internet Mail
|
|||
Extension (MIME).")
|
||||
(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
|
||||
(package
|
||||
(name "altermime")
|
||||
|
@ -4091,8 +4077,8 @@ It is a replacement for the @command{urlview} program.")
|
|||
(license license:gpl2+)))
|
||||
|
||||
(define-public mumi
|
||||
(let ((commit "85d5efb4367b9178eb7093e3ebca760745de0753")
|
||||
(revision "2"))
|
||||
(let ((commit "2453a5a6686c035854e4d523b8faa8c47405bd76")
|
||||
(revision "3"))
|
||||
(package
|
||||
(name "mumi")
|
||||
(version (git-version "0.0.5" revision commit))
|
||||
|
@ -4104,7 +4090,7 @@ It is a replacement for the @command{urlview} program.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0yn8dfj3krqwfsdn888vbv903kfa7clmbj2xxin263zqcyzc3alq"))))
|
||||
"0dq87qn77c6qganhck048qxq5ghj3fh2v604f87hwv530lxifabr"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -5916,7 +5916,7 @@ structured and unstructured grid problems.")))
|
|||
(define-public matio
|
||||
(package
|
||||
(name "matio")
|
||||
(version "1.5.19")
|
||||
(version "1.5.23")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -5924,7 +5924,7 @@ structured and unstructured grid problems.")))
|
|||
"matio-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vr8c1mz1k6mz0sgh6n3scl5c3a71iqmy5fnydrgq504icj4vym4"))))
|
||||
"0vjdkxn402gwrgbi5ii3n2ai01bjzzfb588iqd9ylinzc7kfm4cz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -5935,7 +5935,7 @@ structured and unstructured grid problems.")))
|
|||
(install-file "src/matioConfig.h"
|
||||
(string-append #$output "/include")))))))
|
||||
(inputs
|
||||
(list zlib hdf5-1.8))
|
||||
(list zlib hdf5))
|
||||
(home-page "http://matio.sourceforge.net/")
|
||||
(synopsis "Library for reading and writing MAT files")
|
||||
(description "Matio is a library for reading and writing MAT files. It
|
||||
|
@ -8543,3 +8543,39 @@ statistical analysis, image enhancement, fluid dynamics simulations, numerical
|
|||
optimization, and modeling, simulation of explicit and implicit dynamical
|
||||
systems and symbolic manipulations.")
|
||||
(license license:cecill))) ;CeCILL v2.1
|
||||
|
||||
(define-public ruy
|
||||
(let ((commit "caa244343de289f913c505100e6a463d46c174de")
|
||||
(version "0")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "ruy")
|
||||
(version (git-version version revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/google/ruy")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0j2g90nzam4h52zwx2vpanj8m17068cfb1zi4hcy0pyk52kb11dy"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "-DRUY_FIND_CPUINFO=ON"
|
||||
;; Needed to make sure code is relocatable for use in
|
||||
;; tensorflow.
|
||||
"-DCMAKE_CXX_FLAGS=-fPIC ")))
|
||||
(inputs (list cpuinfo))
|
||||
(native-inputs (list googletest))
|
||||
(home-page "https://github.com/google/ruy")
|
||||
(synopsis "Matrix multiplication library")
|
||||
(description
|
||||
"Ruy is a matrix multiplication library. Its focus is to cover the
|
||||
matrix multiplication needs of neural network inference engines. Its initial
|
||||
user has been TensorFlow Lite, where it is used by default on the ARM CPU
|
||||
architecture.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
|
|
|
@ -1317,7 +1317,7 @@ Encryption to Gajim.")
|
|||
(define-public dino
|
||||
(package
|
||||
(name "dino")
|
||||
(version "0.4.2")
|
||||
(version "0.4.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1325,7 +1325,7 @@ Encryption to Gajim.")
|
|||
(string-append "https://github.com/dino/dino/releases/download/v"
|
||||
version "/dino-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1vbyrnivibsn4jzmfb6sfq5fxhb0xh1cnhgcmg1rafq751q55cg1"))))
|
||||
(base32 "01jbggjqsbqrzd76bq4h8ccnijsw3m3mav838mnk20kls8agq5d6"))))
|
||||
(build-system cmake-build-system)
|
||||
(outputs '("out" "debug"))
|
||||
(arguments
|
||||
|
@ -1405,7 +1405,7 @@ default.")
|
|||
(define-public kaidan
|
||||
(package
|
||||
(name "kaidan")
|
||||
(version "0.8.0")
|
||||
(version "0.9.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kde/unstable/kaidan/" version
|
||||
|
@ -1415,7 +1415,7 @@ default.")
|
|||
#~(begin
|
||||
(delete-file-recursively "3rdparty")))
|
||||
(sha256
|
||||
(base32 "195iddv35gc3k83r226y17avsab2b9bszgd7z7ynbddsgbf75rx7"))))
|
||||
(base32 "1waqv0fdkhvp3cqy2a2g6i2wc9s0zbvgzknymrwxy99mnx9ymw9g"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags #~(list "-DBUILD_TESTS=true")))
|
||||
|
@ -1435,6 +1435,7 @@ default.")
|
|||
qtxmlpatterns
|
||||
qqc2-desktop-style
|
||||
qxmpp
|
||||
sonnet
|
||||
zxing-cpp))
|
||||
(home-page "https://www.kaidan.im/")
|
||||
(synopsis "Qt-based XMPP/Jabber Client")
|
||||
|
@ -2129,7 +2130,7 @@ are both supported).")
|
|||
(define-public profanity
|
||||
(package
|
||||
(name "profanity")
|
||||
(version "0.13.0")
|
||||
(version "0.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -2138,7 +2139,7 @@ are both supported).")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"14n45zwc6fxjargqhwqan8fyb7x0ql0hmw56rbjkjfkhpba2qmks"))))
|
||||
"0zygsxxwdxmpppr7vyzi2r7d854yjl6918w0lrs7k41iib9zy8zx"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
|
|
@ -44,10 +44,8 @@
|
|||
#:use-module (gnu packages avahi)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages build-tools) ;meson-next
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages cdrom)
|
||||
#:use-module (gnu packages cmake) ;for MPD
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages file-systems)
|
||||
#:use-module (gnu packages freedesktop) ;elogind
|
||||
|
@ -615,7 +613,7 @@ mpdevil loads all tags and covers on demand.")
|
|||
(define-public mympd
|
||||
(package
|
||||
(name "mympd")
|
||||
(version "11.0.4")
|
||||
(version "11.0.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -624,7 +622,7 @@ mpdevil loads all tags and covers on demand.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ki9az71x35548mnl5assb0hgli3bvrbzv0fb5dfli4q5i1z8fmq"))))
|
||||
"0b3skvam3kb14w2afzxl1pfvj4cfanr45nyv93zpxafmxgghxqcv"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -2270,7 +2270,7 @@ a JACK session.")
|
|||
(define-public mixxx
|
||||
(package
|
||||
(name "mixxx")
|
||||
(version "2.3.5")
|
||||
(version "2.3.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -2282,7 +2282,7 @@ a JACK session.")
|
|||
(search-patches "mixxx-link-qtscriptbytearray-qtscript.patch"
|
||||
"mixxx-system-googletest-benchmark.patch"))
|
||||
(sha256
|
||||
(base32 "0142xcq5ahk50kzc06s13xilj8m4p0spmd5hqd8s08qjhr37n2il"))
|
||||
(base32 "1v1sza75rf2q1m0bdc0j2k53qd34m12d1573jmac3g7vvyqh5n2m"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Delete libraries that we already have or don't need.
|
||||
|
@ -3780,15 +3780,15 @@ event-based scripts for scrobbling, notifications, etc.")
|
|||
(define-public picard
|
||||
(package
|
||||
(name "picard")
|
||||
(version "2.9")
|
||||
(version "2.9.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://musicbrainz.osuosl.org/pub/musicbrainz/"
|
||||
"https://data.musicbrainz.org/pub/musicbrainz/"
|
||||
"picard/picard-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0afiziaq49sq1dx5r3qis4ymhhkrqlrkfnb6f7gcksj0kwljvsw9"))))
|
||||
"1f1nf53xm94jam8w86a8hx69ilzddjibf29c7f1i353fr6k6bqvs"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -3806,12 +3806,10 @@ event-based scripts for scrobbling, notifications, etc.")
|
|||
(string-append
|
||||
"pyfpcalc', '"
|
||||
(assoc-ref inputs "chromaprint") "/bin/fpcalc")))))
|
||||
(add-before 'check 'delete-failing-test
|
||||
;; pipe tests require writable $HOME.
|
||||
(add-before 'check 'set-HOME
|
||||
(lambda _
|
||||
;; FIXME: This test fails in build environment.
|
||||
;; util/pipe.read_from_pipe:244: pipe reader exception:
|
||||
;; ERROR: Pipe doesn't exist
|
||||
(delete-file "test/test_util_pipe.py"))))))
|
||||
(setenv "HOME" "/tmp"))))))
|
||||
(native-inputs
|
||||
(list gettext-minimal python-dateutil))
|
||||
(inputs
|
||||
|
@ -6352,6 +6350,170 @@ keymaps for QWERTZ, QWERTY and AZERTY keyboards and also allows custom
|
|||
ones.")
|
||||
(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
|
||||
(package
|
||||
(name "dpf-plugins")
|
||||
|
@ -6517,6 +6679,7 @@ and as an LV2 plugin.")
|
|||
"-Dgraphviz=enabled" ;for exporting routing graphs
|
||||
"-Dguile=enabled" ;for Guile scripting
|
||||
"-Djack=enabled" ;for JACK audio/MIDI backend
|
||||
"-Drtaudio=enabled" ;for RtAudio backend (ALSA)
|
||||
"-Drtmidi=enabled" ;for RtMidi backend (ALSA sequencer)
|
||||
"-Dsdl=enabled") ;for SDL audio backend (which uses ALSA)
|
||||
#:phases
|
||||
|
@ -6598,6 +6761,7 @@ success = io_mkdir (tmp_log_dir, &err);")))
|
|||
pipewire
|
||||
pulseaudio
|
||||
reproc
|
||||
rtaudio
|
||||
rtmidi
|
||||
rubberband
|
||||
sdl2
|
||||
|
|
|
@ -256,7 +256,7 @@ protocols.")
|
|||
(define-public lcrq
|
||||
(package
|
||||
(name "lcrq")
|
||||
(version "0.1.0")
|
||||
(version "0.1.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -265,7 +265,7 @@ protocols.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"13mfg866scvy557zrvjxjhkzam39h8d07s2w3fqbwhw6br6axkxk"))))
|
||||
"1m29p4bsafzbchnkidyrnglfdf1c9pnq6akkmivi23qdv9kj51dg"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:parallel-tests? #f
|
||||
|
@ -289,7 +289,7 @@ the RFC.")
|
|||
(define-public lcsync
|
||||
(package
|
||||
(name "lcsync")
|
||||
(version "0.0.1")
|
||||
(version "0.2.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -298,45 +298,33 @@ the RFC.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0s038b4xg9nlzhrganzjyfvc6n6cgd6kilnpik4axp62j2n5q11q"))))
|
||||
"0bsd3dkir2i647nmrmyb7skbv16v0f6f3gfwkpxz8g42978dlms5"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:parallel-tests? #f
|
||||
#:configure-flags
|
||||
(list
|
||||
(string-append "--prefix="
|
||||
(assoc-ref %outputs "out")))
|
||||
#:make-flags (let ((target ,(%current-target-system)))
|
||||
(list ,(string-append "CC="
|
||||
(cc-for-target))
|
||||
;; avoid running setcap in the install process
|
||||
"SETCAP_PROGRAM=true"
|
||||
(string-append "prefix="
|
||||
(assoc-ref %outputs "out"))))
|
||||
(cc-for-target))))
|
||||
#:test-target "test"
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure) ;no configure script
|
||||
(add-before 'check 'remove-network-tests
|
||||
(add-after 'unpack 'use-prefix-from-configure-in-doc-makefile
|
||||
;; Use prefix from configure. Fixed upstream:
|
||||
;; https://codeberg.org/librecast/lcsync/commit/4ba00f6
|
||||
;; XXX: Remove for 0.2.2+
|
||||
(lambda _
|
||||
;; these tests require networking
|
||||
(delete-file "./test/0000-0027.c")
|
||||
(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"))))
|
||||
(substitute* "doc/Makefile.in"
|
||||
(("PREFIX .= /usr/local") "PREFIX ?= @prefix@"))))
|
||||
(add-before 'build 'add-library-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let* ((librecast (assoc-ref inputs "librecast")))
|
||||
(substitute* (list "./src/Makefile" "./test/Makefile")
|
||||
(("-llibrecast")
|
||||
(string-append "-L" librecast "/lib -llibrecast")))))))))
|
||||
(inputs (list librecast libsodium))
|
||||
(native-inputs (list simde))
|
||||
(inputs (list lcrq librecast libsodium))
|
||||
(home-page "https://librecast.net/lcsync.html")
|
||||
(synopsis "Librecast file and data syncing tool")
|
||||
(description
|
||||
|
@ -487,7 +475,7 @@ GLib-based library, libnice, as well as GStreamer elements to use it.")
|
|||
(define-public librecast
|
||||
(package
|
||||
(name "librecast")
|
||||
(version "0.6.1")
|
||||
(version "0.7.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(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))
|
||||
(sha256
|
||||
(base32
|
||||
"1kixnm7pn8345wp0klhnpw5x992cqbqx3bhc01j8xhqf6irlzdm3"))))
|
||||
"0y0km0fv39m3i227pyg7fcr7d94gbji51fkcywqyrjgmk4j1hp1n"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:parallel-tests? #f
|
||||
|
@ -505,26 +493,7 @@ GLib-based library, libnice, as well as GStreamer elements to use it.")
|
|||
(cc-for-target))
|
||||
(string-append "PREFIX="
|
||||
(assoc-ref %outputs "out"))))
|
||||
#: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"))))))
|
||||
#:test-target "test"))
|
||||
(inputs (list libsodium lcrq))
|
||||
(synopsis "IPv6 multicast library")
|
||||
(description "Librecast is a C library which supports IPv6 multicast
|
||||
|
@ -1505,6 +1474,26 @@ containing both Producer and Consumer support.")
|
|||
(base32
|
||||
"0ay0n0d85254zdmv8znmn399gfiqpk6ga0jwdwa7ylpbw9pbdzw8"))))
|
||||
(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/")
|
||||
(synopsis "Library for Neighbor Discovery Protocol")
|
||||
(description
|
||||
|
@ -1575,42 +1564,33 @@ intended as a substitute for the PPPStatus and EthStatus projects.")
|
|||
(define-public iputils
|
||||
(package
|
||||
(name "iputils")
|
||||
(version "20190709")
|
||||
(version "20221126")
|
||||
(home-page "https://github.com/iputils/iputils")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url home-page)
|
||||
(commit (string-append "s" version))))
|
||||
(uri (git-reference (url home-page) (commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(patches (search-patches "iputils-libcap-compat.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"04bp4af15adp79ipxmiakfp0ij6hx5qam266flzbr94pr8z8l693"))))
|
||||
"1qfdvr60mlwh5kr4p27wjknz1cvrwfi6iadh9ny45661v22i0njx"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-DBUILD_RARPD=true")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-docbook-url
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let* ((docbook-xsl (assoc-ref inputs "docbook-xsl"))
|
||||
(uri (string-append docbook-xsl "/xml/xsl/docbook-xsl-"
|
||||
,(package-version docbook-xsl))))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(substitute* file
|
||||
(("http://docbook\\.sourceforge\\.net/release/xsl-ns/current")
|
||||
uri)))
|
||||
(cons "doc/meson.build"
|
||||
(find-files "doc" "\\.xsl$")))
|
||||
#t))))))
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-ping-test
|
||||
(lambda _
|
||||
;; Disable ping test, as it requires root or raw socket capabilities.
|
||||
(substitute* "test/meson.build"
|
||||
(("if build_ping == true")
|
||||
"if false")))))))
|
||||
(native-inputs
|
||||
`(("gettext" ,gettext-minimal)
|
||||
("pkg-config" ,pkg-config)
|
||||
("docbook-xsl" ,docbook-xsl)
|
||||
("docbook-xml" ,docbook-xml)
|
||||
("libxml2" ,libxml2) ;for XML_CATALOG_FILES
|
||||
("xsltproc" ,libxslt)))
|
||||
(list gettext-minimal
|
||||
pkg-config
|
||||
docbook-xsl
|
||||
docbook-xml
|
||||
libxml2 ;for XML_CATALOG_FILES
|
||||
libxslt))
|
||||
(inputs
|
||||
(list libcap libidn2 openssl))
|
||||
(synopsis "Collection of network utilities")
|
||||
|
@ -1622,20 +1602,15 @@ configuration, troubleshooting, or servers. Utilities included are:
|
|||
@item @command{arping}: Ping hosts using the @dfn{Address Resolution Protocol}.
|
||||
@item @command{clockdiff}: Compute time difference between network hosts
|
||||
using ICMP TSTAMP messages.
|
||||
@item @command{ninfod}: Daemon that responds to IPv6 Node Information Queries.
|
||||
@item @command{ping}: Use ICMP ECHO messages to measure round-trip delays
|
||||
and packet loss across network paths.
|
||||
@item @command{rarpd}: Answer RARP requests from clients.
|
||||
@item @command{rdisc}: Populate network routing tables with information from
|
||||
the ICMP router discovery protocol.
|
||||
@item @command{tftpd}: Trivial file transfer protocol server.
|
||||
@item @command{tracepath}: Trace network path to an IPv4 or IPv6 address and
|
||||
discover MTU along the way.
|
||||
@end itemize")
|
||||
;; The various utilities are covered by different licenses, see LICENSE
|
||||
;; for details.
|
||||
(license (list license:gpl2+ ;arping, rarpd, tracepath
|
||||
license:bsd-3 ;clockdiff, ninfod, ping, tftpd
|
||||
(license (list license:gpl2+ ;arping, tracepath
|
||||
license:bsd-3 ;clockdiff, ping
|
||||
(license:non-copyleft
|
||||
"https://spdx.org/licenses/Rdisc.html"
|
||||
"Sun Microsystems license, see rdisc.c for details")))))
|
||||
|
@ -2779,7 +2754,7 @@ procedure calls (RPCs).")
|
|||
(define-public openvswitch
|
||||
(package
|
||||
(name "openvswitch")
|
||||
(version "3.0.3")
|
||||
(version "3.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -2787,7 +2762,7 @@ procedure calls (RPCs).")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qwlpnwjcyb7fpw6yp65mdqg20i1851z70xmvzxwxwpifq56a1pm"))))
|
||||
"1i0lb40lwbakmmqklmfcgr01l1ymsawgdi7k9a1zzp8ariw7x4ff"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
|
@ -4389,7 +4364,7 @@ network.")
|
|||
(define-public yggdrasil
|
||||
(package
|
||||
(name "yggdrasil")
|
||||
(version "0.4.3")
|
||||
(version "0.4.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -4400,27 +4375,33 @@ network.")
|
|||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0jp6998a45xi8pbi8p84chvpm1mhhcvcxm1avi1c1gjjp4jqm3vl"))
|
||||
(base32 "01mllfrsr55lnfivxwa57cfrjas6w4shsvx9k81pw8jixc124myk"))
|
||||
(patches (search-patches "yggdrasil-extra-config.patch"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/yggdrasil-network/yggdrasil-go"
|
||||
;; TODO: figure out how tests are run
|
||||
#:tests? #f
|
||||
#:install-source? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(lambda* (#:key import-path build-flags #:allow-other-keys)
|
||||
(for-each
|
||||
(lambda (directory)
|
||||
((assoc-ref %standard-phases 'build)
|
||||
#:build-flags build-flags
|
||||
#:import-path directory))
|
||||
(list "github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasil"
|
||||
"github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasilctl"
|
||||
"github.com/yggdrasil-network/yggdrasil-go/cmd/genkeys"))
|
||||
#t)))))
|
||||
(list #:import-path "github.com/yggdrasil-network/yggdrasil-go"
|
||||
;; TODO: figure out how tests are run
|
||||
#:tests? #f
|
||||
#:install-source? #f
|
||||
#:go go-1.20
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(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
|
||||
(lambda (directory)
|
||||
((assoc-ref %standard-phases 'build)
|
||||
#:build-flags `("-ldflags" ,ldflags)
|
||||
#:import-path directory))
|
||||
(list "github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasil"
|
||||
"github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasilctl"
|
||||
"github.com/yggdrasil-network/yggdrasil-go/cmd/genkeys"))))))))
|
||||
;; https://github.com/kardianos/minwinsvc is windows only
|
||||
(propagated-inputs
|
||||
(list ;;("go-golang-zx2c4-com-wireguard-windows"
|
||||
|
@ -4430,11 +4411,14 @@ network.")
|
|||
go-golang-org-x-sys
|
||||
go-golang-org-x-net
|
||||
go-golang-org-x-crypto
|
||||
go-golang-org-x-tools
|
||||
go-netns
|
||||
go-netlink
|
||||
go-github-com-olekukonko-tablewriter
|
||||
go-github-com-mitchellh-mapstructure
|
||||
go-github-com-mattn-go-runewidth
|
||||
go-github-com-mattn-go-isatty
|
||||
go-github-com-mattn-go-colorable
|
||||
go-github-com-kardianos-minwinsvc
|
||||
go-github-com-hjson-hjson-go
|
||||
go-github-com-hashicorp-go-syslog
|
||||
|
@ -4502,7 +4486,7 @@ on hub/switched networks. It is based on @acronym{ARP} packets, it will send
|
|||
(define-public phantomsocks
|
||||
(package
|
||||
(name "phantomsocks")
|
||||
(version "0.0.0-20230405135900-a54ae9f3611e")
|
||||
(version "0.0.0-20230811053544-53b995bdab83")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -4511,7 +4495,7 @@ on hub/switched networks. It is based on @acronym{ARP} packets, it will send
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1qgv8dcrsyzjzppvdk0n5kkyaypcjm1hcn9lb29ahvbhm70cpm6a"))))
|
||||
"1jc9qldi4f9s6n4ggaphyilxjymrz95hwd060jhj260x2hkdywl9"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list #:install-source? #f
|
||||
|
@ -4519,13 +4503,12 @@ on hub/switched networks. It is based on @acronym{ARP} packets, it will send
|
|||
#:build-flags #~'("-tags" #$(if (target-linux?)
|
||||
"rawsocket"
|
||||
"pcap"))))
|
||||
(propagated-inputs
|
||||
(list go-github-com-google-gopacket
|
||||
go-github-com-macronut-go-tproxy))
|
||||
(inputs
|
||||
(if (target-linux?)
|
||||
'()
|
||||
(list libpcap)))
|
||||
(append (if (target-linux?)
|
||||
'()
|
||||
(list libpcap))
|
||||
(list go-github-com-google-gopacket
|
||||
go-github-com-macronut-go-tproxy)))
|
||||
(home-page "https://github.com/macronut/phantomsocks")
|
||||
(synopsis "Internet censorship circumvention tool")
|
||||
(description
|
||||
|
|
|
@ -669,7 +669,7 @@ parser definition into a C output.")
|
|||
(define-public llhttp-bootstrap
|
||||
(package
|
||||
(name "llhttp")
|
||||
(version "6.0.10")
|
||||
(version "6.0.11")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -678,7 +678,7 @@ parser definition into a C output.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0izwqa77y007xdi0bj3ccw821n19rz89mz4hx4lg99fwkwylr6x8"))
|
||||
"16gaylka6nx9bsff9xga3s8xihxm3k7svrb88lr4dj2s4pzlfga9"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -738,14 +738,14 @@ source files.")
|
|||
(define-public node-lts
|
||||
(package
|
||||
(inherit node)
|
||||
(version "18.16.0")
|
||||
(version "18.17.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://nodejs.org/dist/v" version
|
||||
"/node-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vcc132z7lkxnw5clmiz6sp6ccmw35pyb69hczphrig5frfmqkva"))
|
||||
"0dachvhf5jxrb1av8mn2dikbhwklxsgc9y2zg4h50fcwh5d54mqi"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 Cyril Roelandt <tipecaml@gmail.com>
|
||||
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2019, 2021 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2022 Marius Bakke <marius@gnu.org>
|
||||
|
@ -138,26 +138,23 @@ manner.")
|
|||
(define-public python-hacking
|
||||
(package
|
||||
(name "python-hacking")
|
||||
(version "4.1.0")
|
||||
(version "5.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "hacking" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0fg19rlcky3n1y1ri61xyjp7534yzf8r102z9dw3zqg93f4kj20m"))))
|
||||
"09p0avmz914asszvdknc46n43bl070f369wmjmppl51zmw4b4ddb"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
(list python-flake8-3.8))
|
||||
(propagated-inputs
|
||||
(list python-flake8))
|
||||
(native-inputs
|
||||
(list ;; Tests
|
||||
python-coverage
|
||||
python-ddt
|
||||
python-dnspython
|
||||
python-fixtures
|
||||
python-eventlet
|
||||
python-mock
|
||||
python-monotonic
|
||||
python-fixtures
|
||||
python-subunit
|
||||
python-stestr
|
||||
python-testscenarios
|
||||
|
|
|
@ -1450,8 +1450,8 @@ environments.")
|
|||
"0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc")))))))
|
||||
|
||||
(define-public guix-build-coordinator
|
||||
(let ((commit "f39f16000469429745bd8aff3cd4d59b7c489fa1")
|
||||
(revision "86"))
|
||||
(let ((commit "cbded42c284cca4ecaaebbf0a666cf89efc465a7")
|
||||
(revision "88"))
|
||||
(package
|
||||
(name "guix-build-coordinator")
|
||||
(version (git-version "0" revision commit))
|
||||
|
@ -1462,7 +1462,7 @@ environments.")
|
|||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1lmbwbza87xzbvmzw44sgpscmqjfl5kpgfl79n7hzwa1icqqb7mg"))
|
||||
"1z2wdf5h4dxq9g7a6j7nvmrsqcibrfm8nmkakqgz7ipcxyk0vzjx"))
|
||||
(file-name (string-append name "-" version "-checkout"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix git-download)
|
||||
|
@ -40,7 +41,7 @@
|
|||
(define-public granite
|
||||
(package
|
||||
(name "granite")
|
||||
(version "6.2.0")
|
||||
(version "7.3.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -49,16 +50,21 @@
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ilslmg63hh2x7h5rvs3mhzw1y9ixhhkqnn1j1lzwm12v2iidkaq"))))
|
||||
"0pyvkif2kin5dskh7adadsh4r96mvx12y7cs6gnm0ml733q548dj"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-icon-cache
|
||||
(lambda _
|
||||
(setenv "DESTDIR" "/"))))))
|
||||
(inputs (list glib gtk+ libgee))
|
||||
(native-inputs (list gettext-minimal gobject-introspection pkg-config
|
||||
python vala))
|
||||
(inputs (list sassc))
|
||||
(propagated-inputs (list glib libgee gtk)) ;required in .pc file
|
||||
(native-inputs (list gettext-minimal
|
||||
`(,glib "bin")
|
||||
gobject-introspection
|
||||
pkg-config
|
||||
python
|
||||
vala))
|
||||
(home-page "https://github.com/elementary/granite")
|
||||
(synopsis "Library that extends GTK with common widgets and utilities")
|
||||
(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
|
||||
(package
|
||||
(name "pantheon-calculator")
|
||||
(version "1.7.2")
|
||||
(version "2.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -79,7 +85,7 @@ in apps built for the Pantheon desktop.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"11rwwi6nlhwpcm29dn2mbz0239nfjdwlqlqbchm0j9sr1ypifk2k"))))
|
||||
"1w59sgznzybawhz411avqayws8jq0471n6hwhkplvcz7inxlzdrw"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
|
@ -91,15 +97,15 @@ in apps built for the Pantheon desktop.")
|
|||
(inputs
|
||||
(list granite
|
||||
glib
|
||||
gtk+
|
||||
gtk
|
||||
libgee
|
||||
libhandy))
|
||||
(native-inputs
|
||||
`(("cmake" ,cmake)
|
||||
("glib:bin" ,glib "bin") ; for glib-compile-schemas
|
||||
("gettext" ,gettext-minimal)
|
||||
("pkg-config" ,pkg-config)
|
||||
("vala" ,vala)))
|
||||
(list cmake
|
||||
`(,glib "bin") ; for glib-compile-schemas
|
||||
gettext-minimal
|
||||
pkg-config
|
||||
vala))
|
||||
(home-page "https://github.com/elementary/calculator")
|
||||
(synopsis "Desktop calculator")
|
||||
(description "Calculator is an application for performing simple
|
||||
|
@ -110,7 +116,7 @@ desktop.")
|
|||
(define-public sideload
|
||||
(package
|
||||
(name "sideload")
|
||||
(version "6.0.2")
|
||||
(version "6.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -120,7 +126,7 @@ desktop.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0abpcawmmv5mgzk2i5n9rlairmjr2v9rg9b8c9g7xa085s496bi9"))))
|
||||
"0vrj91899f13cvzpycqy3y74hmixsffjbzsj29da7n370fa3ci86"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
|
|
|
@ -64,14 +64,14 @@
|
|||
(define-public parallel
|
||||
(package
|
||||
(name "parallel")
|
||||
(version "20230622")
|
||||
(version "20230822")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/parallel/parallel-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "13i3himpq1gzhn3b0hl8vp34kz950ql9pssw251ad611f2nj8fny"))
|
||||
(base32 "0ppwdgp9j7r0a5l5zb0mla70jq24wmy1n33b5naw44y1lfclanab"))
|
||||
(snippet
|
||||
'(begin
|
||||
(use-modules (guix build utils))
|
||||
|
|
|
@ -1577,7 +1577,7 @@ pass-tomb to automatically close your store after a given time.")
|
|||
(define-public xkcdpass
|
||||
(package
|
||||
(name "xkcdpass")
|
||||
(version "1.19.3")
|
||||
(version "1.19.4")
|
||||
(home-page "https://github.com/redacted/XKCD-password-generator")
|
||||
(source (origin
|
||||
(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))
|
||||
(sha256
|
||||
(base32
|
||||
"0xfrmx9k2vinlagv476rfcfdp41aix1ldy6qnzzx26n985gcyk7p"))))
|
||||
"1din4fqxgcj74vcjrsmn19sv81raards39x8pd75hmfxqqgggnd6"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -0,0 +1,72 @@
|
|||
Adjust CMakeLists.txt to use system-provided mmg and yaml-cpp libraries.
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index b11c5ba..702423e 100755
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -122,28 +122,8 @@ if(MMG_MESH)
|
||||
add_definitions(-DMMG_MESH)
|
||||
|
||||
# MMG
|
||||
- set(MMG_PREFIX mmg3d)
|
||||
- set(MMG_PREFIX_DIR ${CMAKE_CURRENT_BINARY_DIR}/${MMG_PREFIX})
|
||||
- set(MMG_INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/${MMG_PREFIX})
|
||||
- ExternalProject_Add(${MMG_PREFIX}
|
||||
- PREFIX ${MMG_PREFIX_DIR}
|
||||
- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libs/mmg
|
||||
-
|
||||
- BUILD_ALWAYS OFF
|
||||
- INSTALL_DIR ${MMG_INSTALL_DIR}
|
||||
-
|
||||
- CMAKE_ARGS(-DCMAKE_BUILD_TYPE=Release -DBUILD=MMG3D -DLIBMMG3D_STATIC=ON
|
||||
- -DLIBMMG3D_SHARED=OFF -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>)
|
||||
-
|
||||
- BUILD_COMMAND make
|
||||
- INSTALL_COMMAND make install
|
||||
- )
|
||||
- set(MMG3D_INCLUDE_DIRS "${MMG_INSTALL_DIR}/include")
|
||||
- set(MMG3D_LIBRARIES "${MMG_INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}${MMG_PREFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
-
|
||||
- include_directories(${MMG3D_INCLUDE_DIRS})
|
||||
- #add_library(MMG3D STATIC IMPORTED)
|
||||
- #set_target_properties(MMG3D PROPERTIES IMPORTED_LOCATION "${MMG3D_LIBRARIES}")
|
||||
+ include_directories(${MMG_INCLUDE_DIR})
|
||||
+ set(MMG3D_LIBRARIES ${MMG_LIBRARY_DIR}/libmmg3d.so)
|
||||
|
||||
# MshMet
|
||||
set(MSHMET_PREFIX mshmet)
|
||||
@@ -192,14 +172,8 @@ target_include_directories(tet PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/libs/tetgen)
|
||||
target_compile_definitions(tet PUBLIC TETLIBRARY) # -DTETLIBRARY: flag to compile tetgen as a library
|
||||
|
||||
# yaml
|
||||
-file(GLOB yaml_SRC CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libs/yaml/src/*.cpp) # Using file GLOB is not recomended!
|
||||
-add_library(yaml STATIC)
|
||||
-target_include_directories(yaml
|
||||
- PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/libs/yaml/include
|
||||
- PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/libs/yaml/src
|
||||
-)
|
||||
-target_sources(yaml PRIVATE ${yaml_SRC})
|
||||
-set_target_properties(yaml PROPERTIES CXX_STANDARD 11)
|
||||
+find_package(yaml-cpp REQUIRED)
|
||||
+include_directories(${YAML_CPP_INCLUDE_DIRS})
|
||||
|
||||
# Compile options for debuging
|
||||
if(CMAKE_BUILD_TYPE MATCHES Debug)
|
||||
@@ -259,7 +233,7 @@ if(MARCH_NATIVE)
|
||||
endif()
|
||||
|
||||
# Create entries for C++ files in "ASLI" routine
|
||||
-target_link_libraries(ASLI PUBLIC alg tet yaml)
|
||||
+target_link_libraries(ASLI PUBLIC alg tet ${YAML_CPP_LIBRARIES})
|
||||
if(NOT MSVC)
|
||||
target_link_libraries(ASLI PUBLIC stdc++fs)
|
||||
endif()
|
||||
@@ -272,7 +246,7 @@ if(CGAL_MESH)
|
||||
endif()
|
||||
|
||||
if(MMG_MESH)
|
||||
- add_dependencies(ASLI ${MMG_PREFIX} ${MSHMET_PREFIX})
|
||||
+ add_dependencies(ASLI ${MSHMET_PREFIX})
|
||||
target_link_libraries(ASLI PUBLIC ${MMG3D_LIBRARIES} ${MSHMET_LIBRARIES})
|
||||
if(SCOTCH_FOUND)
|
||||
target_link_libraries(ASLI PUBLIC ${SCOTCH_LIBRARIES} scotch)
|
|
@ -0,0 +1,40 @@
|
|||
Fix building against Lens 5 by commenting out type signatures(!).
|
||||
|
||||
Taken from upstream:
|
||||
|
||||
https://github.com/ganeti/ganeti/commit/5e30bad1bba63c9f6c782003ef2560f107a0ba24
|
||||
|
||||
diff --git a/src/Ganeti/Network.hs b/src/Ganeti/Network.hs
|
||||
index 1cb6aa1ec..696c1cd1b 100644
|
||||
--- a/src/Ganeti/Network.hs
|
||||
+++ b/src/Ganeti/Network.hs
|
||||
@@ -87,11 +87,11 @@ data PoolPart = PoolInstances | PoolExt
|
||||
addressPoolIso :: Iso' AddressPool BA.BitArray
|
||||
addressPoolIso = iso apReservations AddressPool
|
||||
|
||||
-poolLens :: PoolPart -> Lens' Network (Maybe AddressPool)
|
||||
+--poolLens :: PoolPart -> Lens' Network (Maybe AddressPool)
|
||||
poolLens PoolInstances = networkReservationsL
|
||||
poolLens PoolExt = networkExtReservationsL
|
||||
|
||||
-poolArrayLens :: PoolPart -> Lens' Network (Maybe BA.BitArray)
|
||||
+--poolArrayLens :: PoolPart -> Lens' Network (Maybe BA.BitArray)
|
||||
poolArrayLens part = poolLens part . mapping addressPoolIso
|
||||
|
||||
netIpv4NumHosts :: Network -> Integer
|
||||
diff --git a/src/Ganeti/Utils/MultiMap.hs b/src/Ganeti/Utils/MultiMap.hs
|
||||
index d54da3ab0..279e9335a 100644
|
||||
--- a/src/Ganeti/Utils/MultiMap.hs
|
||||
+++ b/src/Ganeti/Utils/MultiMap.hs
|
||||
@@ -91,7 +91,7 @@ multiMap :: (Ord k, Ord v) => M.Map k (S.Set v) -> MultiMap k v
|
||||
multiMap = MultiMap . M.filter (not . S.null)
|
||||
|
||||
-- | A 'Lens' that allows to access a set under a given key in a multi-map.
|
||||
-multiMapL :: (Ord k, Ord v) => k -> Lens' (MultiMap k v) (S.Set v)
|
||||
+--multiMapL :: (Ord k, Ord v) => k -> Lens' (MultiMap k v) (S.Set v)
|
||||
multiMapL k f = fmap MultiMap
|
||||
. at k (fmap (mfilter (not . S.null) . Just)
|
||||
. f . fromMaybe S.empty)
|
||||
--
|
||||
2.41.0
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
Fix compatibility with procps 4.
|
||||
|
||||
Negative UIDs are no longer allowed. Use a very high one instead.
|
||||
|
||||
Taken from upstream:
|
||||
|
||||
https://github.com/ganeti/ganeti/commit/9cd67e6a81c66ed326d68ea8c3241d14eea6550b
|
||||
|
||||
diff --git a/test/py/ganeti.uidpool_unittest.py b/test/py/ganeti.uidpool_unittest.py
|
||||
index b2f5bc5cf2..2d9227cbf5 100755
|
||||
--- a/test/py/ganeti.uidpool_unittest.py
|
||||
+++ b/test/py/ganeti.uidpool_unittest.py
|
||||
@@ -106,23 +106,24 @@ def testRequestUnusedUid(self):
|
||||
|
||||
# Check with a single, known unused user-id
|
||||
#
|
||||
- # We use "-1" here, which is not a valid user-id, so it's
|
||||
- # guaranteed that it's unused.
|
||||
- uid = uidpool.RequestUnusedUid(set([-1]))
|
||||
- self.assertEqualValues(uid.GetUid(), -1)
|
||||
+ # We use 2^30+42 here, which is a valid UID, but unlikely to be used on
|
||||
+ # most systems (even as a subuid).
|
||||
+ free_uid = 2**30 + 42
|
||||
+ uid = uidpool.RequestUnusedUid(set([free_uid]))
|
||||
+ self.assertEqualValues(uid.GetUid(), free_uid)
|
||||
|
||||
# Check uid-pool exhaustion
|
||||
#
|
||||
- # uid "-1" is locked now, so RequestUnusedUid is expected to fail
|
||||
+ # free_uid is locked now, so RequestUnusedUid is expected to fail
|
||||
self.assertRaises(errors.LockError,
|
||||
uidpool.RequestUnusedUid,
|
||||
- set([-1]))
|
||||
+ set([free_uid]))
|
||||
|
||||
# Check unlocking
|
||||
uid.Unlock()
|
||||
# After unlocking, "-1" should be available again
|
||||
- uid = uidpool.RequestUnusedUid(set([-1]))
|
||||
- self.assertEqualValues(uid.GetUid(), -1)
|
||||
+ uid = uidpool.RequestUnusedUid(set([free_uid]))
|
||||
+ self.assertEqualValues(uid.GetUid(), free_uid)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
|
@ -0,0 +1,28 @@
|
|||
Relax version constraints to work with Stackage LTS 19.
|
||||
|
||||
Taken from upstream:
|
||||
|
||||
https://github.com/ganeti/ganeti/commit/4f8d61ea0101721eae1c6f43be8430d819e5e611
|
||||
|
||||
diff --git a/cabal/ganeti.template.cabal b/cabal/ganeti.template.cabal
|
||||
index bb4ff8053..98491dd9f 100644
|
||||
--- a/cabal/ganeti.template.cabal
|
||||
+++ b/cabal/ganeti.template.cabal
|
||||
@@ -63,14 +63,14 @@ library
|
||||
, unix >= 2.5.1.0
|
||||
, utf8-string >= 0.3.7
|
||||
|
||||
- , attoparsec >= 0.10.1.1 && < 0.14
|
||||
- , base64-bytestring >= 1.0.0.1 && < 1.2
|
||||
+ , attoparsec >= 0.10.1.1 && < 0.15
|
||||
+ , base64-bytestring >= 1.0.0.1 && < 1.3
|
||||
, case-insensitive >= 0.4.0.1 && < 1.3
|
||||
, curl >= 1.3.7 && < 1.4
|
||||
, hinotify >= 0.3.2 && < 0.5
|
||||
, hslogger >= 1.1.4 && < 1.4
|
||||
, json >= 0.5 && < 1.0
|
||||
- , lens >= 3.10 && < 5.0
|
||||
+ , lens >= 3.10 && < 6.0
|
||||
, lifted-base >= 0.2.0.3 && < 0.3
|
||||
, monad-control >= 0.3.1.3 && < 1.1
|
||||
, parallel >= 3.2.0.2 && < 3.3
|
|
@ -0,0 +1,90 @@
|
|||
Fix ordering of Arbitrary definitions for GHC 9 compatibility.
|
||||
|
||||
Taken from upstream:
|
||||
|
||||
https://github.com/ganeti/ganeti/commit/feab8faa8fe055c89205497e4f277ae4c7b8caad
|
||||
|
||||
diff --git a/test/hs/Test/Ganeti/Objects.hs b/test/hs/Test/Ganeti/Objects.hs
|
||||
index 97ceb36dca..8d80be9e80 100644
|
||||
--- a/test/hs/Test/Ganeti/Objects.hs
|
||||
+++ b/test/hs/Test/Ganeti/Objects.hs
|
||||
@@ -93,8 +93,14 @@ instance Arbitrary (Container DataCollectorConfig) where
|
||||
instance Arbitrary BS.ByteString where
|
||||
arbitrary = genPrintableByteString
|
||||
|
||||
+instance Arbitrary a => Arbitrary (Private a) where
|
||||
+ arbitrary = Private <$> arbitrary
|
||||
+
|
||||
$(genArbitrary ''PartialNDParams)
|
||||
|
||||
+instance Arbitrary (Container J.JSValue) where
|
||||
+ arbitrary = return $ GenericContainer Map.empty
|
||||
+
|
||||
instance Arbitrary Node where
|
||||
arbitrary = Node <$> genFQDN <*> genFQDN <*> genFQDN
|
||||
<*> arbitrary <*> arbitrary <*> arbitrary <*> genFQDN
|
||||
@@ -297,10 +303,6 @@ genDisk = genDiskWithChildren 3
|
||||
-- validation rules.
|
||||
$(genArbitrary ''PartialISpecParams)
|
||||
|
||||
--- | FIXME: This generates completely random data, without normal
|
||||
--- validation rules.
|
||||
-$(genArbitrary ''PartialIPolicy)
|
||||
-
|
||||
$(genArbitrary ''FilledISpecParams)
|
||||
$(genArbitrary ''MinMaxISpecs)
|
||||
$(genArbitrary ''FilledIPolicy)
|
||||
@@ -309,6 +311,10 @@ $(genArbitrary ''FilledNDParams)
|
||||
$(genArbitrary ''FilledNicParams)
|
||||
$(genArbitrary ''FilledBeParams)
|
||||
|
||||
+-- | FIXME: This generates completely random data, without normal
|
||||
+-- validation rules.
|
||||
+$(genArbitrary ''PartialIPolicy)
|
||||
+
|
||||
-- | No real arbitrary instance for 'ClusterHvParams' yet.
|
||||
instance Arbitrary ClusterHvParams where
|
||||
arbitrary = return $ GenericContainer Map.empty
|
||||
@@ -331,18 +337,12 @@ instance Arbitrary OsParams where
|
||||
instance Arbitrary Objects.ClusterOsParamsPrivate where
|
||||
arbitrary = (GenericContainer . Map.fromList) <$> arbitrary
|
||||
|
||||
-instance Arbitrary a => Arbitrary (Private a) where
|
||||
- arbitrary = Private <$> arbitrary
|
||||
-
|
||||
instance Arbitrary ClusterOsParams where
|
||||
arbitrary = (GenericContainer . Map.fromList) <$> arbitrary
|
||||
|
||||
instance Arbitrary ClusterBeParams where
|
||||
arbitrary = (GenericContainer . Map.fromList) <$> arbitrary
|
||||
|
||||
-instance Arbitrary IAllocatorParams where
|
||||
- arbitrary = return $ GenericContainer Map.empty
|
||||
-
|
||||
$(genArbitrary ''Cluster)
|
||||
|
||||
instance Arbitrary ConfigData where
|
||||
diff --git a/test/hs/Test/Ganeti/Query/Language.hs b/test/hs/Test/Ganeti/Query/Language.hs
|
||||
index 04fb8c3898..fa50196f00 100644
|
||||
--- a/test/hs/Test/Ganeti/Query/Language.hs
|
||||
+++ b/test/hs/Test/Ganeti/Query/Language.hs
|
||||
@@ -59,6 +59,9 @@ import Ganeti.Query.Language
|
||||
instance Arbitrary (Filter FilterField) where
|
||||
arbitrary = genFilter
|
||||
|
||||
+instance Arbitrary FilterRegex where
|
||||
+ arbitrary = genName >>= mkRegex -- a name should be a good regex
|
||||
+
|
||||
-- | Custom 'Filter' generator (top-level), which enforces a
|
||||
-- (sane) limit on the depth of the generated filters.
|
||||
genFilter :: Gen (Filter FilterField)
|
||||
@@ -97,9 +100,6 @@ $(genArbitrary ''QueryTypeLuxi)
|
||||
|
||||
$(genArbitrary ''ItemType)
|
||||
|
||||
-instance Arbitrary FilterRegex where
|
||||
- arbitrary = genName >>= mkRegex -- a name should be a good regex
|
||||
-
|
||||
$(genArbitrary ''ResultStatus)
|
||||
|
||||
$(genArbitrary ''FieldType)
|
|
@ -0,0 +1,69 @@
|
|||
Handle GHC 9 changes in a backwards compatible manner.
|
||||
|
||||
Taken from upstream:
|
||||
|
||||
https://github.com/ganeti/ganeti/commit/b279fa738fd5b30320584f79f4d2f0e894315aab
|
||||
|
||||
diff --git a/src/Ganeti/THH.hs b/src/Ganeti/THH.hs
|
||||
index 818c11f84..9ab93d5e3 100644
|
||||
--- a/src/Ganeti/THH.hs
|
||||
+++ b/src/Ganeti/THH.hs
|
||||
@@ -884,7 +884,7 @@ genLoadOpCode opdefs fn = do
|
||||
) $ zip mexps opdefs
|
||||
defmatch = Match WildP (NormalB fails) []
|
||||
cst = NoBindS $ CaseE (VarE opid) $ mpats++[defmatch]
|
||||
- body = DoE [st, cst]
|
||||
+ body = mkDoE [st, cst]
|
||||
-- include "OP_ID" to the list of used keys
|
||||
bodyAndOpId <- [| $(return body)
|
||||
<* tell (mkUsedKeys . S.singleton . T.pack $ opidKey) |]
|
||||
@@ -1541,7 +1541,7 @@ loadExcConstructor inname sname fields = do
|
||||
[x] -> BindS (ListP [VarP x])
|
||||
_ -> BindS (TupP (map VarP f_names))
|
||||
cval = appCons name $ map VarE f_names
|
||||
- return $ DoE [binds read_args, NoBindS (AppE (VarE 'return) cval)]
|
||||
+ return $ mkDoE [binds read_args, NoBindS (AppE (VarE 'return) cval)]
|
||||
|
||||
{-| Generates the loadException function.
|
||||
|
||||
diff --git a/src/Ganeti/THH/Compat.hs b/src/Ganeti/THH/Compat.hs
|
||||
index d29e30d18..1f51e49d7 100644
|
||||
--- a/src/Ganeti/THH/Compat.hs
|
||||
+++ b/src/Ganeti/THH/Compat.hs
|
||||
@@ -40,9 +40,11 @@ module Ganeti.THH.Compat
|
||||
, extractDataDConstructors
|
||||
, myNotStrict
|
||||
, nonUnaryTupE
|
||||
+ , mkDoE
|
||||
) where
|
||||
|
||||
import Language.Haskell.TH
|
||||
+import Language.Haskell.TH.Syntax
|
||||
|
||||
-- | Convert Names to DerivClauses
|
||||
--
|
||||
@@ -61,7 +63,11 @@ derivesFromNames names = map ConT names
|
||||
--
|
||||
-- Handle TH 2.11 and 2.12 changes in a transparent manner using the pre-2.11
|
||||
-- API.
|
||||
+#if MIN_VERSION_template_haskell(2,17,0)
|
||||
+gntDataD :: Cxt -> Name -> [TyVarBndr ()] -> [Con] -> [Name] -> Dec
|
||||
+#else
|
||||
gntDataD :: Cxt -> Name -> [TyVarBndr] -> [Con] -> [Name] -> Dec
|
||||
+#endif
|
||||
gntDataD x y z a b =
|
||||
#if MIN_VERSION_template_haskell(2,12,0)
|
||||
DataD x y z Nothing a $ derivesFromNames b
|
||||
@@ -114,3 +120,12 @@ nonUnaryTupE es = TupE $ map Just es
|
||||
#else
|
||||
nonUnaryTupE es = TupE $ es
|
||||
#endif
|
||||
+
|
||||
+-- | DoE is now qualified with an optional ModName
|
||||
+mkDoE :: [Stmt] -> Exp
|
||||
+mkDoE s =
|
||||
+#if MIN_VERSION_template_haskell(2,17,0)
|
||||
+ DoE Nothing s
|
||||
+#else
|
||||
+ DoE s
|
||||
+#endif
|
|
@ -0,0 +1,179 @@
|
|||
Fix compatibility with Template Haskell 2.18 and GHC 9.2.
|
||||
|
||||
|
||||
diff --git a/src/Ganeti/BasicTypes.hs b/src/Ganeti/BasicTypes.hs
|
||||
index 10d0426cd..d68bc7d5b 100644
|
||||
--- a/src/Ganeti/BasicTypes.hs
|
||||
+++ b/src/Ganeti/BasicTypes.hs
|
||||
@@ -206,12 +206,12 @@ instance MonadTrans (ResultT a) where
|
||||
instance (MonadIO m, Error a) => MonadIO (ResultT a m) where
|
||||
liftIO = ResultT . liftIO
|
||||
. liftM (either (failError . show) return)
|
||||
- . (try :: IO a -> IO (Either IOError a))
|
||||
+ . (try :: IO α -> IO (Either IOError α))
|
||||
|
||||
instance (MonadBase IO m, Error a) => MonadBase IO (ResultT a m) where
|
||||
liftBase = ResultT . liftBase
|
||||
. liftM (either (failError . show) return)
|
||||
- . (try :: IO a -> IO (Either IOError a))
|
||||
+ . (try :: IO α -> IO (Either IOError α))
|
||||
|
||||
instance (Error a) => MonadTransControl (ResultT a) where
|
||||
#if MIN_VERSION_monad_control(1,0,0)
|
||||
diff --git a/src/Ganeti/Lens.hs b/src/Ganeti/Lens.hs
|
||||
index faa5900ed..747366e6a 100644
|
||||
--- a/src/Ganeti/Lens.hs
|
||||
+++ b/src/Ganeti/Lens.hs
|
||||
@@ -93,14 +93,14 @@ makeCustomLenses' name lst = makeCustomLensesFiltered f name
|
||||
-- Most often the @g@ functor is @(,) r@ and 'traverseOf2' is used to
|
||||
-- traverse an effectful computation that also returns an additional output
|
||||
-- value.
|
||||
-traverseOf2 :: Over (->) (Compose f g) s t a b
|
||||
- -> (a -> f (g b)) -> s -> f (g t)
|
||||
+-- traverseOf2 :: Over (->) (Compose f g) s t a b
|
||||
+-- -> (a -> f (g b)) -> s -> f (g t)
|
||||
traverseOf2 k f = getCompose . traverseOf k (Compose . f)
|
||||
|
||||
-- | Traverses over a composition of a monad and a functor.
|
||||
-- See 'traverseOf2'.
|
||||
-mapMOf2 :: Over (->) (Compose (WrappedMonad m) g) s t a b
|
||||
- -> (a -> m (g b)) -> s -> m (g t)
|
||||
+-- mapMOf2 :: Over (->) (Compose (WrappedMonad m) g) s t a b
|
||||
+-- -> (a -> m (g b)) -> s -> m (g t)
|
||||
mapMOf2 k f = unwrapMonad . traverseOf2 k (WrapMonad . f)
|
||||
|
||||
-- | A helper lens over sets.
|
||||
diff --git a/src/Ganeti/THH.hs b/src/Ganeti/THH.hs
|
||||
index 9ab93d5e3..9a10a9a07 100644
|
||||
--- a/src/Ganeti/THH.hs
|
||||
+++ b/src/Ganeti/THH.hs
|
||||
@@ -996,8 +996,8 @@ buildAccessor fnm fpfx rnm rpfx nm pfx field = do
|
||||
f_body = AppE (VarE fpfx_name) $ VarE x
|
||||
return $ [ SigD pfx_name $ ArrowT `AppT` ConT nm `AppT` ftype
|
||||
, FunD pfx_name
|
||||
- [ Clause [ConP rnm [VarP x]] (NormalB r_body) []
|
||||
- , Clause [ConP fnm [VarP x]] (NormalB f_body) []
|
||||
+ [ Clause [myConP rnm [VarP x]] (NormalB r_body) []
|
||||
+ , Clause [myConP fnm [VarP x]] (NormalB f_body) []
|
||||
]]
|
||||
|
||||
-- | Build lense declartions for a field.
|
||||
@@ -1037,10 +1037,10 @@ buildLens (fnm, fdnm) (rnm, rdnm) nm pfx ar (field, i) = do
|
||||
(ConE cdn)
|
||||
$ zip [0..] vars
|
||||
let setterE = LamE [VarP context, VarP var] $ CaseE (VarE context)
|
||||
- [ Match (ConP fnm [ConP fdnm . set (element i) WildP
|
||||
+ [ Match (myConP fnm [myConP fdnm . set (element i) WildP
|
||||
$ map VarP vars])
|
||||
(body (not isSimple) fnm fdnm) []
|
||||
- , Match (ConP rnm [ConP rdnm . set (element i) WildP
|
||||
+ , Match (myConP rnm [myConP rdnm . set (element i) WildP
|
||||
$ map VarP vars])
|
||||
(body False rnm rdnm) []
|
||||
]
|
||||
@@ -1098,9 +1098,9 @@ buildObjectWithForthcoming sname field_pfx fields = do
|
||||
$ JSON.showJSON $(varE x) |]
|
||||
let rdjson = FunD 'JSON.readJSON [Clause [] (NormalB read_body) []]
|
||||
shjson = FunD 'JSON.showJSON
|
||||
- [ Clause [ConP (mkName real_nm) [VarP x]]
|
||||
+ [ Clause [myConP (mkName real_nm) [VarP x]]
|
||||
(NormalB show_real_body) []
|
||||
- , Clause [ConP (mkName forth_nm) [VarP x]]
|
||||
+ , Clause [myConP (mkName forth_nm) [VarP x]]
|
||||
(NormalB show_forth_body) []
|
||||
]
|
||||
instJSONdecl = gntInstanceD [] (AppT (ConT ''JSON.JSON) (ConT name))
|
||||
@@ -1121,9 +1121,9 @@ buildObjectWithForthcoming sname field_pfx fields = do
|
||||
(fromDictWKeys $(varE xs)) |]
|
||||
todictx_r <- [| toDict $(varE x) |]
|
||||
todictx_f <- [| ("forthcoming", JSON.JSBool True) : toDict $(varE x) |]
|
||||
- let todict = FunD 'toDict [ Clause [ConP (mkName real_nm) [VarP x]]
|
||||
+ let todict = FunD 'toDict [ Clause [myConP (mkName real_nm) [VarP x]]
|
||||
(NormalB todictx_r) []
|
||||
- , Clause [ConP (mkName forth_nm) [VarP x]]
|
||||
+ , Clause [myConP (mkName forth_nm) [VarP x]]
|
||||
(NormalB todictx_f) []
|
||||
]
|
||||
fromdict = FunD 'fromDictWKeys [ Clause [VarP xs]
|
||||
@@ -1136,9 +1136,9 @@ buildObjectWithForthcoming sname field_pfx fields = do
|
||||
let forthPredDecls = [ SigD forthPredName
|
||||
$ ArrowT `AppT` ConT name `AppT` ConT ''Bool
|
||||
, FunD forthPredName
|
||||
- [ Clause [ConP (mkName real_nm) [WildP]]
|
||||
+ [ Clause [myConP (mkName real_nm) [WildP]]
|
||||
(NormalB $ ConE 'False) []
|
||||
- , Clause [ConP (mkName forth_nm) [WildP]]
|
||||
+ , Clause [myConP (mkName forth_nm) [WildP]]
|
||||
(NormalB $ ConE 'True) []
|
||||
]
|
||||
]
|
||||
@@ -1412,9 +1412,9 @@ savePParamField fvar field = do
|
||||
normalexpr <- saveObjectField actualVal field
|
||||
-- we have to construct the block here manually, because we can't
|
||||
-- splice-in-splice
|
||||
- return $ CaseE (VarE fvar) [ Match (ConP 'Nothing [])
|
||||
+ return $ CaseE (VarE fvar) [ Match (myConP 'Nothing [])
|
||||
(NormalB (ConE '[])) []
|
||||
- , Match (ConP 'Just [VarP actualVal])
|
||||
+ , Match (myConP 'Just [VarP actualVal])
|
||||
(NormalB normalexpr) []
|
||||
]
|
||||
|
||||
@@ -1440,9 +1440,9 @@ fillParam sname field_pfx fields = do
|
||||
-- due to apparent bugs in some older GHC versions, we need to add these
|
||||
-- prefixes to avoid "binding shadows ..." errors
|
||||
fbinds <- mapM (newName . ("f_" ++) . nameBase) fnames
|
||||
- let fConP = ConP name_f (map VarP fbinds)
|
||||
+ let fConP = myConP name_f (map VarP fbinds)
|
||||
pbinds <- mapM (newName . ("p_" ++) . nameBase) pnames
|
||||
- let pConP = ConP name_p (map VarP pbinds)
|
||||
+ let pConP = myConP name_p (map VarP pbinds)
|
||||
-- PartialParams instance --------
|
||||
-- fillParams
|
||||
let fromMaybeExp fn pn = AppE (AppE (VarE 'fromMaybe) (VarE fn)) (VarE pn)
|
||||
@@ -1462,7 +1462,7 @@ fillParam sname field_pfx fields = do
|
||||
memptyClause = Clause [] (NormalB memptyExp) []
|
||||
-- mappend
|
||||
pbinds2 <- mapM (newName . ("p2_" ++) . nameBase) pnames
|
||||
- let pConP2 = ConP name_p (map VarP pbinds2)
|
||||
+ let pConP2 = myConP name_p (map VarP pbinds2)
|
||||
-- note the reversal of 'l' and 'r' in the call to <|>
|
||||
-- as we want the result to be the rightmost value
|
||||
let altExp = zipWith (\l r -> AppE (AppE (VarE '(<|>)) (VarE r)) (VarE l))
|
||||
@@ -1575,9 +1575,9 @@ genLoadExc tname sname opdefs = do
|
||||
opdefs
|
||||
-- the first function clause; we can't use [| |] due to TH
|
||||
-- limitations, so we have to build the AST by hand
|
||||
- let clause1 = Clause [ConP 'JSON.JSArray
|
||||
- [ListP [ConP 'JSON.JSString [VarP exc_name],
|
||||
- VarP exc_args]]]
|
||||
+ let clause1 = Clause [myConP 'JSON.JSArray
|
||||
+ [ListP [myConP 'JSON.JSString [VarP exc_name],
|
||||
+ VarP exc_args]]]
|
||||
(NormalB (CaseE (AppE (VarE 'JSON.fromJSString)
|
||||
(VarE exc_name))
|
||||
(str_matches ++ [defmatch]))) []
|
||||
diff --git a/src/Ganeti/THH/Compat.hs b/src/Ganeti/THH/Compat.hs
|
||||
index 1f51e49d7..9b07c47ef 100644
|
||||
--- a/src/Ganeti/THH/Compat.hs
|
||||
+++ b/src/Ganeti/THH/Compat.hs
|
||||
@@ -41,6 +41,7 @@ module Ganeti.THH.Compat
|
||||
, myNotStrict
|
||||
, nonUnaryTupE
|
||||
, mkDoE
|
||||
+ , myConP
|
||||
) where
|
||||
|
||||
import Language.Haskell.TH
|
||||
@@ -129,3 +130,11 @@ mkDoE s =
|
||||
#else
|
||||
DoE s
|
||||
#endif
|
||||
+
|
||||
+-- | ConP is now qualified with an optional [Type].
|
||||
+myConP :: Name -> [Pat] -> Pat
|
||||
+myConP n patterns = ConP n
|
||||
+#if MIN_VERSION_template_haskell(2,18,0)
|
||||
+ []
|
||||
+#endif
|
||||
+ patterns
|
|
@ -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
|
|
@ -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)
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
Fix name clash with libcap 2.29.
|
||||
|
||||
Taken from upstream:
|
||||
https://github.com/iputils/iputils/commit/18f9a84e0e702841d6cc4d5f593de4fbd1348e83
|
||||
|
||||
diff --git a/ninfod/ninfod.c b/ninfod/ninfod.c
|
||||
--- a/ninfod/ninfod.c
|
||||
+++ b/ninfod/ninfod.c
|
||||
@@ -455,7 +455,7 @@ static void do_daemonize(void)
|
||||
/* --------- */
|
||||
#ifdef HAVE_LIBCAP
|
||||
static const cap_value_t cap_net_raw = CAP_NET_RAW;
|
||||
-static const cap_value_t cap_setuid = CAP_SETUID;
|
||||
+static const cap_value_t cap_setuserid = CAP_SETUID;
|
||||
static cap_flag_value_t cap_ok;
|
||||
#else
|
||||
static uid_t euid;
|
||||
@@ -487,7 +487,7 @@ static void limit_capabilities(void)
|
||||
|
||||
cap_get_flag(cap_cur_p, CAP_SETUID, CAP_PERMITTED, &cap_ok);
|
||||
if (cap_ok != CAP_CLEAR)
|
||||
- cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuid, CAP_SET);
|
||||
+ cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuserid, CAP_SET);
|
||||
|
||||
if (cap_set_proc(cap_p) < 0) {
|
||||
DEBUG(LOG_ERR, "cap_set_proc: %s\n", strerror(errno));
|
||||
@@ -520,8 +520,8 @@ static void drop_capabilities(void)
|
||||
|
||||
/* setuid / setuid */
|
||||
if (cap_ok != CAP_CLEAR) {
|
||||
- cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuid, CAP_SET);
|
||||
- cap_set_flag(cap_p, CAP_EFFECTIVE, 1, &cap_setuid, CAP_SET);
|
||||
+ cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuserid, CAP_SET);
|
||||
+ cap_set_flag(cap_p, CAP_EFFECTIVE, 1, &cap_setuserid, CAP_SET);
|
||||
|
||||
if (cap_set_proc(cap_p) < 0) {
|
||||
DEBUG(LOG_ERR, "cap_set_proc: %s\n", strerror(errno));
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue