1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-07-13 05:44:05 +02:00

Compare commits

..

2 Commits

Author SHA1 Message Date
Ludovic Courtès c5b76579e8 scripts/environment: Do not attempt to map GID 0.
* guix/scripts/environment.scm (launch-environment/container): Do not attempt
to map GID 0.

Fixes: #4234
Change-Id: If196430de5f09932e5dd736a55b75bbcda8cd7be
2025-12-09 15:55:14 +09:00
Maxim Cournoyer 99b0b7aa1f shell: Create cached profile directory once connected to the daemon.
* gnu/tests/base.scm (guix-daemon-test-cases)
<"containerized guix shell">
<"containerized guix shell, unprivileged user">: New tests.

Relates-to: guix/guix#126
Change-Id: I782461c80c254467108c6b8d676d269866795746
2025-12-09 15:45:34 +09:00
203 changed files with 3704 additions and 9417 deletions
-1
View File
@@ -68,7 +68,6 @@
/doc/stamp-vti
/doc/version.texi
/doc/version-*.texi
/etc/apparmor.d/tunables/guix
/etc/committer.scm
/etc/gnu-store.mount
/etc/guix-daemon.cil
-1
View File
@@ -59,7 +59,6 @@ Mathieu Othacehe <mathieu.othacehe@parrot.com>
Mathieu Othacehe <othacehe@gnu.org>
Matthew James Kraai <kraai@ftbfs.org>
Maxim Cournoyer <maxim@guixotic.coop> <maxim.cournoyer@gmail.com>
Nguyễn Gia Phong <cnx@loang.net> <mcsinyx@disroot.org>
Nikita Karetnikov <nikita@karetnikov.org> <nikita.karetnikov@gmail.com>
nikita <nikita@n0.is>
nikita <nikita@n0.is> ng0 <ng0@n0.is>
-1
View File
@@ -194,7 +194,6 @@ guix/scripts/import/go\.scm @guix/go
tests/import/go\.scm @guix/go
gnu/packages/hare\.scm @guix/hare
gnu/packages/hare-apps\.scm @guix/hare
gnu/packages/hare-xyz\.scm @guix/hare
guix/build-system/hare\.scm @guix/hare
guix/build/hare-build-system\.scm @guix/hare
+45 -38
View File
@@ -746,14 +746,6 @@ dist_fishcompletion_DATA = etc/completion/fish/guix.fish
# SELinux policy
nodist_selinux_policy_DATA = etc/guix-daemon.cil
# AppArmor profiles.
nodist_apparmor_profile_DATA = \
etc/apparmor.d/guix \
etc/apparmor.d/guix-daemon
nodist_apparmor_profile_tunables_DATA = \
etc/apparmor.d/tunables/guix
EXTRA_DIST += \
.dir-locals.el \
.guix-authorizations \
@@ -789,7 +781,6 @@ EXTRA_DIST += \
etc/manifests/kernels.scm \
etc/manifests/release-minimal.scm \
etc/manifests/release-desktop.scm \
etc/manifests/release-user-packages.scm \
etc/manifests/source.scm \
etc/manifests/system-tests.scm \
etc/manifests/time-travel.scm \
@@ -1142,18 +1133,12 @@ system_flags = $(foreach system,$(1),-s $(system))
# 5. Build the installation and VM images. The images will run 'guix'
# corresponding to 'vX.Y.Z' + 1 commit, and they will install 'vX.Y.Z'.
#
# This is split into two targets, because a commit is made that has to be
# pushed to Guix.
# First, 'prepare-release' should be run, doing steps 1 and 2.
# Then, the resulting commit should be pushed so that it's available
# to be downloaded for the system images.
# Afterwards, the 'release' target takes care of the rest. This 'release'
# target takes care of everything and copies the resulting files to
# $(releasedir).
# This 'release' target takes care of everything and copies the resulting
# files to $(releasedir).
#
# XXX: Depend on 'dist' rather than 'distcheck' to work around the Gettext
# issue described at <https://savannah.gnu.org/bugs/index.php?51027>.
prepare-release: dist-with-updated-version all
release: dist-with-updated-version all
@if ! git diff-index --quiet HEAD; then \
echo "There are uncommitted changes; stopping." >&2 ; \
exit 1 ; \
@@ -1171,26 +1156,48 @@ prepare-release: dist-with-updated-version all
$(top_builddir)/pre-inst-env guix build guix \
$(call system_flags,$(SUPPORTED_SYSTEMS)) \
-v1 --no-grafts --fallback
@echo
@echo "First step done! Source tarball is ready in $(releasedir)"
@echo "Now push the resulting commit and run `make release`."
@echo
# Make sure you've ran prepare-release prior to running release and pushed
# the commit to Guix. It might be pushed to any branch, such as version-X.Y.Z.
release: all
# Build the artifacts for current commit.
# Use time-machine for provenance.
$(MKDIR_P) "$(releasedir)"
@echo "Building guix inferior for current commit."
COMMIT="$$(git rev-parse HEAD)" && \
GUIX="$$(guix time-machine --commit=$$COMMIT)/bin/guix" && \
echo "Building artifacts for current commit: $$COMMIT." && \
ARTIFACTS="$$($$GUIX build --no-grafts \
-f ./etc/teams/release/artifacts.scm)" && \
echo "Artifacts built! Copying to $(releasedir)" && \
cp -f "$$ARTIFACTS"/* "$(releasedir)"
# Generate the binary release tarballs.
rm -f $(BINARY_TARBALLS)
$(MAKE) $(BINARY_TARBALLS)
for system in $(SUPPORTED_SYSTEMS) ; do \
mv "guix-binary.$$system.tar.xz" \
"$(releasedir)/guix-binary-$(PACKAGE_VERSION).$$system.tar.xz" ; \
done
# Build 'current-guix' to speed things up for the next step.
$(top_builddir)/pre-inst-env guix build \
-e '((@ (gnu packages package-management) current-guix))' \
$(call system_flags,$(GUIX_SYSTEM_INSTALLER_SYSTEMS)) \
-v1 --no-grafts --fallback
# Generate the ISO installation images.
for system in $(GUIX_SYSTEM_INSTALLER_SYSTEMS) ; do \
GUIX_DISPLAYED_VERSION="`git describe --match=v* | sed -'es/^v//'`" ; \
image=`$(top_builddir)/pre-inst-env \
guix system image -t iso9660 \
--label="GUIX_$${system}_$(VERSION)" \
--system=$$system --fallback \
gnu/system/install.scm` ; \
if [ ! -f "$$image" ] ; then \
echo "failed to produce Guix installation image for $$system" >&2 ; \
exit 1 ; \
fi ; \
cp "$$image" "$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.tmp" ; \
mv "$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.tmp" \
"$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso" ; \
done
# Generate the VM images.
for system in $(GUIX_SYSTEM_VM_SYSTEMS) ; do \
GUIX_DISPLAYED_VERSION="`git describe --match=v* | sed -'es/^v//'`" ; \
image=`$(top_builddir)/pre-inst-env \
guix system image -t qcow2 $(GUIX_SYSTEM_VM_IMAGE_FLAGS) \
--save-provenance \
--system=$$system --fallback \
gnu/system/examples/vm-image.tmpl` ; \
if [ ! -f "$$image" ] ; then \
echo "failed to produce Guix VM image for $$system" >&2 ; \
exit 1 ; \
fi ; \
cp "$$image" "$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.qcow2"; \
done
@echo
@echo "Congratulations! All the release files are now in $(releasedir)."
@echo
@@ -50,7 +50,7 @@
directory))
((_ . directory) directory))
(derivation->output-paths drv)))))
(%final-inputs system)))
%final-inputs))
(define (assert-valid-substitute substitute)
"Make sure SUBSTITUTE does not refer to any bootstrap inputs, and bail out
-10
View File
@@ -81,15 +81,6 @@ AC_ARG_WITH([selinux-policy-dir],
[selinux_policydir='${datadir}/selinux/'])
AC_SUBST([selinux_policydir])
AC_ARG_WITH([apparmor-profile-dir],
AS_HELP_STRING([--with-apparmor-profile-dir=DIR],
[name of the AppArmor profile directory]),
[apparmor_profiledir="$withval"],
[apparmor_profiledir='${sysconfdir}/apparmor.d'])
AC_SUBST([apparmor_profiledir])
apparmor_profile_tunablesdir='${apparmor_profiledir}/tunables'
AC_SUBST([apparmor_profile_tunablesdir])
dnl Better be verbose.
AC_MSG_CHECKING([for the store directory])
AC_MSG_RESULT([$storedir])
@@ -317,7 +308,6 @@ AC_CONFIG_FILES([Makefile
po/guix/Makefile.in
po/packages/Makefile.in
etc/guix-daemon.cil
etc/apparmor.d/tunables/guix
guix/config.scm])
AC_CONFIG_FILES([etc/committer.scm], [chmod +x etc/committer.scm])
+27 -110
View File
@@ -146,7 +146,6 @@ Copyright @copyright{} 2025 Artur Wroblewski@*
Copyright @copyright{} 2025 Edouard Klein@*
Copyright @copyright{} 2025 Rodion Goritskov@*
Copyright @copyright{} 2025 dan@*
Copyright @copyright{} 2025 Noé Lopez@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -770,25 +769,34 @@ This section only applies to systems without Guix. Following it for
existing Guix installations will overwrite important system files.
@end quotation
Some GNU/Linux distributions, such as openSUSE, Alpine and NixOS provide
Guix through their own package managers. The version of Guix may be
older than @value{VERSION} but you can update it afterwards by running
@samp{guix pull}.
Some GNU/Linux distributions, such as Debian, Ubuntu, and openSUSE
provide Guix through their own package managers. The version of Guix
may be older than @value{VERSION} but you can update it afterwards by
running @samp{guix pull}.
We advise system administrators who install Guix, both from the
installation script or @i{via} the native package manager of their
foreign distribution, to also regularly read and follow security
notices, as shown by @command{guix pull}.
For Debian or derivatives such as Ubuntu or Trisquel, call:
@example
sudo apt install guix
@end example
Likewise, on openSUSE:
@example
sudo zypper install guix
@end example
If you are running Parabola, after enabling the pcr (Parabola
Community Repo) repository, you can install Guix with:
@example
sudo pacman -S guix
@end example
For other package managers with a @var{guix} package, you should be able
to install it like any other package.
The Guix project also provides a shell script, @file{guix-install.sh},
which automates the binary installation process without use of a foreign
distro package
@@ -920,7 +928,6 @@ pre-built binaries.
* Build Environment Setup:: Preparing the isolated build environment.
* Daemon Offload Setup:: Offloading builds to remote machines.
* SELinux Support:: Using an SELinux policy for the daemon.
* AppArmor Support:: Using an AppArmor profile for the daemon.
@end menu
@node Build Environment Setup
@@ -1030,12 +1037,6 @@ When using this option, you only need to create one user account, and
--system guix-daemon
@end example
@quotation Warning
If the @command{nologin} binary is not found by @command{which nologin},
you may need to specify its path manually. This will usually be
@file{/sbin/nologin} or @file{/usr/sbin/nologin}.
@end quotation
In this configuration, @file{/gnu/store} is owned by the
@code{guix-daemon} user.
@@ -1099,8 +1100,6 @@ systemctl daemon-reload
systemctl start guix-daemon
@end example
If your system has AppArmor enabled, @pxref{AppArmor Support}.
@quotation Warning
The commands above assume that @command{guix pull} was run for the root
user. You can check whether this is the case by running this command:
@@ -1530,43 +1529,6 @@ installation time whenever the Guix package that provides the
effectively running @code{guix-daemon} executable is upgraded.
@end enumerate
@node AppArmor Support
@subsection AppArmor Support
@cindex AppArmor
Guix includes an AppArmor profile for the build daemon in
@file{etc/apparmor.d/guix-daemon} that can be installed on systems with
strict AppArmor policies to allow it to run unprivileged
(@pxref{Build Environment Setup}). Indeed, the unprivileged daemon makes
use of Linux user namespaces but these are disallowed
without an AppArmor policy on some systems like Ubuntu.
To know if this applies to you, check if the
@code{kernel.apparmor_restrict_unprivileged_userns} kernel parameter is
enabled.
@subsubsection Installing the AppArmor profile
@cindex AppArmor, profile installation
@quotation Note
The @code{guix-install.sh} binary installation script offers to perform
the steps below for you (@pxref{Binary Installation}).
@end quotation
Run these commands as root to install the profile:
@example
export apparmor_sources=/var/guix/profiles/per-user/root/current-guix/etc/apparmor.d
cp -f -t /etc/apparmor.d/tunables "$apparmor_sources/tunables/guix"
cp -f -t /etc/apparmor.d "$apparmor_sources/guix-daemon"
cp -f -t /etc/apparmor.d "$apparmor_sources/guix"
apparmor_parser -r /etc/apparmor.d/guix-daemon
apparmor_parser -r /etc/apparmor.d/guix
@end example
After this, the build daemon will be able to function correctly.
@node Invoking guix-daemon
@section Invoking @command{guix-daemon}
@cindex @command{guix-daemon}
@@ -13303,11 +13265,6 @@ be a list of keywords with values accepted by procedure
@end example
@end deffn
@deffn {REPL command} graft? @var{graft?}
Set whether grafts should be performed as part of the build. Equivalent
to @code{--no-grafts} argument to @code{guix build}.
@end deffn
@deffn {REPL command} lower @var{object}
Lower @var{object} into a derivation or store file name and return it.
@end deffn
@@ -18972,7 +18929,7 @@ options, along with @option{--allow-discards}:
(arguments '(#:allow-discards? #t
#:extra-options
("--perf-no_read_workqueue"
"--perf-no_write_workqueue"))))
"--perf-no_write_workqueue")))))
@end lisp
@end table
@@ -19895,11 +19852,6 @@ symlink:
This procedure is meant for @code{/bin/sh}, @code{/usr/bin/env} and
similar targets. In particular, use for targets under @code{/etc} might
not work as expected if the target is managed by Guix in other ways.
The special files persist on your system even after the
@code{extra-special-file} call has been removed from your system config
and the system has been reconfigured. The special files need to be
removed manually.
@end deffn
@defvar host-name-service-type
@@ -28384,47 +28336,30 @@ Additional command line options to pass to @code{memcached}.
@subsubheading Redis
@uref{https://redis.io/, Redis} is an in-memory data store used
by millions of developers as a cache, vector database, document
database, streaming engine, and message broker. Redis has built-in
replication and different levels of on-disk persistence. It supports
complex data types (for example, strings, hashes, lists, sets, sorted
sets, and JSON), with atomic operations defined on those data types.
@defvar redis-service-type
Type of the service that runs @command{redis}, an in-memory data store.
The value for this service is a @code{<redis-configuration>} object.
This is the service type for the @uref{https://redis.io/, Redis}
key/value store, whose value is a @code{redis-configuration} object.
@end defvar
@c %start of fragment
@deftp {Data Type} redis-configuration
Available @code{redis-configuration} fields are:
Data type representing the configuration of redis.
@table @asis
@item @code{redis} (default: @code{redis}) (type: package)
@item @code{redis} (default: @code{redis})
The Redis package to use.
@item @code{bind} (default: @code{"127.0.0.1"}) (type: string)
@item @code{bind} (default: @code{"127.0.0.1"})
Network interface on which to listen.
@item @code{port} (default: @code{6379}) (type: number)
@item @code{port} (default: @code{6379})
Port on which to accept connections on, a value of 0 will disable
listening on a TCP socket.
@item @code{working-directory} (default: @code{"/var/lib/redis"}) (type: string)
@item @code{working-directory} (default: @code{"/var/lib/redis"})
Directory in which to store the database and related files.
@item @code{config-file} (type: maybe-string)
Default location for config file.
@end table
@end deftp
@c %end of fragment
@node Mail Services
@subsection Mail Services
@@ -45546,7 +45481,7 @@ A string representing the OCI image tag. Defaults to @code{latest}.
@item @code{value} (type: oci-lowerable-image)
A @code{manifest} or @code{operating-system} record that will be lowered
into an OCI compatible tarball. Otherwise this field's value can be a
file-like object that evaluates to an OCI compatible tarball.
gexp or a file-like object that evaluates to an OCI compatible tarball.
@item @code{pack-options} (default: @code{'()}) (type: list)
An optional set of keyword arguments that will be passed to the
@@ -47841,9 +47776,7 @@ machine. The @code{grub-bootloader} bootloader is always used
independently of what is declared in the @code{operating-system} file
passed as argument. This is to make it easier to work with QEMU, which
uses the SeaBIOS BIOS by default, expecting a bootloader to be installed
in the Master Boot Record (MBR). In case the virtual machine is
going to be AArch64, you might want to take a look at @code{qcow2-gpt}
image type that installs bootloader only in EFI.
in the Master Boot Record (MBR).
@cindex docker-image, creating docker images
When using the @code{docker} image type, a Docker image is produced.
@@ -49284,11 +49217,6 @@ daemons are started after all the file systems have been mounted and
that, during shutdown, they are stopped before attempting to terminate
remaining user processes.
Similarly, services that do make mounts during their startup or operation,
should have @code{user-file-systems} as a requirement. @code{user-processes}
does depend on @code{user-file-systems} as well.
So direct requirement only on @code{user-processes} is sufficient.
@cindex one-shot services, for the Shepherd
@item @code{one-shot?} (default: @code{#f})
Whether this service is @dfn{one-shot}. One-shot services stop immediately
@@ -54767,18 +54695,7 @@ Build an image based on the @code{efi32-disk-image} image.
@defvar qcow2-image-type
Build an image based on the @code{mbr-disk-image} image but with the
@code{compressed-qcow2} image format. The resulting image will have
an MBR embedded bootloader as well as an EFI bootloader. This image
is not suitable for architectures that do not support `grub-pc`,
such as AArch64. See @code{qcow2-gpt-image-type} for an alternative.
@end defvar
@defvar qcow2-gpt-image-type
Build an image based on the @code{efi-disk-image} image but with the
@code{compressed-qcow2} image format. The resulting image will have
only EFI bootloader, unlike @code{qcow2-image-type}. This image
is suitable for architectures that do not support `grub-pc`, such
as AArch64.
@code{compressed-qcow2} image format.
@end defvar
@defvar iso-image-type
-12
View File
@@ -1,12 +0,0 @@
abi <abi/4.0>,
include <tunables/global>
include <tunables/guix>
# Theres no point in confining the guix executable, since it can run
# any user code and so everything is expected. We just need to
# explicitely enable userns for systems with the
# kernel.apparmor_restrict_unprivileged_userns sysctl.
profile guix @{guix_storedir}/{*-guix-command,*-guix-*/bin/guix} flags=(unconfined) {
userns,
}
-88
View File
@@ -1,88 +0,0 @@
abi <abi/4.0>,
include <tunables/global>
include <tunables/guix>
profile guix-daemon @{guix_storedir}/*-{guix-daemon,guix}-*/bin/guix-daemon flags=(enforce,attach_disconnected.path=/disconnected) {
include <abstractions/base>
userns,
signal,
capability sys_admin,
capability net_admin,
capability sys_chroot,
capability setgid,
capability chown,
network dgram,
umount,
mount,
pivot_root,
# Paths inside build chroot
/real-root/ w,
/ w,
@{guix_localstatedir}/guix/** rwk,
/var/log/guix/** w,
owner @{PROC}/@{pid}/{fd/,environ} r,
owner @{PROC}/@{pid}/oom_score_adj w,
owner @{PROC}/@{pid}/uid_map rw,
owner @{PROC}/@{pid}/gid_map rw,
owner @{PROC}/@{pid}/setgroups w,
@{guix_storedir}/ r,
@{guix_storedir}/** rwlmk,
@{guix_storedir}/*/bin/guile cx -> guix-builder,
@{guix_storedir}/*-guix-command cx -> guix-helper,
@{guix_storedir}/*-guix-*/bin/guix cx -> guix-helper,
@{etc_rw}/nsswitch.conf r,
@{etc_rw}/passwd r,
@{etc_rw}/group r,
owner /tmp/** rwl,
owner /var/tmp/** rwl,
/usr/bin/newgidmap Ux,
# Site-specific additions and overrides. See local/README for details.
include if exists <local/guix-daemon>
profile guix-builder flags=(enforce,attach_disconnected.path=/disconnected) {
include <abstractions/base>
signal (receive),
@{guix_storedir}/** rwlmkux,
owner /tmp/** rw,
@{PROC}/@{pid}/fd/ r,
/disconnected/** rw,
}
# This is for any time guix is called by the daemon as a helper:
# - guix download
# - guix discover
# - guix gc --list-busy
# - probably more?
profile guix-helper flags=(enforce,attach_disconnected.path=/disconnected) {
include <abstractions/base>
include <abstractions/nameservice>
signal (receive),
ptrace (read) peer=guix-daemon,
/disconnected/run/dbus/system_bus_socket rw,
dbus (send, receive),
@{guix_localstatedir}/guix/discover/ rw,
@{guix_localstatedir}/guix/discover/* rw,
@{guix_localstatedir}/guix/substitute/ rw,
@{guix_localstatedir}/guix/substitute/** rwk,
@{guix_sysconfdir}/guix/** r,
@{guix_storedir}/** rwlmix,
@{PROC}/ r,
owner @{PROC}/@{pid}/{fd/,environ} r,
}
}
-5
View File
@@ -1,5 +0,0 @@
@{guix_storedir} = @storedir@
@{guix_sysconfdir} = @guix_sysconfdir@
@{guix_localstatedir} = @guix_localstatedir@
include if exists <tunables/guix.d>
+2 -27
View File
@@ -175,10 +175,6 @@
(file (execute
execute_no_trans read write open entrypoint map
getattr link unlink)))
;; Needed to execute the 'newgidmap' helper.
(allow guix_daemon_t
bin_t
(file (execute execute_no_trans map)))
;; Remounting /gnu/store read-write.
(allow guix_daemon_t
@@ -326,7 +322,7 @@
map
getattr setattr
unlink
open read write append)))
open read write)))
(allow guix_daemon_t
guix_daemon_conf_t
(lnk_file (create getattr rename unlink read)))
@@ -371,7 +367,7 @@
;; Allow use of user namespaces
(allow guix_daemon_t
self
(cap_userns (setgid sys_admin net_admin sys_chroot)))
(cap_userns (sys_admin net_admin sys_chroot)))
(allow guix_daemon_t
self
(user_namespace (create)))
@@ -455,27 +451,6 @@
vnc_port_t
(tcp_socket (name_bind)))
;; 'guix gc' needs to go through /proc entries for all processes that are
;; running. Strictly speaking, it means guix-daemon needs access to all
;; process types in the SELinux policy. In practice, only processes from
;; programs in the /gnu/store are relevant for finding roots for garbage
;; collection. Since Guix currently doesn't install any SELinux policy for
;; its packages, we can assume that all the processes it needs to access run
;; as unconfined_t.
;;
;; FIXME: This doesn't stop 'guix gc' from generating a lot of unnecessary
;; AVC denied audit messages. Perhaps guix-daemon could test whether it has
;; access to the proc entry before trying to access it?
(allow guix_daemon_t
unconfined_t
(dir (search)))
(allow guix_daemon_t
unconfined_t
(file (read)))
(allow guix_daemon_t
unconfined_t
(lnk_file (read)))
;; I guess sometimes it needs random numbers
(allow guix_daemon_t
random_device_t
-6
View File
@@ -14,12 +14,6 @@ ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daem
--substitute-urls='@GUIX_SUBSTITUTE_URLS@'
Environment='GUIX_STATE_DIRECTORY=@localstatedir@/guix' 'GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8
# Stop the gnu-store.mount so that the daemon can capture the store as
# read-write in its private mount namespace.
# See <https://codeberg.org/guix/guix/issues/4744>.
ExecStartPre=-+systemctl stop gnu-store.mount
ExecStartPost=-+systemctl start gnu-store.mount --no-block
# Run under a dedicated unprivileged user account.
User=guix-daemon
+15 -98
View File
@@ -17,7 +17,6 @@
# Copyright © 2024 Tomas Volf <~@wolfsden.cz>
# Copyright © 2024 Richard Sent <richard@freakingpenguin.com>
# Copyright © 2025 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
# Copyright © 2025 Noé Lopez <noelopez@free.fr>
#
# This file is part of GNU Guix.
#
@@ -106,11 +105,10 @@ DEBUG=0
GNU_URL="https://ftpmirror.gnu.org/gnu/guix/"
# The following associative array holds set of GPG keys used to sign the
# releases, keyed by their corresponding Codeberg user name.
# releases, keyed by their corresponding Savannah user ID.
declare -A GPG_SIGNING_KEYS
GPG_SIGNING_KEYS["civodul"]=3CE464558A84FDC69DB40CFB090B11993D9AEBB5 # ludo
GPG_SIGNING_KEYS["apteryx"]=27D586A4F8900854329FF09F1260E46482E63562 # maxim
PUBLIC_KEYSERVERS="keys.openpgp.org pgpkeys.eu keyserver.ubuntu.com"
GPG_SIGNING_KEYS[15145]=3CE464558A84FDC69DB40CFB090B11993D9AEBB5 # ludo
GPG_SIGNING_KEYS[127547]=27D586A4F8900854329FF09F1260E46482E63562 # maxim
# ------------------------------------------------------------------------------
#+UTILITIES
@@ -205,7 +203,6 @@ chk_gpg_keyring()
for user_id in "${!GPG_SIGNING_KEYS[@]}"; do
gpg_key_id=${GPG_SIGNING_KEYS[$user_id]}
codeberg_username=$user_id
# Without --dry-run this command will create a ~/.gnupg owned by root on
# systems where gpg has never been used, causing errors and confusion.
if gpg --dry-run --list-keys "$gpg_key_id" >/dev/null 2>&1; then
@@ -214,39 +211,20 @@ chk_gpg_keyring()
if prompt_yes_no "${INF}The following OpenPGP public key is \
required to verify the Guix binary signature: $gpg_key_id.
Would you like me to fetch it for you?"; then
if wget "https://codeberg.org/$codeberg_username.gpg" \
--tries=1 --timeout=30 --no-verbose -O- | gpg --import -; then
continue
fi
key_obtained=false
# Try to fetch keys from an available keyserver
for key_server in $PUBLIC_KEYSERVERS; do
if gpg --keyserver $key_server --recv-key $gpg_key_id; then
key_obtained=true
break
fi
done
if $key_obtained; then
# Use a reasonable time-out here so users don't report silent
# freezes when Savannah goes out to lunch, as has happened.
if wget "https://sv.gnu.org/people/viewgpg.php?user_id=$user_id" \
--timeout=30 --no-verbose -O- | gpg --import -; then
continue
fi
fi
# If we reach this point, the key is (still) missing. Report further
# missing keys, if any, but then abort the installation.
_err "Missing OpenPGP public key ($gpg_key_id).
Fetch it with codeberg username:
Fetch it with this command:
wget \"https://codeberg.org/$codeberg_username.gpg\" -O - | \
sudo -i gpg --import -
If this fails, try to fetch it via a keyserver:
for key_server in $PUBLIC_KEYSERVERS; do
if sudo -i gpg --keyserver $key_server --recv-key $gpg_key_id; then
break
fi
done"
wget \"https://sv.gnu.org/people/viewgpg.php?user_id=$user_id\" -O - | \
sudo -i gpg --import -"
exit_flag=yes
done
if [ "$exit_flag" = yes ]; then
@@ -795,6 +773,10 @@ export PATH="$GUIX_PROFILE/bin${PATH:+:}$PATH"
# trailing colon so the system default search path is used.
export INFOPATH="$GUIX_PROFILE/share/info:$INFOPATH"
export MANPATH="$GUIX_PROFILE/share/man:$MANPATH"
# Expose the latest Guix modules to Guile so guix shell and repls spawned by
# e.g. Geiser work out of the box.
export GUILE_LOAD_PATH="$GUIX_PROFILE/share/guile/site/3.0${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH"
export GUILE_LOAD_COMPILED_PATH="$GUIX_PROFILE/lib/guile/3.0/site-ccache${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH"
# User's default profile, if it exists
GUIX_PROFILE="$HOME/.guix-profile"
@@ -816,11 +798,6 @@ if [ -L "$GUIX_PROFILE" ]; then
*$GUIX_PROFILE/share/man*) ;;
*) export MANPATH="$GUIX_PROFILE/share/man:$MANPATH"
esac
case $XDG_DATA_DIRS in
*$GUIX_PROFILE/share*) ;;
*) export XDG_DATA_DIRS="$GUIX_PROFILE/share:$XDG_DATA_DIRS"
esac
fi
# NOTE: Guix Home handles its own profile initialization in ~/.profile. See
@@ -915,64 +892,6 @@ sys_maybe_setup_selinux()
restorecon -R /gnu /var/guix
}
sys_maybe_setup_apparmor()
{
if ! [ -f /sys/module/apparmor/parameters/enabled ]
then
return
fi
if ! command -v apparmor_parser &> /dev/null
then
return
fi
prompt_yes_no "Install AppArmor profile that might be required to run guix-daemon?" \
|| return 0
local var_guix=/var/guix/profiles/per-user/root/current-guix
local apparmor_sources="${var_guix}/etc/apparmor.d/"
if ! [ -d "$apparmor_sources" ]
then
_err "This version of Guix doesnt contain AppArmor profiles."
return
fi
cp -f -t /etc/apparmor.d/tunables "$apparmor_sources/tunables/guix"
cp -f -t /etc/apparmor.d "$apparmor_sources/guix-daemon"
cp -f -t /etc/apparmor.d "$apparmor_sources/guix"
apparmor_parser --warn=all -r /etc/apparmor.d/guix-daemon
apparmor_parser --warn=all -r /etc/apparmor.d/guix
_msg_pass "apparmor profiles installed and loaded"
}
sys_delete_apparmor_profiles()
{
# Not a big deal if the apparmor_parser commands fail as they only apply
# for the current boot, we still want to go on and remove the files.
if [ -f "/etc/apparmor.d/guix" ]
then
_msg_info "removing /etc/apparmor.d/guix"
apparmor_parser -R /etc/apparmor.d/guix || true
rm -f "/etc/apparmor.d/guix"
fi
if [ -f "/etc/apparmor.d/guix-daemon" ]
then
_msg_info "removing /etc/apparmor.d/guix-daemon"
apparmor_parser -R /etc/apparmor.d/guix-daemon || true
rm -f "/etc/apparmor.d/guix-daemon"
fi
if [ -f "/etc/apparmor.d/tunables/guix" ]
then
_msg_info "removing /etc/apparmor.d/tunables/guix"
rm -f "/etc/apparmor.d/tunables/guix"
fi
}
sys_delete_init_profile()
{
_msg_info "removing /etc/profile.d/zzz-guix.sh"
@@ -1050,6 +969,7 @@ main_install()
chk_init_sys
add_init_sys_require
chk_require "${REQUIRE[@]}"
chk_gpg_keyring
chk_sys_arch
chk_sys_nscd
chk_existing
@@ -1060,7 +980,6 @@ main_install()
tmp_path="$(mktemp -t -d guix.XXXXXX)"
if [ -z "${GUIX_BINARY_FILE_NAME}" ]; then
chk_gpg_keyring
guix_get_bin_list "${GNU_URL}"
guix_get_bin "${GNU_URL}" "${BIN_VER}" "$tmp_path"
GUIX_BINARY_FILE_NAME=${BIN_VER}.tar.xz
@@ -1075,7 +994,6 @@ main_install()
sys_create_store "${GUIX_BINARY_FILE_NAME}" "${tmp_path}"
sys_create_build_user
sys_maybe_setup_selinux
sys_maybe_setup_apparmor
sys_enable_guix_daemon
sys_authorize_build_farms
sys_create_init_profile
@@ -1109,7 +1027,6 @@ main_uninstall()
sys_delete_guix_daemon
# stop people from accessing their profiles.
sys_delete_user_profiles
sys_delete_apparmor_profiles
# kill guix off all the guts of guix
sys_delete_store
# clean up the system
+5 -9
View File
@@ -71,21 +71,18 @@ TARGET."
"connman" "network-manager" "wpa-supplicant" "isc-dhcp" "cups"
"linux-libre" "grub-hybrid")))
(define (%system-gui-packages target)
(define %system-gui-packages
;; Key packages proposed by the Guix System installer.
(append (map specification->package
'(;; build system `python' does not support cross builds
;"gnome" "xfce" "mate" "openbox"
;"gnome" "xfce" "mate" "openbox"
"awesome"
"i3-wm" "i3status" "dmenu" "st"
"ratpoison" "xterm"
;; build system `emacs' does not support cross builds
;"emacs-exwm" "emacs-desktop-environment"
;"emacs-exwm" "emacs-desktop-environment"
"emacs"))
;; NOTE: %default-xorg-modules depends on system.
(parameterize
((%current-target-system target))
%default-xorg-modules)))
%default-xorg-modules))
(define %packages-to-cross-build
;; Packages that must be cross-buildable from x86_64-linux.
@@ -154,8 +151,7 @@ TARGET."
;; With a graphical environment:
(if (or (target-x86-32? target)
(target-aarch64? target))
;; %system-gui-packages depends on the system.
(%system-gui-packages target)
%system-gui-packages
'()))))
(fold delete (map platform-system->target (systems))
'(;; Disable cross-compilation to self:
-165
View File
@@ -1,165 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 Noé Lopez <noelopez@free.fr>
;;;
;;; 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/>.
;;; This manifest is a list of packages that user care about (collected via an
;;; online form). It corresponds to the “Important packages” of GCD 005.
(specifications->manifest
(list
"0ad"
"agda"
"alacritty"
"ardour"
"autoconf"
"automake"
"blender"
"borg"
"btrfs-progs"
"certbot"
"chez-scheme"
"clang-toolchain"
"cryptsetup"
"dillo"
"direnv"
"docker-cli"
"dovecot"
"emacs"
"emacs-exwm"
"emacs-pgtk"
"evince"
"fcitx5"
"file"
"fish"
"foot"
"fzf"
"gajim"
"gallery-dl"
"gcc-toolchain"
"getmail6"
"gettext"
"ghc-xmonad-contrib"
"gimp"
"git"
"gmp"
"gnome"
"gnupg"
"godot"
"gpaste"
"guile"
"guile-json"
"hatch"
"help2man"
"helvum"
"hexchat"
"hyprland"
"icecat"
"idris"
"imagemagick"
"imapfilter"
"jami"
"k3b"
"kakoune"
"keepassxc"
"krita"
"ksoloti-patcher"
"libreoffice"
"librewolf"
"libsecret"
"libtool"
"libvirt"
"llama-cpp"
"mariadb"
"luanti"
"mpc"
"mpfr"
"mplayer"
"mpv"
"mullvadbrowser"
"neovim"
"nginx"
"niri"
"nix"
"node"
"notmuch"
"obs"
"offlineimap3"
"opencv"
"openmpi"
"opensmtpd"
"openssh"
"openttd"
"pandoc"
"password-store"
"pavucontrol"
"php"
"picard"
"pipewire"
"pkg-config"
"plasma"
"plasma-desktop"
"po4a"
"podman"
"postgresql"
"python"
"python-lxml"
"python-pycryptodome"
"qemu"
"ranger"
"retroarch"
;;"rocm"
"rofi"
"rspamd"
"rsync"
"screen"
"slurm"
"sqlite"
"sqlitebrowser"
"strace"
"strawberry"
"syncthing"
"taisei"
"telegram-desktop"
"texlive-babel"
"texlive-babel-english"
"texlive-babel-french"
"texlive-babel-german"
"texlive-collection-latex"
"texlive-collection-latexrecommended"
"texlive-collection-xetex"
"texlive-pdfjam"
"tmux"
"tuba"
"ungoogled-chromium"
"unison"
"unzip"
"uv"
"viewnior"
"virt-manager"
"waybar"
"wine"
"wine64"
"wireguard-tools"
"xmobar"
"xmonad"
"xournal"
"xournalpp"
"xpdf"
"yt-dlp"
"zig"
"zip"
"zsh"))
-47
View File
@@ -42,55 +42,10 @@
(channel-news
(version 0)
(entry (commit "d3b79beaa806452dceaffb8b211b69dc4c346aba")
(title
(en "Linux-libre 5.4 no longer supported")
(de "Linux-libre 5.4 nicht mehr unterstützt")
(pt "Linux-libre 5.4 não é mais suportado"))
(body
(en "The linux-libre 5.4 kernel series is no longer supported
upstream and will be removed from GNU Guix soon:
https://www.kernel.org/category/releases.html
This kernel series was first added to Guix in 2019 by Mark Weaver, at version
5.4.5. After ~297 updates delivered to Guix users, we have deployed the final
update, 5.4.302.
The next kernel series removals are scheduled for December 2026, when the Linux
long-term support team is planning to stop supporting four different kernel
series: 6.12, 6.6, 5.15, and 5.10.")
(de "Die Versionsreihe 5.4 des Linux-libre-Kernels wird von dessen
Anbieter nicht mehr unterstützt und wird bald aus GNU Guix entfernt werden:
https://www.kernel.org/category/releases.html
Diese Kernel-Reihe wurde ursprünglich 2019 zu Guix hinzugefügt von Mark Weaver
mit Version 5.4.5. Nach ~297 Aktualisierungen, die Guix seinen Nutzern
bereitgestellt hat, haben wir nun die letzte Aktualisierung
ausgeliefert, 5.4.302.
Der weitere Plan von Linux Team für Langzeitunterstützung sieht vor, als
Nächstes die Unterstützung für vier verschiedene Kernel-Reihen im Dezember 2026
zu beenden: 6.12, 6.6, 5.15 und 5.10.")
(pt "A série 5.4 do kernel linux-libre não é mais suportada pelo
fornecedor e será removida do GNU Guix em breve:
https://www.kernel.org/category/releases.html
Esta série de kernels foi adicionada inicialmente ao Guix em 2019 por Mark
Weaver, na versão 5.4.5. Após ~297 atualizações entregues aos usuários do
Guix, implantamos a atualização final, 5.4.302.
As próximas remoções de séries do kernel estão agendadas para dezembro de
2026, quando o time de suporte de longo prazo planeja interromper o suporte a
quatro séries diferentes do kernel: 6.12, 6.6, 5.15 e 5.10.")))
(entry (commit "14bb0192fde79909999c3880b6b66aa22499eb11")
(title
(en "Linux-libre 6.16 removed from Guix")
(de "Linux-libre 6.16 wurde aus Guix entfernt")
(pt "Linux-libre 6.16 removido do Guix")
(zh "Linux-libre 6.16 已从 Guix 中移除"))
(body
(en "The linux-libre 6.16 kernel series has been removed from Guix, as
@@ -99,8 +54,6 @@ default.")
(de "Die Versionsreihe 6.16 des Linux-libre-Kernels wurde aus GNU Guix
entfernt, weil sie von dessen Anbieter nicht mehr unterstützt wird.
Kernel-Versionsreihe 6.17 ist jetzt vorgegeben.")
(pt "A série 6.16 do kernel linux-libre foi removida do Guix, dado
que não é mais suportada pelo fornecedor. A série 6.17 é o padrão atual")
(zh "由于上游不再支持GNU Guix 已移除 6.16 系列的 linux-libre 内核6.17
内核系列现已成为默认版本")))
+5 -15
View File
@@ -702,7 +702,6 @@ GLib/GIO, GTK, GStreamer and Webkit."
(team 'hare
#:name "Hare"
#:scope (list "gnu/packages/hare.scm"
"gnu/packages/hare-apps.scm"
"gnu/packages/hare-xyz.scm"
"guix/build-system/hare.scm"
"guix/build/hare-build-system.scm")))
@@ -1277,9 +1276,9 @@ the \"texlive\" importer."
games)
(define-member (person "Laurent Gatto"
"lgatto@protonmail.ch"
"laurent.gatto@gmail.com"
"lgatto")
r bioinformatics)
r)
(define-member (person "Nicolas Goaziou"
"guix@nicolasgoaziou.fr"
@@ -1328,7 +1327,8 @@ the \"texlive\" importer."
(define-member (person "Hilton Chain"
"hako@ultrarare.space"
"hako"))
"hako")
emacs home localization mozilla rust zig)
(define-member (person "Noé Lopez"
"noelopez@free.fr"
@@ -1392,7 +1392,7 @@ the \"texlive\" importer."
(define-member (person "Danny Milosavljevic"
"dannym@friendly-machines.com"
"daym")
bootstrap hpc python rust science)
bootstrap hpc rust science)
(define-member (person "Andy Tai"
"atai@atai.org"
@@ -1409,16 +1409,6 @@ the \"texlive\" importer."
"delitrem")
beam)
(define-member (person "Nguyễn Gia Phong"
"cnx@loang.net"
"cnx")
python)
(define-member (person "Lilah Tascheter"
"lilah@lunabee.space"
"tinystar")
hare)
(define (find-team name)
(or (hash-ref %teams (string->symbol name))
+2 -2
View File
@@ -16,8 +16,8 @@
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; This file returns a manifest of packages built using the hare-build-system.
;;; It is used to assist continuous integration of the hare-team branch.
;;; This file returns a manifest of packages built using the cargo-build-system.
;;; It is used to assist continuous integration of the rust-team branch.
(use-modules (guix packages)
(guix profiles)
-40
View File
@@ -1,40 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 jgart <jgart@dismail.de>
;;;
;;; 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/>.
;;; This file returns a manifest of packages built using any one of the
;;; asdf build systems. It is used to assist continuous integration of
;;; the lisp-team branch.
(use-modules (guix packages)
(guix profiles)
(guix build-system))
(manifest
(map package->manifest-entry
(fold-packages
(lambda (package lst)
(if (or (eq? 'asdf/sbcl (build-system-name (package-build-system package)))
(eq? 'asdf/ecl (build-system-name (package-build-system package)))
(eq? 'asdf/clasp (build-system-name (package-build-system package)))
(string=? "clasp-cl" (package-name package))
(string=? "ecl" (package-name package))
(string=? "sbcl" (package-name package)))
(cons package lst)
lst))
'())))
-35
View File
@@ -1,35 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 jgart <jgart@dismail.de>
;;;
;;; 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/>.
;;; This file returns a manifest of packages built using the python-build-system.
;;; It is used to assist continuous integration of the python-team branch.
(use-modules (guix packages)
(guix profiles)
(guix build-system))
(manifest
(map package->manifest-entry
(fold-packages
(lambda (package lst)
(if (or (eq? 'python (build-system-name (package-build-system package)))
(eq? 'pyproject (build-system-name (package-build-system package)))
(string=? "python" (package-name package)))
(cons package lst)
lst))
'())))
-412
View File
@@ -1,412 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;;
;;; 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/>.
;;; This manifest returns build artfacts for all supported systems. This can be
;;; controlled by SUPPORTED_SYSTEMS environment variable. For the list of
;;; artifacts produced, see artifacts-for-system and the `<thing>-for-system?`
;;; procedures. NOTE: the --system argument does not change the system for which
;;; the resulting package is built. They return different definitions of the
;;; images. To change the system, pass different SUPPORTED_SYSTEMS.
(use-modules (gnu compression)
(gnu image)
(gnu packages graphviz)
(gnu packages imagemagick)
(gnu packages package-management)
(gnu packages perl)
(gnu services)
(gnu system image)
(gnu system install)
(gnu system)
(guix build-system gnu)
(guix build-system trivial)
(guix channels)
(guix gexp)
(guix git)
(guix grafts)
(guix memoization)
(guix monads)
(guix packages)
(guix profiles)
(guix records)
(guix scripts pack)
(guix store)
(guix ui)
(guix utils)
(ice-9 format)
(ice-9 match)
(srfi srfi-9)
(srfi srfi-26)
(srfi srfi-35))
;; For easier testing, use (snapshot) guix package from (gnu packages
;; package-management). Otherwise, the package is updated to current commit and
;; might not be substitutable, leading to longer build times.
(define %use-snapshot-package?
(string=? (or (getenv "GUIX_USE_SNAPSHOT_PACKAGE") "no") "yes"))
(define (%guix-version)
;; NOTE: while package-version guix is not correct in general,
;; it is correct for the release itself. At that time, the
;; guix package is updated to vX.Y.Z and it's the version
;; we want to use.
(package-version guix))
(define (%vm-image-path)
(search-path %load-path "gnu/system/examples/vm-image.tmpl"))
(define (%vm-image-efi-path)
(search-path %load-path "gnu/system/examples/vm-image-efi.tmpl"))
;; monadic record and gexp-compiler
;; taken from Inria
;; https://gitlab.inria.fr/numpex-pc5/wp3/guix-images/-/blob/17bf4585abc2d637faa5d339436e778b7c9fb1ce/modules/guix-hpc/packs.scm
;; XXX: The <monadic> hack below will hopefully become unnecessary once the
;; (guix scripts pack) interface switches to declarative style--i.e.,
;; file-like objects.
(define-record-type <monadic>
(monadic->declarative mvalue)
monadic?
(mvalue monadic-value))
(define-gexp-compiler (monadic-compiler (monadic <monadic>) system target)
(monadic-value monadic))
;; The tarball should be the same for every system.
;; Still, we need to decide what system to build it
;; for, so use the one that CI has most resources for.
(define (source-tarball-for-system? system)
(member system
'("x86_64-linux")))
(define (iso-for-system? system)
(member system
'("x86_64-linux" "i686-linux" "aarch64-linux")))
(define (qcow2-for-system? system)
(member system
'("x86_64-linux" "aarch64-linux")))
(define* (qcow2-gpt-for-system? system)
(string=? system "aarch64-linux"))
(define (copy-/etc/config.scm config)
"Copy the configuration.scm of the operating system to /etc/config.scm, for
user's convenience. The file has to be writable, not a link to the store, so
etc-service-type can't be used here. CONFIG is a pair of strings, (FROM . TO).
The config will be copied from FROM to TO."
(match config
((from . to)
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(when (not (file-exists? #$to))
(copy-file #$from #$to)
(make-file-writable #$to)))))
(_ (raise
(formatted-message-string
(G_ "unexpected config parameter, should be pair of strings: ~a"
config))))))
(define copy-/etc/config.scm-service-type
(service-type (name 'copy-/etc/config.scm)
(description
"Copy the system configuration file to /etc/config.scm.")
(extensions (list (service-extension activation-service-type
copy-/etc/config.scm)))
(default-value (cons "/run/current-system/configuration.scm"
"/etc/config.scm"))))
(define (operating-system-with-/etc/config.scm os)
"Copy the system configuration file to writable /etc/config.scm on first boot."
(operating-system
(inherit os)
(services (cons (service copy-/etc/config.scm-service-type)
(operating-system-user-services os)))))
(define (simple-provenance-entry config-file)
"Return system entries describing the operating system config, provided
through CONFIG-FILE."
(mbegin %store-monad
(return `(("configuration.scm"
,(local-file (assume-valid-file-name config-file)
"configuration.scm"))))))
;; This is mostly taken from provenance-service-type from (gnu services),
;; but it provides only configuration.scm, not channels.scm. This is
;; to get the same derivations for both Cuirass and local builds.
;; In the future, provenance-service-type could be adapted to support
;; this use case as well.
(define simple-provenance-service-type
(service-type (name 'provenance)
(extensions
(list (service-extension system-service-type
simple-provenance-entry)))
(default-value #f) ;the OS config file
(description
"Store configuration.scm of the system in the system
itself.")))
(define* (operating-system-with-simple-provenance
os
#:optional
(config-file
(operating-system-configuration-file
os)))
"Return a variant of OS that stores its CONFIG-FILE. This is similar to
`operating-system-with-provenance`, but it does copy only the
configuration.scm."
(operating-system
(inherit os)
(services (cons (service simple-provenance-service-type config-file)
(operating-system-user-services os)))))
(define (guix-package-commit guix)
;; Extract the commit of the GUIX package.
(match (package-source guix)
((? channel? source)
(channel-commit source))
(_
(apply (lambda* (#:key commit #:allow-other-keys) commit)
(package-arguments guix)))))
;; NOTE: Normally, we would use (current-guix), along with url
;; overriden to the upstream repository to not leak our local checkout.
;; But currently, the (current-guix) derivation has to be computed through
;; QEMU for systems other than your host system. This takes a lot of time,
;; it takes at least half an hour to get the derivations.
(define (guix-package/with-commit guix commit)
"Use the guix from (gnu packages package-management),
but override its commit to the specified version. Make sure
to also override the channel commit to have the correct
provenance."
(let ((scm-version (car (string-split (package-version guix) #\-))))
(package
(inherit guix)
(version (string-append scm-version "." (string-take commit 7)))
(source (git-checkout
(url (channel-url %default-guix-channel))
(commit commit)))
(arguments
(substitute-keyword-arguments (package-arguments guix)
((#:configure-flags flags '())
#~(cons*
(string-append "--with-channel-commit=" #$commit)
(filter (lambda (flag)
(not (string-prefix? "--with-channel-commit=" flag)))
#$flags))))))))
(define guix-for-images
(mlambda (system)
(cond
;; For testing purposes, use the guix package directly.
(%use-snapshot-package? guix)
;; Normally, update the guix package to current commit.
(else
(guix-package/with-commit guix (guix-package-commit (current-guix)))))))
(define %binary-tarball-compression "xz")
;; Like guix pack -C xz -s --localstatedir --profile-name=current-guix guix
(define* (binary-tarball-for-system system #:key (extra-packages '()))
(let* ((base-name (string-append "guix-binary-" (%guix-version) "." system))
(manifest (packages->manifest (cons* guix extra-packages)))
(profile (profile (content manifest)))
(inputs `(("profile" ,profile)))
(compression %binary-tarball-compression))
(manifest-entry
(name (string-append base-name ".tar." compression))
(version (%guix-version))
(item (monadic->declarative
(self-contained-tarball
base-name profile
#:profile-name "current-guix"
#:compressor (lookup-compressor compression)
#:localstatedir? #t))))))
;; Like guix system image -t iso9660 \
;; --label="GUIX_$${system}_$(VERSION)" gnu/system/install.scm
(define* (iso-for-system system)
(let* ((name (string-append
"guix-system-install-" (%guix-version) "." system ".iso"))
(base-os (make-installation-os
#:grub-displayed-version (%guix-version)
#:efi-only? (string=? system "aarch64-linux")))
(base-image (os->image base-os #:type iso-image-type))
(label (string-append "GUIX_" system "_"
(if (> (string-length (%guix-version)) 7)
(string-take (%guix-version) 7)
(%guix-version)))))
(manifest-entry
(name name)
(version (%guix-version))
(item (system-image
(image-with-label
(image
(inherit base-image)
(name (string->symbol name)))
label))))))
;; Like guix system image -t qcow2 gnu/system/examples/vm-image.tmpl
(define* (qcow2-for-system system)
(let* ((name (string-append
"guix-system-vm-image-" (%guix-version) "." system ".qcow2"))
(base-os-path
(if (qcow2-gpt-for-system? system)
(%vm-image-efi-path)
(%vm-image-path)))
(target-image-type
(if (qcow2-gpt-for-system? system)
qcow2-gpt-image-type
qcow2-image-type))
(base-os
(operating-system-with-/etc/config.scm
(operating-system-with-simple-provenance
(load base-os-path) base-os-path)))
(base-image (os->image base-os #:type target-image-type)))
(manifest-entry
(name name)
(version (%guix-version))
(item (system-image
(image
(inherit base-image)
(volatile-root? #f)
(name (string->symbol name))))))))
(define* (guix-source-tarball)
(let ((guix (package
(inherit guix)
(native-inputs
(modify-inputs (package-native-inputs guix)
;; graphviz-minimal -> graphviz
(replace "graphviz" graphviz)
(append imagemagick)
(append perl))))))
(manifest-entry
(name (string-append "guix-" (%guix-version) ".tar.gz"))
(version (package-version guix))
(item (dist-package
guix
;; Guix is built from git source, not from tarball.
;; So it's fine to use its source directly.
(package-source guix))))))
(define* (manifest-entry-with-parameters system entry
#:key
(guix-for-images-proc guix-for-images))
(manifest-entry
(inherit entry)
(item
(with-parameters
((%current-system system)
(%current-target-system #f)
(current-guix-package (guix-for-images-proc system)))
(manifest-entry-item entry)))))
(define* (manifest-with-parameters system manifest
#:key
(guix-for-images-proc guix-for-images))
"Returns entries in the manifest accompanied with %current-system,
%current-target-sytem and current-guix-package parameters."
(make-manifest
(map (cut manifest-entry-with-parameters system <>
#:guix-for-images-proc guix-for-images-proc)
(manifest-entries manifest))))
(define (artifacts-for-system/nonparameterized system)
"Get all artifacts for given system. This will always include the
guix-binary tarball and optionally iso and/or qcow2 images."
(manifest
(append
(list
(binary-tarball-for-system system))
;; TODO: After source tarball generation is ready, uncomment.
;; (if (source-tarball-for-system? system)
;; (list (guix-source-tarball))
;; '())
(if (iso-for-system? system)
(list (iso-for-system system))
'())
(if (qcow2-for-system? system)
(list (qcow2-for-system system))
'()))))
(define* (artifacts-for-system system
#:key
(guix-for-images-proc guix-for-images))
"Collects all artifacts for a system. Gives them the proper %current-system
and %current-target-system parameters, so the --system passed on CLI is
irrelevant."
;; NOTE: parameterizing current system, because the tarball seems to somehow
;; depend on it early on. I haven't investigated it, but seems like a bug. Could
;; it be the gexp->derivation + monadic->declarative, not passing down the
;; system? Symptom: guix build --system=x86_64 -m artifacts-manifest.scm and
;; guix build --system=i686-linux -m artifacts-manifest.scm gives out different
;; results without the parameterization.
(parameterize
((%current-system system)
(%current-target-system #f)
(current-guix-package (guix-for-images-proc system)))
(manifest-with-parameters
system
(artifacts-for-system/nonparameterized system)
#:guix-for-images-proc guix-for-images-proc)))
(define (manifest->union manifest)
"Makes a union that will be a folder with all the entries symlinked. This
is different from a profile as it expects the entries are just simple files
and symlinks them by their manifest-entry-name."
(let ((entries (manifest-entries manifest)))
(computed-file
"artifacts-union"
(with-imported-modules '((guix build union)
(guix build utils))
#~(begin
(use-modules (guix build utils))
(mkdir-p #$output)
(for-each
(lambda* (entry)
(symlink (cdr entry)
(string-append #$output "/" (car entry))))
(list #$@(map (lambda (entry)
#~(cons
#$(manifest-entry-name entry)
#$(manifest-entry-item entry)))
entries))))))))
(define %supported-systems
(or (and
(getenv "SUPPORTED_SYSTEMS")
(string-split (getenv "SUPPORTED_SYSTEMS") #\ ))
'("x86_64-linux" "i686-linux"
"armhf-linux" "aarch64-linux"
"powerpc64le-linux" "riscv64-linux")))
(define supported-systems-union-manifest
(concatenate-manifests
(map artifacts-for-system
%supported-systems)))
(when %use-snapshot-package?
(warning (G_ "building images using the 'guix' package (snapshot)~%")))
(info (G_ "producing artifacts for the following systems: ~a~%")
%supported-systems)
supported-systems-union-manifest
-26
View File
@@ -1,26 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;;
;;; 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/>.
;;; Produce a single directory with all the artifacts inside of it, with proper
;;; names. They can then be easily copied to releasedir in Makefile. The files are
;;; symlinked to save space, but they should be copied out of the store as regular
;;; files.
(load "artifacts-manifest.scm")
(manifest->union
supported-systems-union-manifest)
+9 -16
View File
@@ -359,7 +359,7 @@ to it atomically and set the appropriate permissions."
(left unused-subid-range-left ;previous unused subuid range or #f
(default #f))
(min unused-subid-range-min ;lower bound of this unused subuid range
(default 0))
(default %subordinate-id-min))
(max unused-subid-range-max ;upper bound
(default %subordinate-id-max))
(right unused-subid-range-right ;next unused subuid range or #f
@@ -555,10 +555,7 @@ will be marked as used in it."
(define actual-range
(subid-range
(inherit range)
;; New IDs are only allocated between %subordinate-id-min and
;; %subordinate-id-max.
(start
(max allocation-start %subordinate-id-min))))
(start allocation-start)))
(if (within-interval? allocation actual-range)
(values
@@ -606,6 +603,13 @@ is visited to find the best unused range that can hold RANGE."
(define range-end
(subid-range-end range))
(unless (and (subordinate-id? range-start)
(subordinate-id? range-end))
(raise
(condition
(&invalid-subid-range-error
(range range)))))
(define less?
(< range-end allocation-start))
(define more?
@@ -798,23 +802,12 @@ new UIDs."
(define* (allocate-subids ranges #:optional (current-ranges '()))
"Return a list of subids entries for RANGES, a list of <subid-range>. IDs
found in CURRENT-RANGES, a list of subid entries, are reused."
;; Ranges from disk must always have a start.
(let ((generic (any (compose not subid-range-has-start?) current-ranges)))
(when generic
(raise
(condition
(&specific-subid-range-expected-error
(range generic))))))
(for-each
(lambda (range)
;; New ranges must always be included in the current supported set.
(unless (or (not (subid-range-has-start? range))
(and (subordinate-id? (subid-range-start range))
(subordinate-id? (subid-range-end range))))
(raise
(condition (&invalid-subid-range-error (range range))))))
ranges)
(define sorted-ranges
(stable-sort ranges
subid-range-less))
+7 -12
View File
@@ -321,18 +321,13 @@ EINVAL, ELOOP, etc."
;; convention to be followed.
(source (canonicalize-path* (string-append etc "/" file))))
(rm-f target)
(cond ((string=? (basename target) "sudoers")
(begin
;; /etc/sudoers must be a regular file.
(copy-file source target)
;; XXX: dirty hack to meet sudo's expectations
(chmod target #o440)))
((string=? (basename target) "hosts")
;; /etc/hosts must be a regular file, as some software
;; like vpn-slice expect to be able to write to it.
(copy-file source target))
(else ;usual case
(symlink source target)))))
(if (string=? (basename target) "sudoers")
(begin
;; /etc/sudoers must be a regular file.
(copy-file source target)
;; XXX: dirty hack to meet sudo's expectations
(chmod target #o440))
(symlink source target)))) ;usual case
(scandir etc (negate dot-or-dot-dot?)
;; The default is 'string-locale<?', but we don't have
;; it when run from the initrd's statically-linked
+1 -5
View File
@@ -428,11 +428,7 @@ GRUB configuration and OS-DRV as the stuff in it."
"-not" "-wholename" "/System/*"
"-not" "-name" "unicode.pf2"
"-not" "-name" "bzImage"
"-not" "-name" "zImage"
"-not" "-name" "Image"
"-not" "-name" "vmlinuz"
"-not" "-name" "*.gz" ; initrd
"-not" "-name" "*.zst" ; all man pages
"-not" "-name" "*.gz" ; initrd & all man pages
"-not" "-name" "*.png" ; includes grub-image.png
"-exec" "set_filter" "--zisofs"
"--")
+7 -6
View File
@@ -367,13 +367,14 @@ purposes."
'unknown)
((channels ...)
(map (lambda (channel)
;; NOTE: URL is not logged to synchronize the derivations
;; coming out of pre-inst-env, time-machine and Cuirass
;; for generating release artifacts.
`(channel ,(channel-name channel) ,(channel-commit channel)))
(let* ((uri (string->uri (channel-url channel)))
(url (if (or (not uri) (eq? 'file (uri-scheme uri)))
"local checkout"
(channel-url channel))))
`(channel ,(channel-name channel) ,url ,(channel-commit channel))))
channels))))
(define* (installer-program #:key dry-run? (guix-for-installer (current-guix)))
(define* (installer-program #:key dry-run?)
"Return a file-like object that runs the given INSTALLER."
(define init-gettext
;; Initialize gettext support, so that installer messages can be
@@ -422,7 +423,7 @@ purposes."
guile-gnutls
guile-zlib ;for (gnu build linux-modules)
guile-zstd ;for (gnu build linux-modules)
guix-for-installer)
(current-guix))
(with-imported-modules `(,@(source-module-closure
`(,@modules
(gnu services herd)
+4 -13
View File
@@ -73,7 +73,6 @@
# Copyright © 2024 James Smith <jsubuntuxp@disroot.org>
# Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com>
# Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
# Copyright © 2025 bdunahu <bdunahu@operationnull.com>
#
# This file is part of GNU Guix.
#
@@ -358,7 +357,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gxmessage.scm \
%D%/packages/hardware.scm \
%D%/packages/hare.scm \
%D%/packages/hare-apps.scm \
%D%/packages/hare-xyz.scm \
%D%/packages/haskell.scm \
%D%/packages/haskell-apps.scm \
@@ -697,6 +695,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/vpn.scm \
%D%/packages/vulkan.scm \
%D%/packages/w3m.scm \
%D%/packages/wdiff.scm \
%D%/packages/weather.scm \
%D%/packages/web.scm \
%D%/packages/web-browsers.scm \
@@ -1144,7 +1143,6 @@ dist_patch_DATA = \
%D%/packages/patches/clucene-contribs-lib.patch \
%D%/packages/patches/csvkit-set-locale-for-tests.patch \
%D%/packages/patches/ctranslate2-local-build.patch \
%D%/packages/patches/ctune-cmake-disable-git-clone.patch \
%D%/packages/patches/cube-nocheck.patch \
%D%/packages/patches/cups-relax-root-ownership-check.patch \
%D%/packages/patches/cura-engine-gcc-14.patch \
@@ -1201,7 +1199,6 @@ dist_patch_DATA = \
%D%/packages/patches/duc-fix-test-sh.patch \
%D%/packages/patches/dune-common-skip-failing-tests.patch \
%D%/packages/patches/durden-shadow-arcan.patch \
%D%/packages/patches/dvdbackup-with-libdvdread-6.1.0+.patch \
%D%/packages/patches/dvd+rw-tools-add-include.patch \
%D%/packages/patches/dwarves-threading-reproducibility.patch \
%D%/packages/patches/efivar-fix-fprint-format.patch \
@@ -1595,7 +1592,6 @@ dist_patch_DATA = \
%D%/packages/patches/hurd-refcounts-assert.patch \
%D%/packages/patches/hurd-rumpdisk-no-hd.patch \
%D%/packages/patches/hurd-startup.patch \
%D%/packages/patches/hurd-proc-zombies.patch \
%D%/packages/patches/hwloc-1-test-btrfs.patch \
%D%/packages/patches/i3lock-blur-fix-build-on-gcc-10.patch \
%D%/packages/patches/i7z-gcc-10.patch \
@@ -2052,7 +2048,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-clarabel-blas.patch \
%D%/packages/patches/python-docrepr-fix-tests.patch \
%D%/packages/patches/python-feedparser-missing-import.patch \
%D%/packages/patches/python-gpg-setup-72.patch \
%D%/packages/patches/python-hdmedians-replace-nose.patch \
%D%/packages/patches/python-louvain-fix-test.patch \
%D%/packages/patches/python-matplotlib-fix-legend-loc-best-test.patch \
@@ -2077,7 +2072,6 @@ dist_patch_DATA = \
%D%/packages/patches/qtdeclarative-5-disable-qmlcache.patch \
%D%/packages/patches/qtdeclarative-disable-qmlcache.patch \
%D%/packages/patches/qtlocation-5.15.8-mapboxgl-gcc13.patch \
%D%/packages/patches/qtwebengine-revert-egl.patch \
%D%/packages/patches/quodlibet-disable-bundled-packages.patch \
%D%/packages/patches/qxlsx-fix-include-directory.patch \
%D%/packages/patches/schiffbruch-fix-build-for-gcc-13.patch \
@@ -2216,20 +2210,19 @@ dist_patch_DATA = \
%D%/packages/patches/qtbase-qmake-fix-includedir.patch \
%D%/packages/patches/qtbase-qmlimportscanner-qml-import-path.patch \
%D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \
%D%/packages/patches/qtbase-patch-libvulkan.patch \
%D%/packages/patches/qtbase-qmake-use-libname.patch \
%D%/packages/patches/qtbase-5-use-TZDIR.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
%D%/packages/patches/quagga-reproducible-build.patch \
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \
%D%/packages/patches/quilt-grep-compat.patch \
%D%/packages/patches/qmk-firmware-fix-hacker-dvorak.patch \
%D%/packages/patches/qtwayland-dont-recreate-callbacks.patch \
%D%/packages/patches/qtwayland-cleanup-callbacks.patch \
%D%/packages/patches/qtwayland-update-wayland-xml.patch \
%D%/packages/patches/qtwebengine-fix-dependencies.patch \
%D%/packages/patches/qtwebsockets-6.9-fix-tst_QWebSocket.patch\
%D%/packages/patches/rabbitmq-defaults.patch \
%D%/packages/patches/radare2-fix-meson-build-to-use-sys-qjs.patch \
%D%/packages/patches/radare2-fix-meson-build-to-use-sys-sdb.patch \
%D%/packages/patches/ragel-char-signedness.patch \
%D%/packages/patches/randomjungle-disable-static-build.patch \
%D%/packages/patches/rapidcheck-fix-libs.patch \
@@ -2257,7 +2250,6 @@ dist_patch_DATA = \
%D%/packages/patches/remake-impure-dirs.patch \
%D%/packages/patches/restartd-update-robust.patch \
%D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \
%D%/packages/patches/rlwrap-no-rbgen.patch \
%D%/packages/patches/rng-tools-revert-build-randstat.patch \
%D%/packages/patches/rocclr-5.6.0-enable-gfx800.patch \
%D%/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch \
@@ -2284,6 +2276,7 @@ dist_patch_DATA = \
%D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \
%D%/packages/patches/s7-flint-3.patch \
%D%/packages/patches/safeint-disable-tests.patch \
%D%/packages/patches/sage-safeguard-sage-getargspec-cython.patch \
%D%/packages/patches/sajson-for-gemmi-numbers-as-strings.patch \
%D%/packages/patches/sajson-build-with-gcc10.patch \
%D%/packages/patches/sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch \
@@ -2488,12 +2481,10 @@ dist_patch_DATA = \
%D%/packages/patches/wordnet-CVE-2008-3908-pt1.patch \
%D%/packages/patches/wordnet-CVE-2008-3908-pt2.patch \
%D%/packages/patches/wpa-supplicant-dbus-group-policy.patch \
%D%/packages/patches/x2goclient-fix-makefile.patch \
%D%/packages/patches/x265-arm-flags.patch \
%D%/packages/patches/x265-4-arm-flags.patch \
%D%/packages/patches/xdg-desktop-portal-disable-portal-tests.patch\
%D%/packages/patches/xdg-desktop-portal-disable-configuration-search-exit.patch\
%D%/packages/patches/xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch\
%D%/packages/patches/xdg-desktop-portal-wlr-harcoded-length.patch\
%D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \
%D%/packages/patches/xfig-Enable-error-message-for-missing-libraries.patch \
+10 -40
View File
@@ -605,35 +605,15 @@ interface and is based on GNU Guile.")
(base32
"1mh080060lnycys8yq6kkiy363wif8dsip3nyklgd3a1r22wb274"))))
(arguments
(list
#:configure-flags
#~(list "--localstatedir=/var"
;; Gzip and zstd are used by the log rotation service.
(string-append "--with-gzip=" #$(this-package-input "gzip")
"/bin/gzip")
(string-append "--with-zstd=" #$(this-package-input "zstd")
"/bin/zstd"))
#:make-flags #~'("GUILE_AUTO_COMPILE=0")
#:phases (if (%current-target-system)
#~(modify-phases %standard-phases
(add-before 'configure 'set-fibers-directory
(lambda* (#:key inputs #:allow-other-keys)
;; When cross-compiling, refer to the target
;; Fibers, not the native one.
(let ((fibers
(search-input-file
inputs
"share/guile/site/3.0/fibers.scm"))
(fibers-go
(search-input-file
inputs
"lib/guile/3.0/site-ccache/fibers.go")))
(substitute* '("herd.in" "shepherd.in")
(("%FIBERS_SOURCE_DIRECTORY%")
(dirname fibers))
(("%FIBERS_OBJECT_DIRECTORY%")
(dirname fibers-go)))))))
#~%standard-phases)))
(substitute-keyword-arguments (package-arguments shepherd-0.10)
((#:configure-flags flags #~'())
#~(list "--localstatedir=/var"
;; Gzip and zstd are used by the log rotation service.
(string-append "--with-gzip=" #$(this-package-input "gzip")
"/bin/gzip")
(string-append "--with-zstd=" #$(this-package-input "zstd")
"/bin/zstd")))))
(native-inputs
(modify-inputs (package-native-inputs shepherd-0.10)
(replace "guile-fibers"
@@ -3373,17 +3353,7 @@ provides the following commands:
(uri (pypi-uri "ansible" version))
(sha256
(base32 "0apj783acx4jzkf3bnibn4y5jc6jd8ly7l0rdqq8f1jpgxal933x"))))
(build-system pyproject-build-system)
(arguments
(list
;; XXX: All tests errored with:
;; from ...common.utils import (
;; E ImportError: attempted relative import with no known parent package
;;
;; tests: 17 skipped, 1 warning, 1132 errors
#:tests? #f))
(native-inputs
(list python-setuptools))
(build-system python-build-system)
(propagated-inputs (list ansible-core))
;; The Ansible collections are found by ansible-core via the Python search
;; path; the following search path ensures that they are found even when
+11 -18
View File
@@ -498,20 +498,25 @@ or text interfaces) or as a C++ library.")
(define-public flint
(package
(name "flint")
(version "3.4.0")
(version "3.2.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://flintlib.org/download/flint-"
version ".tar.gz"))
(sha256
(base32 "0csa8n7d4l3mh892q36nhiv1r7bkb168vszz79p95bfy0jc6g5wl"))))
(base32 "0gyjbkhwrmx2vgb1gailnmmzacl4aikzgi70dzmpf8lpfxny8yya"))))
(build-system gnu-build-system)
(inputs
(list ntl))
(propagated-inputs
(list gmp mpfr)) ; header files included by flint.h or mpfr_mat.h
(arguments
;; Parallel tests failed in the past on ARM, this may need to be
;; tested again.
`(#:parallel-tests? #f
;; Prevent build machine specifics from ending up in the binary.
'(#:configure-flags '("--disable-assembly")))
#:configure-flags '("--disable-assembly")))
(synopsis "Fast library for number theory")
(description
"FLINT is a C library for number theory. It supports arithmetic
@@ -529,18 +534,6 @@ fast arithmetic.")
(properties
'((release-monitoring-url . "http://flintlib.org/downloads.html")))))
(define-public flint-3.3
(package
(inherit flint)
(version "3.3.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://flintlib.org/download/flint-"
version ".tar.gz"))
(sha256
(base32 "1yzasdcv90f6w926p9g92cli2daxvb0mh2s1w1qskkvn618hxmv4"))))))
(define-public python-flint
(package
(name "python-flint")
@@ -565,7 +558,7 @@ fast arithmetic.")
python-pytest))
(inputs
(list gmp
flint-3.3))
flint))
(propagated-inputs
(list python-numpy))
(home-page "https://fredrikj.net/python-flint/")
@@ -627,7 +620,7 @@ matrices, and polynomials over the integers and over finite fields.")
(define-public singular
(package
(name "singular")
(version "4.4.1p5")
(version "4.4.1")
(source
(origin
(method url-fetch)
@@ -643,7 +636,7 @@ matrices, and polynomials over the integers and over finite fields.")
"/singular-" version ".tar.gz"))
(sha256
(base32
"1pwygpmhf4sddf1v5x5fr1kbbkb29wlfd5yyj7lryvhbs45s9rdw"))))
"16xlhar1krlskh9gxbw1gw4qi8248c95w71vzxdw72avs2pblkva"))))
(build-system gnu-build-system)
(arguments
(list
+40 -48
View File
@@ -1306,58 +1306,50 @@ emulator inside the comfort of Emacs.")
(package
(name "enjarify")
(version "1.0.3")
(home-page "https://github.com/Storyyeller/enjarify")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Storyyeller/enjarify")
(commit version)))
(file-name (git-file-name name version))
(patches
(search-patches "enjarify-setup-py.patch"))
(sha256
(base32 "1nam7h1g4f1h6jla4qcjjagnyvd24dv6d5445w04q8hx07nxdapk"))))
(build-system pyproject-build-system)
(method git-fetch)
(uri (git-reference
(url home-page)
(commit version)))
(file-name (git-file-name name version))
(patches
(search-patches "enjarify-setup-py.patch"))
(sha256
(base32
"1nam7h1g4f1h6jla4qcjjagnyvd24dv6d5445w04q8hx07nxdapk"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'fix-tests
(lambda _
(substitute* "enjarify/runtests.py"
(("from \\.main") "from enjarify.main")
(("from \\.jvm") "from enjarify.jvm"))
;; Upstream adjusted this test in commit:
;; 3ae884a6485af82d300515813f537685b08dd800
(substitute* "tests/test2/expected.txt"
(("^20") "0"))
;; Upstream removed this argument in order to support 32-bit
;; architectures. commit:
;; 4be0111d879aa95fdc0d9f24fe529f8c664d4093
(substitute* "enjarify/runtests.py"
(("java -Xss515m") "java "))))
(add-after 'install 'install-enjarify-wrapper
(lambda _
(let ((bin (string-append #$output "/bin")))
(install-file "enjarify.sh" bin)
(symlink (string-append bin "/enjarify.sh")
(string-append bin "/enjarify")))))
(replace 'check
(lambda* (#:key tests? test-flags #:allow-other-keys)
(when tests?
(invoke "python" "-m" "enjarify.runtests")))))))
(native-inputs
(list openjdk12
python-setuptools))
(home-page "https://github.com/Storyyeller/enjarify")
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'fixup-expected-test-results
;; Upstream adjusted this test in commit:
;; 3ae884a6485af82d300515813f537685b08dd800
(lambda _
(substitute* "tests/test2/expected.txt"
(("^20") "0"))
#t))
(add-before 'check 'drop-java-xss-argument
;; Upstream removed this argument in order to support 32-bit
;; architectures. commit: 4be0111d879aa95fdc0d9f24fe529f8c664d4093
(lambda _
(substitute* "enjarify/runtests.py"
(("java -Xss515m") "java "))
#t))
(add-after 'install 'install-enjarify-wrapper
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin/"))
(copy-file "enjarify.sh" (string-append out "/bin/enjarify"))
#t))))))
(native-inputs (list openjdk12))
(synopsis "Translate Dalvik bytecode to equivalent Java bytecode")
(description
"Android applications are Java programs that run on a customized virtual
machine, which is part of the Android operating system, the Dalvik VM. Their
bytecode differs from the bytecode of normal Java applications. Enjarify can
translate the Dalvik bytecode back to equivalent Java bytecode, which
simplifies the analysis of Android applications. It's an alternative fork of
not maintained Goole's project https://github.com/google/enjarify.")
(description "Android applications are Java programs that run on a
customized virtual machine, which is part of the Android operating system, the
Dalvik VM. Their bytecode differs from the bytecode of normal Java
applications. Enjarify can translate the Dalvik bytecode back to equivalent
Java bytecode, which simplifies the analysis of Android applications.")
(license license:asl2.0)))
(define-public android-file-transfer
+2 -2
View File
@@ -1224,7 +1224,7 @@ engineers, musicians, soundtrack editors and composers.")
(define-public audacity
(package
(name "audacity")
(version "3.7.7")
(version "3.7.4")
(source
(origin
(method git-fetch)
@@ -1233,7 +1233,7 @@ engineers, musicians, soundtrack editors and composers.")
(commit (string-append "Audacity-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0h2xdhbx6bjhlk2mxqalpbpzjcdj0sb8wf1rp3vj0fbgvxy1y92k"))
(base32 "184hak52p00qid0i581gky7076fl5rjxwqly0fw7ix8yi6j8li4h"))
(patches (search-patches "audacity-ffmpeg-fallback.patch"))
(modules '((guix build utils)))
(snippet
+24 -41
View File
@@ -6104,7 +6104,7 @@ UCSC genome browser.")
(define-public tetoolkit
(package
(name "tetoolkit")
(version "2.2.3")
(version "2.2.1b")
(source
(origin
(method git-fetch)
@@ -6113,11 +6113,10 @@ UCSC genome browser.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1jgwnm1kmj2mgvc3gib6d73rvyy3l54icjcj2gw0p1ay6kqkzs0p"))))
(base32 "1m3xsydakhdan9gp9mfdz7llka5g6ak91d0mbl1cmmxq9qs6an4y"))))
(build-system pyproject-build-system)
(arguments
`(#:tests? #f ;no tests
#:phases (modify-phases %standard-phases
`(#:phases (modify-phases %standard-phases
(add-after 'unpack 'adjust-requirements
(lambda _
(substitute* "setup.py"
@@ -6164,7 +6163,7 @@ UCSC genome browser.")
python-pysam
r-minimal
r-deseq2))
(native-inputs (list python-setuptools))
(native-inputs (list python-setuptools python-wheel))
(home-page "https://github.com/mhammell-laboratory/TEtranscripts")
(synopsis "Transposable elements in differential enrichment analysis")
(description
@@ -18687,36 +18686,25 @@ cases include:
(define-public python-mappy
(package
(name "python-mappy")
(version "2.24")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lh3/minimap2")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0k658659ivxk2xnyawrfqdhcji6a3xcqdr5a9r5myzb2ivypnjmh"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-backend #~'custom
#:test-flags
#~(list "-c" (string-append "import mappy;"
" print(mappy.revcomp("
"mappy.Aligner('test/MT-human.fa')"
".seq('MT_human', 100, 200)))"))))
(native-inputs
(list python-cython python-setuptools))
(inputs
(list zlib))
(home-page "https://github.com/lh3/minimap2")
(synopsis "Python binding for minimap2")
(description "This package provides a convenient interface to minimap2,
(name "python-mappy")
(version "2.24")
(source (origin
(method url-fetch)
(uri (pypi-uri "mappy" version))
(sha256
(base32
"1ycszza87p9qvx8mis9v1hry0ac465x1xcxbsn1k45qlxxrzp8im"))))
(build-system python-build-system)
(native-inputs
(list python-cython))
(inputs
(list zlib))
(home-page "https://github.com/lh3/minimap2")
(synopsis "Python binding for minimap2")
(description "This package provides a convenient interface to minimap2,
a fast and accurate C program to align genomic and transcribe nucleotide
sequences.")
(license license:expat)))
(license license:expat)))
(define-public miniasm
(package
@@ -20112,7 +20100,7 @@ allowing the insertion of arbitrary types into the tree.")
(define-public python-pypairix
(package
(name "python-pypairix")
(version "0.3.9")
(version "0.3.8")
;; The tarball on pypi does not include the makefile to build the
;; programs.
(source
@@ -20125,7 +20113,7 @@ allowing the insertion of arbitrary types into the tree.")
(sha256
(base32
"1jlxj3xa67q1i58pmbi6imhvl6f5w9m5qxv0xd45ba86mp8mnmvz"))))
(build-system pyproject-build-system)
(build-system python-build-system)
(arguments
(list
#:phases
@@ -20141,9 +20129,6 @@ allowing the insertion of arbitrary types into the tree.")
(add-after 'install 'install-programs
(lambda _
(copy-recursively "bin" (string-append #$output "/bin")))))))
(native-inputs
(list python-pytest
python-setuptools))
(inputs
(list zlib))
(home-page "https://github.com/4dn-dcic/pairix")
@@ -23917,9 +23902,7 @@ instruments, or Pacific Biosciences RSII or Sequel sequencers.")
(sha256
(base32
"1z1gy8n56lhriy6hdkh9r82ndikndipq2cy2wh8q185qig4rimr6"))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools))
(arguments (list #:tests? #f)) ;No tests on either PyPI or Git.
(build-system python-build-system)
(inputs
(list curl zlib))
(propagated-inputs
+4 -4
View File
@@ -338,7 +338,7 @@ parallel study, and original language study.")
(define-public book-emacs-lisp-elements
(package
(name "book-emacs-lisp-elements")
(version "2.0.0")
(version "1.0.0")
(source
(origin
(method git-fetch)
@@ -347,7 +347,7 @@ parallel study, and original language study.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0w3jxgkynq37rn7c17pnricykqf3gmq4crsvkz2j2g3hc0ydf6qp"))))
(base32 "1fwbj2hrb33blknxd3qrm7jjs2ixrbyc77788i37qvn6v1y741ry"))))
(build-system emacs-build-system)
(arguments
(list
@@ -361,8 +361,8 @@ parallel study, and original language study.")
(home-page "https://protesilaos.com/emacs/emacs-lisp-elements")
(synopsis "Overview of the Emacs Lisp programming language")
(description
"Emacs Lisp Elements is a book written by Protesilaos Stavrou, providing
a big picture view of the @acronym{Elisp, Emacs Lisp} programming language by
"Emacs Lisp Elements is a book written by Protesilaos Stavrou, providing a big
picture view of the @acronym{Elisp, Emacs Lisp} programming language by
combining prose with code. This book aims to provide an idea of how Elisp
works by showing some of the main concepts and patterns encountered in
everyday Elisp code.
-35
View File
@@ -21,7 +21,6 @@
;;; Copyright © 2022, 2023 Juliana Sims <juli@incana.org>
;;; Copyright © 2024 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Anderson Torres <anderson.torres.8519@gmail.com>
;;; Copyright © 2025 Aiden Isik <aidenisik+git@member.fsf.org>
;;; Copyright © 2025 Josep Bigorra <jjbigorra@gmail.com>
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
@@ -100,40 +99,6 @@
#:use-module (gnu packages version-control)
#:use-module (gnu packages xml))
(define-public acr
(package
(name "acr")
(version "2.2.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/acr")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1qd7p50b9gkh2ihf7gs6xpdkb5jk8frg90ajqlw1pbza8735f9q1"))
(snippet
#~(begin
(delete-file "configure")))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; No tests
#:phases
#~(modify-phases %standard-phases
(delete 'bootstrap)
(add-after 'patch-source-shebangs 'bootstrap-after-patch-source-shebangs
(assoc-ref %standard-phases 'bootstrap)))))
(synopsis "Autoconf replacement written in pure Bash")
(description
"@acronym{ACR, Autoconf Replacement} tries to replace autoconf
functionality generating a full-compatible configure script, but relying on
Bourne shell script instead of m4.")
(home-page "https://github.com/radareorg/acr")
(license license:gpl2)))
(define-public bam
(package
(name "bam")
+23 -14
View File
@@ -832,20 +832,7 @@ format.")
(build-system cmake-build-system)
(arguments
'(#:parallel-tests? #f
#:configure-flags '("-DBUILD_TESTS=ON"
"-DUSE_BUNDLED_TINYXML2=OFF")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-testcondition-test
(lambda _
(substitute* "test/testcondition.cpp"
(("test.cpp:4\\] -> \\[test.cpp:6")
"test.cpp:4:25] -> [test.cpp:6:18")
(("test.cpp:3\\] -> \\[test.cpp:5(.*false)"_ rest)
(string-append "test.cpp:3:22] -> [test.cpp:5:22" rest
" [knownConditionTrueFalse]"))))))))
(inputs
(list tinyxml2))
#:configure-flags '("-DBUILD_TESTS=ON")))
(home-page "https://cppcheck.sourceforge.io")
(synopsis "Static C/C++ code analyzer")
(description "Cppcheck is a static code analyzer for C and C++. Unlike
@@ -3787,6 +3774,28 @@ system. The code under test requires no modification to work with pyfakefs.")
asynchronous code in Python (asyncio).")
(license license:expat)))
(define-public python-pytest-dependency
(package
(name "python-pytest-dependency")
(version "0.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-dependency" version))
(sha256
(base32
"0swl3mxca7nnjbb5grfzrm3fa2750h9vjsha0f2kyrljc6895a62"))))
(build-system python-build-system)
(propagated-inputs
(list python-pytest))
(home-page
"https://github.com/RKrahl/pytest-dependency")
(synopsis "Manage dependencies of tests")
(description "This pytest plugin manages dependencies of tests. It allows
to mark some tests as dependent from other tests. These tests will then be
skipped if any of the dependencies did fail or has been skipped.")
(license license:asl2.0)))
(define-public python-pytest-datadir
(package
(name "python-pytest-datadir")
+7 -19
View File
@@ -9,7 +9,6 @@
;;; Copyright © 2024 Foundation Devices, Inc. <hello@foundation.xyz>
;;; Copyright © 2024 Jean-Pierre De Jesus DIAZ <jean@foundation.xyz>
;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz>
;;; Copyright © 2025 Foster Hangdaan <foster@hangdaan.email>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -703,33 +702,22 @@ To get @code{podman machine} working, install @code{qemu-minimal}, and
(define-public podman-compose
(package
(name "podman-compose")
(version "1.5.0")
(version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/containers/podman-compose")
(commit (string-append "v" version))))
(url "https://github.com/containers/podman-compose")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "08pz9axvgfyr0jd8rlndmhh8147s864mz17ng6qs07831g9ylj80"))))
(base32 "06vm088q1x7j929n93ylq3bav716bqh6l79agj8sgzsqxjsmli73"))))
(build-system pyproject-build-system)
(arguments
(list
;; Only run tests in `tests/unit`, skipping the ones in
;; `tests/integration`. The integration tests need an environment with
;; the ability to manage containers and volumes using the `podman`
;; command.
;;
;; tests: 378 tests
#:test-backend #~'unittest
#:test-flags #~(list "discover" "tests/unit")))
(native-inputs
(list python-parameterized
python-setuptools))
(propagated-inputs
(list python-dotenv
python-pyyaml))
#:test-flags #~(list "pytests")))
(native-inputs (list python-pytest python-parameterized python-setuptools python-wheel))
(propagated-inputs (list python-dotenv python-pyyaml))
(home-page "https://github.com/containers/podman-compose")
(synopsis "Script to run docker-compose.yml using podman")
(description
+5 -10
View File
@@ -982,7 +982,7 @@ utilities used across the hypr* ecosystem.")
(define-public hyprlang
(package
(name "hyprlang")
(version "0.6.7")
(version "0.6.6")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -991,7 +991,7 @@ utilities used across the hypr* ecosystem.")
(file-name (git-file-name name version))
(sha256
(base32
"0n64jq9jdabyx76sax0fb45jg92708488733c2m6zsf84r6nv2g7"))))
"13lqlwrpcd3gs5xw51sj1zx2w7kvsywvgdal81dp841rpph91z00"))))
(build-system cmake-build-system)
(arguments
(list
@@ -2473,22 +2473,17 @@ of C++14 components that complements @code{std} and Boost.")
(build-system cmake-build-system)
(arguments
(list
#:configure-flags #~(list "-DENABLE_TESTS=ON" "-DENABLE_CRYPTO=ON"
"-DENABLE_NETSSL=ON")
#:configure-flags #~(list "-DENABLE_TESTS=ON")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-problematic-tests
(lambda _
(substitute* (list "Foundation/CMakeLists.txt" ; XXX: fails.
;; Require network access.
;; Require network access
"Net/CMakeLists.txt"
"MongoDB/CMakeLists.txt"
"Redis/CMakeLists.txt"
;; Requires network access and uses certificates
;; that will expire.
"NetSSL_OpenSSL/CMakeLists.txt")
"Redis/CMakeLists.txt")
(("ENABLE_TESTS") "FALSE")))))))
(inputs (list openssl))
(home-page "https://pocoproject.org/")
(synopsis "Portable C++ components")
(description "This package provides a collection of C++ libraries intended
+2 -2
View File
@@ -520,14 +520,14 @@ total number of shares generated.")
(define-public tomb
(package
(name "tomb")
(version "2.13")
(version "2.11")
(source
(origin
(method url-fetch)
(uri (string-append "https://files.dyne.org/tomb/releases/"
"Tomb-" version ".tar.gz"))
(sha256
(base32 "1405kw0j8i1bqyqbim8530xf6hchpf57r9p1v92aknwyn5wgny0g"))))
(base32 "05f34yx91bn9fj7rkabgpzvkw4pa6bg2c1r8cnp72wwnx6bzj97m"))))
(build-system gnu-build-system)
(arguments
(list
+11 -77
View File
@@ -67,7 +67,6 @@
;;; Copyright © 2025 Ashvith Shetty <ashvithshetty0010@zohomail.in>
;;; Copyright © 2025 Philippe Swartvagher <phil.swart@gmx.fr>
;;; Copyright © 2025 Simen Endsjø <contact@simendsjo.me>
;;; Copyright © 2025 bdunahu <bdunahu@operationnull.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -140,7 +139,6 @@
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages node)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages openstack)
#:use-module (gnu packages pantheon)
@@ -3715,29 +3713,24 @@ for many database kinds that tortoise-orm doesn't need, for example.")
(define-public python-asyncpg
(package
(name "python-asyncpg")
;; asyncpg 0.31.0 requires Cython(>=3.2.1,<4.0.0), got Cython==3.1.2
(version "0.30.0")
(source
(origin
;; git-fetch leads to errors like
;; ValueError: 'asyncpg/pgproto/pgproto.pyx' doesn't match any files
(method url-fetch)
(uri (pypi-uri "asyncpg" version))
(sha256
(base32 "0lf8xbrsb2ycpqx1vzlb05p48g5sh9zq24a8yh17cw5nia9fjlf5"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; raises ValueError("Invalid IPv6 URL") ; Maybe due to urllib?
#~(list "-k" "not TestConnectParams")))
(native-inputs
(list postgresql
python-cython
python-pytest
python-uvloop
python-distro
python-setuptools))
python-setuptools
python-wheel))
(propagated-inputs
(list python-async-timeout))
(home-page "https://github.com/MagicStack/asyncpg")
(synopsis "Fast PostgreSQL database client library for Python")
(description "@code{asyncpg} is a database interface library designed
@@ -4628,33 +4621,14 @@ managers for automatically closing connections.")
(define-public python-databases
(package
(name "python-databases")
;; 0.9.0 needs sqlalchemy>=2.0.7
;; 0.8.0 needs sqlalchemy>=1.4.42,<1.5
(version "0.8.0")
(version "0.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/encode/databases")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "databases" version))
(sha256
(base32 "183yawn8w561y1ni117rf5zaxm4gqqbcmi9fp52xd5fx2dj8qy3v"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; These need TEST_DATABASE_URLS set.
;; TODO: Use "sqlite:///test.db"? See docs/contributing.md.
#~(list "--ignore=tests/test_databases.py"
"--ignore=tests/test_integration.py"
"--ignore=tests/test_connection_options.py")))
(native-inputs
(list python-httpx
python-psycopg
python-pytest
python-setuptools
python-starlette))
(base32 "0x5nqhzgjqimv2ybjbzy5vv0l23g0n1g5f6fnyahbf1f7nfl2bga"))))
(build-system python-build-system)
(propagated-inputs
(list python-aiosqlite
python-aiopg
@@ -5875,46 +5849,6 @@ with no external dependencies. The targets are small apps that would
be blown away by a SQL-DB or an external database server.")
(license license:expat)))
(define-public sdb
(package
(name "sdb")
(version "2.2.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/sdb.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"15pc807s2nmhnr3mspyz9h47rkxkv1r07x959ir17v5b6zs7wxvw"))))
(build-system meson-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'setenv-cc
(lambda _
(setenv "CC" #$(cc-for-target))))
;; The provided meson.build uses a Makefile in the source root
;; to run the tests, but resolves its directory relative to
;; the build directory, assuming the build is one level under
;; the source tree. This breaks if the build tree is elsewhere.
(add-before 'check 'set-test-workdir-to-source-root
(lambda _
(substitute* "../source/meson.build"
(("workdir: join_paths.*$")
"workdir: meson.project_source_root(),\n")))))))
(native-inputs
(list node
perl
python-minimal-wrapper))
(home-page "https://github.com/radareorg/sdb")
(synopsis "Simple and fast string based key-value database")
(description "SDB is a simple key/value database based on djb's cdb disk
storage that supports JSON and array introspection.")
(license license:expat)))
(define-public sequeler
(package
(name "sequeler")
@@ -6013,7 +5947,7 @@ compatible with SQLite using a graphical user interface.")
(define-public sqlitestudio
(package
(name "sqlitestudio")
(version "3.4.18")
(version "3.4.17")
(source
(origin
(method git-fetch)
@@ -6022,7 +5956,7 @@ compatible with SQLite using a graphical user interface.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1chsm4hxy483hz569ywacysg4dh9ijis060s4rgydkgk49bbb2si"))))
(base32 "1zb1qr88rwkzmrxc0lm99x8h99hpn5c2wfdpvqzs9f9ph8qvasww"))))
(build-system gnu-build-system)
(arguments
(list
+1 -1
View File
@@ -14,7 +14,7 @@
;;; Copyright © 2023 Andy Tai <atai@atai.org>
;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2024 Raven Hallsby <karl@hallsby.com>
;;; Copyright © 2025 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2025 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2025 Robin Templeton <robin@guixotic.coop>
;;;
;;; This file is part of GNU Guix.
+1 -5
View File
@@ -419,11 +419,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
"Grammalecte-fr-v" version ".zip"))
(sha256
(base32 "076jv3ywdgqqzg92bfbagc7ypy08xjq5zn4vgna6j9350fkfqhzn"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;no tests provided with the project
(native-inputs
(list python-setuptools))
(build-system python-build-system)
(home-page "https://grammalecte.net")
(synopsis "French spelling and grammar checker")
(description "Grammalecte is a grammar checker for the French language,
+2 -2
View File
@@ -302,13 +302,13 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
(package
(inherit python-django)
(name "python-django-4")
(version "4.2.27")
(version "4.2.26")
(source
(origin
(method url-fetch)
(uri (pypi-uri "django" version))
(sha256
(base32 "14jvv95nw76fz8v0gzqdn6xwicqdn91glpjcb4vfxld3ykhgnrdq"))))
(base32 "0ylxdpkiwdh8yhqxqzm90fxiagm8v7xijvdm5ha3ypmmpj3y964k"))))
(arguments
(substitute-keyword-arguments (package-arguments python-django)
((#:phases phases)
+5 -11
View File
@@ -45,7 +45,6 @@
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages cmake)
@@ -121,23 +120,18 @@
(version "0.8.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dottedmag/pychm")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "pychm" version))
(sha256
(base32
"0zf2vnrby2m31nvi6p3isspbrjmzjw1vwfx3xl7bkvjs7sli1wbw"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest python-setuptools))
"0wpn9ijlsmrpyiwg3drmgz4dms1i1i347adgqw37bkrh3vn6yq16"))))
(build-system python-build-system)
(inputs
(list chmlib))
(home-page "https://github.com/dottedmag/pychm")
(synopsis "Handle CHM files")
(description "This package provides a Python module for interacting
with Microsoft Compiled HTML (CHM) files.")
with Microsoft Compiled HTML (CHM) files")
(license license:gpl2+)))
(define-public calibre
+52 -101
View File
@@ -207,8 +207,8 @@ are also taken from the original.")
(license license:gpl3+))))
(define-public abc
(let ((commit "ee04349aee0a11d5ce0ad39b0de80e3cb366087e")
(revision "8"))
(let ((commit "c8eac7595d094dd45402133497d645fb74e545f0")
(revision "7"))
(package
(name "abc")
(version (git-version "0.0" revision commit))
@@ -220,7 +220,7 @@ are also taken from the original.")
(file-name (git-file-name name version))
(sha256
(base32
"0y00c9h54dkcnidgyw45czxrkxb7yg5pbw9hhipgjw7qswjh8yb2"))))
"14k2j54fwr2a3nmb637fclzdf22a16jw5fsmhr3cf42yd924yn71"))))
(build-system gnu-build-system)
(inputs
(list readline))
@@ -1812,7 +1812,7 @@ verification.")
(define-public open-logic
(package
(name "open-logic")
(version "4.2.0")
(version "4.1.0")
(source
(origin
(method git-fetch)
@@ -1824,7 +1824,7 @@ verification.")
(file-name (git-file-name name version))
(sha256
(base32
"1792a6i9jq2yawipmk0nr01z092kx3kkav9v5sjf34khk3biav6q"))))
"0azapw9dyr5l5qal7qd409lyq0w6pw2wyjwvxfl44sykpbfxdl2x"))))
(outputs
'("out" "test"))
(properties
@@ -1921,6 +1921,7 @@ reusable and vendor/tool-independent way. It is written following the VHDL
python-setuptools))
(inputs
(list libngspice
ngspice
python-invoke
python-matplotlib
python-ply
@@ -2041,13 +2042,7 @@ files as specified in IEEE 1364-2005.")
(arguments
(list
#:test-flags
#~(list "-k" "not test_toplevel_library") ;requires questasim simulator
#:phases
#~(modify-phases %standard-phases
(add-after 'check 'run-examples
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "make" "-k" "-C" "examples")))))))
#~(list "-k" "not test_toplevel_library")));requires questasim simulator
(native-inputs
(list iverilog
nvc
@@ -2063,96 +2058,53 @@ and Verilog RTL using Python.")
(license license:bsd-3)))
(define-public python-cocotb-bus
(package
(name "python-cocotb-bus")
;; Version from src/cocotb_bus/_version.py
(version "0.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cocotb/cocotb-bus/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0aqk78w5gg23rwf93gidw8yazmidwgmahqcmm3x0qx380mbdxjl4"))))
(build-system pyproject-build-system)
;; TODO: Build documentation from <docs>.
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "make" "-k" "-C" "tests")
(invoke "make" "-k" "-C" "examples")))))))
(native-inputs
(list iverilog
nvc
python-pytest
python-setuptools))
(propagated-inputs
(list python-cocotb
python-scapy))
(home-page "https://github.com/cocotb/cocotb-bus/")
(synopsis "Cocotb reusable tools")
(description "@code{Cocotb-bus} provides a set of utilities, test benches
;; XXX: The latest tagged release (2.6.1) was placed on <2023-07-01>, switch
;; to tag when the fresh release is available.
(let ((commit "f5578a4d451ef6bc1efdd4919de5facdb381b781")
(revision "2"))
(package
(name "python-cocotb-bus")
;; Version from src/cocotb_bus/_version.py
(version (git-version "0.2.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cocotb/cocotb-bus/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "13zdqalzhzrfv1lcn6l71zhi4hns89y093hvz9swkcr2kzwfn08r"))))
(build-system pyproject-build-system)
;; TODO: Build documentation from <docs>.
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "make" "-k" "-C" "tests")
(invoke "make" "-k" "-C" "examples")))))))
(native-inputs
(list iverilog
nvc
python-pytest
python-setuptools))
(propagated-inputs
(list python-cocotb
python-packaging
python-scapy))
(home-page "https://github.com/cocotb/cocotb-bus/")
(synopsis "Cocotb reusable tools")
(description "@code{Cocotb-bus} provides a set of utilities, test benches
and reusable bus interfaces to be used with @code{cocotb}.")
(license license:bsd-3)))
(define-public python-cocotb-test
(package
(name "python-cocotb-test")
(version "0.2.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cocotb_test" version))
(sha256
(base32 "14h62sr2prxd0iy1axq68b9zdfggnms230xgrimywphlr941jrm4"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ;requires examples folder from python-cocotb
(propagated-inputs
(list python-cocotb))
(native-inputs
(list python-pytest python-setuptools))
(home-page "https://pypi.org/project/cocotb-test/")
(synopsis
"Standard python unit testing cababilities for @code{python-cocotb}")
(description "This package provides the look and feel of Python unit
testing to @code{cocotb}, removing the need of manipulating Makefiles.")
(license license:bsd-3)))
(define-public python-cocotbext-axi
(package
(name "python-cocotbext-axi")
(version "0.1.26")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alexforencich/cocotbext-axi/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0xgfvvpff9r7g7fiswv1m0dklyw6c8v2r3qpd6qq3rzvnvrhsrin"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-cocotb python-cocotb-bus))
(native-inputs
(list iverilog python-cocotb-test python-pytest python-setuptools))
(home-page "https://github.com/alexforencich/cocotbext-axi/")
(synopsis
"Extra @acronym{AXI, Advanced Extensible Interface} modules for cocotb")
(description "This package provides an extension to @code{cocotb} in the
form of AXI, AXI lite, and AXI stream modules.")
(license license:expat)))
(license license:bsd-3))))
(define-public python-edalize
(package
(name "python-edalize")
(version "0.6.3")
(version "0.6.1")
(source
(origin
(method git-fetch)
@@ -2161,7 +2113,7 @@ form of AXI, AXI lite, and AXI stream modules.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ml6b17jp4vwjaw16v0agajzksig92q5qmk2psm51ck4q076lm3m"))))
(base32 "03mkzkmi96jkrpgcnawixvy832p3b8li8lrirdjhfp9dmp7d5kg5"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -2347,7 +2299,6 @@ languages.")
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-deps
@@ -2358,8 +2309,8 @@ languages.")
(("rawVer .*")
(string-append "rawVer = \"v"
#$version "\""))))))))
(native-inputs
(list python-setuptools python-gitpython git-minimal/pinned))
(native-inputs (list python-setuptools python-wheel python-gitpython
git-minimal/pinned))
(home-page "https://slaclab.github.io/surf/")
(synopsis "SLAC Ultimate RTL Framework")
(description
+163 -281
View File
@@ -639,29 +639,6 @@ supported algorithm is chosen to ensure interoperability with
Emacs Lisp.")
(license license:gpl3)))
(define-public emacs-perl-doc
(package
(name "emacs-perl-doc")
(version "0.82")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/perl-doc-" version
".tar"))
(sha256
(base32 "1fj13361a9pgmlda8yix0p805r2gwzv1gxf43pq6y79a8hxbm8yn"))))
(build-system emacs-build-system)
(home-page "https://github.com/HaraldJoerg/emacs-perl-doc")
(synopsis "Read Perl documentation from Emacs")
(description
"This package contains a command to read Perl documentation in Emacs: @samp{M-x
perl-doc}. It uses two external commands which come with Perl:
@command{perldoc} to locate the Perl documentation for the Perl modules
installed on your system, and @command{pod2html} to format the documentation
to HTML. This HTML version is then displayed using the Emacs simple HTML
renderer, @code{shr}.")
(license license:gpl3+)))
(define-public emacs-sops
(package
(name "emacs-sops")
@@ -2707,42 +2684,6 @@ third-party predecessor @code{git-tbdiff}), a Git subcommand for comparing two
versions of a topic branch.")
(license license:gpl3+)))
(define-public emacs-magit-delta
;; No releases or tags.
(let ((commit "5fc7dbddcfacfe46d3fd876172ad02a9ab6ac616")
(revision "0"))
(package
(name "emacs-magit-delta")
(version (git-version "0.1" revision commit))
(home-page "https://github.com/dandavison/magit-delta")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1kph5r9dy21pgfknpcdzzqfn6rqig5nvp8ksh16y13k3axlzvkiw"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-delta-executable
(lambda* (#:key inputs #:allow-other-keys)
(emacs-substitute-variables "magit-delta.el"
("magit-delta-delta-executable"
(search-input-file inputs "/bin/delta"))))))))
(propagated-inputs (list emacs-dash emacs-magit emacs-xterm-color))
(inputs (list git-delta))
(synopsis "Integration of @code{delta} with @code{emacs-magit}")
(description "Magit-delta provides a minor mode which configures
@code{emacs-magit} to use @code{delta} for syntax highlighting when displaying
diffs.")
(license license:expat))))
(define-public emacs-malyon
(package
(name "emacs-malyon")
@@ -6532,7 +6473,7 @@ of bibliographic references.")
(define-public emacs-corfu
(package
(name "emacs-corfu")
(version "2.6")
(version "2.5")
(source
(origin
(method git-fetch)
@@ -6541,7 +6482,7 @@ of bibliographic references.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0psy7ximwnansy9pppcw1l2fryr15v2vqgj81q649743py6nd60l"))))
(base32 "14ddl6dby5hlphpcsnwxkvw61hh1cyhilpgsyj17fzw9xwpp4q9w"))))
(build-system emacs-build-system)
(arguments
(list
@@ -6758,7 +6699,7 @@ that the binary uses instead of the actual binary contents.")
(define-public emacs-ellama
(package
(name "emacs-ellama")
(version "1.9.0")
(version "1.8.7")
(source
(origin
(method git-fetch)
@@ -6768,7 +6709,7 @@ that the binary uses instead of the actual binary contents.")
(file-name (git-file-name name version))
(sha256
(base32
"09xzn4daf80w7x6kbj2b8az89viv66sh367kxlxymr7rsznq1a7q"))))
"14f4mwkjsldygvv232d3ivkggizm3ccyrgyd01hymfmv6xazj155"))))
(build-system emacs-build-system)
(arguments
(list
@@ -9062,6 +9003,46 @@ and contract the region by semantic units. Unlike @code{expand-region},
@code{expreg} can leverage Emacs 29's tree-sitter support.")
(license license:gpl3+))))
(define-public emacs-explain-pause-mode
(let ((commit "2356c8c3639cbeeb9751744dbe737267849b4b51")
(revision "0"))
(package
(name "emacs-explain-pause-mode")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lastquestion/explain-pause-mode")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0frnfwqal9mrnrz6q4v7vcai26ahaw81894arff1yjw372pfgv7v"))))
(build-system emacs-build-system)
(native-inputs
(list emacs-buttercup))
(arguments
'(#:phases
(modify-phases %standard-phases
;; This causes the byte-compilation before unit-tests to fail.
(add-after 'unpack 'remove-error-on-warn
(lambda _
(substitute* "Makefile"
(("--eval '\\(setq byte-compile-error-on-warn t\\)'") "")))))
;; Don't run case-tests as they will fail to create sockets because
;; the path is too long
#:test-command '("make" "byte-compile" "unit-tests")
;; Parallel testing will cause the tests to run before
;; byte-compilation is finished
#:parallel-tests? #f))
(home-page "https://github.com/lastquestion/explain-pause-mode")
(synopsis "Top-like interface to determine why Emacs paused")
(description
"This package monitors Emacs function calls and records their execution
time. This information can be reviewed to determine what is causing the user
interface to pause.")
(license license:gpl3+))))
(define-public emacs-filladapt
(package
(name "emacs-filladapt")
@@ -15702,70 +15683,25 @@ in the modeline by default.")
(license license:gpl3+))))
(define-public emacs-test-simple
(let ((commit "da8ddb6fecb820c8e0809ac0892374e755e4efec")) ;version bump
(package
(name "emacs-test-simple")
(version "1.3.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rocky/emacs-test-simple/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"18a9d1n2xc2fqimvsg0nkvizn7y7sb6ap5i9al526cp40l0yky3n"))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-directory-excursion "test"
(invoke "emacs" "--batch"
"-l" "test-basic.el"
"-l" "test-buffer.el"
"-l" "test-fns.el"
"-l" "test-no-clear.el"))))))))
(home-page "https://github.com/rocky/emacs-test-simple")
(synopsis "Simple unit test framework for Emacs Lisp")
(description
"Test Simple is a simple unit test framework for Emacs Lisp. It
(package
(name "emacs-test-simple")
(version "1.3.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/test-simple-"
version ".el"))
(sha256
(base32
"11sgc7187l1a4f1x1f6z58dy7pc7n1999id50rjifkvk901x0qd1"))))
(build-system emacs-build-system)
(home-page "https://github.com/rocky/emacs-test-simple")
(synopsis "Simple unit test framework for Emacs Lisp")
(description
"Test Simple is a simple unit test framework for Emacs Lisp. It
alleviates the need for context macros, enclosing specifications or required
test tags. It supports both interactive and non-interactive use.")
(license license:gpl3+))))
(define-public emacs-load-dir
;; This package is kept inside ELPA; there is no version-specific
;; tag. Version string was taken from source code.
(let ((commit "22bcac73d8808a680fd9b261cd89937d8e5c6a3c")
(revision "0"))
(package
(name "emacs-load-dir")
(version (git-version "0.0.5" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/git/emacs/elpa.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"011m9vnjrxmnpnvf7zjfg3pzkkfsfwc4xf3h5z37f2d4x7ghlw10"))))
(build-system emacs-build-system)
(arguments
(list #:tests? #f)) ; No tests.
(synopsis "Load all Emacs Lisp files in a given directory")
(description
"This package provides a way to load all Emacs Lisp snippets (they
don't have to be libraries) in a directory on startup or when Emacs is already
running. It won't reload snippets unless the user requests it.")
(home-page "https://elpa.gnu.org/packages/load-dir.html")
(license license:gpl3+))))
(license license:gpl3+)))
(define-public emacs-load-relative
(package
@@ -15835,72 +15771,67 @@ text excepting lines containing matches.")
(license license:gpl3+))))
(define-public emacs-realgud
;; Last tagged release is from 2019.
(let ((commit "56a8d82830ad65c9cbb9c694617f078f007281ac")
(revision "0"))
(package
(name "emacs-realgud")
(version (git-version "1.5.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/realgud/realgud/")
(commit commit)))
(sha256
(base32
"1n232jphfgqbb44p806bpgg2wisbmr5iz09js71knk7n5gslrz25"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'delete-cask-install
(lambda _
(delete-file "cask-install.el")))
(add-after 'expand-load-path 'fix-autogen-script
(lambda _
(substitute* "autogen.sh"
(("./configure") "sh configure"))))
(add-after 'fix-autogen-script 'autogen
(lambda _
(setenv "CONFIG_SHELL" "sh")
(invoke "sh" "autogen.sh")))
(add-after 'fix-autogen-script 'set-home
(lambda _
(setenv "HOME" (getenv "TMPDIR"))))
(add-before 'patch-el-files 'patch-more-el-files
(lambda _
;; Misc failures
(for-each delete-file
(list "test/test-pdb.el"
"test/test-shortkey.el"
"test/test-track.el"
"test/test-trepan2.el"
"test/test-lang.el"))
;; XXX: Some tests/assumptions in this file are
;; not valid on Emacs@30.
(delete-file "test/test-regexp-perldb.el")
;; FIXME: `patch-el-files' crashes on this file with error:
;; unable to locate "bashdb".
(delete-file "./test/test-regexp-bashdb.el"))))
#:include #~(cons* ".*\\.el$" %default-include)))
(native-inputs
(list autoconf automake emacs-test-simple perl python-minimal-wrapper
ruby))
(propagated-inputs
(list emacs-load-relative emacs-loc-changes))
(home-page "https://github.com/realgud/realgud/")
(synopsis
"Modular front-end for interacting with external debuggers")
(description
"RealGUD is a modular, extensible GNU Emacs front-end for interacting
(package
(name "emacs-realgud")
(version "1.5.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/realgud/realgud/")
(commit version)))
(sha256
(base32
"1d3s23jk0i34wpyxfajydgyyvsxnpbqrfl0mgydsq7zw2c75ylnq"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-realgud:run-process-void-error
;; See: https://github.com/realgud/realgud/issues/269.
(lambda _
(substitute* '("realgud/debugger/gdb/gdb.el"
"realgud/debugger/gub/gub.el")
(("^\\(require 'load-relative\\).*" anchor)
(string-append anchor
"(require-relative-list \
'(\"../../common/run\") \"realgud:\")\n")))))
(add-after 'expand-load-path 'fix-autogen-script
(lambda _
(substitute* "autogen.sh"
(("./configure") "sh configure"))))
(add-after 'fix-autogen-script 'autogen
(lambda _
(setenv "CONFIG_SHELL" "sh")
(invoke "sh" "autogen.sh")))
(add-after 'fix-autogen-script 'set-home
(lambda _
(setenv "HOME" (getenv "TMPDIR"))))
(add-before 'patch-el-files 'patch-more-el-files
(lambda _
;; XXX: Some tests/assumptions in this file are
;; not valid on Emacs@30.
(delete-file "test/test-regexp-perldb.el")
;; FIXME: `patch-el-files' crashes on this file with error:
;; unable to locate "bashdb".
(delete-file "./test/test-regexp-bashdb.el"))))
#:include #~(cons* ".*\\.el$" %default-include)))
(native-inputs
(list autoconf automake emacs-test-simple))
(propagated-inputs
(list emacs-load-relative emacs-loc-changes))
(home-page "https://github.com/realgud/realgud/")
(synopsis
"Modular front-end for interacting with external debuggers")
(description
"RealGUD is a modular, extensible GNU Emacs front-end for interacting
with external debuggers. It integrates various debuggers such as gdb, pdb,
ipdb, jdb, lldb, bashdb, zshdb, etc. and allows visually steping through code in the
sources. Unlike GUD, it also supports running multiple debug sessions in
parallel.")
(license license:gpl3+))))
(license license:gpl3+)))
(define-public emacs-rmsbolt
;; There is no release tag. Version is extracted from main file.
@@ -16764,39 +16695,6 @@ circumstances, and leaves the keys untouched outside of those situations,
allowing unprefixed keys to insert their respective characters as expected.")
(license license:gpl3+))))
(define-public emacs-claude-code
;; There is no proper release/tag.
(let ((commit "becece683bcf60f7b150a87a30ef14885dcf8ce3")
(revision "0"))
(package
(name "emacs-claude-code")
(version (git-version "0.4.5" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stevemolitor/claude-code.el")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0z77nxazkw08pmqam2z27a56s9nyp72a1vvc0ba3vgcwfkjx0v81"))))
(build-system emacs-build-system)
(arguments
(list
#:include #~(cons "^bin\\/" %default-include)
#:tests? #f)) ; There are no tests.
(propagated-inputs
(list emacs-transient
emacs-inheritenv))
(home-page "https://github.com/stevemolitor/claude-code.el")
(synopsis "Claude Code Emacs integration")
(description
"This package provides convenient ways to interact with Claude from
within Emacs, including sending commands, toggling the Claude window, and
accessing slash commands.")
(license license:asl2.0))))
(define-public emacs-claude-code-ide
;; Upstream does not make versioned releases.
(let ((commit "c5e2de1a343bc6c0444789e0a99ad822cd56cfbe"))
@@ -18971,27 +18869,6 @@ determines structure, this mode provides indentation and indentation command
behavior very similar to that of Python mode.")
(license license:gpl3+)))
(define-public emacs-yaml-pro
(package
(name "emacs-yaml-pro")
(version "1.3.3")
(home-page "https://github.com/zkry/yaml-pro")
(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 "1sipz42gb8pl8w9xci5m0kdz5dlinxj409hvyz173z3gzg7f4qr1"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-yaml))
(synopsis "Tools for editing YAML leveraging tree-sitter/parser")
(description "Leverages tree-sitter and provides fast and accurate
YAML parsing.")
(license license:gpl3+)))
(define-public emacs-yari
(let ((revision "0")
(commit "de61285ceb21f56c29f4be12e2e65b2aa2bccf56"))
@@ -19487,7 +19364,7 @@ implementation.")
(define-public emacs-cider
(package
(name "emacs-cider")
(version "1.20.0")
(version "1.19.0")
(source
(origin
(method git-fetch)
@@ -19496,7 +19373,7 @@ implementation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "08hd281ybskkhir170hr3xpga1b1hwpph7rd0fk6fvm0ngdgxazs"))))
(base32 "0limw27arkc8bn0zzj0jzhdsax78qm1lz5jfgy8zgf971llhf5qc"))))
(build-system emacs-build-system)
(arguments
(list
@@ -26888,9 +26765,8 @@ the pipeline, featuring the support for running @code{emacsclient}.")
(license license:gpl3+)))
(define-public emacs-jupyter
;; Last release from 3/2024.
(let ((commit "de89cbeca890db51ba84aee956658f89aaa0b642")
(revision "3"))
(let ((commit "db8a9e233a010a61063f34220821ec76157a2d84")
(revision "2"))
(package
(name "emacs-jupyter")
(version (git-version "1.0" revision commit))
@@ -26898,11 +26774,11 @@ the pipeline, featuring the support for running @code{emacsclient}.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-jupyter/jupyter")
(url "https://github.com/nnicandro/emacs-jupyter")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "09mcnl4piynzynjad7zy35rp6qn35xh1zrfc7kyws8qmii3561db"))))
(base32 "0gjxi84d95sx5fw8q2a8szfhq6kb4xzwq0xr9a3pirkiga9hxymz"))))
(build-system emacs-build-system)
(arguments (list #:tests? #f)) ;tests require a working jupyter
(propagated-inputs
@@ -26911,7 +26787,7 @@ the pipeline, featuring the support for running @code{emacsclient}.")
emacs-simple-httpd
emacs-websocket
emacs-zmq))
(home-page "https://github.com/emacs-jupyter/jupyter")
(home-page "https://github.com/nnicandro/emacs-jupyter")
(synopsis "Emacs interface to communicate with Jupyter kernels")
(description "This package provides an Emacs interface to communicate with
Jupyter kernels. It provides REPL and Org mode source code block frontends to
@@ -34145,41 +34021,47 @@ and comments.")
(license license:gpl3+))))
(define-public emacs-yeetube
(package
(name "emacs-yeetube")
(version "2.1.10")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.thanosapollo.org/yeetube")
(commit version)))
(sha256
(base32
"0krd2x0vyysqsgb7r3ca2qc7cl1s929gm52j5rihnqw0yfjpwgpv"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f ; no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'locate-binaries
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (find-files "." "\\.el$")
(("\\(executable-find \"(mpv|torsocks|yt-dlp)\"\\)" all program)
(format #f "~s" (search-input-file inputs
(string-append "/bin/" program))))))))))
(inputs (list mpv torsocks yt-dlp))
(propagated-inputs (list emacs-compat))
(home-page "https://thanosapollo.org/projects/yeetube/")
(synopsis "Youtube front-end for Emacs")
(description
"This package provides the ability to scrape YouTube, with the results
(let ((commit "b8877e61b58dfabcc30044680d0975b3c6b12052")) ;version bump
(package
(name "emacs-yeetube")
(version "2.1.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.thanosapollo.org/yeetube")
(commit commit)))
(sha256
(base32
"1gii2y4cvw795039kdky1mdmgpfrfm4s48ld7z4gv7bvb0fs9hpq"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'locate-binaries
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (find-files "." "\\.el$")
(("\\(executable-find \"mpv\"\\)")
(format #f "~s"
(search-input-file inputs "/bin/mpv")))
(("\\(executable-find \"torsocks\"\\)")
(format #f "~s"
(search-input-file inputs "/bin/torsocks")))
(("\\(executable-find \"yt-dlp\"\\)")
(format #f "~s"
(search-input-file inputs "/bin/yt-dlp")))))))))
(inputs (list mpv torsocks yt-dlp))
(propagated-inputs (list emacs-compat))
(home-page "https://thanosapollo.org/projects/yeetube/")
(synopsis "Youtube front-end for Emacs")
(description
"This package provides the ability to scrape YouTube, with the results
displayed in a tabulated list format. The videos can be opened with a user-defined
video player (by default @command{mpv}) or downloaded using @command{yt-dlp}.
This package also includes a minimal @code{yt-dlp} wrapper.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public emacs-org-web-tools
(package
+22 -23
View File
@@ -1239,7 +1239,7 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
(define-public mupen64plus-core
(package
(name "mupen64plus-core")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1248,7 +1248,7 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1xf15b6c3i0vv92b420a92pfvfaxhji56ivin8pn5r7fajkqyfb7"))))
(base32 "1iav8r3f0r44sq9pz4zjqrdzyspk412c117ywxz02qpjkhkf91a3"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config nasm which))
@@ -1258,7 +1258,6 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
libpng
mesa
sdl2
vulkan-loader
zlib))
(arguments
'(#:phases
@@ -1289,7 +1288,7 @@ core library.")
(define-public mupen64plus-audio-sdl
(package
(name "mupen64plus-audio-sdl")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1298,7 +1297,7 @@ core library.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "08sp70kjjbqg8mhxdm6yphfwn6bnf2i7yvzrzygnnn2cwd0qw42j"))))
(base32 "0j78xk78fj7lhi6jk6npr7wm9ix7qyr5cbaaqsmk6pqw6gfx81kz"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1333,7 +1332,7 @@ SDL audio plugin.")
(define-public mupen64plus-input-sdl
(package
(name "mupen64plus-input-sdl")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1342,7 +1341,7 @@ SDL audio plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1x07bc3pcfy11k1kp7q0bwz1z9wppxyi3f5pr72wsk1s8szzvck0"))))
(base32 "1nnniyiy0wpg4m9918va31xxnz8r5qvj0z08vyq2is0b47ld3kq0"))))
(build-system gnu-build-system)
(native-inputs
(list which))
@@ -1377,7 +1376,7 @@ SDL input plugin.")
(define-public mupen64plus-rsp-hle
(package
(name "mupen64plus-rsp-hle")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1386,7 +1385,7 @@ SDL input plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1wdnf9y5b61hxkv7jkz67m1bcqyxykzc24bg9k77ny7jc2q42v93"))))
(base32 "0sblabl3dp1jy9izbwyhx90690xdj96yfmwi47kpka8axzj93naq"))))
(build-system gnu-build-system)
(inputs
(list mupen64plus-core))
@@ -1419,7 +1418,7 @@ high-level emulation (HLE) RSP processor plugin.")
(define-public mupen64plus-rsp-z64
(package
(name "mupen64plus-rsp-z64")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1428,7 +1427,7 @@ high-level emulation (HLE) RSP processor plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0hpd402a00kmqsq45hrmgjfd1nchkjgjj5hc3fzb4fbvac5pacsz"))))
(base32 "02w7c6b7fc6q5rrvawxv48xp64crfs5jbs06f2fqqj4smysyjfcc"))))
(build-system gnu-build-system)
(inputs
(list mupen64plus-core))
@@ -1461,7 +1460,7 @@ Z64 RSP processor plugin.")
(define-public mupen64plus-video-arachnoid
(package
(name "mupen64plus-video-arachnoid")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1470,7 +1469,7 @@ Z64 RSP processor plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0dvjn3dnpsdzgjpvn4la05bcan2hs2hvzhqhfq43z1bqyxw7qb2d"))))
(base32 "1bkzbmg53qiwvza9h45d76rbyn0isbb31cfp5qqza0fzmgjxhv1d"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1505,7 +1504,7 @@ Arachnoid video plugin.")
(define-public mupen64plus-video-glide64
(package
(name "mupen64plus-video-glide64")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1514,7 +1513,7 @@ Arachnoid video plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "15hlbamw2iw5r7l2234a986gikgmkypdzhvl3r7px0rs0pi816pl"))))
(base32 "0jscvr2imm9wj9jsgsp5815pv27f97w8g19ix0n39y9yy851qvrg"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1548,7 +1547,7 @@ Glide64 video plugin.")
(define-public mupen64plus-video-glide64mk2
(package
(name "mupen64plus-video-glide64mk2")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1557,7 +1556,7 @@ Glide64 video plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1w0cp448i3rnr8c6rq8ivqvjmfkcawpr4b798xqhryhbxnlr3s35"))))
(base32 "1hr0mv6y7v72101iff3zf6rd0wpqah936234m3hcb4cgna6zj9xy"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1597,7 +1596,7 @@ Glide64MK2 video plugin.")
(define-public mupen64plus-video-rice
(package
(name "mupen64plus-video-rice")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1606,7 +1605,7 @@ Glide64MK2 video plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "16bzcjawyzy3wmxaq1chjfnljspm1sgzv7swylr9lkf3kpaijcw2"))))
(base32 "1vn24g7ahyv70jd06f5sq0j4bjs4axl2c0kfz4qdkpqsamsgxng8"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1641,7 +1640,7 @@ Rice Video plugin.")
(define-public mupen64plus-video-z64
(package
(name "mupen64plus-video-z64")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1650,7 +1649,7 @@ Rice Video plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "17h5xh5ms7xv53wcsmagapg08qzybmc1qmch5h6i7dirp5hpa411"))))
(base32 "1i8dxa0lhcsm5ss1bf74dqnzaa2bw5naj6f56ixw2qjvybrnsmk2"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1692,7 +1691,7 @@ Z64 video plugin.")
(define-public mupen64plus-ui-console
(package
(name "mupen64plus-ui-console")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1701,7 +1700,7 @@ Z64 video plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0lir5clzqp2al7dcw9p6xg0kpz5wrgb4s3ar56siqg8nafslrqp3"))
(base32 "1dyrqdfs2jkalfd86bqidgd9y1hy03qgrgwk46d3xf3kyfmaa1cq"))
(patches (search-patches "mupen64plus-ui-console-notice.patch"))))
(build-system gnu-build-system)
(native-inputs
+43 -131
View File
@@ -40,13 +40,12 @@
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com>
;;; Copyright © 2024 Juliana Sims <juli@incana.org>
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2025 Frederick Muriuki Muriithi <fredmanglis@gmail.com>
;;; Copyright © 2025 nomike Postmann <nomike@nomike.com>
;;; Copyright © 2025 Matthew Elwin <elwin@northwestern.edu>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
;;; Copyright © 2025 bdunahu <bdunahu@operationnull.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -130,7 +129,6 @@
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages javascript)
#:use-module (gnu packages jupyter)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages libcanberra)
@@ -147,7 +145,6 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages networking)
#:use-module (gnu packages node)
#:use-module (gnu packages openkinect)
#:use-module (gnu packages parallel)
#:use-module (gnu packages pcre)
@@ -1034,62 +1031,6 @@ user-level language.")
;; Mark as tunable to take advantage of SIMD code in Eigen.
(properties '((tunable? . #t))))))
(define-public iaito
;; Release versions are currently out of sync with radare2,
;; use most recent commit.
(let ((commit "27cdc1793c2f5bf71c6f2ef5116f0bfb91edd730")
(revision "1"))
(package
(name "iaito")
(version (git-version "6.0.4" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/iaito")
(commit commit)))
(sha256
(base32
"0bwjxv73nsd06al2a40r5gvm99kzlq7f7q7ial9189awlnsbnwlw"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
;; The build system assumes the sdb lib is installed alongside
;; radare2. We already patch the radare2 package to use a
;; system-installed sdb rather than install its own, so we must
;; propagate those changes here.
(add-before 'configure 'add-sdb-libs
(lambda _
(substitute* '("./src/lib_radare2.pri")
(("pkg-config --libs r_core" all)
(string-append all " sdb")))))
(replace 'configure
(lambda _
;; Does not recognize "--enable-fast-install".
(invoke "./configure"
(string-append "--prefix=" #$output)))))))
(inputs
(list capstone
libuv
libzip
lz4
openssl
qtbase
qtsvg
radare2
sdb))
(native-inputs
(list pkg-config python-minimal-wrapper))
(home-page "https://github.com/radareorg/iaito")
(synopsis "Official radare2 GUI")
(description "Iaito is the official graphical interface for radare2, a
libre reverse engineering framework. Iaito focuses on simplicity, parity with
commands, features, and keybindings.")
(license license:gpl3+))))
(define-public inspekt3d
(let ((commit "703f52ccbfedad2bf5240bf8183d1b573c9d54ef")
(revision "0"))
@@ -2154,7 +2095,7 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
(define-public radare2
(package
(name "radare2")
(version "6.0.7")
(version "5.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2162,59 +2103,29 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
(commit version)))
(sha256
(base32
"1nkqa8mkmvmbc3812gf5ayfmzyf0krjgc1695rpkphw3fsl76rgx"))
(file-name (git-file-name name version))
(patches
(search-patches "radare2-fix-meson-build-to-use-sys-sdb.patch"
"radare2-fix-meson-build-to-use-sys-qjs.patch"))))
(build-system meson-build-system)
"0hv9x31iabasj12g8f04incr1rbcdkxi3xnqn3ggp8gl4h6pf2f3"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list "-Duse_libuv=true"
"-Duse_ssl=true"
"-Duse_sys_capstone=true"
"-Duse_sys_lz4=true"
"-Duse_sys_magic=true"
"-Duse_sys_openssl=true"
"-Duse_sys_xxhash=true"
"-Duse_sys_zip=true"
"-Duse_sys_zlib=true")
#:tests? #f ; tests require git and network access
#:phases
#~(modify-phases %standard-phases
;; CHECK LATER: This patches an incorrect relative include.
(add-before 'build 'fix-relative-include
(lambda _
(substitute* "../source/libr/arch/p/java/plugin.c"
(("include \".." all)
(string-append all "/..")))))
;; These tests require sample binaries from an external repository.
(add-before 'check 'skip-tests
(lambda _
(substitute* '("../source/test/unit/test_bin.c"
"../source/test/unit/test_dwarf.c"
"../source/test/unit/test_dwarf_info.c"
"../source/test/unit/test_dwarf_integration.c"
"../source/test/unit/test_pdb.c"
;; TODO: add r2pipe and enable this test.
"../source/test/unit/test_r2pipe.c")
(("(^| )main *\\(.*" all)
(string-append all " exit (77);\n"))))))))
(add-before 'configure 'mklibdir
(lambda _ (mkdir-p (string-append #$output "/lib")))))
#:configure-flags
#~(list "--with-openssl"
"--with-rpath"
"--with-syscapstone"
"--with-sysmagic"
"--with-syszip"
"--with-sysxxhash")
#:make-flags #~(list (string-append "CC=" #$(cc-for-target)))))
;; TODO: Add gmp and libzip and make the build system actually find them.
(inputs
(list capstone
gmp
libuv
libzip
lz4
openssl
quickjs-ng
sdb
zlib))
(list capstone libuv openssl zip))
(native-inputs
(list node
perl
pkg-config
python-minimal-wrapper))
(list pkg-config))
(propagated-inputs
;; In the Libs: section of r_hash.pc.
(list xxhash))
@@ -5360,36 +5271,37 @@ forward kinematics solvers.")
(name "python-orocos-kinematics-dynamics")
(source
(origin
(inherit (package-source orocos-kinematics-dynamics))))
(inherit (package-source orocos-kinematics-dynamics))
(snippet '(begin
(substitute* "python_orocos_kdl/CMakeLists.txt"
;; Use the system pybind11 instead of the bundled version
(("add_subdirectory\\(pybind11\\)")
"find_package(pybind11)")
;; change debian-specific python install directory
(("dist-packages")
"site-packages"))
;; ROS 1 uses some dynamic attributes, which are
;; disabled by default in pybind11. No harm in enabling them
;; See "https://github.com/ros2/geometry2/issues/624
;; and https://pybind11.readthedocs.io/en/stable/classes.html
;; #dynamic-attributes <Both accessed June 1 2025>
(substitute* "python_orocos_kdl/PyKDL/frames.cpp"
(("m, \"Vector\"")
"m, \"Vector\", py::dynamic_attr()")
(("m, \"Frame\"")
"m, \"Frame\", py::dynamic_attr()")
(("m, \"Twist\"")
"m, \"Twist\", py::dynamic_attr()")
(("m, \"Wrench\"")
"m, \"Wrench\", py::dynamic_attr()"))))))
(native-inputs (list python pybind11 python-psutil))
(inputs (list orocos-kinematics-dynamics))
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix
(add-after 'unpack 'chdir
(lambda _
(substitute* "python_orocos_kdl/CMakeLists.txt"
;; Use the system pybind11 instead of the bundled version
(("add_subdirectory\\(pybind11\\)")
"find_package(pybind11)")
;; change debian-specific python install directory
(("dist-packages")
"site-packages"))
;; ROS 1 uses some dynamic attributes, which are
;; disabled by default in pybind11. No harm in enabling them
;; See "https://github.com/ros2/geometry2/issues/624
;; and https://pybind11.readthedocs.io/en/stable/classes.html
;; #dynamic-attributes <Both accessed June 1 2025>
(substitute* "python_orocos_kdl/PyKDL/frames.cpp"
(("m, \"Vector\"")
"m, \"Vector\", py::dynamic_attr()")
(("m, \"Frame\"")
"m, \"Frame\", py::dynamic_attr()")
(("m, \"Twist\"")
"m, \"Twist\", py::dynamic_attr()")
(("m, \"Wrench\"")
"m, \"Wrench\", py::dynamic_attr()"))
(chdir "python_orocos_kdl")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
+2 -2
View File
@@ -185,7 +185,7 @@ testing InfiniBand networks.")
(define-public ucx
(package
(name "ucx")
(version "1.19.0")
(version "1.17.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -195,7 +195,7 @@ testing InfiniBand networks.")
(patches (search-patches "ucx-tcp-iface-ioctl.patch"))
(sha256
(base32
"12j9200iyg6d0yr84r25hcpq8qqzfaa08klbhvgrqpflpfcljz4z"))
"09182kx60kq7iyjyz3mpcrgp1mm0lnpc0f4hd4hlw5yyabkxrpa1"))
(snippet
;; As seen in commit b0a275a5492125a13020cd095fe9934e0b5e7c6a.
#~(begin (use-modules (guix build utils))
+2 -2
View File
@@ -952,7 +952,7 @@ minimal bcachefs-tools package. It is meant to be used in initrds.")
(define-public bcachefs-linux-module
(package
(name "bcachefs-linux-module")
(version "1.33.0")
(version "1.32.1")
(source
(origin
(method git-fetch)
@@ -961,7 +961,7 @@ minimal bcachefs-tools package. It is meant to be used in initrds.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05lqw3mxi73nm1q4qv43p9hyiwi2hdx4nc9fzm7rxwip6ys1kqkd"))))
(base32 "0m85s00i1xfb9lr73j41f80akkhcijh9m0b602r76b15a0l5v3a9"))))
(build-system linux-module-build-system)
(arguments
(list
+6 -17
View File
@@ -1166,19 +1166,14 @@ settings.")
(define-public python-mnemonic
(package
(name "python-mnemonic")
(version "0.21")
(version "0.20")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/trezor/python-mnemonic")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "mnemonic" version))
(sha256
(base32 "1r8cdlgqpmj71ap3kyhc2nq8dn29gmj7v8dlq8kgcy91jky94n8g"))))
(build-system pyproject-build-system)
(native-inputs
(list python-poetry-core python-pytest))
(base32 "1xi5qvj2rvi5almf9c89rl7hz1z4ms04d53pg818i4vpkmivavvw"))))
(build-system python-build-system)
(propagated-inputs
(list python-pbkdf2))
(home-page "https://github.com/trezor/python-mnemonic")
@@ -1486,18 +1481,12 @@ the KeepKey Hardware Wallet.")
(version "0.9.0")
(source
(origin
;; TODO: Figure out how to build from
;; https://github.com/romanz/trezor-agent
(method url-fetch)
(uri (pypi-uri "keepkey_agent" version))
(sha256
(base32
"03779gvlx70i0nnry98i4pl1d92604ix5x6jgdfkrdgzqbh5vj27"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;no tests in PyPI package
(native-inputs
(list python-setuptools))
(build-system python-build-system)
(inputs
(list python-keepkey python-packaging python-trezor-agent))
(home-page "https://github.com/romanz/trezor-agent")
+1 -53
View File
@@ -51,7 +51,7 @@
;;; Copyright © 2021 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2022 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2022 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2023 Ahmad Draidi <a.r.draidi@redscript.org>
;;; Copyright © 2023 Arnaud Lechevallier <arnaud.lechevallier@free.fr>
@@ -69,7 +69,6 @@
;;; Copyright © 2025 Liam Hupfer <liam@hpfr.net>
;;; Copyright © 2025 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2025 Lee Thompson <lee.p.thomp@gmail.com>
;;; Copyright © 2025 Alexandre Hannud Abdo <abdo@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5032,54 +5031,3 @@ is necessary, such as when composing tabular data using text.")
technical and idiosyncratic feelperfect for headers and pull-quotes. Made to
work well together with Mona Sans.")
(license license:silofl1.1)))
(define-public font-peppercarrot
(package
(name "font-peppercarrot")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://framagit.org/peppercarrot/fonts")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1yw5wjd6rydgllf0c3g5nh9zqbnhc1wbbhsx36c08isr28sy59mm"))))
(build-system font-build-system)
(arguments
(list
#:license-file-regexp ".*\\.(COPYRIGHT|LICENSE)$"
#:phases
#~(modify-phases %standard-phases
;; License files are spread in subdirectories, gotta catch 'em all!
(replace 'install-license-files
(let ((install-license-files (assoc-ref %standard-phases
'install-license-files))
(package-directories (find-files "."
(lambda (file stat)
(eq? 'directory
(stat:type stat)))
#:directories? #t)))
(lambda args
(for-each (lambda (directory)
(with-directory-excursion directory
(apply install-license-files args)))
package-directories)))))))
(home-page "https://www.peppercarrot.com/en/fonts/")
(synopsis "Fonts used by the comic strip Pepper&Carrot")
(description
"This package provides a collection of open fonts compiled and adapted by David
Revoy and collaborators for use in the comic strip Pepper&Carrot.")
;; We list all licenses used for any of the many fonts in the collection
(license (list license:silofl1.1
license:silofl1.0
(license:non-copyleft
"http://jikasei.me/info/license.html#M_FONT_LICENSE_1")
license:gpl3
license:gpl3+
license:gpl2
license:gpl2+
license:asl2.0
license:cc-by3.0))))
+18 -75
View File
@@ -2820,57 +2820,35 @@ to the C library @code{uchardet} to increase performance.")
(version "2.5.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/coldfix/udiskie")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "udiskie" version))
(sha256
(base32 "0ccp55fgmcc4fsd7jsqla6k1m6v8zkn03i4axw446zh2nzxpanhl"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-backend #~'custom
#:test-flags #~(list "test/test_match.py")
#:phases
#~(modify-phases %standard-phases
(add-after 'check 'fix-entry-points
;; FIXME: See: <https://codeberg.org/guix/guix/issues/4509>.
(lambda _
(substitute* (string-append #$output "/bin/.udiskie-real")
(("from udiskie.cli import Daemon.main")
"from udiskie.cli import Daemon"))
(substitute* (string-append #$output "/bin/.udiskie-info-real")
(("from udiskie.cli import Info.main")
"from udiskie.cli import Info"))
(substitute* (string-append #$output "/bin/.udiskie-mount-real")
(("from udiskie.cli import Mount.main")
"from udiskie.cli import Mount"))
(substitute* (string-append #$output "/bin/.udiskie-umount-real")
(("from udiskie.cli import Umount.main")
"from udiskie.cli import Umount"))))
(add-after 'wrap 'wrap-gi-typelib
(lambda _
(wrap-program (string-append #$output "/bin/udiskie")
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")))))))))
(base32
"0c6i7i7yb0lqrfxjrh63y6amw2npkp1n3dxdfjf9zh4pgbnaivd3"))))
(build-system python-build-system)
(native-inputs
(list asciidoc
gettext-minimal
gobject-introspection
python-setuptools))
gobject-introspection))
(inputs
(list bash-minimal
gobject-introspection
gtk+
libappindicator
libnotify
python-docopt
python-keyutils
python-pygobject
python-pyxdg
python-pyyaml
udisks))
(propagated-inputs
(list python-docopt python-pygobject python-keyutils python-pyxdg
python-pyyaml))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-gi-typelib
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(wrap-program (string-append out "/bin/udiskie")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))))))
(home-page "https://github.com/coldfix/udiskie")
(synopsis "Automounter for removable media")
(description
@@ -3251,41 +3229,6 @@ The portal interfaces include APIs for file access, opening URIs, printing
and others.")
(license license:lgpl2.1+)))
(define-public xdg-desktop-portal-next
(let ((base xdg-desktop-portal))
(package
(inherit base)
(version "1.20.3")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/flatpak/xdg-desktop-portal/releases/download/"
version "/xdg-desktop-portal-" version ".tar.xz"))
(sha256
(base32
"1p4yvbhqr8yf231gm69vdz3h7na8m6x1mhiw3bmhg4gm6x4idysb"))
(patches (search-patches
"xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch"))
(modules '((guix build utils)))
;; Disable failing tests.
(snippet #~(substitute* "tests/meson.build"
((".*test_dynamiclauncher.*") "")
((".*test_notification.*") "")
((".*test_usb.*") "")))))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:configure-flags flags #~'())
;; Requires python-furo, which isn't packaged for guix, and depends
;; on node.js.
#~(append '("-Ddocumentation=disabled")
#$flags))))
(inputs (modify-inputs (package-inputs base)
(append gstreamer
gst-plugins-base
gst-plugins-good
umockdev))))))
(define-public xdg-desktop-portal-gtk
(package
(name "xdg-desktop-portal-gtk")
+2 -8
View File
@@ -510,19 +510,13 @@ PCM data.")
(define-public nml
(package
(name "nml")
(version "0.8.1")
(version "0.7.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "nml" version))
(sha256
(base32 "0krs3jac9jc0zqr59ivfl5vibqc15b4yhww73j3c01dla1shvlcj"))))
(arguments
(list #:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda _
(invoke "make" "-C" "regression"))))))
(base32 "0if99hk9dsiw33iabkrbrpwybv8vl3hpim1cf07sklkshigwxryr"))))
(build-system python-build-system)
(propagated-inputs
(list python-pillow python-ply))
+1 -1
View File
@@ -3156,7 +3156,7 @@ exec -a ~s ~s \"$@\"
(string-append lib "/main.py"))))
(chmod bin #o555)))))))
(native-inputs (list unzip python-setuptools))
(inputs (list python python-pygame))
(inputs (list python python-pygame python-tmx))
(home-page "https://rogueboxadventures.tuxfamily.org")
(synopsis "Classical roguelike/sandbox game")
(description
+1 -1
View File
@@ -16,7 +16,7 @@
;;; Copyright © 2024, 2025 Zheng Junjie <z572@z572.online>
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Leo Nikkilä <hello@lnikki.la>
;;;
+1 -1
View File
@@ -28,7 +28,7 @@
;;; Copyright © 2025 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2025 Lars Bilke <lars.bilke@ufz.de>
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2025 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2025 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
+1 -1
View File
@@ -266,7 +266,7 @@ generate a GL/GLES/EGL/GLX/WGL loader tailored for specific requirements.")
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "xvfb-run" "utility/test.sh"))))))))
(native-inputs (list python-setuptools python-wheel xvfb-run-for-tests))
(native-inputs (list python-setuptools python-wheel xvfb-run))
(propagated-inputs (list python-jinja2))))
(define-public s2tc
+67 -87
View File
@@ -9,7 +9,6 @@
;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com>
;;; Copyright © 2020 Christopher Lam <christopher.lck@gmail.com>
;;; Copyright © 2023, 2024 gemmaro <gemmaro.dev@gmail.com>
;;; Copyright © 2025 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -58,7 +57,6 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix utils))
@@ -259,95 +257,77 @@ to be read using the GNOME Yelp program.")
(license (list license:fdl1.1+ license:gpl3+)))))
(define-public gwenhywfar
(package
(name "gwenhywfar")
(version "5.14.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.aquamaniac.de/git/gwenhywfar")
(commit version)))
(sha256
(base32
"0p0fzi69jsr3flpr10s8gbl9i265x5j5k1q2i5yva2vsdx2j2878"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list "--disable-network-checks"
;; GTK+3, GTK+2, Qt4, Qt5 and Qt6 are supported.
"--with-guis=gtk3"
"--enable-system-certs"
"--with-libxml2-code=yes"
"--disable-binreloc")
#:phases
#~(modify-phases %standard-phases
(add-before 'bootstrap 'make-cvs
(lambda _
(invoke "make" "-fMakefile.cvs"))))))
(inputs
(list libgcrypt gnutls openssl gtk+ libxml2))
(native-inputs
(list autoconf automake gettext-minimal libtool pkg-config))
(home-page "https://www.aquamaniac.de")
(synopsis "Utility library for networking and security applications")
(description
"This package provides a helper library for networking and security
(let ((attachid "529")) ;; file attachid changes for each version
(package
(name "gwenhywfar")
(version "5.12.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.aquamaniac.de/rdm/attachments/"
"download/" attachid "/gwenhywfar-" version ".tar.gz"))
(sha256
(base32 "09nnjn1i8nzlkk62wai2lbnvqap8w6y98fh520b1y883fx2g3m8a"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list "--disable-network-checks"
;; GTK+3, GTK+2 and QT4 are supported.
"--with-guis=gtk3"
"--enable-system-certs"
"--with-libxml2-code=yes"
"--disable-binreloc")))
(inputs
(list libgcrypt gnutls openssl gtk+ libxml2))
(native-inputs
(list pkg-config))
(home-page "https://www.aquamaniac.de")
(synopsis "Utility library for networking and security applications")
(description
"This package provides a helper library for networking and security
applications and libraries. It is used by AqBanking.")
;; The license includes an explicit additional permission to compile and
;; distribute this library with the OpenSSL Toolkit.
(license license:lgpl2.1+)))
;; The license includes an explicit additional permission to compile and
;; distribute this library with the OpenSSL Toolkit.
(license license:lgpl2.1+))))
(define-public aqbanking
(package
(name "aqbanking")
(version "6.8.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.aquamaniac.de/git/aqbanking")
(commit version)))
(sha256
(base32
"0ys5r8lbr1nvd14fr82rs6c16iqfpd1hdz5l9s8l9biy2sq8jh0z"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
;; Parallel building fails because aqhbci is required before it's
;; built.
#:parallel-build? #f
#:phases
#~(modify-phases %standard-phases
(add-before 'bootstrap 'make-cvs
(lambda _
(invoke "make" "-fMakefile.cvs")))
;; Embed the package version instead of the build date
(add-after 'make-cvs 'use-version-instead-of-date
(lambda _
(substitute*
"src/libs/plugins/backends/aqhbci/header.xml.in"
(("@DATETIME@") #$version))))
(add-before 'build 'build-types
(lambda _
(invoke "make" "typedefs")
(invoke "make" "typefiles"))))))
(propagated-inputs
(list gwenhywfar))
(inputs
(list gmp xmlsec gnutls))
(native-inputs
(list autoconf automake gettext-minimal libltdl libtool pkg-config))
(home-page "https://www.aquamaniac.de")
(synopsis "Interface for online banking tasks")
(description
"AqBanking is a modular and generic interface to online banking tasks,
(let ((attachid "531")) ;; file attachid changes for each version
(package
(name "aqbanking")
(version "6.6.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.aquamaniac.de/rdm/attachments/"
"download/" attachid "/aqbanking-" version ".tar.gz"))
(sha256
(base32 "1yqbwh91gwwqgiv8cf15rc9mxcdlikhbr5qknaqp5bavp63l8qrp"))))
(build-system gnu-build-system)
(arguments
`(;; Parallel building fails because aqhbci is required before it's
;; built.
#:parallel-build? #f
#:phases
(modify-phases %standard-phases
;; Embed the package version instead of the build date
(add-after 'unpack 'use-version-instead-of-date
(lambda _
(substitute*
"src/libs/plugins/backends/aqhbci/header.xml.in"
(("@DATETIME@") ,version)))))))
(propagated-inputs
(list gwenhywfar))
(inputs
(list gmp xmlsec gnutls))
(native-inputs
(list pkg-config gettext-minimal libltdl))
(home-page "https://www.aquamaniac.de")
(synopsis "Interface for online banking tasks")
(description
"AqBanking is a modular and generic interface to online banking tasks,
financial file formats (import/export) and bank/country/currency information.
AqBanking uses backend plugins to actually perform the online tasks. HBCI,
OFX DirectConnect, YellowNet, GeldKarte, and DTAUS discs are currently
supported. AqBanking is used by GnuCash, KMyMoney, and QBankManager.")
;; AqBanking is licensed under the GPLv2 or GPLv3
(license (list license:gpl2 license:gpl3))))
;; AqBanking is licensed under the GPLv2 or GPLv3
(license (list license:gpl2 license:gpl3)))))
+13 -23
View File
@@ -584,7 +584,6 @@ interface (FFI) of Guile.")
(source (origin
(method url-fetch)
(uri (pypi-uri "gpg" version))
(patches (search-patches "python-gpg-setup-72.patch"))
(sha256
(base32
"1ji3ynhp36m1ccx7bmaq75dhij9frpn19v9mpi4aajn8csl194il"))))
@@ -710,22 +709,18 @@ signing, decryption, verification, and key-listing parsing.")
(license license:perl-license)))
(define-public pius
;; The last release was from 2019, the latest commit is from 2025
(let ((commit "5f7c10bd3b058c864b128a3b0e0c0efa1f1befa2")
(revision "0"))
(package
(name "pius")
(version (git-version "3.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jaymzh/pius")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0qf1fxwdrnfkia0c1iz752mb9flbjl9jgh75dls51j1k8fzbl758"))))
(build-system pyproject-build-system)
(version "3.0.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/jaymzh/pius/releases/download/v"
version "/pius-" version ".tar.bz2"))
(sha256
(base32
"11fhmfvr0avxl222rv43wjd2xjbpxrsmcl8xwmn0nvf1rw95v9fn"))))
(build-system python-build-system)
(arguments
(list
#:phases
@@ -734,13 +729,8 @@ signing, decryption, verification, and key-listing parsing.")
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "libpius/constants.py"
(("/usr/bin/gpg2")
(search-input-file inputs "bin/gpg")))))
(replace 'check
(lambda* (#:key tests? test-flags #:allow-other-keys)
(when tests?
(invoke "./run_tests")))))))
(native-inputs (list python-setuptools))
(inputs (list perl ;for 'pius-party-worksheet'
(search-input-file inputs "bin/gpg"))))))))
(inputs (list perl ;for 'pius-party-worksheet'
gnupg))
(synopsis "Programs to simplify GnuPG key signing")
(description
@@ -752,7 +742,7 @@ the process. The @command{pius-keyring-mgr} and
@command{pius-party-worksheet} commands help organizers of PGP key signing
parties.")
(license license:gpl2)
(home-page "https://github.com/jaymzh/pius"))))
(home-page "https://www.phildev.net/pius/index.shtml")))
(define-public signing-party
(package
+5 -5
View File
@@ -604,9 +604,9 @@ in the case of Firefox, it is browser/locales/all-locales."
"zh-CN"
"zh-TW"))
(define %icecat-base-version "140.6.0")
(define %icecat-base-version "140.5.0")
(define %icecat-version (string-append %icecat-base-version "-gnu1"))
(define %icecat-build-id "20251211000000") ;must be of the form YYYYMMDDhhmmss
(define %icecat-build-id "20251111000000") ;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'
@@ -626,9 +626,9 @@ in the case of Firefox, it is browser/locales/all-locales."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
"1jadc0ynq49zcqd7ix9nxlrqy5gfhm61p7yliwy068bma2mwjdbc"))))
"1qhhsgk1dvdrxvvvry6gpijqzpbgmc6h1fd01c7478ppwprpwaw3"))))
(gnuzilla-commit "f4e50b9a4d5384ce2e860133bf0beaaccbf19b46")
(gnuzilla-commit "5897aee761cc6d179bd8632f085c3c14ccf7db6c")
(gnuzilla-source
(origin
(method git-fetch)
@@ -639,7 +639,7 @@ in the case of Firefox, it is browser/locales/all-locales."
(string-take gnuzilla-commit 8)))
(sha256
(base32
"0zjzw7blal3niyzyvw33w2cg906pnjbmvf7gsgas2in9xy3rlix6"))))
"1yk3bpsa01gy5s5dwavsr089qp5dznzb8za5k3ab3fs79i9vdg6z"))))
;; 'search-patch' returns either a valid file name or #f, so wrap it
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
+2 -3
View File
@@ -30,7 +30,6 @@
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Arthur Rodrigues <arthurhdrodrigues@proton.me>
;;; Copyright © 2025 Patrick Norton <patrick.147.norton@gmail.com>
;;; Copyright © 2025 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3517,7 +3516,7 @@ traffic.")))
(define-public ssh-to-pgp
(package
(name "ssh-to-pgp")
(version "1.1.6")
(version "1.1.4")
(source
(origin
(method git-fetch)
@@ -3526,7 +3525,7 @@ traffic.")))
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "10n4xggambw3b9nw0qsz36v7xzyvg31s8xqj66j179f78rdclpw7"))))
(base32 "1xaj6pnk5y2flnxm57j9bpdpll9vhg1rbjj4v3a7hn1gginxpprx"))))
(build-system go-build-system)
(arguments
(list
-89
View File
@@ -1815,47 +1815,6 @@ the OTEL Go SDK.")
(description "This package provides a CSS parser and inliner.")
(license license:expat)))
(define-public go-github-com-aymerick-raymond
(package
(name "go-github-com-aymerick-raymond")
(version "2.0.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aymerick/raymond")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0s5nxzx87a12hcdzhliy1j8albfx2jqddaks4m86yfrcawm6vndn"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/aymerick/raymond"
#:phases
#~(modify-phases %standard-phases
;; Replace vendored mustache version with the one from 'inputs'.
(add-before 'check 'supply-mustache
(lambda* (#:key inputs import-path #:allow-other-keys)
(let ((mustache (string-append "src/" import-path "/mustache")))
(delete-file-recursively mustache)
(copy-recursively #$(this-package-input "mustache-specs")
mustache)))))))
(inputs `(("mustache-specs" ,(origin
(method git-fetch)
(uri (git-reference (url
"https://github.com/mustache/spec")
(commit
"83b0721610a4e11832e83df19c73ace3289972b9")))
(sha256 (base32
"1g2f6hi04vkxrk53ixzm7yvkg5v8m00dh9nrkh9lxnx8aw824y80"))))))
(propagated-inputs (list go-gopkg-in-yaml-v2))
(home-page "https://github.com/aymerick/raymond")
(synopsis "Handlebars for Golang")
(description
"This package provides a minimal templating engine for Golang.")
(license license:expat)))
(define-public go-github-com-azure-azure-sdk-for-go-sdk-azcore
(package
(name "go-github-com-azure-azure-sdk-for-go-sdk-azcore")
@@ -6318,29 +6277,6 @@ sessions, flash messages, custom backends, and more.")
protocol.")
(license license:bsd-2)))
(define-public go-github-com-gosimple-slug
(package
(name "go-github-com-gosimple-slug")
(version "1.12.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gosimple/slug")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "15gk6hdd8kjfl0srlf3gnjq34m64as1s6pjv7paaxd1zvrcml46y"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/gosimple/slug"))
(propagated-inputs (list go-github-com-gosimple-unidecode))
(home-page "https://github.com/gosimple/slug")
(synopsis "URL-friendly slugify with multiple language support")
(description "Generates slug from Unicode string for use in URLs.")
(license license:mpl2.0)))
(define-public go-github-com-gregjones-httpcache
(package
(name "go-github-com-gregjones-httpcache")
@@ -16712,31 +16648,6 @@ etc)
be used as both a binary and a library.")
(license license:bsd-3)))
(define-public go-github-com-mvdan-xurls
(package
(name "go-github-com-mvdan-xurls")
(version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mvdan/xurls")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05q4nqbpgfb0a35sn22rn9mlag2ks4cgwb54dx925hipp6zgj1hx"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/mvdan/xurls"))
(propagated-inputs (list go-golang-org-x-net))
(home-page "https://github.com/mvdan/xurls")
(synopsis "Extracts URLs from text")
(description
"Xurls extracts urls from plain text using regular expressions. It can
be used as both a binary and a library.")
(license license:bsd-3)))
(define-public go-nhooyr-io-websocket
(package
(name "go-nhooyr-io-websocket")
+1 -297
View File
@@ -40,7 +40,7 @@
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2023 Miguel Ángel Moreno <mail@migalmoreno.com>
;;; Copyright © 2023 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2023 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2023 Sergey Trofimov <sarg@sarg.org.ru>
;;; Copyright © 2023 Thomas Ieong <th.ieong@free.fr>
@@ -1371,28 +1371,6 @@ be stripped.")
with as little developer effort as possible.")
(license license:expat)))
(define-public go-github-com-alecthomas-kong-for-zk
(hidden-package
(package
(inherit go-github-com-alecthomas-kong)
(name "go-github-com-alecthomas-kong-for-zk")
(version "0.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alecthomas/kong")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1lk4nb8ilvy0l5szj4s6wnz716vlz0v253423ykmph5l6bmips1k"))))
(arguments
(list
#:tests? #f
#:import-path "github.com/alecthomas/kong"))
(propagated-inputs (list go-github-com-alecthomas-repr
go-github-com-pkg-errors)))))
(define-public go-github-com-alecthomas-kong-hcl
(package
(name "go-github-com-alecthomas-kong-hcl")
@@ -7946,27 +7924,6 @@ string into a slice of words.")
defined output to the standard output.")
(license license:expat)))
(define-public go-github-com-fatih-color-for-zk
(hidden-package
(package
(inherit go-github-com-fatih-color)
(name "go-github-com-fatih-color-for-zk")
(version "1.13.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fatih/color")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "029qkxsdpblhrpgbv4fcmqwkqnjhx08hwiqp19pd7zz6l8a373ay"))))
(arguments
(list
#:import-path "github.com/fatih/color"
#:test-flags
#~(list "-vet=off"))))))
(define-public go-github-com-fatih-gomodifytags
;; This particular commit (v1.17.1-0.20250423142747-f3939df9aa3c) provides
;; "modifytags" submodule which is required for gopls@0.19.1.
@@ -8568,30 +8525,6 @@ it effectively reuses the JSON struct tags as well as the custom JSON methods
@code{MarshalJSON} and @code{UnmarshalJSON} unlike go-yaml.")
(license license:expat)))
(define-public go-github-com-gosimple-unidecode
(package
(name "go-github-com-gosimple-unidecode")
(version "1.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gosimple/unidecode")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1dxdddn744l0s1lr006s2a4k02w6qx8j3k31c7sfflh7wvwzcdzx"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/gosimple/unidecode"))
(home-page "https://github.com/gosimple/unidecode")
(synopsis "Unicode transliterator for Golang")
(description
"Package unidecode implements a unicode transliterator which
replaces non-ASCII characters with their ASCII approximations.")
(license license:asl2.0)))
(define-public go-github-com-git-lfs-go-netrc
(package
(name "go-github-com-git-lfs-go-netrc")
@@ -20078,30 +20011,6 @@ logging.")
#:go go-1.23
#:import-path "github.com/russross/blackfriday/v2"))))
(define-public go-github-com-rvflash-elapsed
(package
(name "go-github-com-rvflash-elapsed")
(version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rvflash/elapsed")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1jawknvv51k1awlzpyr2qc1s75s1fg3l40c0zhixp1sc98hl434c"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/rvflash/elapsed"))
(home-page "https://github.com/rvflash/elapsed")
(synopsis "Calculates the elapsed time for a given date")
(description
"This package can be used to return the elapsed time since a
given time in a human-readable format.")
(license license:expat)))
(define-public go-github-com-rwcarlsen-goexif
;; No release or version tag, Golang pseudo version:
;; 0.0.0-20190401172101-9e8deecbddbd.
@@ -22358,31 +22267,6 @@ flushing entries at a given size or interval, useful for cases such as
batching log events.")
(license license:expat)))
(define-public go-github-com-tj-go-naturaldate
(package
(name "go-github-com-tj-go-naturaldate")
(version "1.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tj/go-naturaldate")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "12d7nf1jd7nk9r8ifn1hr21a7m4yb1garmiw2grrsi5zsqsh2jb1"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/tj/go-naturaldate"))
(propagated-inputs (list go-github-com-tj-assert))
(home-page "https://github.com/tj/go-naturaldate")
(synopsis "Provides natural date time parsing")
(description
"This package parses human-friendly relative date/time ranges.")
(license license:expat)))
(define-public go-github-com-tj-go-spin
(package
(name "go-github-com-tj-go-spin")
@@ -22508,79 +22392,6 @@ supported by the time package
@end itemize")
(license license:expat)))
(define-public go-github-com-tliron-glsp
(package
(name "go-github-com-tliron-glsp")
(version "0.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tliron/glsp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0vz4idndpcxrkjck6m0azdg8zsgcxcchf0ldhnkr8fj3z2sllljr"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/tliron/glsp"))
(propagated-inputs (list go-github-com-sasha-s-go-deadlock
go-github-com-tliron-kutil
go-github-com-sourcegraph-jsonrpc2
go-github-com-pkg-errors
go-github-com-gorilla-websocket
go-golang-org-x-term
go-golang-org-x-crypto
go-github-com-zchee-color))
(home-page "https://github.com/tliron/glsp")
(synopsis "Language Server Protocol SDK for Golang")
(description
"Implementation of the @acronym{LSP, language server protocol}
for Golang, allowing the creating of custom language servers.")
(license license:asl2.0)))
(define-public go-github-com-tliron-kutil
(package
(name "go-github-com-tliron-kutil")
(version "0.1.59")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tliron/go-kutil")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "07lhzgpsi96icdya874xmfd1ymg4s4y09s7m7h398aryn7hbysyg"))))
(build-system go-build-system)
(arguments
(list
;; TODO: Not ready packages required for tests and full build.
;; (propagated-inputs
;; (list
;; go-github-com-beevik-etree
;; go-github-com-coreos-go-systemd
;; go-github-com-dop251-goja
;; go-github-com-fxamacker-cbor
;; go-github-com-go-git-go-git
;; go-github-com-google-go-containerregistry
;; go-github-com-hokaccha-go-prettyjson
;; go-github-com-mitchellh-hashstructure
;; go-github-com-segmentio-ksuid
;; go-github-com-tliron-yamlkeys
;; go-github-com-zchee-color
;; go-k8s-io-apiextensions-apiserver
;; go-k8s-io-klog))
#:skip-build? #t
#:tests? #f
#:import-path "github.com/tliron/kutil"))
(home-page "https://github.com/tliron/go-kutil")
(synopsis "Utility library for Golang")
(description
"This package provides a collection of Golang utilities.")
(license license:asl2.0)))
(define-public go-github-com-tomwright-dasel-v2
(package
(name "go-github-com-tomwright-dasel-v2")
@@ -24241,31 +24052,6 @@ deltas can be applied to a JSON object to \"patch\" them.")
common sequence} values from two arbitrary arrays.")
(license license:expat)))
(define-public go-github-com-yuin-goldmark-meta
(package
(name "go-github-com-yuin-goldmark-meta")
(version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/yuin/goldmark-meta")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "07dnwpkcifk9lw25ncflwdzmp8xqwbsbq0bnw3v7ljz9i8zi3ya3"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/yuin/goldmark-meta"))
(propagated-inputs (list go-gopkg-in-yaml-v2 go-github-com-yuin-goldmark))
(home-page "https://github.com/yuin/goldmark-meta")
(synopsis "YAML metadata extension for the goldmark markdown parser")
(description
"Extension for the @code{goldmark} markdown parser which enables
defining document metadata in the YAML format.")
(license license:expat)))
(define-public go-github-com-yuin-gopher-lua
(package
(name "go-github-com-yuin-gopher-lua")
@@ -24361,35 +24147,6 @@ Go host programs.")
from the system keyring.")
(license license:expat)))
(define-public go-github-com-zchee-color
(package
(name "go-github-com-zchee-color")
(version "2.0.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zchee/color")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0im301c9m5702lsv3qvzwmx943m9hmrpb2670zfv0z14cm7fqhls"))))
(build-system go-build-system)
(arguments
(list
#:test-flags
#~(list "-vet=off")
#:import-path "github.com/zchee/color/v2"))
(propagated-inputs (list go-github-com-mattn-go-isatty
go-github-com-mattn-go-colorable))
(home-page "https://github.com/zchee/color")
(synopsis "Color package for Golang")
(description
"Package color is an ANSI color package to output colorized or
SGR defined output to the standard output. The API can be used in several way,
pick one that suits you.")
(license license:expat)))
(define-public go-github-com-zclconf-go-cty
(package
(name "go-github-com-zclconf-go-cty")
@@ -24710,31 +24467,6 @@ It is a maintained fork of @url{gorilla/schema,
https://github.com/gorilla/schema}")
(license license:bsd-3)))
(define-public go-github-com-zk-org-pretty
(package
(name "go-github-com-zk-org-pretty")
(version "0.2.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zk-org/pretty")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "086zcjamclnn3y9w4ww88ik9avwihbxk7h08vk7686643i1zij96"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/zk-org/pretty"))
(propagated-inputs (list go-github-com-rogpeppe-go-internal
go-github-com-kr-text))
(home-page "https://github.com/zk-org/pretty")
(synopsis "Pretty printing for Golang values")
(description
"This package provides a pretty printing library for Golang values.")
(license license:expat)))
(define-public go-github-com-zyedidia-clipper
(package
(name "go-github-com-zyedidia-clipper")
@@ -26070,34 +25802,6 @@ distributions of benchmark measurements
(list
#:import-path "gopkg.in/alecthomas/kingpin.v2"))))
(define-public go-gopkg-in-djherbis-times-v1
(package
(name "go-gopkg-in-djherbis-times-v1")
(version "1.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/djherbis/times")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1dk087l9c927f90zrsmyxxfx5i980r952qw47j9srq2q7dd0b4ni"))
(modules '((guix build utils)))
;; Fix import path for itself in the example code (build by 'check).
(snippet '(substitute* "example/main.go"
(("github.com/djherbis/times")
"gopkg.in/djherbis/times.v1")))))
(build-system go-build-system)
(arguments
(list
#:import-path "gopkg.in/djherbis/times.v1"))
(home-page "https://github.com/djherbis/times")
(synopsis "File times for Golang")
(description
"This package allows access different file time metadata from Golang.")
(license license:expat)))
(define-public go-gopkg-in-fsnotify-v1
(package/inherit go-github-com-fsnotify-fsnotify
(name "go-gopkg-in-fsnotify-v1")
+1 -39
View File
@@ -667,6 +667,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
#~(modify-phases #$phases
(delete 'skip-TestGoPathShlibGccgo-tests)
(delete 'patch-source)
(delete 'disable-more-tests)
(add-after 'unpack 'patch-os-tests
(lambda _
(substitute* "src/os/os_test.go"
@@ -716,45 +717,6 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(substitute* "src/cmd/cgo/internal/testsanitizers/asan_test.go"
((".*arena_fail.*") ""))))
(replace 'disable-more-tests
(lambda _
#$@(cond
((target-aarch64?)
;; https://go-review.googlesource.com/c/go/+/151303
;; This test is known buggy on aarch64 and is enabled and
;; disabled upstream with some regularity.
#~((substitute* "src/plugin/plugin_test.go"
(("package plugin_test")
(string-append "//go:build !(linux && arm64)\n\n"
"package plugin_test")))
;; collect2: fatal error: cannot find 'ld'
;; Disable testshared by adding a build constraint that
;; excludes linux/arm64.
(substitute* "src/cmd/cgo/internal/testshared/shared_test.go"
(("package shared_test")
(string-append "//go:build !(linux && arm64)\n\n"
"package shared_test")))
(substitute* "src/cmd/dist/test.go"
((".*testcshared.*") "")
((".*testshared.*") ""))))
((target-arm32?)
;; https://go-review.googlesource.com/c/go/+/151303
;; This test is known buggy on aarch64 so we disable
;; it on armhf also since we emulate armhf on aarch64.
#~((substitute* "src/plugin/plugin_test.go"
(("package plugin_test")
(string-append "//go:build !(linux && arm)\n\n"
"package plugin_test")))
;; collect2: fatal error: cannot find 'ld'
(substitute* "src/cmd/cgo/internal/testshared/shared_test.go"
(("package shared_test")
(string-append "//go:build !(linux && arm)\n\n"
"package shared_test")))
(substitute* "src/cmd/dist/test.go"
((".*testcshared.*") "")
((".*testshared.*") ""))))
(else (list #t)))))
(add-after 'enable-external-linking 'enable-external-linking-1.21
(lambda _
;; Invoke GCC to link any archives created with GCC (that is,
+2 -2
View File
@@ -2948,7 +2948,7 @@ and enables interoperable use of content across the industry.")
(define-public monado
(package
(name "monado")
(version "25.1.0")
(version "25.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2957,7 +2957,7 @@ and enables interoperable use of content across the industry.")
(file-name (git-file-name name version))
(sha256
(base32
"09bmcqr01kakhzc26r2kmlqd1l3hqr33360qrrpmiy6mlgpsci45"))))
"0h4ivjqdj1qisgp1b49h3aqqjlrbd5najyd1vrhskdlz1yzz252p"))))
(build-system cmake-build-system)
(inputs
(list ffmpeg
+20 -2
View File
@@ -1009,8 +1009,9 @@ application suites.")
(define-public gtk+
(package
(inherit gtk+-2)
(replacement gtk+/fixed)
(name "gtk+")
(version "3.24.51")
(version "3.24.49")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1019,7 +1020,7 @@ application suites.")
(file-name (git-file-name name version))
(sha256
(base32
"07vw0rani9d65px36fzzj7sprv5r48shyjdgzipkihzqaldd98yh"))
"0flsnh3f0l9v3y2hmnxz1h15nw1l12ixmiwcpiy1ywplrlgq4j00"))
(patches (search-patches
"gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
@@ -1140,6 +1141,23 @@ application suites.")
(variable "GUIX_GTK3_PATH")
(files '("lib/gtk-3.0")))))))
(define-public gtk+/fixed
(let* ((base gtk+)
(source (package-source base)))
(package
(inherit base)
(version "3.24.51")
(source
(origin
(inherit source)
(uri (git-reference
(inherit (origin-uri source))
(commit version)))
(file-name (git-file-name (package-name base) version))
(sha256
(base32
"07vw0rani9d65px36fzzj7sprv5r48shyjdgzipkihzqaldd98yh")))))))
(define-public gtk
(package
(name "gtk")
-131
View File
@@ -1,131 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 jgart <jgart@dismail.de>
;;;
;;; 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 hare-apps)
#:use-module (gnu packages hare-xyz)
#:use-module (gnu packages man)
#:use-module (guix build-system hare)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
(define-public bonsai
(package
(name "bonsai")
(version "1.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~stacyharper/bonsai")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "148rccbh5alpnz36ricv8y26qyrqwm4g7mj936vpwrxwd9dkwmff"))))
(build-system hare-build-system)
(inputs (list hare-ev hare-json))
(supported-systems %hare-supported-systems)
(home-page "https://bonsai.builtwithhare.org")
(synopsis "Finite State Machine structured as a tree that trigger commands")
(description "Bonsai is a Finite State Machine structured as a tree. It
has been designed to trigger commands when successive events and/or a precise
context is accepted. There is 4 kind of transition with specific acceptance
rules:
@itemize
@item event transition: The received event name match the transition
one
@item context transition: The state context match the transition one @item
exec transition: The transition command is run and succeed
@item delay
transition: The state wait for the delay transition duration. No other
accepted event is received while waiting
@end itemize
The state will transition following every accepted transition. If there is no
more available transition, the state goes back to the initial position.")
(license license:agpl3+)))
(define-public hare-lsp
(package
(name "hare-lsp")
(version "0.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~whynothugo/hare-lsp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1h763ynv1zh2ili26bkd9anmv8srva63rwpv2avnmimia1bvsx81"))))
(build-system hare-build-system)
(inputs (list hare-json))
(supported-systems %hare-supported-systems)
(home-page "https://git.sr.ht/~whynothugo/hare-lsp/")
(synopsis "Language server implementation for Hare")
(description "This package provides a language server implementation for
Hare.")
(license license:isc)))
(define-public hare-mcron
(package
(name "hare-mcron")
(version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~stacyharper/mcron")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "18h85fpxa2hs3fr132j85qh8b73dsawcn845ifk8ffgvh2kmw9zl"))))
(build-system hare-build-system)
(native-inputs (list scdoc))
(inputs (list hare-ev))
(supported-systems %hare-supported-systems)
(home-page "https://mcron.builtwithhare.org/")
(synopsis "Sleeping cron job scheduler")
(description "Mcron is a cron implementation that is designed to be used
on suspendable machines, like mobile phones. It will wake the device from
suspension to trigger the tasks.")
(license license:gpl3+)))
(define-public sxmobar
(package
(name "sxmobar")
(version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~stacyharper/sxmobar")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1dlw4sbf3awzxvglmfml5fmi9w6zmqxr2f4xqsrwchi154bixix9"))))
(build-system hare-build-system)
(native-inputs (list scdoc))
(supported-systems %hare-supported-systems)
(home-page "https://sxmobar.builtwithhare.org")
(synopsis "Status bar component manager")
(description "sxmobar is a status bar component manager. It is used to
generate status lines for @command{i3status}, @command{i3bar},
@command{swaybar}, and others.")
(license license:agpl3+)))
-20
View File
@@ -48,26 +48,6 @@
(description "This package provides compression algorithms for Hare.")
(license license:mpl2.0)))
(define-public hare-ev
(package
(name "hare-ev")
(version "0.25.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~sircmpwn/hare-ev")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1ak9anvzg2qfdsvxpcszshimw5cqbm52zfq7kwx7z0yf6qi6zm0f"))))
(build-system hare-build-system)
(supported-systems %hare-supported-systems)
(home-page "https://sr.ht/~sircmpwn/hare-ev")
(synopsis "Event loop for Hare")
(description "This package provides an event loop for Hare programs.")
(license license:mpl2.0)))
(define-public hare-json
(package
(name "hare-json")
+8 -5
View File
@@ -344,8 +344,7 @@ Hurd-minimal package which are needed for both glibc and GCC.")
(inherit (package-source hurd-headers))
(patches (search-patches "hurd-refcounts-assert.patch"
"hurd-rumpdisk-no-hd.patch"
"hurd-startup.patch"
"hurd-proc-zombies.patch"))))
"hurd-startup.patch"))))
(version (package-version hurd-headers))
(arguments
`(#:tests? #f ;no "check" target
@@ -390,6 +389,12 @@ Hurd-minimal package which are needed for both glibc and GCC.")
(("#include <rpc/pmap_prot.h>" m)
(string-append "#include <rpc/types.h>\n#include <rpc/xdr.h>\n" m)))
#t))
,@(if (%current-target-system)
'((add-after 'configure 'fixup-cross-configure
(lambda _
(substitute* "config.make"
(("HAVE_LIBRUMP = no") "HAVE_LIBRUMP = yes")))))
'())
(add-before 'build 'pre-build
(lambda _
;; Don't change the ownership of any file at this time.
@@ -578,9 +583,7 @@ exec ${system}/rc \"$@\"
(string-append datadir "/vga-system.bdf"))))))
#:configure-flags
,#~(list (string-append "LDFLAGS=-Wl,-rpath="
#$output "/lib"
;; Linking with librump.so
" -Wl,--as-needed")
#$output "/lib")
"--enable-static-progs=ext2fs,iso9660fs,rumpdisk,pci-arbiter,acpi"
"--disable-ncursesw"
"--without-libbz2"
+3 -9
View File
@@ -180,7 +180,7 @@ Magnetic Resonance Imaging.")
(define-public cimg
(package
(name "cimg")
(version "3.6.5")
(version "3.5.5")
(source
(origin
(method git-fetch)
@@ -189,7 +189,7 @@ Magnetic Resonance Imaging.")
(commit (string-append "v." version))))
(file-name (git-file-name name version))
(sha256
(base32 "1zdw1mbwl2g0ka1gasq9l706aral0l2mfsc0vmvq2szn90l2i455"))))
(base32 "01myf3bjbc46f977r7lvr9g1hcnpfygcv2xnqvhrl2nj7955sm5x"))))
(build-system copy-build-system)
(arguments
(list
@@ -645,13 +645,7 @@ different data arrays similar to those available in the numdiff software.")
(substitute* "modules/photo/test/test_hdr.cpp"
(("0\\.131") "0.222"))
;; These tests hang forever on aarch64.
(delete-file-recursively "modules/videoio/test/")
;; This test fails on aarch64 due to floating-point precision
;; differences with ARM NEON.
;; Expected: RMSE <= 0.34, actual: 0.407627
(substitute* "../opencv-contrib/modules/optflow/test/test_OF_accuracy.cpp"
(("\\bReferenceAccuracy\\b" all)
(string-append "DISABLED_" all))))
(delete-file-recursively "modules/videoio/test/"))
'())
,@(if (target-riscv64?)
+2 -2
View File
@@ -874,14 +874,14 @@ preloading.")
(define-public chafa
(package
(name "chafa")
(version "1.18.0")
(version "1.16.2")
(source (origin
(method url-fetch)
(uri (string-append "https://hpjansson.org/chafa/releases/chafa-"
version ".tar.xz"))
(sha256
(base32
"1nyakydm8f4kshhdqg35ckfa62nxk54i41npva4jw15q3927ax6d"))))
"1pv1g2gcn4qn27bkwm1g1k87nb1yq0gzw7jclhq53d49kbfrhy35"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
+1 -1
View File
@@ -2,7 +2,7 @@
;;; Copyright © 2021, 2022 Olivier Dion <olivier.dion@polymtl.ca>
;;; Copyright © 2023 Andy Tai <atai@atai.org>
;;; Copyright © 2023 Marius Bakke <marius@gnu.org>
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
+1 -70
View File
@@ -11,14 +11,9 @@
;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
;;; Copyright © 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2021, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2022 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
;;; Copyright © 2022, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Antero Mejr <antero@mailbox.org>
;;; Copyright © 2023 Greg Hogan <code@greghogan.com>
;;; Copyright © 2024 Danny Milosavljevic <dannym@friendly-machines.com>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2024-2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Ghislain Vaillant <ghislain.vaillant@inria.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -203,70 +198,6 @@ simulation, statistical modeling, machine learning and much more.")
(modify-inputs (package-propagated-inputs parent)
(replace "python-jupyter-client" python-jupyter-client-bootstrap)))))))
(define-public python-jupytext
(package
(name "python-jupytext")
(version "1.18.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mwouts/jupytext")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "01vvi5aab7lahj57ng5v4svjw18xrlgnasz877lqvdf4m6cpi8s9"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 4017 passed, 173 skipped, 2 deselected, 1 warning
#:test-flags
#~(list
;; Requires git.
"--ignore=tests/external"
;; Requires python-black.
"--ignore=tests/functional/contents_manager"
;; Failed: DID NOT RAISE <class 'ValueError'>.
(string-append "--deselect=tests/functional/cli/test_source_is_newer.py"
"::test_check_source_is_newer_when_using_jupytext_to")
;; Failed: DID NOT RAISE <class 'jupytext.cli.SynchronousModificationError'>.
(string-append "--deselect=tests/functional/cli/test_synchronous_changes.py"
"::test_jupytext_to_raises_on_synchronous_edits"))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda _
;; some tests fail when HOME=/homeless-shelter.
(setenv "HOME" "/tmp")
;; OSError: [Errno 18] Invalid cross-device link
(setenv "TMPDIR" "/tmp"))))))
(native-inputs
(list python-hatchling
python-jupyter-client
python-jupyter-server
python-pytest
python-pytest-asyncio))
(propagated-inputs
(list python-markdown-it-py
python-mdit-py-plugins
python-nbformat
python-packaging
python-pyyaml))
(home-page "https://jupytext.readthedocs.io/")
(synopsis
"Jupyter notebooks as Markdown documents, Julia, Python or R scripts")
(description
"Jupytext is a plugin for Jupyter that can save Jupyter notebooks as
either Markdown files or scripts in many languages. Common use cases for
Jupytext are:
@itemize
@item version control on Jupyter Notebooks
@item editing, merging or refactoring notebooks in your favorite text editor
@item applying Q&A checks on notebooks.
@end itemize ")
(license license:expat)))
(define-public python-nbclassic
(package
(name "python-nbclassic")
+147
View File
@@ -219,6 +219,32 @@ used from QtQuick applications for both simple display of data as well as
continuous display of high-volume data.")
(license (list license:lgpl2.1 license:lgpl3))))
(define-public kquickcharts-5
(package
(inherit kquickcharts)
(name "kquickcharts")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/frameworks/"
(version-major+minor version)
"/" name "-" version ".tar.xz"))
(sha256
(base32
"1bd20kpypji6053fwn5a1b41rjf7r1b3wk85swb0xlmm2kji236j"))))
(build-system cmake-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(system "Xvfb :1 -screen 0 640x480x24 &")
(setenv "DISPLAY" ":1")
(setenv "QT_QPA_PLATFORM" "offscreen")
(invoke "ctest")))))))
(inputs (list qtbase-5 qtdeclarative-5 qtquickcontrols2-5
xorg-server-for-tests))))
(define-public kuserfeedback
;; FIXME: Try to reduce data collection and ensure transmission i disabled by default.
;; FIXME: Check https://www.reddit.com/r/kde/comments/f7ojg9 for insights
@@ -1239,6 +1265,26 @@ but also for getting notified upon idle time events, such as custom timeouts,
or user activity.")
(license (list license:gpl2+ license:lgpl2.1+))))
(define-public kidletime-5
(package
(inherit kidletime)
(name "kidletime")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kde/stable/frameworks/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"15s9nxpkqy3i182xk82bpl92iaqcilsckja7301854fw6ppl8vvh"))))
(native-inputs
(list extra-cmake-modules pkg-config))
(inputs
(list libxscrnsaver ; X-Screensaver based poller, fallback mode
qtbase-5 qtx11extras))))
(define-public kirigami
(package
(name "kirigami")
@@ -1355,6 +1401,26 @@ model to observers
@end enumerate")
(license license:lgpl2.1+)))
(define-public kitemmodels-5
(package
(inherit kitemmodels)
(name "kitemmodels")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kde/stable/frameworks/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1wcznkj24553spkl202zwifk6hgrvdd60j3y47jp2m6zpadywz2k"))))
(native-inputs
(list extra-cmake-modules))
(inputs
(list qtdeclarative-5))
(arguments '())))
(define-public kitemviews
(package
(name "kitemviews")
@@ -1504,6 +1570,27 @@ integration with a custom editor as well as a ready-to-use
(properties `((upstream-name . "syntax-highlighting")))
(license license:lgpl2.1+)))
(define-public ksyntaxhighlighting-5
(package
(inherit ksyntaxhighlighting)
(name "ksyntaxhighlighting")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kde/stable/frameworks/"
(version-major+minor version) "/"
"syntax-highlighting-" version ".tar.xz"))
(sha256
(base32
"19zs3n6cn83rjs0bpyrn6f5r75qcflavf8rb1c2wxj8dpp7cm33g"))))
(native-inputs
(list extra-cmake-modules perl qttools-5
;; Optional, for compile-time validation of syntax definition files:
qtxmlpatterns-5))
(inputs
(list qtbase-5))))
(define-public plasma-wayland-protocols
(package
(name "plasma-wayland-protocols")
@@ -2096,6 +2183,25 @@ ASpell and HUNSPELL.")
uses a job-based interface to queue tasks and execute them in an efficient way.")
(license license:lgpl2.1+)))
(define-public threadweaver-5
(package
(inherit threadweaver)
(name "threadweaver")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kde/stable/frameworks/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1q7ax3dhsayz35j0l9pdmarkwfyyy1dsy2crdf5xz8pr5mjxq8wp"))))
(native-inputs
(list extra-cmake-modules))
(inputs
(list qtbase-5))))
;; Tier 2
;;
@@ -2504,6 +2610,47 @@ used by file indexers to retrieve the metadata. This library can also be used
by applications to write metadata.")
(license (list license:lgpl2.0 license:lgpl2.1 license:lgpl3))))
(define-public kfilemetadata-5
(package
(inherit kfilemetadata)
(name "kfilemetadata")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kde/stable/frameworks/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"13yfcy02rmhrhf8lxv7smk1n9rg1ywsh60hwzm94b8hq9a62qp0r"))))
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "ctest" "-E"
"(usermetadatawritertest|taglibextractortest)")))))))
(native-inputs (list extra-cmake-modules pkg-config))
(inputs
(list attr
ebook-tools
karchive-5
kconfig-5
kcoreaddons-5
ki18n-5
qtmultimedia-5
qtbase-5
;; Required run-time packages
catdoc
;; Optional run-time packages
exiv2
ffmpeg
poppler-qt5
taglib))))
(define-public kimageannotator
(package
(name "kimageannotator")
+1 -47
View File
@@ -1,7 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2024, 2025 Sughosha <sughosha@disroot.org>
;;; Copyright © 2025 Junker <dk@junkeria.club>
;;; Copyright © 2025 Ghislain Vaillant <ghislain.vaillant@inria.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -56,8 +55,7 @@
#:use-module (gnu packages version-control)
#:use-module (gnu packages wm)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
#:use-module (gnu packages xml))
(define-public calligra
(package
@@ -285,50 +283,6 @@ processor built in, and can integrate with Pandoc, MultiMarkdown, Discount, and
cmark processors if they are installed.")
(license license:gpl3+)))
(define-public klevernotes
(package
(name "klevernotes")
(version "1.2.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/klevernotes/" version
"/klevernotes-" version ".tar.xz"))
(sha256
(base32 "0jnnbsml29gmpbycx8b012rnzdnjfigp9d6wsaww085mql0rdf73"))))
(build-system qt-build-system)
(arguments
(list
#:qtbase qtbase
#:configure-flags
#~(list "-DBUILD_TESTING:BOOL=ON")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'start-xorg-server
(lambda _
(system "Xvfb :99 -screen 0 1024x768x24 &")
(setenv "DISPLAY" ":99.0"))))))
(native-inputs (list extra-cmake-modules xorg-server))
(inputs (list kconfigwidgets
kcoreaddons
ki18n
kiconthemes
kio
kirigami
kirigami-addons
kitemmodels
qqc2-desktop-style
qtsvg
qtwayland
qtwebengine
sonnet))
(home-page "https://apps.kde.org/klevernotes/")
(synopsis "Note taking and management application")
(description
"KleverNotes is a note taking and management application. It uses Markdown
and allows you to preview your content.")
(license license:gpl3+)))
(define-public tellico
(package
(name "tellico")
+45
View File
@@ -1455,6 +1455,51 @@ you login.")
(home-page "https://invent.kde.org/plasma/kwallet-pam")
(license (list license:lgpl2.1+))))
(define-public kwayland-integration
(package
(name "kwayland-integration")
(version "6.5.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/plasma/"
version "/" name "-"
version ".tar.xz"))
(sha256
(base32
"01jxpl0zbz8pbnrbxw9bnn148mr03rrf86ryl627cqx8k4p9842d"))))
(build-system qt-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
(delete 'check)
(add-after 'install 'check-after-install
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "HOME" (getcwd))
(setenv "XDG_RUNTIME_DIR" (getcwd))
(setenv "QT_QPA_PLATFORM" "offscreen")
(invoke "ctest"))))
(add-before 'check-after-install 'check-setup
(lambda* (#:key outputs #:allow-other-keys)
(setenv "QT_PLUGIN_PATH"
(string-append #$output
"/lib/qt5/plugins:"
(getenv "QT_PLUGIN_PATH"))))))))
(native-inputs (list extra-cmake-modules wayland-protocols pkg-config))
(inputs (list kguiaddons-5
kidletime-5
kwindowsystem-5
kwayland-5
libxkbcommon
wayland
plasma-wayland-protocols
qtbase-5
qtwayland-5))
(synopsis "KWayland runtime integration plugins")
(description "This package provides Wayland integration plugins for various
KDE Frameworks components.")
(home-page "https://invent.kde.org/plasma/kwayland-integration")
(license (list license:lgpl2.1 license:lgpl3))))
(define-public kwin
(package
(name "kwin")
+7 -7
View File
@@ -116,14 +116,14 @@
(define computed-origin-method (@@ (guix packages) computed-origin-method))
(define firefox-l10n
(let ((commit "fa4b12c075b42be6652237119d74346d377d2ae4"))
(let ((commit "38e9598ea1b99b69a240cc1db1d59f4357fcb95d"))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mozilla-l10n/firefox-l10n.git")
(commit commit)))
(file-name (git-file-name "firefox-l10n" commit))
(sha256 (base32 "1v09j9685cpwqk532yp00lsic0xakjsfafn82kilzl5s0v2a3g8w")))))
(sha256 (base32 "1bv5j16007rmyi5c6b78bk2752v38wh0hbhdm9pkbp07f45q8zlr")))))
(define* (make-librewolf-source #:key version firefox-hash librewolf-hash l10n)
(let* ((ff-src (firefox-source-origin
@@ -220,17 +220,17 @@
;; It's used for cache validation and therefore can lead to strange bugs.
;; ex: date '+%Y%m%d%H%M%S'
;; or: (format-time-string "%Y%m%d%H%M%S")
(define %librewolf-build-id "20251219212454")
(define %librewolf-build-id "20251130211358")
(define-public librewolf
(package
(name "librewolf")
(version "146.0.1-1")
(version "145.0.2-2")
(source
(make-librewolf-source
#:version version
#:firefox-hash "1swih4jljq162vgdl2m2d8xn4s4hj4vjqcfww59kk4kkhh78lrz9"
#:librewolf-hash "13gxagaibv0bmn34rz3hfkfy7rgdksl635znmrq24l8v80y792ii"
#:firefox-hash "13c5hk7v71kzqw8zmqqyc8n0gcakmzpksh28npr52yylnp3b9ifp"
#:librewolf-hash "160mdkdqzff7kcrn7xi5hjsjsz52zf21mq4fcplhdnm1xrwwn4p2"
#:l10n firefox-l10n))
(build-system gnu-build-system)
(arguments
@@ -678,7 +678,7 @@
pkg-config
python
rust-librewolf
rust-cbindgen-0.29
rust-cbindgen-0.28
which
yasm))
(native-search-paths
+67 -92
View File
@@ -529,7 +529,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.17-version "6.17.12")
(define-public linux-libre-6.17-version "6.17.10")
(define-public linux-libre-6.17-gnu-revision "gnu")
(define deblob-scripts-6.17
(linux-libre-deblob-scripts
@@ -539,7 +539,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "14fypjidk49l0799dbi1pacy37ks94k0bs38cck2y4glxfpbfqr6")))
(define-public linux-libre-6.17-pristine-source
(let ((version linux-libre-6.17-version)
(hash (base32 "1mlqirjzyx3zvvm87gf7slj2d5gdpp13vw91dgbfk54iz6b08y22")))
(hash (base32 "1kf8slgkvv9x6i1111l78p93y65rscdxarh05spx1njh797k8zzs")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.17)))
@@ -548,67 +548,67 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-6.12-version "6.12.62")
(define-public linux-libre-6.12-version "6.12.60")
(define-public linux-libre-6.12-gnu-revision "gnu")
(define deblob-scripts-6.12
(linux-libre-deblob-scripts
linux-libre-6.12-version
linux-libre-6.12-gnu-revision
(base32 "168aykyvyyp34549hqhlprl0n052q8wdb2y3vyxqw40wpf2vw3ln")
(base32 "0y6i9ifax1a8bxih3rr9xzy3mj61ssgx9yfsy6fh94mni6wl51gp")
(base32 "1yl447396g454116j8v17wsqg5i0gyb2rrxvaygw6xdkbwrrj28j")))
(define-public linux-libre-6.12-pristine-source
(let ((version linux-libre-6.12-version)
(hash (base32 "04rcnr7bgrqqfj62l31mxx553bjdalr5f46xjbcmvawgmj2wdqhk")))
(hash (base32 "1y6wkk4500pisk9l2dibmidqix1gpci7dy6brs1xc4bl2jr9cc56")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.12)))
(define-public linux-libre-6.6-version "6.6.119")
(define-public linux-libre-6.6-version "6.6.118")
(define-public linux-libre-6.6-gnu-revision "gnu")
(define deblob-scripts-6.6
(linux-libre-deblob-scripts
linux-libre-6.6-version
linux-libre-6.6-gnu-revision
(base32 "0y3lawljby2rl0mb0yjdyaasci4pl935y8xa0dnmbzff23knkxlw")
(base32 "1fph0cf5vwkxcyz2cay4d70sqw1y02dx3shfclhp9y4nmkk169pq")
(base32 "11i7pvm5n31rvp05msbm3ciclr84cz9c94f5r5aa6mmzhslwpbxk")))
(define-public linux-libre-6.6-pristine-source
(let ((version linux-libre-6.6-version)
(hash (base32 "1s75ad95g4y80idadzqmj9kj4rb3dhnvny9lg4lcq15l1fc9p81x")))
(hash (base32 "0zdifhri9flxa99hzrk9bz8yqi8h1v6zpsvldz9cibvlakixrpab")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.6)))
(define-public linux-libre-6.1-version "6.1.159")
(define-public linux-libre-6.1-version "6.1.158")
(define-public linux-libre-6.1-gnu-revision "gnu")
(define deblob-scripts-6.1
(linux-libre-deblob-scripts
linux-libre-6.1-version
linux-libre-6.1-gnu-revision
(base32 "10gcbkd5jxfspa712kvb3qmsjgsapd9cz47pmpfk03bbfzf8ydlv")
(base32 "00yh14z7sr9pkakkkpdyp8fj41d56a306xsf5yb2lzm0sgl6lvza")
(base32 "0f3jgbfd2j7sz7h1hb30s1r9147g1cbb3ia09k9834fvbiz1ihaa")))
(define-public linux-libre-6.1-pristine-source
(let ((version linux-libre-6.1-version)
(hash (base32 "17ib6ila2s8rclqpfxlkk1g72azj2r46k2x1q3n2j24qjfz7w80z")))
(hash (base32 "1nmz4rknw82k9ylyrbm4g2m0hh4lmgkwi1g3gm7hzv04nvyqn1md")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.1)))
(define-public linux-libre-5.15-version "5.15.197")
(define-public linux-libre-5.15-version "5.15.196")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
linux-libre-5.15-version
linux-libre-5.15-gnu-revision
(base32 "0b2gd83ihxlq490gpgq930misc6jrckw4rzl7fvwd0qzczqjvff5")
(base32 "14dajb391lr4y2llvjihilmzwvrq4gjbgvrha7dvh6vv4jmbi28v")
(base32 "0rg65s6kd9gxxa3wl6180pr39rb6zbcicwjik4kygs2ns0247y56")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
(hash (base32 "12k6c09lgs4ahmxbrg8g3q1ngldajmzyz7y2nr1l8yhhwbw8s8gx")))
(hash (base32 "018ffzi91xh46l7r3fgc4mpri3pxzl6wc1n946vny0lbb59pj5c3")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
(define-public linux-libre-5.10-version "5.10.247")
(define-public linux-libre-5.10-version "5.10.246")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
@@ -618,12 +618,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0r1whrfhhhjyvppiidhihcvyzcab6dva6g9a4div8jkxm62s2cq3")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
(hash (base32 "037yv5lryfanpfbk3z60yfsx14nskgf386b6cfkbzn7wl5xvij3h")))
(hash (base32 "0xd8r8qqgxh3zhqkl4a5plmgsycxrffhpc9q2rwhkp6jd717cszb")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.302")
(define-public linux-libre-5.4-version "5.4.301")
(define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
@@ -633,7 +633,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0l7pwhgw9laxfypcpqlz411x3hybcw2269abh3lpcw96bgv5m1k2")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "0ga2q6lf6xvb7pb6kn2prgywsvsavb4kwygsn37xd91ay43k4smf")))
(hash (base32 "0qkra8ci2mx5p8ngdys2ixsl9s30qdqlq027pr5p3rk0s1k8fwdp")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
@@ -8073,7 +8073,7 @@ from the ntfs-3g package. It is meant to be used in initrds.")
(define-public rdma-core
(package
(name "rdma-core")
(version "60.0")
(version "59.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/linux-rdma/rdma-core"
@@ -8081,7 +8081,7 @@ from the ntfs-3g package. It is meant to be used in initrds.")
version ".tar.gz"))
(sha256
(base32
"1pi8jf1pibfhh3ps2kvj2y8y6yahpw7jjyp0mpxmvama9qp8j6wv"))))
"1rbw0nxn7h9984r44pcwvnbdz2ycdn5wsmzrbwxxr31i7fqnkhg2"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no tests
@@ -10012,70 +10012,39 @@ comparing system environments.")
(license license:gpl3+)))
(define-public cassini-headers
(package
(name "cassini-headers")
(version "12.0.1")
(home-page "https://github.com/HewlettPackard/shs-cassini-headers")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "release/shs-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0fvhk42pssw67zba4zq1b73d1m9ysc4g8sfibjmmhc0fwr92iamp"))))
(build-system copy-build-system)
(arguments
(list #:install-plan
#~'(("include" "include")
("share/cassini-headers" "share/cassini-headers"))))
(synopsis "Cassini network hardware definitions and headers")
(description
"This package provides hardware definitions and C headers for use by
(let ((commit "9a8a738a879f007849fbc69be8e3487a4abf0952")
(revision "0"))
(package
(name "cassini-headers")
(version (git-version "2.0.0" ;per .spec file
revision commit))
(home-page "https://github.com/HewlettPackard/shs-cassini-headers")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0a54vwfr29n0i392wdap7rzmq0lb8mxa17d8yljdbm0kzrq48csz"))))
(build-system copy-build-system)
(arguments
(list #:install-plan
#~'(("include" "include")
("share/cassini-headers" "share/cassini-headers"))))
(synopsis "Cassini network hardware definitions and headers")
(description
"This package provides hardware definitions and C headers for use by
the Linux driver and by user-space applications for the Cassini/Slingshot
high-speed network interconnect made by HPE (formerly Cray). User-land
software uses @file{cxi_prov_hw.h} from this package.")
;; As per include/cxi_prov_hw.h it is __aarch64__ or __x86_64__ only.
(supported-systems '("x86_64-linux" "aarch64-linux"))
(license (list license:gpl2 license:bsd-2)))) ;dual-licensed
;; As per include/cxi_prov_hw.h it is __aarch64__ or __x86_64__ only.
(supported-systems '("x86_64-linux" "aarch64-linux"))
(license (list license:gpl2 license:bsd-2))))) ;dual-licensed
(define-public cxi-driver
(package
(name "cxi-driver")
(version "13.0.0")
(home-page "https://github.com/HewlettPackard/shs-cxi-driver")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "release/shs-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1md6ammah7ywk5k9gsxix945w5498hpdfwzr603aiirlz2x4m4wh"))))
;; TODO: Actually build the Linux driver.
(build-system copy-build-system)
(arguments
(list #:install-plan #~'(("include" "include"))))
(propagated-inputs (list cassini-headers))
(synopsis "Linux driver for the Cassini/Slingshot interconnect")
(description
"This is the Linux driver for the Cray/HPE Cassini 1 and 2 high-speed
network interconnect (aka. Slingshot), and its Ethernet driver. It includes
the @file{uapi/misc/cxi.h} C header file for use by user-land software.
Currently the Linux driver itself is missing from this package.")
(license license:gpl2+)))
(define-public cxi-driver-for-libfabric-1
;; This old version defines constants such as 'CXI_MAP_IOVA_ALLOC' that
;; libfabric 1.22.0 relies on.
(let ((commit "5f0ec0ead6ef3f98542a2ef5e76b89d14dd22150")
(revision "0"))
(package
(inherit cxi-driver)
(name "cxi-driver")
(version (git-version "1.0.0" ;per .spec file
revision commit))
@@ -10087,12 +10056,25 @@ Currently the Linux driver itself is missing from this package.")
(file-name (git-file-name name version))
(sha256
(base32
"19cly014ihgdidrc1aki2xsbfhpc0g73v0vxcky8r27xza7rz5bg")))))))
"19cly014ihgdidrc1aki2xsbfhpc0g73v0vxcky8r27xza7rz5bg"))))
;; TODO: Actually build the Linux driver.
(build-system copy-build-system)
(arguments
(list #:install-plan #~'(("include" "include"))))
(propagated-inputs (list cassini-headers))
(synopsis "Linux driver for the Cassini/Slingshot interconnect")
(description
"This is the Linux driver for the Cray/HPE Cassini 1 and 2 high-speed
network interconnect (aka. Slingshot), and its Ethernet driver. It includes
the @file{uapi/misc/cxi.h} C header file for use by user-land software.
Currently the Linux driver itself is missing from this package.")
(license license:gpl2+))))
(define-public libcxi
(package
(name "libcxi")
(version "13.0.0")
(version "12.0.1")
(home-page "https://github.com/HewlettPackard/shs-libcxi")
(source
(origin
@@ -10101,7 +10083,7 @@ Currently the Linux driver itself is missing from this package.")
(commit (string-append "release/shs-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1m8mds1h8plhfn2ja9br31xaiy82ky69685cp1rznanl18inaiff"))))
(base32 "1pk2mdkkgiic7nnmhx3iwvgrnxva3qqk2wyni0yhxjciln0hq7s7"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
@@ -10145,7 +10127,7 @@ known as Slingshot.")
(define-public libfabric
(package
(name "libfabric")
(version "2.3.1")
(version "2.3.0")
(source
(origin
(method url-fetch)
@@ -10153,7 +10135,7 @@ known as Slingshot.")
(string-append "https://github.com/ofiwg/libfabric/releases/download/v"
version "/libfabric-" version ".tar.bz2"))
(sha256
(base32 "0npkfkkhyir31r2p1zsfi7yrvcam60fp8ps4s2csjc2drqbrz4rf"))))
(base32 "02gb12ijj19aad4c3dwckrrnjlsmy9fizkgw8a5zdzpqd3lgq60x"))))
(build-system gnu-build-system)
(inputs
(let ((if-supported ;XXX: modified from openmpi
@@ -10214,10 +10196,7 @@ libraries, which are often integrated directly into libfabric.")
(string-append "https://github.com/ofiwg/libfabric/releases/download/v"
version "/libfabric-" version ".tar.bz2"))
(sha256
(base32 "1znmw83rmippv0fwz0x7lgylfk17dr9ckll8lrm4z7kclspnqpj8"))))
(inputs
(modify-inputs (package-inputs libfabric)
(append cxi-driver-for-libfabric-1)))))
(base32 "1znmw83rmippv0fwz0x7lgylfk17dr9ckll8lrm4z7kclspnqpj8"))))))
(define-public psm
(package
@@ -12199,7 +12178,7 @@ directly by @code{make localmodconfig} as described above.")
(define-public kernel-hardening-checker
(package
(name "kernel-hardening-checker")
(version "0.6.17.1")
(version "0.6.10")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -12208,12 +12187,8 @@ directly by @code{make localmodconfig} as described above.")
(file-name (git-file-name name version))
(sha256
(base32
"04r9bbayhs1ik84908q148k9djawy69zarxw0vc31dfbf64mni62"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;no active tests, runtime only, see GitHub Actions
(native-inputs
(list python-setuptools))
"01p5wcyj4w5c4264abymhvpai7bvfy8ivspgqnrmg33qplwxl443"))))
(build-system python-build-system)
(home-page "https://github.com/a13xp0p0v/kernel-hardening-checker")
(synopsis
"Tool for checking the security hardening options of the Linux kernel")
+33 -31
View File
@@ -34550,38 +34550,40 @@ arrangements.")
(sbcl-package->clasp-package sbcl-xhtmlambda))
(define-public sbcl-xkbcommon
(package
(name "sbcl-xkbcommon")
(version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sdilts/cl-xkbcommon")
(commit version)))
(file-name (git-file-name "cl-xkbcommon" version))
(sha256
(base32 "0qkaamc8sikpn2q6z21s8249sygszj6bhd0slr8f77k9c2ph1mbb"))))
(build-system asdf-build-system/sbcl)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "xkbcommon.lisp"
(("libxkbcommon.so.0")
(search-input-file inputs "/lib/libxkbcommon.so"))))))))
(native-inputs
(list pkg-config))
(inputs
(list libxkbcommon
sbcl-cffi))
(home-page "https://github.com/sdilts/cl-xkbcommon")
(synopsis "Common Lisp FFI bindings for xkbcommon")
(description
"This package provides Common Lisp FFI bindings for xkbcommon
(let ((commit "aa9513d93f42d7816f88dd1bd8bd21375e7d7512")
(revision "0"))
(package
(name "sbcl-xkbcommon")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sdilts/cl-xkbcommon")
(commit commit)))
(file-name (git-file-name "cl-xkbcommon" version))
(sha256
(base32 "02zdbkh7yliw9vg8i8wx2xgcpfni0fr4z0w19kkxvaib8xm9rx1q"))))
(build-system asdf-build-system/sbcl)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "xkbcommon.lisp"
(("libxkbcommon.so.0")
(search-input-file inputs "/lib/libxkbcommon.so"))))))))
(native-inputs
(list pkg-config))
(inputs
(list libxkbcommon
sbcl-cffi))
(home-page "https://github.com/sdilts/cl-xkbcommon")
(synopsis "Common Lisp FFI bindings for xkbcommon")
(description
"This package provides Common Lisp FFI bindings for xkbcommon
(libxkbcommon) using cffi-grovel.")
(license license:expat)))
(license license:expat))))
(define-public cl-xkbcommon
(sbcl-package->cl-source-package sbcl-xkbcommon))
+1 -18
View File
@@ -523,12 +523,6 @@ Definition Facility.")
;; MIT License
(license license:expat)))
(define (make-clisp-tests-locales)
(make-glibc-utf8-locales
glibc
#:locales (list "de_DE" "en_US" "fr_FR" "ru_RU")
#:name "clisp-tests-locales"))
(define-public clisp
(package
(name "clisp")
@@ -545,7 +539,6 @@ Definition Facility.")
(build-system gnu-build-system)
(native-inputs
(list
(make-clisp-tests-locales)
cl-asdf
coreutils)) ;to use "cat" in a test
(inputs
@@ -600,17 +593,7 @@ Definition Facility.")
"/share/common-lisp/source/asdf/asdf.lisp"))
(contrib-asdf "modules/asdf/asdf.lisp"))
(delete-file contrib-asdf)
(copy-file guix-asdf contrib-asdf))))
(add-after 'configure 'patch-parallel-tests
(lambda _
;; Parallel runs of test are causing a lot of non-determinism
;; in clisp. This doesn't fix the non-determinism completely,
;; but it makes the package build more times than before.
;; NOTE: this doesn't seem to take much more time than
;; the parallel tests.
(substitute* "src/Makefile"
((" check-tests-parallel ") " check-tests-all "))
#t)))))
(copy-file guix-asdf contrib-asdf)))))))
(native-search-paths
(list (search-path-specification
(variable "XDG_DATA_DIRS")
+1 -1
View File
@@ -2189,7 +2189,7 @@ cling '#include <stdio.h>' 'printf(\"Hello World!\\n\");'
"-DLLVM_TARGETS_TO_BUILD=X86;ARM;AArch64;PowerPC;SystemZ;Mips"
;; Python llvm.py adds this (not build-script-impl).
;; This would also enable dump() by undefining NDEBUG.
"-DLLVM_ENABLE_ASSERTIONS=TRUE"
; FIXME: "-DLLVM_ENABLE_ASSERTIONS=TRUE"
"-DLLVM_LIT_ARGS=-sv -j 16"
(string-append "-DGCC_INSTALL_PREFIX="
(assoc-ref %build-inputs "gcc-lib"))
+6 -6
View File
@@ -434,7 +434,7 @@ with different rules and mechanics.")
(define-public luanti-mineclonia
(package
(name "luanti-mineclonia")
(version "0.118.1")
(version "0.117.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -443,18 +443,18 @@ with different rules and mechanics.")
(file-name (git-file-name name version))
(sha256
(base32
"1k9271bcf9llw5zya40dqzx8dx1086ydy2fhjnjv3pf788f6501m"))))
"0iq153dyijbfbvp30fcvbbgvca9c3c6szpw04svwc08ar4h5yvl7"))))
(build-system copy-build-system)
(arguments
`(#:install-plan
'(("." "share/luanti/games/mineclonia"))))
(home-page "https://content.luanti.org/packages/ryvnf/mineclonia/")
(synopsis "Unofficial Minecraft-like game for Luanti")
(synopsis "An unofficial Minecraft-like game for Luanti")
(description
"Mineclonia is a stable and performant clone of Minecraft,
released as free software. It aims to clone Minecraft as well as Luanti
currently permits without resorting to hacks which are too heavyweight or
complicated to maintain.")
released as free software. It aims to clone Minecraft as well as
Luanti currently permits without resorting to hacks which are too
heavyweight or complicated to maintain.")
(license license:gpl3+)))
(define-public luanti-voxelibre
+5 -9
View File
@@ -210,18 +210,14 @@ representations and sentence classification.")
(version "0.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/CamDavidsonPilon/autograd-gamma")
;; The 5.0.0 version is not tagged, but can only be this commit.
(commit "5876e0320865c592ed4a370c6a6ef282cf163480")))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "autograd-gamma" version))
(sha256
(base32 "0hpjnpw7bsy1xja4pnxx5fvv7xly72lp3hdazhr9zbmn6s7vcs19"))))
(base32 "1i699a9m5ndnj8cwzjjf2agb77aawhzrzxfbmn5zrkxridxvnypj"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
python-setuptools))
(list python-setuptools
python-wheel))
(propagated-inputs
(list python-autograd
python-scipy))
+22 -29
View File
@@ -1833,7 +1833,7 @@ pairs have previously synchronized.")
(define-public getmail6
(package
(name "getmail6")
(version "6.19.10")
(version "6.18.11")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1842,11 +1842,9 @@ pairs have previously synchronized.")
(file-name (git-file-name name version))
(sha256
(base32
"04jjyjghw07yhk9hvjhhgfam26ia9xw44z32pd3lxc47p3x7ml2v"))))
(build-system pyproject-build-system)
"0dr2grcxnn21prv6dj8sd9c68zs1fxy00wc676rnghcs4yfnb78h"))))
(build-system python-build-system)
(arguments (list #:tests? #f)) ;tests require docker
(native-inputs
(list python-setuptools))
(home-page "https://github.com/getmail6/getmail6")
(synopsis "Mail retriever")
(description
@@ -4775,17 +4773,12 @@ based on asyncio.")
(version "3.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jazzband/imaplib2/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "imaplib2" version))
(sha256
(base32 "14asi3xnvf4bb394k5j8c3by6svvmrr75pawzy6kaax5jx0h793m"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
python-setuptools))
(base32
"0nqyb274hq30agg1c0zkb5ijmcirgg35sp4dp4n292l665dlijwn"))))
(build-system python-build-system)
(home-page "https://github.com/jazzband/imaplib2/")
(synopsis "Threaded Python IMAP4 client")
(description "This package provides a threaded Python IMAP4 client, based
@@ -5061,27 +5054,27 @@ means--it's all programmable).")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0rmcwvf8whf49qq5rgp5hhmhfjli1vhjlc7fjhj24gyy1kkjir2k"))))
(build-system pyproject-build-system)
(base32
"0rmcwvf8whf49qq5rgp5hhmhfjli1vhjlc7fjhj24gyy1kkjir2k"))))
(build-system python-build-system)
(arguments
(list
#:build-backend "poetry.core.masonry.api"
#:test-backend #~'unittest
#:test-flags #~(list "discover" "test")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
(lambda _
;; Skip networking tests
(substitute* "test/test.py"
(("( *)class (:?TestSend|TestFetch).*" match indent)
(string-append indent
"@unittest.skip(\"Networking stuff skipped\")\n"
indent match)))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-directory-excursion "test"
;; Skip networking tests
(substitute* "test.py"
(("( *)class (:?TestSend|TestFetch).*" match indent)
(string-append indent
"@unittest.skip(\"Networking stuff skipped\")\n"
indent match)))
(invoke "python" "-m" "unittest")))))
(add-after 'install 'install-documentation
(lambda _
(install-file "r2e.1" (string-append #$output "share/man/man1")))))))
(native-inputs (list python-poetry-core))
(inputs
(list python-feedparser python-html2text))
(home-page "https://github.com/rss2email/rss2email")
+66 -70
View File
@@ -413,76 +413,72 @@ fledged batteries-included asyncio layer using aiohttp.")
(license license:isc)))
(define-public pantalaimon
(package
(name "pantalaimon")
(version "0.10.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/matrix-org/pantalaimon")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "07cf5k0b1i5pfplmx2p5l3ba76jjfzzcky9ylj7593k7nrm5drl3"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "tests"
;; These tests hang.
"--ignore=tests/proxy_test.py"
"-k" "not test_start_loop")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'create-pytest-ini
(lambda _
(call-with-output-file "pytest.ini"
(lambda (port)
(format port "[pytest]
asyncio_mode = auto")))))
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "setup.py"
;; Newer version is packaged.
(("\"matrix-nio\\[e2e\\] >= 0\\.24, < 0\\.25\\.2\"")
"\"matrix-nio[e2e] >= 0.24, <= 0.25.2\""))))
(add-after 'install 'install-doc
(lambda _
(with-directory-excursion "docs/man"
(let ((man (string-append #$output "/share/man")))
(install-file "panctl.1" (string-append man "/man1"))
(install-file "pantalaimon.5" (string-append man "/man5"))
(install-file "pantalaimon.8"
(string-append man "/man8")))))))))
(native-inputs
(list python-aioresponses
python-faker
python-pytest
python-pytest-aiohttp
python-pytest-asyncio
python-setuptools))
(propagated-inputs
(list python-aiohttp
python-attrs
python-cachetools
python-click
python-dbus
python-janus
python-keyring
python-logbook
python-matrix-nio
python-notify2
python-peewee
python-platformdirs
python-prompt-toolkit
python-pydbus
python-pygobject))
(home-page "https://github.com/matrix-org/pantalaimon")
(synopsis "Matrix proxy daemon that adds E2E encryption capabilities")
(description
"Pantalaimon is an end-to-end encryption aware Matrix reverse proxy
(let ((commit "257ef6a2e5e5668cd43347037c09ba036f91d997")
(revision "0"))
(package
(name "pantalaimon")
(version (git-version "0.10.5" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/matrix-org/pantalaimon")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1i18mjlc143d2xwlha09i5ny06vipmy8fii05427zq5vjz8rysgx"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "tests"
;; These tests hang.
"--ignore=tests/proxy_test.py"
"-k" "not test_start_loop")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "setup.py"
;; Newer version is packaged.
(("\"matrix-nio\\[e2e\\] >= 0\\.24, < 0\\.25\\.2\"")
"\"matrix-nio[e2e] >= 0.24, <= 0.25.2\""))))
(add-after 'install 'install-doc
(lambda _
(with-directory-excursion "docs/man"
(let ((man (string-append #$output "/share/man")))
(install-file "panctl.1" (string-append man "/man1"))
(install-file "pantalaimon.5" (string-append man "/man5"))
(install-file "pantalaimon.8"
(string-append man "/man8")))))))))
(native-inputs
(list python-aioresponses
python-faker
python-pytest
python-pytest-aiohttp
python-pytest-asyncio
python-setuptools))
(propagated-inputs
(list python-aiohttp
python-attrs
python-cachetools
python-click
python-dbus
python-janus
python-keyring
python-logbook
python-matrix-nio
python-notify2
python-peewee
python-platformdirs
python-prompt-toolkit
python-pydbus
python-pygobject))
(home-page "https://github.com/matrix-org/pantalaimon")
(synopsis "Matrix proxy daemon that adds E2E encryption capabilities")
(description
"Pantalaimon is an end-to-end encryption aware Matrix reverse proxy
daemon. Pantalaimon acts as a good man in the middle that handles the
encryption for you. Messages are transparently encrypted and decrypted for
clients inside of pantalaimon.")
(license license:asl2.0)))
(license license:asl2.0))))
+9 -21
View File
@@ -43,7 +43,7 @@
;;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu>
;;; Copyright © 2024, 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2024, 2025 Igor Goryachev <igor@goryachev.org>
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2025 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
@@ -3368,26 +3368,14 @@ Discord.")
(define-public python-pypresence
(package
(name "python-pypresence")
(version "4.6.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pypresence" version))
(sha256
(base32
"0krk217hq8m76m7n6kv60wkm9fmpm8am9kdk6yv85qdllcb9a685"))))
(build-system pyproject-build-system)
(arguments
(list
#:build-backend "setuptools.build_meta"
;; Tests are broken, complaining "fixture 'client_id' not found."
#:tests? #f))
(native-inputs
(list
python-setuptools
python-pytest
python-pytest-asyncio
python-wheel))
(version "4.2.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "pypresence" version))
(sha256
(base32
"0rp09lfxbc3syd1rhbai2516c3wyfxkzrsw8v4bd57qqr2cay7b9"))))
(build-system python-build-system)
(home-page "https://github.com/qwertyquerty/pypresence")
(synopsis "Discord RPC client")
(description "This package provides @code{python-pypresence}, a Discord
+1 -1
View File
@@ -14,7 +14,7 @@
;;; Copyright © 2022 Joeke de Graaf <joeke@posteo.net>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2025 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
+2 -2
View File
@@ -344,7 +344,7 @@ software vendors, application developers and computer science researchers.")
(define-public openmpi-5
(package
(inherit openmpi)
(version "5.0.9")
(version "5.0.8")
(source
(origin
(method url-fetch)
@@ -370,7 +370,7 @@ software vendors, application developers and computer science researchers.")
;; documentation.
(delete-file-recursively "docs/html")))
(sha256
(base32 "02yqfwv2fn9n0glprkk7dzrkrcnpfwfz5874ydx88w0iadi2gdyz"))))
(base32 "0jg423bv0gpdmgx6hgxcnpslhq55bfvb1y07axj0y9z7awd1w4sk"))))
(inputs (modify-inputs (package-inputs openmpi)
;; As of Open MPI 5.0.X, PMIx is used to communicate
-47
View File
@@ -61,7 +61,6 @@
;;; Copyright © 2024 Nikita Domnitskii <nikita@domnitskii.me>
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Junker <dk@junkeria.club>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -909,41 +908,6 @@ It is a fork of Clementine aimed at music collectors and audiophiles.")
many input formats and provides a customisable Vi-style user interface.")
(license license:gpl2+)))
(define-public ctune
(package
(name "ctune")
(version "1.3.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/An7ar35/ctune")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(patches (search-patches "ctune-cmake-disable-git-clone.patch"))
(sha256
(base32 "05gs1a1pc303qrnd1bz0z0wkzxkpm310hqznnq6zz7nl4vs3b9nz"))))
(build-system cmake-build-system)
(arguments '(#:tests? #f)) ;no check target
(native-inputs (list pkg-config
json-c
ffmpeg-6
pandoc ;for documentation
curl))
(inputs (list openssl
curl
ncurses
(list util-linux "lib") ;for libuuid
ffmpeg
pulseaudio))
(home-page "https://github.com/An7ar35/ctune")
(synopsis "Ncurses internet radio player for Linux")
(description "cTune is a ncurses based internet radio player written in C
for Linux. Aside from playing a radio stream you can search and browse stations
as well as keep a list of favourites. It uses the RadioBrowser API to search
and get radio stream information.")
(license license:agpl3+)))
(define-public denemo
(package
(name "denemo")
@@ -3172,7 +3136,6 @@ using a system-independent interface.")
(define-public python-abjad
(package
(name "python-abjad")
;; 3.19 is the last version that supports Python 3.11; newer require 3.12.
(version "3.19")
(source
(origin
@@ -3184,16 +3147,6 @@ using a system-independent interface.")
(sha256
(base32 "1cgcnmwzxx2hr21pqm1hbsknpad748yw3gf7jncsb3w1azhjypzm"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
;; Error message changed in latest python-roman; fixed in abjad 3.21.
(add-after 'unpack 'fix-docstring
(lambda _
(substitute* "abjad/string.py"
(("roman.InvalidRomanNumeralError: Invalid Roman numeral: Allegro")
"roman.InvalidRomanNumeralError...")))))))
(inputs
(list lilypond))
(native-inputs
+1 -5
View File
@@ -3256,11 +3256,7 @@ networks.")
(file-name (git-file-name name version))
(sha256
(base32 "10fazl4kwf41mk7pnwpfms16n0ii0kg9pf8r3mz9xwnl9y04mv9x"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;no tests
(native-inputs
(list python-setuptools))
(build-system python-build-system)
(home-page "https://github.com/sivel/speedtest-cli")
(synopsis "Internet bandwidth tester")
(description
+1 -3
View File
@@ -22,7 +22,6 @@
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
@@ -173,8 +172,7 @@ Helper script
"https://code.x2go.org/releases/source/x2goclient/x2goclient-"
version ".tar.gz"))
(sha256
(base32 "0g6aba8kpsixq4486a8mga945lp31y0mzwa2krs5qqiiip3v72xb"))
(patches (search-patches "x2goclient-fix-makefile.patch"))))
(base32 "0g6aba8kpsixq4486a8mga945lp31y0mzwa2krs5qqiiip3v72xb"))))
(build-system gnu-build-system)
(arguments
(list
+7 -15
View File
@@ -51,7 +51,6 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rsync)
#:use-module (gnu packages selinux)
@@ -66,7 +65,6 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python))
(define-public openldap
@@ -193,22 +191,18 @@ an LDAP server.")
(define-public python-ldap
(package
(name "python-ldap")
(version "3.4.5")
(version "3.4.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/python-ldap/python-ldap")
(commit (string-append name "-" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "python-ldap" version))
(sha256
(base32
"0gbda9lpa2kxm2xy6l4j3k3c69jh7qq77l6nf20aci4wfvj6wm52"))))
(build-system pyproject-build-system)
"1872bvrakypb96wrsf932f3xflnbqniiyf8h58x48apgl0cwa9mb"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'configure-openldap-locations
(lambda* (#:key inputs #:allow-other-keys)
(let ((slapd (search-input-file inputs "libexec/slapd"))
@@ -218,8 +212,6 @@ an LDAP server.")
(setenv "SCHEMA" schema)))))))
(inputs
(list openldap cyrus-sasl mit-krb5))
(native-inputs
(list python-pytest python-setuptools))
(propagated-inputs
(list python-pyasn1 python-pyasn1-modules))
(home-page "https://www.python-ldap.org/")
-4
View File
@@ -234,10 +234,6 @@
(string-append "--with-bash-completion-dir="
(assoc-ref %outputs "out")
"/etc/bash_completion.d")
;; TODO: Uncomment after guix is updated.
;; (string-append "--with-apparmor-profile-dir="
;; (assoc-ref %outputs "out")
;; "/etc/apparmor.d")
;; Set 'DOT_USER_PROGRAM' to the empty string so
;; we don't keep a reference to Graphviz, whose
+2 -2
View File
@@ -785,7 +785,7 @@ commonly needed services in distributed and parallel computing systems.")
(define-public prrte
(package
(name "prrte")
(version "4.0.0")
(version "3.0.6")
(source (origin
(method url-fetch)
(uri (string-append
@@ -793,7 +793,7 @@ commonly needed services in distributed and parallel computing systems.")
version "/prrte-" version ".tar.bz2"))
(sha256
(base32
"1r2dxnv3spmfd3l5is8cly2mmmc98xgm9wvvih99j35sw1hwjbiw"))))
"0wiy0vk37v4db1jgxza8bci0cczcvj34dalzsrlz05dk45zb7dl3"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
+28 -34
View File
@@ -455,7 +455,7 @@ in an encrypted database, which is locked with a master key or key file.")
(define-public pwsafe
(package
(name "pwsafe")
(version "3.70.1")
(version "3.69.0")
(home-page "https://www.pwsafe.org/")
(source
(origin
@@ -464,7 +464,7 @@ in an encrypted database, which is locked with a master key or key file.")
(url "https://github.com/pwsafe/pwsafe")
(commit version)))
(sha256
(base32 "1j3fxxbwbyhqhaqxx8jzfwq9ahx3ixh2f9zvxgcj0gs4hicaifa9"))
(base32 "0mny5jva2misv3h7frk3dyq3300wm04h4zca9bzj775qx9x12z2c"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -472,7 +472,7 @@ in an encrypted database, which is locked with a master key or key file.")
#:configure-flags
#~(list "-DGTEST_BUILD=OFF")))
(native-inputs
(list gettext-minimal googletest-1.13 perl python-wrapper zip))
(list gettext-minimal googletest-1.13 perl zip))
(inputs
(list curl
file
@@ -689,26 +689,25 @@ and vice versa.")
(define-public cracklib
(package
(name "cracklib")
(version "2.10.3")
(version "2.9.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cracklib/cracklib/")
(commit (string-append "v" version))))
(method url-fetch)
(uri (string-append "https://github.com/cracklib/cracklib/"
"releases/download/v" version "/"
"cracklib-" version ".tar.bz2"))
(sha256
(base32
"037ybxmxap39bjhfajyxnmn8612k638qilfv9r90s6qkxs6lj6ir"))
(file-name (git-file-name name version))))
(base32 "11p3f0yqg9d32g3n1qik7jfyl2l14pf8i8vzq3bpram3bqw3978z"))))
(build-system gnu-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'bootstrap 'chdir
(lambda _ (chdir "src"))))))
(native-inputs
(list autoconf automake libtool intltool))
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'install-dict
(lambda* (#:key make-flags #:allow-other-keys)
(begin
(chmod (string-append "util/cracklib-format") #o755)
(apply invoke "make" "dict" make-flags)
#t))))))
(synopsis "Password checking library")
(home-page "https://github.com/cracklib/cracklib")
(description
@@ -1390,10 +1389,9 @@ separately.")
(sha256
(base32
"1zp3a8mgqxn916fzj1v2yhgnl7v6s0vnd0qcghqs3qq648qmlwr5"))))
(build-system pyproject-build-system)
(build-system python-build-system)
(arguments
(list #:tests? #f ;no tests
#:phases
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-pass-refs
(lambda* (#:key inputs #:allow-other-keys)
@@ -1405,8 +1403,6 @@ separately.")
"'"))
(("\\.password_store")
".password-store")))))))
(native-inputs
(list python-setuptools))
(inputs (list password-store))
(propagated-inputs (list python-urwid))
(home-page "https://github.com/OliverLew/cpass")
@@ -1497,7 +1493,7 @@ program.")
(define-public pass-git-helper
(package
(name "pass-git-helper")
(version "4.1.0")
(version "4.0.0")
(source
(origin
(method git-fetch)
@@ -1507,7 +1503,7 @@ program.")
(file-name (git-file-name name version))
(sha256
(base32
"01m5vinl9qz5r4iaqj9z0jx9q13i17mkj3lax4kba2jdh5h57j40"))))
"0g56jwh3ay6is8cm4579zhaj12kj8q23pnv5rbqaw19i0xv2f0s8"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -1852,7 +1848,7 @@ group them into chains.")
(define-public zxcvbn-c
(package
(name "zxcvbn-c")
(version "2.6")
(version "2.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1861,7 +1857,7 @@ group them into chains.")
(file-name (git-file-name name version))
(sha256
(base32
"1z8l5qipzqfpg9dg7i7rdhlhswmjk06i14ffrrk3npblrjjya17w"))))
"1clm9sxz6q360xk6vq5hi3b0mq374nl958mjcfxk94l692zrpaj4"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags
@@ -2088,21 +2084,21 @@ data inside a GPG encrypted file, which we'll call a coffin.")
(define-public xkcdpass
(package
(name "xkcdpass")
(version "1.20.0")
(version "1.19.4")
(home-page "https://github.com/redacted/XKCD-password-generator")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/redacted/XKCD-password-generator")
(url home-page)
(commit (string-append "xkcdpass-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"11imgiiwd9ggkw7235hsdj9xm0rpv8s46v087mgb3ad0d8v48fqf"))))
(build-system pyproject-build-system)
"1din4fqxgcj74vcjrsmn19sv81raards39x8pd75hmfxqqgggnd6"))))
(build-system python-build-system)
(arguments
(list
#:test-backend #~'unittest
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-manpage
@@ -2110,8 +2106,6 @@ data inside a GPG encrypted file, which we'll call a coffin.")
(install-file
"xkcdpass.1"
(string-append #$output "/share/man/man1")))))))
(native-inputs (list python-setuptools))
(home-page "https://github.com/redacted/XKCD-password-generator")
(synopsis
"Generate secure multiword passwords/passphrases, inspired by XKCD")
(description
@@ -1,84 +0,0 @@
origin patch from nixos.
see: https://raw.githubusercontent.com/NixOS/nixpkgs/d916df777523d75f7c5acca79946652f032f633e/pkgs/by-name/ct/ctune/cmake_disable_git_clone.patch
diff --git a/CMakeLists.txt.orig b/CMakeLists.txt
index ac0488e..a3724bc 100644
--- a/CMakeLists.txt.orig
+++ b/CMakeLists.txt
@@ -50,14 +50,6 @@ include(FetchContent)
set(CMAKE_VERBOSE_MAKEFILE ON)
-#========================================== PRE-CHECKS ============================================#
-include(FindGit)
-find_package(Git)
-
-if (NOT Git_FOUND)
- message(FATAL_ERROR "Required package 'Git' not found on system.")
-endif ()
-
#======================================== LIB IMPORTS =============================================#
# ======= #
# OpenSSL #
@@ -65,40 +57,17 @@ endif ()
find_package(OpenSSL REQUIRED)
include_directories(${OPENSSL_INCLUDE_DIR})
-# ============== #
-# JSON-C library #
-# ============== #
-set(JSONC_DOWNLOAD_PATH "${TEMP_DIR_PATH}/libjsonc")
-set(JSONC_INSTALL_PATH "${CMAKE_EXTERNAL_OUTPUT_DIRECTORY}")
-
-add_custom_target(make-jsonc-install-dir ALL
- COMMAND ${CMAKE_COMMAND} -E make_directory ${JSONC_INSTALL_PATH}
-)
-
-ExternalProject_Add(libjsonc
- PREFIX "${JSONC_DOWNLOAD_PATH}"
- SOURCE_DIR "${JSONC_DOWNLOAD_PATH}/src/libjsonc-build"
- GIT_REPOSITORY "https://github.com/json-c/json-c.git"
- GIT_TAG "json-c-0.18-20240915"
- CMAKE_ARGS "-DBUILD_STATIC_LIBS=ON"
- "-DBUILD_SHARED_LIBS=OFF"
- "-DCMAKE_INSTALL_PREFIX:PATH=${JSONC_INSTALL_PATH}"
- "-DHAVE_ARC4RANDOM=OFF"
- "-DCMAKE_BUILD_TYPE=release"
- "-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
-)
-
-set(JSONC_LIBRARIES
- ${CMAKE_EXTERNAL_OUTPUT_DIRECTORY}/lib/libjson-c.a
-# bsd
-)
-
# ============ #
# Curl library #
# ============ #
find_package(CURL REQUIRED)
include_directories(${CURL_INCLUDE_DIR})
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(JSONC REQUIRED json-c)
+include_directories(${JSONC_INCLUDE_DIRS})
+
+
# ================================ #
# nCurses - for the user interface #
# ================================ #
@@ -410,7 +379,7 @@ add_subdirectory(docs)
#endforeach()
add_executable(ctune ${SOURCE_FILES})
-add_dependencies(ctune ctune_logger libjsonc)
+add_dependencies(ctune ctune_logger)
include_directories(${CMAKE_EXTERNAL_OUTPUT_DIRECTORY}/include)
add_dependencies(ctune ${CTUNE_PLUGIN_LIST_AUDIO_PLAYER})
@@ -450,4 +419,4 @@ if(TARGET uninstall)
add_custom_target(uninstall
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/CMakeUninstall.cmake)
-endif()
\ No newline at end of file
+endif()
@@ -1,88 +0,0 @@
diff --git a/src/dvdbackup.c b/src/dvdbackup.c
index 5888ce5..fae109d 100644
--- a/src/dvdbackup.c
+++ b/src/dvdbackup.c
@@ -1132,7 +1132,7 @@ static int DVDCopyIfoBup(dvd_reader_t* dvd, title_set_info_t* title_set_info, in
int size;
/* DVD handler */
- ifo_handle_t* ifo_file = NULL;
+ dvd_file_t* ifo_file = NULL;
if (title_set_info->number_of_title_sets + 1 < title_set) {
@@ -1181,7 +1181,7 @@ static int DVDCopyIfoBup(dvd_reader_t* dvd, title_set_info_t* title_set_info, in
if ((streamout_ifo = open(targetname_ifo, O_WRONLY | O_CREAT | O_TRUNC, 0666)) == -1) {
fprintf(stderr, _("Error creating %s\n"), targetname_ifo);
perror(PACKAGE);
- ifoClose(ifo_file);
+ DVDCloseFile(ifo_file);
free(buffer);
close(streamout_ifo);
close(streamout_bup);
@@ -1191,7 +1191,7 @@ static int DVDCopyIfoBup(dvd_reader_t* dvd, title_set_info_t* title_set_info, in
if ((streamout_bup = open(targetname_bup, O_WRONLY | O_CREAT | O_TRUNC, 0666)) == -1) {
fprintf(stderr, _("Error creating %s\n"), targetname_bup);
perror(PACKAGE);
- ifoClose(ifo_file);
+ DVDCloseFile(ifo_file);
free(buffer);
close(streamout_ifo);
close(streamout_bup);
@@ -1200,31 +1200,31 @@ static int DVDCopyIfoBup(dvd_reader_t* dvd, title_set_info_t* title_set_info, in
/* Copy VIDEO_TS.IFO, since it's a small file try to copy it in one shot */
- if ((ifo_file = ifoOpen(dvd, title_set))== 0) {
+ if ((ifo_file = DVDOpenFile(dvd, title_set, DVD_READ_INFO_FILE))== 0) {
fprintf(stderr, _("Failed opening IFO for title set %d\n"), title_set);
- ifoClose(ifo_file);
+ DVDCloseFile(ifo_file);
free(buffer);
close(streamout_ifo);
close(streamout_bup);
return 1;
}
- size = DVDFileSize(ifo_file->file) * DVD_VIDEO_LB_LEN;
+ size = DVDFileSize(ifo_file) * DVD_VIDEO_LB_LEN;
if ((buffer = (unsigned char *)malloc(size * sizeof(unsigned char))) == NULL) {
perror(PACKAGE);
- ifoClose(ifo_file);
+ DVDCloseFile(ifo_file);
free(buffer);
close(streamout_ifo);
close(streamout_bup);
return 1;
}
- DVDFileSeek(ifo_file->file, 0);
+ DVDFileSeek(ifo_file, 0);
- if (DVDReadBytes(ifo_file->file,buffer,size) != size) {
+ if (DVDReadBytes(ifo_file,buffer,size) != size) {
fprintf(stderr, _("Error reading IFO for title set %d\n"), title_set);
- ifoClose(ifo_file);
+ DVDCloseFile(ifo_file);
free(buffer);
close(streamout_ifo);
close(streamout_bup);
@@ -1234,7 +1234,7 @@ static int DVDCopyIfoBup(dvd_reader_t* dvd, title_set_info_t* title_set_info, in
if (write(streamout_ifo,buffer,size) != size) {
fprintf(stderr, _("Error writing %s\n"),targetname_ifo);
- ifoClose(ifo_file);
+ DVDCloseFile(ifo_file);
free(buffer);
close(streamout_ifo);
close(streamout_bup);
@@ -1243,7 +1243,7 @@ static int DVDCopyIfoBup(dvd_reader_t* dvd, title_set_info_t* title_set_info, in
if (write(streamout_bup,buffer,size) != size) {
fprintf(stderr, _("Error writing %s\n"),targetname_bup);
- ifoClose(ifo_file);
+ DVDCloseFile(ifo_file);
free(buffer);
close(streamout_ifo);
close(streamout_bup);
@@ -1,28 +0,0 @@
Upstream status: https://lists.gnu.org/archive/html/bug-hurd/2025-12/msg00019.html
From 382c796742dad624d958ac283a7fb10960c742b1 Mon Sep 17 00:00:00 2001
From: Yelninei <yelninei@tutamail.com>
Date: Sat, 13 Dec 2025 17:55:08 +0000
Subject: [PATCH] proc: Also check whether the last child is already dead.
* proc/mgt.c (process_has_exited): Repeat check for the last child too.
---
proc/mgt.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/proc/mgt.c b/proc/mgt.c
index 3f04e2ba..dcb619af 100644
--- a/proc/mgt.c
+++ b/proc/mgt.c
@@ -1102,6 +1102,8 @@ process_has_exited (struct proc *p)
1, tp->p_pgrp->pg_pgid,
!tp->p_pgrp->pg_orphcnt);
tp->p_parent = reparent_to;
+ if (tp->p_dead)
+ isdead = 1;
/* And now append the lists. */
tp->p_sib = reparent_to->p_ochild;
--
2.52.0
@@ -1,22 +0,0 @@
Inspired by
https://github.com/gentoo/gentoo/commit/2ad1ddf9b8b0e0b1f91fc3dd9412ad2f9c1346c3
see also
https://dev.gnupg.org/rMecd0c86d62351d267bdc9566286c532a394c711b
Gemeinsame Unterverzeichnisse: gpg-1.10.0.alt/examples und gpg-1.10.0/examples.
Gemeinsame Unterverzeichnisse: gpg-1.10.0.alt/gpg und gpg-1.10.0/gpg.
diff -u gpg-1.10.0.alt/setup.py gpg-1.10.0/setup.py
--- gpg-1.10.0.alt/setup.py 2025-12-13 21:18:02.595203761 +0100
+++ gpg-1.10.0/setup.py 2025-12-13 21:19:42.624197460 +0100
@@ -220,9 +220,9 @@
def run(self):
self._generate()
- swig_sources.extend((self._in_build_base('gpgme.i'), self._in_build_base('helpers.c')))
- swig_opts.extend(['-I' + self.build_base,
- '-outdir', os.path.join(self.build_lib, 'gpg')])
+ swige.sources.extend((self._in_build_base('gpgme.i'), self._in_build_base('helpers.c')))
+ swige.swig_opts.extend(['-I' + self.build_base,
+ '-outdir', os.path.join(self.build_lib, 'gpg')])
include_dirs.insert(0, self.build_base)
self.run_command('build_ext')
@@ -1,28 +0,0 @@
Add the full name for libvulkan.so.1 so that we can patch it in the 'build phase.
Not sent upstream.
diff --git a/src/gui/vulkan/qbasicvulkanplatforminstance.cpp b/src/gui/vulkan/qbasicvulkanplatforminstance.cpp
index 47d9a7e9..80c929e5 100644
--- a/src/gui/vulkan/qbasicvulkanplatforminstance.cpp
+++ b/src/gui/vulkan/qbasicvulkanplatforminstance.cpp
@@ -45,7 +45,7 @@ QBasicPlatformVulkanInstance::~QBasicPlatformVulkanInstance()
void QBasicPlatformVulkanInstance::loadVulkanLibrary(const QString &defaultLibraryName, int defaultLibraryVersion)
{
- QVarLengthArray<std::pair<QString, int>, 3> loadList;
+ QVarLengthArray<std::pair<QString, int>, 4> loadList;
// First in the list of libraries to try is the manual override, relevant on
// embedded systems without a Vulkan loader and possibly with custom vendor
@@ -63,6 +63,11 @@ void QBasicPlatformVulkanInstance::loadVulkanLibrary(const QString &defaultLibra
if (defaultLibraryVersion >= 0)
loadList.append({ defaultLibraryName, -1 });
+#ifdef __linux__
+ // As a fallback we append to the list the full default name of libvulkan.
+ loadList.append({ QString::fromUtf8("libvulkan.so.1"), -1 });
+#endif
+
bool ok = false;
for (const auto &lib : loadList) {
m_vulkanLib.reset(new QLibrary);

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