1
0
forked from tribes/guix

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
295 changed files with 7769 additions and 21351 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 -2
View File
@@ -129,7 +129,7 @@ guix/build/gnu-build-system\.scm @guix/core-packages
guix/build/utils\.scm @guix/core-packages
guix/build-system/gnu\.scm @guix/core-packages
gnu/packages/(.*-|)crypto\.scm$ @guix/crypto
gnu/packages/crypto\.scm @guix/crypto
gnu/packages/gnupg\.scm @guix/crypto
gnu/packages/nettle\.scm @guix/crypto
gnu/packages/password-utils\.scm @guix/crypto
@@ -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])
+1 -5
View File
@@ -134,11 +134,7 @@ C++11 standard.
@section Building from Git
If you want to hack Guix itself, it is recommended to use the latest
version from the Git repository@footnote{
Guix uses @code{master} as the default branch name. A proposal in 2025 to
change the default branch name to @code{main} did not reach consensus.
See @uref{https://codeberg.org/guix/guix-consensus-documents/src/branch/main/003-rename-default-branch.md,
Guix Consensus Document 003}.}:
version from the Git repository:
@example
git clone https://git.guix.gnu.org/guix.git
+29 -112
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
@@ -18941,8 +18898,8 @@ given location at the time of the unlock attempt.
;; Following definition would be equivalent to running:
;; cryptsetup open --key-file /crypto.key /dev/sdb1 data
(mapped-device
(source "/dev/sdb1")
(target "data")
(source "/dev/sdb1)
(target "data)
(type luks-device-mapping)
(arguments '(#:key-file "/crypto.key")))
@end lisp
@@ -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
内核系列现已成为默认版本")))
+13 -22
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")))
@@ -977,13 +976,14 @@ release."
#:name "Crypto team"
#:description
"Secrets, passwords, cryptography and security related packages."
#:scope (list (make-regexp* "^gnu/packages/(.*-|)crypto\\.scm$")
"gnu/packages/gnupg.scm"
"gnu/packages/nettle.scm"
"gnu/packages/password-utils.scm"
"gnu/packages/security-token.scm"
"gnu/packages/ssh.scm"
"gnu/packages/tls.scm")))
#:scope (list
"gnu/packages/crypto.scm"
"gnu/packages/gnupg.scm"
"gnu/packages/nettle.scm"
"gnu/packages/password-utils.scm"
"gnu/packages/security-token.scm"
"gnu/packages/ssh.scm"
"gnu/packages/tls.scm")))
(define-team science
(team 'science
@@ -1276,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"
@@ -1327,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"
@@ -1391,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"
@@ -1408,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 -1
View File
@@ -91,7 +91,7 @@ each retry."
((sleep*) delay) ;else wait and retry
(loop (+ 1 attempts)))
(error "maximum number of retry attempts reached"
(quote (begin body ...)) args))))))
(quote body ...) args))))))
;;;
+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)
+10 -18
View File
@@ -35,7 +35,7 @@
# Copyright © 2020 Ryan Prior <rprior@protonmail.com>
# Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
# Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
# Copyright © 2020, 2023, 2025 Tanguy Le Carrour <tanguy@bioneland.org>
# Copyright © 2020, 2023 Tanguy Le Carrour <tanguy@bioneland.org>
# Copyright © 2020 Martin Becze <mjbecze@riseup.net>
# Copyright © 2020 Malte Frank Gerdes <mate.f.gerdes@gmail.com>
# Copyright © 2020, 2023 Vinicius Monego <monego@posteo.net>
@@ -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.
#
@@ -343,7 +342,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gperf.scm \
%D%/packages/gpodder.scm \
%D%/packages/gps.scm \
%D%/packages/graal.scm \
%D%/packages/graph.scm \
%D%/packages/graphics.scm \
%D%/packages/graphviz.scm \
@@ -359,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 \
@@ -698,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 \
@@ -804,7 +802,6 @@ GNU_SYSTEM_MODULES = \
%D%/system/uuid.scm \
%D%/system/vm.scm \
\
%D%/system/images/a20-olinuxino-lime2.scm \
%D%/system/images/hurd.scm \
%D%/system/images/novena.scm \
%D%/system/images/orangepi-r1-plus-lts-rk3328.scm \
@@ -1089,7 +1086,8 @@ dist_patch_DATA = \
%D%/packages/patches/cdparanoia-fpic.patch \
%D%/packages/patches/cdrkit-libre-cross-compile.patch \
%D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \
%D%/packages/patches/ceph-fix-cmake.patch \
%D%/packages/patches/ceph-disable-cpu-optimizations.patch \
%D%/packages/patches/ceph-fix-for-newer-boost.patch \
%D%/packages/patches/cf-tool-add-languages.patch \
%D%/packages/patches/chmlib-inttypes.patch \
%D%/packages/patches/cl-asdf-config-directories.patch \
@@ -1145,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 \
@@ -1202,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 \
@@ -1524,7 +1520,6 @@ dist_patch_DATA = \
%D%/packages/patches/gpaste-fix-paths.patch \
%D%/packages/patches/gpm-glibc-2.26.patch \
%D%/packages/patches/gpodder-disable-updater.patch \
%D%/packages/patches/graalvm-mx-check-failed-after-join.patch \
%D%/packages/patches/grantlee-fix-i586-precision.patch \
%D%/packages/patches/grantlee-register-metaenumvariable.patch \
%D%/packages/patches/grep-timing-sensitive-test.patch \
@@ -1597,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 \
@@ -1882,6 +1876,8 @@ dist_patch_DATA = \
%D%/packages/patches/mpc123-initialize-ao.patch \
%D%/packages/patches/mpg321-CVE-2019-14247.patch \
%D%/packages/patches/mpg321-gcc-10.patch \
%D%/packages/patches/mpv-0.40.0-fix-ffmpeg-8.0.patch \
%D%/packages/patches/mpv-0.40.0-fix-wayland-cpu-usage.patch \
%D%/packages/patches/modglue-fix-build.patch \
%D%/packages/patches/modem-manager-fix-test-wrapper.patch \
%D%/packages/patches/module-init-tools-moduledir.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 \
@@ -2483,16 +2476,15 @@ dist_patch_DATA = \
%D%/packages/patches/wmctrl-64-fix.patch \
%D%/packages/patches/wmfire-dont-inline-draw-fire.patch \
%D%/packages/patches/wmfire-update-for-new-gdk-versions.patch \
%D%/packages/patches/woof-doom-unbundle-spng-miniz.patch \
%D%/packages/patches/wordnet-CVE-2008-2149.patch \
%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 \
+24 -22
View File
@@ -30,13 +30,10 @@
#:use-module (gnu packages check)
#:use-module (gnu packages gettext)
#:use-module (gnu packages perl)
#:use-module (gnu packages python-build)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (gnu packages)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix utils))
@@ -98,28 +95,33 @@
(define-public python-pylibacl
(package
(name "python-pylibacl")
(version "0.7.3")
(version "0.6.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pylibacl" version))
(sha256
(base32 "08pr5cbipij3j591bihh72r5h14lyrspy24qwmfjsn0c1rcgp7wx"))))
(build-system pyproject-build-system)
(origin
(method url-fetch)
(uri (pypi-uri "pylibacl" version))
(sha256
(base32
"1zyrk2m20p5b6bdwxhrwib273i6i71zyr5hzssbxfqis5qra9848"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-tests
(lambda* (#:key outputs inputs #:allow-other-keys)
;; These tests operate on real files, but our tmpfs does not support
;; ACLs.
(substitute* "tests/test_acls.py"
(("( *)def test_applyto(_extended(_mixed)?)?" match indent)
(string-append indent "@pytest.mark.skip(reason=\"guix\")\n"
match))))))))
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-tests
(lambda* (#:key outputs inputs #:allow-other-keys)
;; These tests operate on real files, but our tmpfs does not support
;; ACLs.
(substitute* "tests/test_acls.py"
(("( *)def test_applyto(_extended(_mixed)?)?" match indent)
(string-append indent "@pytest.mark.skip(reason=\"guix\")\n"
match)))))
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "tests")))))))
(inputs (list acl))
(native-inputs (list python-pytest python-setuptools))
(native-inputs (list python-pytest))
(home-page "https://pylibacl.k1024.org/")
(synopsis "POSIX.1e @acronym{ACLs, access control lists} for Python")
(description
+10 -76
View File
@@ -78,7 +78,6 @@
;;; Copyright © 2024 nik gaffney <nik@fo.am>
;;; Copyright © 2025 Simon Streit <simon@netpanic.org>
;;; Copyright © 2025 Luca Kredel <luca.kredel@web.de>
;;; Copyright © 2025 ROCKTAKEY <rocktakey@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -606,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"
@@ -3374,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
@@ -6951,41 +6920,6 @@ with which other processes. It provides more usable versions of @command{ps},
network, which causes enabled computers to power on.")
(license license:gpl2+)))
(define-public witr
(package
(name "witr")
(version "0.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pranshuparmar/witr")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "016yiwn0b00ynllka6h2w6gk2yjzj5nx2xf26shb0cz4crdwww0d"))))
(build-system go-build-system)
(arguments
(list
#:install-source? #f
#:import-path "github.com/pranshuparmar/witr/cmd/witr"
#:unpack-path "github.com/pranshuparmar/witr"
#:build-flags #~(list "-ldflags"
(string-append "-X main.version=" #$version))))
(home-page "https://github.com/pranshuparmar/witr")
(synopsis "Utility to show why the process is running")
(description
"The @dfn{witr} (why-is-this-running), is a utility to show:
@enumerate
@item What is running?
@item How did it start?
@item What is keeping it running?
@item What context does it belong to?
@end enumerate
It shows which process uses the port, and its information like process tree,
working directory, user, pid, command, and so on.")
(license license:asl2.0)))
(define-public xfel
(package
(name "xfel")
-32
View File
@@ -300,38 +300,6 @@ barcodes of the modern ECC200 variety. libdmtx is a shared library, allowing
C/C++ programs to use its capabilities without restrictions or overhead.")
(license license:bsd-3)))
(define-public dmtx-utils
(package
(name "dmtx-utils")
(version "0.7.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dmtx/dmtx-utils/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
"06m3qncqdlcnmw83n95yrx2alaq6bld320ax26z4ndnla41yk0p4")))
(build-system gnu-build-system)
(native-inputs (list autoconf automake libtool pkg-config))
(inputs (list libdmtx imagemagick libjpeg-turbo))
(home-page "https://github.com/dmtx/dmtx-utils/")
(synopsis "Utilities for working with Data Matrix barcodes")
(description
"libdmtx is a software library that enables programs to read and write Data
Matrix barcodes of the modern ECC200 variety. This package, dmtx-utils,
provides command line utilities that allow scripts and command line users to
use libdmtx functionality.
This package includes the following programs:
@enumerate
@item @code{dmtxquery}: Extract information from dmtxread output.
@item @code{dmtxread}: Scan Data Matrix barcodes.
@item @code{dmtxwrite}: Create Data Matrix barcodes.
@end enumerate")
(license (list license:lgpl2.1 license:gpl2))))
;; XXX: qt variant utils are broken: zbarcam-qt fails with segmentation fault.
(define-public zbar
(package
+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
+168 -320
View File
File diff suppressed because it is too large Load Diff
+6 -41
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
@@ -4654,21 +4654,21 @@ tempo and pitch of an audio recording independently of one another.")
(define-public rtmidi
(package
(name "rtmidi")
(version "6.0.0")
(version "5.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://caml.music.mcgill.ca/~gary/rtmidi"
(uri (string-append "https://www.music.mcgill.ca/~gary/rtmidi"
"/release/rtmidi-" version ".tar.gz"))
(file-name (string-append "rtmidi-" version ".tar.gz"))
(sha256
(base32
"0nyvck6qlncbfpplgxspjk77fmi05w78ik0cf8039hj29gvcqq2r"))))
"1ff2yfq3k4l209fr71v3w98fpjjv1chs09vkbmxj03lcikahxns8"))))
(build-system gnu-build-system)
(inputs
(list alsa-lib jack-2))
(native-inputs
(list autoconf automake libtool pkg-config))
(home-page "https://caml.music.mcgill.ca/~gary/rtmidi")
(home-page "https://www.music.mcgill.ca/~gary/rtmidi")
(synopsis "Cross-platform MIDI library for C++")
(description
"RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific
@@ -6194,41 +6194,6 @@ the following features:
")
(license license:lgpl3+)))
(define-public normalize
(package
(name "normalize")
(version "0.7.7")
(source
(origin
(method url-fetch)
(uri (string-append
"http://download.savannah.gnu.org/releases/normalize/normalize-"
version ".tar.gz"))
(sha256
(base32 "1n5khss10vjjp6w69q9qcl4kqfkd0pr555lgqghrchn6rjms4mb0"))))
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-shell-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "test/Makefile.in"
(("/bin/sh")
(search-input-file inputs "/bin/sh"))))))))
(inputs (list libmad))
(home-page "https://normalize.nongnu.org/")
(synopsis "Audio track volume normalizer")
(description
"@code{normalize} is an audio track normalizer.
For a collection of tracks with varying volumes, it is able to
make the loudness consistent between them. This is helpful
when making mixtapes, for example.
It can work with WAV and MP3 files.")
(license license:gpl2)))
(define-public lv2-speech-denoiser
(let ((commit "04cfba929630404f8d4f4ca5bac8d9b09a99152f")
(revision "1"))
+31 -34
View File
@@ -574,13 +574,13 @@ rsnapshot uses hard links to deduplicate identical files.")
(define-public borg
(package
(name "borg")
(version "1.4.3")
(version "1.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "borgbackup" version))
(sha256
(base32 "07s4jqcv03s98hi6lvqpvmnnhl532qnvv11mjy2xc08rbmsgmfvr"))
(base32 "0f9qj05i02aj17lhk97fqyknb1jx3h9xr8d569mhp44xq7qziyxq"))
(snippet
#~(begin
;; Delete files generated by Cython. We used to have a regex that
@@ -1209,42 +1209,39 @@ compression parameters used by Gzip.")
(define-public borgmatic
(package
(name "borgmatic")
(version "2.0.13")
(version "2.0.7")
(source
(origin
;; PyPI archive does not contain NEWS file needed for one test.
(method git-fetch)
(uri (git-reference
(url "https://projects.torsion.org/borgmatic-collective/borgmatic")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "borgmatic" version))
(sha256
(base32
"05w3j4knhsg4w0a0yrz8c7lvz3vp3nf95ddmql9i8mqknjqddm1v"))))
(base32 "01l44ny2zyn7x1hhbvhhhwr12jipcjxl3j1cz13kf6c3bdfwms8y"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'configure
(lambda* (#:key inputs #:allow-other-keys)
;; Set absolute store path to borg.
(substitute* "borgmatic/commands/borgmatic.py"
(("\\.get\\('local_path', 'borg'\\)")
(string-append ".get('local_path', '"
(search-input-file inputs "bin/borg")
"')")))
(substitute* "tests/unit/commands/test_borgmatic.py"
(("(module.get_local_path.+ == )'borg'" all start)
(string-append start "'"
(search-input-file inputs "bin/borg")
"'")))))
(add-before 'check 'set-path
(lambda _
;; Tests require the installed executable.
(setenv "PATH"
(string-append #$output "/bin" ":"
(getenv "PATH"))))))))
;; XXX: all tests fail with error: AttributeError: module
;; '_pytest.runner' has no attribute 'call_runtest_hook'.
#:tests? #f
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'configure
(lambda* (#:key inputs #:allow-other-keys)
;; Set absolute store path to borg.
(substitute* "borgmatic/commands/borgmatic.py"
(("\\.get\\('local_path', 'borg'\\)")
(string-append ".get('local_path', '"
(search-input-file inputs "bin/borg")
"')")))
(substitute* "tests/unit/commands/test_borgmatic.py"
(("(module.get_local_path.+ == )'borg'" all start)
(string-append start "'"
(search-input-file inputs "bin/borg")
"'")))))
(add-before 'check 'set-path
(lambda _
;; Tests require the installed executable.
(setenv "PATH"
(string-append #$output "/bin" ":"
(getenv "PATH"))))))))
(native-inputs
(list python-flexmock
python-pytest
@@ -1269,7 +1266,7 @@ borgmatic is powered by borg.")
(define-public vorta
(package
(name "vorta")
(version "0.11.1")
(version "0.10.3")
;; The test folder is not included in the PyPI archive.
(source (origin
(method git-fetch)
@@ -1279,7 +1276,7 @@ borgmatic is powered by borg.")
(file-name (git-file-name name version))
(sha256
(base32
"16r9ch80i6nfngah634id16fqnmn62ayh60j62zxn5cfivcn3wsq"))))
"0b4042a0lpbmwlmbh5559b2x9vr2055w6jjrs7088n45d7rkn4sn"))))
(build-system pyproject-build-system)
(arguments
(list
+34 -59
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
@@ -16242,11 +16241,9 @@ applications for tackling some common problems in a user-friendly way.")
(sha256
(base32
"07q0alxah6xl1hibaj1kj7pdzq3pg6csyapsihbwlbmqyfmllbgz"))))
(build-system pyproject-build-system)
(build-system python-build-system)
(arguments
(list
#:test-backend #~'custom
#:test-flags #~(list "test/test_all.py")
#:phases
#~(modify-phases %standard-phases
;; Scipy 1.12 no longer has binom_test or polyfit
@@ -16275,12 +16272,15 @@ applications for tackling some common problems in a user-friendly way.")
(string-append "(\"" #$output
"/etc/bash_completion.d\""))
(("extras/\\.bash_completion")
"extras/tadbit")))))))
"extras/tadbit"))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "python3" "test/test_all.py")))))))
(native-inputs
(list `(,glib "bin") ;for gtester
glib
pkg-config
python-setuptools))
pkg-config))
(inputs
;; TODO: add Chimera for visualization
(list imp
@@ -18686,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
@@ -20111,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
@@ -20124,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
@@ -20140,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")
@@ -21060,24 +21046,15 @@ polymorphisms) and indels with respect to a reference genome and more.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/etal/cnvkit")
(commit (string-append "v" version))))
(url "https://github.com/etal/cnvkit")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "090yh17symcahddx399kcx0mcw4gdrcc2jil3p8lb92r8c8kglb5"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 70 passed, 1 warning
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-pytest-config
(lambda _
(substitute* "pyproject.toml"
(("filterwarnings =.*")
"")))))))
(propagated-inputs
(list python-biopython
python-future
python-matplotlib
python-numpy
python-pandas
@@ -23925,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
+27 -16
View File
@@ -226,7 +226,7 @@ of the Transmission BitTorrent client, using its HTTP RPC protocol.")
(define-public stig
(package
(name "stig")
(version "0.14.1a0")
(version "0.14.0a0")
(source
(origin
(method git-fetch)
@@ -235,18 +235,7 @@ of the Transmission BitTorrent client, using its HTTP RPC protocol.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0196brcasdyn0mx3h2cqlgrx8x9fyv2n7bmx13nj58vnf3y4c1hg"))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;tests require network access
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'loosen-version-restrictions
(lambda _
(substitute* "setup.py"
(("urwidtrees==1.0.3")
"urwidtrees>=1.0.3")))))))
(base32 "1jfcgncva94pyzjifar1l6wlmb7aylg0l4fxljc83rkbj1a2aan0"))))
(propagated-inputs
(list python-urwid
python-urwidtrees
@@ -257,12 +246,20 @@ of the Transmission BitTorrent client, using its HTTP RPC protocol.")
python-natsort
python-async-timeout
python-setproctitle))
(arguments
(list
#:tests? #f ;tests require network access
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'loosen-version-restrictions
(lambda _
(substitute* "setup.py"
(("urwidtrees==1.0.3") "urwidtrees>=1.0.3")))))))
(inputs (list python))
(native-inputs (list python-setuptools))
(build-system python-build-system)
(synopsis "TUI and CLI for the BitTorrent client Transmission")
(description
"Stig is a @acronym{TUI, Text User Interface} and @acronym{CLI, Command
Line Interface} client for the BitTorrent client Transmission.")
"Stig is a @acronym{TUI, Text User Interface} and @acronym{CLI, Command Line
Interface} client for the BitTorrent client Transmission.")
(home-page "https://github.com/rndusr/stig")
(license l:gpl3)))
@@ -540,6 +537,20 @@ focusing on efficiency and scalability. It runs on embedded devices as well as
desktops.")
(license l:bsd-2)))
(define-public libtorrent-rasterbar-1.2
(package
(inherit libtorrent-rasterbar)
(version "1.2.20")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/arvidn/libtorrent/"
"releases/download/v" version "/"
"libtorrent-rasterbar-" version ".tar.gz"))
(sha256
(base32 "1z5rdynzxcm6wb7v48ssfbwjairbjacb8rjix5fn70fw4668xgyc"))))))
(define-public qbittorrent
(package
(name "qbittorrent")
+7 -4
View File
@@ -159,6 +159,9 @@ core computer science concepts such as abstraction in programming,
metalinguistic abstraction, recursion, interpreters, and modular programming.")
(license license:cc-by-sa4.0))))
;; It may be removed after 2025-12-19.
(define-deprecated/public-alias sicp book-sicp)
(define-public book-sparc
(package
(name "book-sparc")
@@ -335,7 +338,7 @@ parallel study, and original language study.")
(define-public book-emacs-lisp-elements
(package
(name "book-emacs-lisp-elements")
(version "2.0.1")
(version "1.0.0")
(source
(origin
(method git-fetch)
@@ -344,7 +347,7 @@ parallel study, and original language study.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0774zycgx3zspn6f8pszap1751xgrlv2h3x66kksnj589nfnwzil"))))
(base32 "1fwbj2hrb33blknxd3qrm7jjs2ixrbyc77788i37qvn6v1y741ry"))))
(build-system emacs-build-system)
(arguments
(list
@@ -358,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.
+1 -16
View File
@@ -8,7 +8,7 @@
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 2020, 2023, 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2018, 2020, 2023 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019, 2020 Giacomo Leidi <therewasa@fishinthecalculator.me>
@@ -239,21 +239,6 @@ across a broad spectrum of applications.")
(license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt"
"Some components have other similar licences."))))
(define-public boost-1.88
(package
(inherit boost)
(name "boost")
(version "1.88.0")
(source (origin
(inherit (package-source boost))
(uri (string-append
"https://archives.boost.io/release/"
version "/source/boost_"
(version-with-underscores version) ".tar.bz2"))
(sha256
(base32
"0yrgn6syk260ckq9ld44vjv1bl6bamhy3jbp10kikcipcv0d5na6"))))))
(define-public boost-1.83
(hidden-package (package (inherit boost)
(name "boost")
+68 -63
View File
@@ -2,7 +2,6 @@
;;; Copyright © 2022 Christopher Rodriguez <yewscion@gmail.com>
;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2025 Lee Thompson <lee.p.thomp@gmail.com>
;;; © 2025 case_lambda <case_lambda@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,71 +36,77 @@
#:use-module (gnu packages compression))
(define-public dbqn
(package
(name "dbqn")
(version "0.2.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dzaima/BQN")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1zy3y9wbmaw0mrd2sp7d1r912gvs9k0mzw5d3drgmbzkbvpd6iq1"))))
(build-system gnu-build-system)
(arguments
(list
#:imported-modules `((guix build ant-build-system)
,@%default-gnu-imported-modules)
#:modules '((guix build gnu-build-system)
((guix build ant-build-system)
#:prefix ant:)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda _
(invoke "./build")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(if tests?
(invoke "./BQN" "./test/test")
(begin
(display "test suite not run")
(newline)))))
(add-after 'install 'reorder-jar-content
(assoc-ref ant:%standard-phases
'reorder-jar-content))
(add-after 'reorder-jar-content 'generate-jar-indices
(assoc-ref ant:%standard-phases
'generate-jar-indices))
(add-after 'generate-jar-indices 'strip-jar-timestamps
(assoc-ref ant:%standard-phases
'strip-jar-timestamps))
(replace 'install
(lambda* (#:key inputs #:allow-other-keys)
(let ((dest-jar (string-append #$output "/share/java")))
(rename-file "BQN" "dbqn")
(substitute* "dbqn"
(("java")
(search-input-file inputs "/bin/java"))
(("BQN.jar")
(string-append dest-jar "/BQN.jar")))
(install-file "BQN.jar" dest-jar)
(install-file "dbqn"
(string-append #$output "/bin"))))))))
(native-inputs (list `(,icedtea-8 "jdk") zip))
(inputs (list bash-minimal icedtea-8))
(synopsis "BQN implementation based on dzaima/APL")
(description
"dbqn is a Java implementation of the
(let ((commit "88f2b43966a75cc2c382421218eb30003bb16f4a")
(revision "1"))
(package
(name "dbqn")
(version (git-version "0.2.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dzaima/BQN")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"06mzvv7kmandhgwb6jwz3rivsj4ic549sy8afnb5zr6mfn5isyg5"))))
(build-system gnu-build-system)
(arguments
(list
#:imported-modules `(,@%default-gnu-imported-modules
(guix build ant-build-system))
#:modules `((guix build gnu-build-system)
((guix build ant-build-system)
#:prefix ant:)
(guix build utils))
#:phases #~(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* _
(invoke "./build")
(chmod "./BQN" #o755)))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(system "./BQN ./test/test"))))
(add-after 'install 'reorder-jar-content
(lambda* (#:key outputs #:allow-other-keys)
(apply (assoc-ref ant:%standard-phases
'reorder-jar-content)
#:outputs (list outputs))))
(add-after 'reorder-jar-content 'jar-indices
(lambda* (#:key outputs #:allow-other-keys)
(apply (assoc-ref ant:%standard-phases
'generate-jar-indices)
#:outputs (list outputs))))
(add-after 'jar-indices 'fix-jar-timestamps
(lambda* (#:key outputs #:allow-other-keys)
(apply (assoc-ref ant:%standard-phases
'reorder-jar-content)
#:outputs (list outputs))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(dest-bin (string-append out "/bin"))
(dest-jar (string-append out "/share/java")))
(mkdir-p dest-bin)
(mkdir-p dest-jar)
(rename-file "BQN" "dbqn")
(install-file "dbqn" dest-bin)
(install-file "BQN.jar" dest-jar)
(substitute* (string-append dest-bin "/dbqn")
(("BQN.jar")
(string-append dest-jar "/BQN.jar")))))))))
(native-inputs (list `(,icedtea-8 "jdk") zip))
(inputs (list icedtea-8 bash-minimal))
(synopsis "BQN implementation based on dzaima/APL")
(description
"dbqn is a Java implementation of the
@uref{https://mlochbaum.github.io/BQN/, BQN programming language} that does
not need to be bootstrapped, based on an earlier Java implementation of APL by
the same author.")
(home-page "https://github.com/dzaima/BQN")
(license license:expat)))
(home-page "https://github.com/dzaima/BQN")
(license license:expat))))
(define bqn-sources
;; Aside from dbqn above, the main bqn repository is used by other
-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")
+12 -17
View File
@@ -51,7 +51,6 @@
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix store)
#:use-module (gnu packages)
@@ -73,7 +72,6 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pcre)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages autotools)
#:use-module (gnu packages gettext)
@@ -468,26 +466,23 @@ language as input.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1rihvlg11nzk70kfzz4i3gi5izcy46w05ismcx04p5j1hlim0brb"))))
(build-system pyproject-build-system)
(base32
"1rihvlg11nzk70kfzz4i3gi5izcy46w05ismcx04p5j1hlim0brb"))))
(build-system python-build-system)
(arguments
(list
#:test-backend #~'unittest
#:test-flags #~(list "discover" "-s" "tests" "-p" "*.py")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'unbundle-ply
(lambda _
(rmdir "pcpp/ply")
(substitute* "setup.py"
(("'pcpp/ply/ply'")
"")))))))
(native-inputs (list python-setuptools))
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'unbundle-ply
(lambda _
(rmdir "pcpp/ply")
(substitute* "setup.py"
(("'pcpp/ply/ply'") "")))))))
(native-inputs (list python-pytest))
(propagated-inputs (list python-ply))
(home-page "https://github.com/ned14/pcpp")
(synopsis "C99 preprocessor written in Python")
(description
"This package provides a C99 preprocessor written in pure Python.")
(description "This package provides a C99 preprocessor written in pure
Python.")
(license license:bsd-3)))
(define-public aml
+92 -18
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
@@ -1008,7 +995,7 @@ has been designed to be fast, light and unintrusive.")
(define-public kyua
(package
(name "kyua")
(version "0.14.1")
(version "0.13")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1017,7 +1004,7 @@ has been designed to be fast, light and unintrusive.")
(file-name (git-file-name name version))
(sha256
(base32
"0w238ynhnjz7p2v8fbgxv35kl1x7a4vs86227qhb4gxncr75nsbl"))))
"1jzdal9smhmivj18683a5gy8jd2p1dbni7kcpaxq4g9jgjdidcrq"))))
(build-system gnu-build-system)
(arguments
(list
@@ -1042,6 +1029,16 @@ has been designed to be fast, light and unintrusive.")
(format #f "chdir(~s)" (dirname (which "ls"))))
(("\"/bin/ls\"")
(string-append "\"" (which "ls") "\"")))))
(add-before 'check 'prepare-for-tests
(lambda _
;; The test suite expects HOME to be writable.
(setenv "HOME" "/tmp")
;; Generate the autom4te-generated testsuite script, which
;; contains a '/bin/sh' shebang.
(invoke "make" "bootstrap/testsuite")
(substitute* "bootstrap/testsuite"
(("/bin/sh")
(which "sh")))))
(add-after 'unpack 'disable-problematic-tests
(lambda _
;; The stacktrace tests expect core files to be dumped to the
@@ -1050,8 +1047,12 @@ has been designed to be fast, light and unintrusive.")
;; https://github.com/freebsd/kyua/issues/214).
(substitute* "utils/Kyuafile"
((".*atf_test_program.*stacktrace_test.*")
"")))))))
(native-inputs (list autoconf automake gdb-minimal libtool pkg-config))
""))))
(add-after 'install 'delete-installed-tests
(lambda _
;; Delete 200 MiB of tests.
(delete-file-recursively (string-append #$output "/tests")))))))
(native-inputs (list autoconf automake gdb-minimal pkg-config))
(inputs (list atf lutok sqlite))
(home-page "https://github.com/freebsd/kyua")
(synopsis "Testing framework for infrastructure software")
@@ -3151,6 +3152,57 @@ non-technical or business participants in a software project. Behave uses
tests written in a natural language style, backed up by Python code.")
(license license:x11)))
(define-public python-behave-web-api
(package
(name "python-behave-web-api")
(version "2.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "behave-web-api" version))
(sha256
(base32
"04p5sp6wck3mafj634w1fpvfhxm170l5q3hfb9d06pi71ql606n6"))))
(build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-dependencies
(lambda _
(substitute* "setup.py"
(("'wheel'") "") ; We don't use it.
(("'ordereddict==1.1'") "")) ; Python >= 2.7 has it built-in.
#t)))))
(native-inputs
(list python-pytest
python-setuptools
python-wheel))
(propagated-inputs
(list behave python-requests))
(home-page "https://github.com/jefersondaniel/behave-web-api")
(synopsis "Provides testing for JSON APIs with Behave for Python")
(description "This package provides testing utility modules for testing
JSON APIs with Behave.")
(license license:expat)))
(define-public python-nose-timer
(package
(name "python-nose-timer")
(version "0.7.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "nose-timer" version))
(sha256
(base32 "05wzkc88vbzw62pqkvhl33211b90kns0lny70b7qw62rcg4flzk4"))))
(build-system python-build-system)
(propagated-inputs
(list python-nose python-termcolor))
(home-page "https://github.com/mahmoudimus/nose-timer")
(synopsis "Timer plugin for nosetests")
(description "Shows how much time was needed to run individual tests.")
(license license:expat)))
(define-public python-freezegun
(package
(name "python-freezegun")
@@ -3722,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")
-1
View File
@@ -855,7 +855,6 @@ dependency graph expansion and the creation of classpaths.")
#:doc-dirs '()
;; FIXME: Could not initialize class org.eclipse.aether.transport.http.SslSocketFactory
#:tests? #f
#:jdk ,openjdk11
#:phases
(modify-phases %standard-phases
;; FIXME: Currently, the S3 transporter depends on ClojureScript,
+8 -35
View File
@@ -46,7 +46,6 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system emacs)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
#:use-module (gnu packages)
@@ -461,40 +460,14 @@ and workspaces that can be used in the compiler environment of your choice.")
(uri (pypi-uri "cmakelang" version))
(sha256
(base32 "0zz6g1ignqanl4ja9f5nrlk5f3mvv7cp5y9yswjd0m06n23jx603"))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;no test data in pypi archive
#:modules '((guix build pyproject-build-system)
(guix build utils)
(ice-9 textual-ports))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'adjust-setup.py
(lambda _
(substitute* "setup.py"
(("cmakelang/doc/README.rst")
"README.rst"))
;; XXX: setup.py has multiple setup() calls, breaking the 'build
;; phase ; in this case the package is wrong, but conveniently
;; our goal is the first setup() call, so discard what comes from
;; the second one.
(rename-file "setup.py" "setup.py.bak")
(call-with-input-file "setup.py.bak"
(lambda (in)
(call-with-output-file "setup.py"
(lambda (out)
(let loop ((line (get-line in))
(setup-seen #f))
(unless (or (eof-object? line)
(and (string-prefix? "setup(" line)
setup-seen))
(display line out)
(newline out)
(loop (get-line in)
(or setup-seen
(string-prefix? "setup(" line))))))))))))))
(native-inputs (list python-setuptools))
(build-system python-build-system)
(arguments (list #:tests? #f ;no test data in pypi archive
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'adjust-setup.py
(lambda _
(substitute* "setup.py"
(("cmakelang/doc/README.rst")
"README.rst")))))))
(inputs (list python-jinja2 python-pyyaml python-six))
(home-page "https://github.com/cheshirekow/cmake_format/")
(synopsis "Language tools for CMake (format, lint, etc.)")
-57
View File
@@ -84,7 +84,6 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages cpp)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages documentation)
#:use-module (gnu packages file)
@@ -96,7 +95,6 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages java)
#:use-module (gnu packages llvm)
#:use-module (gnu packages linux)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
#:use-module (gnu packages perl)
@@ -599,21 +597,6 @@ than gzip and 15 % smaller output than bzip2.")
(license (list license:gpl2+ license:lgpl2.1+)) ; bits of both
(home-page "https://tukaani.org/xz/")))
(define-public xz-for-graal-truffle
(package
(inherit xz)
(name "xz-for-graal-truffle")
(version "5.6.2")
(source (origin
(method url-fetch)
(uri (list (string-append "http://tukaani.org/xz/xz-" version
".tar.gz")
(string-append "http://multiprecision.org/guix/xz-"
version ".tar.gz")))
(sha256
(base32
"06a585qzn2qlwdv44w7x6p6x8qmbqrqzlz29y8108vyqw7021zcb"))))))
(define-public heatshrink
(package
(name "heatshrink")
@@ -2527,46 +2510,6 @@ download times, and other distribution and storage costs.")
(properties `((lint-hidden-cve . ("CVE-2023-23456" "CVE-2023-23457"))))
(license license:gpl2+)))
(define-public qatzip
(package
(name "qatzip")
(version "1.3.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/intel/QATzip")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0c7kph69cf48gr97j3gzh1zwd58wxmp64vfv34z4r9ixj3lh6ziz"))))
(build-system gnu-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(replace 'bootstrap
(lambda _
;; The script has a broken shebang (see:
;; <https://github.com/intel/QATzip/issues/143>).
(invoke "sh" "autogen.sh"))))))
(native-inputs (list autoconf automake libtool))
(inputs (list numactl qatlib))
(propagated-inputs (list lz4 zlib)) ;in Requires of qatzip.pc
(home-page "https://github.com/intel/QATzip")
(synopsis "Compression Library accelerated by Intel QuickAssist Technology")
(description "QATzip is a library which builds on top of the
Intel QuickAssist Technology user space library, to provide extended
accelerated compression and decompression services by offloading the actual
compression and decompression request(s) to the Intel Chipset Series. QATzip
produces data using the standard gzip format (RFC1952) with extended headers
or lz4 blocks with lz4 frame format. The data can be decompressed with a
compliant gzip or lz4 implementation. QATzip is designed to take full
advantage of the performance provided by Intel QuickAssist Technology.")
(license license:bsd-3)
;; This package only supports hardware that exists on the x86_64 platform,
;; and is not portable.
(supported-systems (list "x86_64-linux"))))
(define-public quazip
(package
(name "quazip")
+9 -21
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.
;;;
@@ -572,7 +571,7 @@ Its main purpose is to support the key usage by @code{docker-init}:
(define-public podman
(package
(name "podman")
(version "5.7.1")
(version "5.7.0")
(outputs '("out" "docker"))
(properties
`((output-synopsis "docker" "docker alias for podman")
@@ -585,7 +584,7 @@ Its main purpose is to support the key usage by @code{docker-init}:
(url "https://github.com/containers/podman")
(commit (string-append "v" version))))
(sha256
(base32 "16lb58r8vkngics6fn1b3six8bl3nrl9awrnq6ivdv1grfgy9z61"))
(base32 "0p1hh3sy5m1l1151wsda3q346pd4dm9hgpwjqakdha8yixyicwj8"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -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 -44
View File
@@ -50,7 +50,6 @@
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages aidc)
#:use-module (gnu packages assembly)
#:use-module (gnu packages attr)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
@@ -521,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
@@ -795,47 +794,6 @@ data on your platform, so the seed itself will be as random as possible.
@end enumerate\n")
(license license:artistic2.0)))
(define-public qatlib
(package
(name "qatlib")
(version "25.08.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/intel/qatlib/")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1hbhrj0wlr68by7gdvsw4nh35rwg4yngn3m7awkx799pbqsw4iyc"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags #~(list "--disable-static") ;avoid large .a
#:phases
#~(modify-phases %standard-phases
(replace 'bootstrap
(lambda _
;; The script has a broken shebang (see:
;; <https://github.com/intel/qatlib/issues/128>).
(invoke "sh" "autogen.sh"))))))
(native-inputs (list autoconf autoconf-archive automake libtool nasm))
(inputs (list numactl openssl zlib))
(propagated-inputs (list openssl)) ;in 'Requires' of libqat.pc
(home-page "https://github.com/intel/qatlib")
(synopsis "Intel QuickAssist Technology Library (QATlib)")
(description "Intel QuickAssist Technology provides hardware acceleration for
offloading security, authentication and compression services from the CPU,
thus significantly increasing the performance and efficiency of standard
platform solutions. Its services include symmetric encryption and
authentication, asymmetric encryption, digital signatures, RSA, DH and ECC,
and lossless data compression. This package provides user space libraries
that allow access to Intel QuickAssist devices and expose the Intel
QuickAssist APIs and sample codes.")
(license license:bsd-3)
;; This package only supports hardware that exists on the x86_64 platform,
;; and is not portable.
(supported-systems (list "x86_64-linux"))))
(define-public crypto++
(package
(name "crypto++")
+75 -259
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)
@@ -2159,27 +2157,6 @@ data in a single database. RocksDB is partially based on @code{LevelDB}.")
;; files carry the 3-clause BSD license.
(license (list license:gpl2 license:asl2.0 license:bsd-3))))
(define-public rocksdb-for-ceph
(let ((commit "9fa4990159853479a222244574ca41202e4c95c1")
(revision "0"))
(package
(inherit rocksdb)
(name "rocksdb-for-ceph")
(version (git-version "7.9.2" revision commit))
(source (origin
(inherit (package-source rocksdb))
(uri (git-reference
(url "https://github.com/ceph/rocksdb")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0pdy461m9a48x4i829sirpypdlzf3q79p8iw3dng9wd4r4vyv594"))))
(arguments (substitute-keyword-arguments (package-arguments rocksdb)
((#:configure-flags flags ''())
#~(cons "-DCMAKE_CXX_FLAGS=-Wno-error=maybe-uninitialized"
#$flags)))))))
(define-public sparql-query
(package
(name "sparql-query")
@@ -3736,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
@@ -4366,53 +4338,26 @@ framework.")
(define-public python-sqlalchemy-utils
(package
(name "python-sqlalchemy-utils")
(version "0.42.1")
(version "0.38.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kvesteri/sqlalchemy-utils")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0ny1p352p0dlgrf9fnmzj7ld1rga5zj698qpla1kdaliwwh6xawn"))))
(build-system pyproject-build-system)
(origin
(method url-fetch)
(uri (pypi-uri "SQLAlchemy-Utils" version))
(sha256
(base32 "0k8z0mjhvdv302kn0nhci8b2dgw4cn2akprsf37ma1540ykgp6lz"))))
(build-system python-build-system)
(arguments
(list
#:test-flags
;; XXX: These tests require additional inputs.
#~(list "--deselect=tests/test_views.py::TestMySqlTrivialView"
"--deselect=tests/functions/test_database.py::\
TestDatabasePostgresPg8000::test_create_and_drop"
"--deselect=tests/functions/test_database.py::\
TestDatabasePostgresPsycoPG2CFFI::test_create_and_drop")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'start-postgresql
(lambda* (#:key inputs tests? #:allow-other-keys)
(when tests?
(setenv "TZDIR" (search-input-directory inputs
"share/zoneinfo"))
(let ((dbdir (string-append (getcwd) "/../pgdir")))
(setenv "SQLALCHEMY_UTILS_TEST_POSTGRESQL_USER"
"nixbld")
(invoke "initdb" "-D" dbdir)
(invoke "pg_ctl" "-D" dbdir
"-o" (string-append "-k " dbdir)
"-l" (string-append dbdir "/db.log")
"start")
(invoke "psql" "-h" dbdir "-d" "postgres"
"-c" "CREATE DATABASE sqlalchemy_utils_test;"))))))))
(propagated-inputs (list python-six python-sqlalchemy))
'(#:tests? #f)) ; FIXME: Many tests require a running database server.
;; #:phases
;; (modify-phases %standard-phases
;; (replace 'check
;; (lambda _
;; (zero? (system* "py.test" "sqlalchemy_utils" "tests")))))
(propagated-inputs
(list python-six python-sqlalchemy))
(native-inputs
(list postgresql
python-dateutil
python-flexmock
python-psycopg2
python-pytest
python-pytz
python-setuptools
tzdata-for-tests))
(list python-dateutil python-flexmock python-psycopg2 python-pytest
python-pytz))
(home-page "https://github.com/kvesteri/sqlalchemy-utils")
(synopsis "Various utility functions for SQLAlchemy")
(description
@@ -4514,23 +4459,19 @@ SQLAlchemy Database Toolkit for Python.")
(package
(name "python-sqlite-fts4")
(version "1.0.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/simonw/sqlite-fts4")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "05c69n4nrc9srkbih1q1wxlw6n9mb3dm7ysb47ipqjn3rp1aif11"))))
(build-system pyproject-build-system)
(native-inputs (list python-pytest python-setuptools))
(source (origin
(method url-fetch)
(uri (pypi-uri "sqlite-fts4" version))
(sha256
(base32
"034kx0ac556sywy1p4qcrc36l24w3q0xwswqv2z9s3k8yvm5xc3q"))))
(build-system python-build-system)
(native-inputs (list python-pytest))
(home-page "https://github.com/simonw/sqlite-fts4")
(synopsis "Python functions for working with SQLite FTS4 search")
(description
"This package provides custom SQLite functions written in Python for
ranking documents indexed using the SQLite's FTS4 full text search
extension.")
(description "This package provides custom SQLite functions written
in Python for ranking documents indexed using the SQLite's FTS4 full
text search extension.")
(license license:asl2.0)))
(define-public python-sqlite-utils
@@ -4680,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
@@ -4723,41 +4645,18 @@ libraries with SQLALchemy.")
(define-public python-psycopg2
(package
(name "python-psycopg2")
(version "2.9.11")
(version "2.9.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/psycopg/psycopg2")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "psycopg2" version))
(sha256
(base32 "04l2yzbl15nrw1pcjfkqycvqn6h9phcdh1xx9ynfy3dzfscq5ly5"))))
(build-system pyproject-build-system)
(base32 "04chl9f7v7k1zssa40pmk06jvpyqiss2lpjq50dq69nqix0mhlgi"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'start-postgresql
(lambda* (#:key inputs tests? #:allow-other-keys)
(when tests?
(setenv "TZDIR" (search-input-directory inputs
"share/zoneinfo"))
(let ((dbdir (string-append (getcwd) "/../pgdir")))
(setenv "PSYCOPG2_TESTDB_USER" "nixbld")
(setenv "PSYCOPG2_TESTDB_HOST" dbdir)
(invoke "initdb" "-D" dbdir)
(invoke "pg_ctl" "-D" dbdir
"-o" (string-append "-k " dbdir)
"-l" (string-append dbdir "/db.log")
"start")
(invoke "psql" "-h" dbdir "-d" "postgres"
"-c" "CREATE DATABASE psycopg2_test;"))))))))
(native-inputs
(list postgresql
python-pytest
python-setuptools
tzdata-for-tests))
;; Tests would require a postgresql database "psycopg2_test"
;; and a running postgresql database management service.
'(#:tests? #f)) ; TODO re-enable after providing a test-db.
(inputs
(list postgresql)) ; libpq
(home-page "https://www.psycopg.org/")
@@ -4779,16 +4678,14 @@ libraries with SQLALchemy.")
(sha256
(base32
"1pkx7nj1mhacwpna7ldzqfqxd1xg8826600r0bs9ad1h93f429yh"))))
(build-system pyproject-build-system)
(build-system python-build-system)
(arguments
(list
#:tests? #f ;run for psycopg below
#:phases
#~(modify-phases %standard-phases
;; This module requires 'psycopg', however psycopg needs this
;; for its tests. Disable sanity check to break the cycle.
(delete 'sanity-check))))
(native-inputs (list python-setuptools))
(list #:tests? #f ;run for psycopg below
#:phases
#~(modify-phases %standard-phases
;; This module requires 'psycopg', however psycopg needs this
;; for its tests. Disable sanity check to break the cycle.
(delete 'sanity-check))))
(home-page "https://www.psycopg.org/")
(synopsis "Connection pooler for psycopg")
(description
@@ -4899,49 +4796,23 @@ from a SQLAlchemy model (or directly from the database).")
(define-public yoyo-migrations
(package
(name "yoyo-migrations")
(version "9.0.0")
(version "8.2.0")
(source
(origin
;; We use the upstream repository, as the tests are not included in the
;; PyPI releases.
(method hg-fetch)
(uri (hg-reference
(url "https://hg.sr.ht/~olly/yoyo")
(changeset (string-append "v" version "-release"))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32 "0bn4n043y0n4dh7axwavfims2krap5dcmdaxswbadzmis3a4hxyb"))))
(build-system pyproject-build-system)
(base32 "1al030ix0w63hr4s3mqry6s0mlqdj8p242pdqks06br7c25nx3yj"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'start-postgresql
(lambda* (#:key inputs tests? #:allow-other-keys)
(when tests?
(delete-file "test_databases.ini")
(call-with-output-file "test_databases.ini"
(lambda (port)
(format port "[DEFAULT]
postgresql = postgresql://nixbld@/yoyo_test~%")))
(setenv "TZDIR" (search-input-directory inputs
"share/zoneinfo"))
(let ((dbdir (string-append (getcwd) "/../pgdir")))
(setenv "PGHOST" dbdir)
(setenv "PGUSER" "nixbld")
(invoke "initdb" "-D" dbdir)
(invoke "pg_ctl" "-D" dbdir
"-o" (string-append "-k " dbdir)
"-l" (string-append dbdir "/db.log")
"start")
(invoke "psql" "-h" dbdir "-d" "postgres"
"-c" "CREATE DATABASE yoyo_test;"))))))))
(native-inputs
(list postgresql
python-freezegun
python-psycopg2
python-pytest
python-setuptools
tms
tzdata-for-tests))
;; XXX: Tests require a connection to some pgsql database and psycopg
;; fails to connect to it.
'(#:tests? #f))
(propagated-inputs
(list python-sqlparse python-tabulate python-importlib-metadata))
(home-page "https://ollycope.com/software/yoyo/latest/")
@@ -5634,7 +5505,7 @@ algorithm implementations.")
(package
(inherit apache-arrow)
(name "python-pyarrow")
(build-system pyproject-build-system)
(build-system python-build-system)
(arguments
(list
;; XXX: Test data is distributed separately in
@@ -5644,6 +5515,7 @@ algorithm implementations.")
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(delete 'build) ; XXX the build is performed again during the install phase
(add-after 'unpack 'enter-source-directory
(lambda _ (chdir "python")))
(add-after 'enter-source-directory 'set-version
@@ -5687,8 +5559,7 @@ __version_tuple__ = version_tuple = (~a)~%" version version-tuple))))))
python-cython
python-pytest
python-pytest-runner
python-setuptools-scm
python-setuptools))
python-setuptools-scm))
(outputs '("out"))
(home-page "https://arrow.apache.org/docs/python/")
(synopsis "Python bindings for Apache Arrow")
@@ -5774,31 +5645,16 @@ and @code{intake-parquet}. It supports the following compression algorithms:
(define-public python-crate
(package
(name "python-crate")
(version "2.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/crate/crate-python")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0kk84wf7awgspdijycvhkbqvm5llp3wmwxa9n4w3qda861xn6krb"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "--ignore=tests/testing/test_layer.py" ; Requires crate binary.
"--ignore=tests/client/test_http.py"))) ; XXX: fails collection.
(native-inputs
(list python-orjson
python-pytest
python-pytz
python-setuptools
python-sqlalchemy
python-verlib2
tzdata-for-tests))
(propagated-inputs (list python-urllib3))
(version "0.23.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "crate" version))
(sha256
(base32
"0ngmlvi320c5gsxab0s7qgq0ck4jdlcwvb6lbjhnfprafdp56vvx"))))
(build-system python-build-system)
(propagated-inputs
(list python-urllib3))
(home-page "https://github.com/crate/crate-python")
(synopsis "CrateDB Python client")
(description
@@ -5993,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")
@@ -6131,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)
@@ -6140,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
+10 -13
View File
@@ -116,23 +116,13 @@ clients.")
(define-public xandikos
(package
(name "xandikos")
(version "0.3.0")
(version "0.2.12")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xandikos" version))
(sha256
(base32 "10j7qmwcrwql4ah6q8si3nf1ljwrx99w8ipiy85bzjd3qz2vackj"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-backend #~'unittest
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'check-setup
(lambda _
(setenv "XANDIKOSPATH" (mkdtemp "/tmp/xandikospath-XXXXXX")))))))
(native-inputs (list python-setuptools))
(sha256 (base32 "0x6g5s9pkippxg429r9agp3w0xsid2vv1h45wfc3xzdfvgj6ygsr"))))
(build-system python-build-system)
(propagated-inputs
(list python-aiohttp
python-defusedxml
@@ -141,6 +131,13 @@ clients.")
python-jinja2
python-multidict
python-vobject))
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'check-setup
(lambda _
(setenv "XANDIKOSPATH" (mkdtemp "/tmp/xandikospath-XXXXXX")))))))
(home-page "https://www.xandikos.org/")
(synopsis "Lightweight CalDAV/CardDAV server")
(description
+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.
+5 -9
View File
@@ -2,7 +2,7 @@
;;; Copyright © 2014-2016, 2018, 2021, 2024, 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016-2018, 2020-2023, 2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2017-2019, 2021, 2025 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2017, 2018, 2019, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018, 2019, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
@@ -411,19 +411,15 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
(define-public grammalecte
(package
(name "grammalecte")
(version "2.3.0")
(version "2.1.1")
(source
(origin
(method url-fetch/zipbomb)
(uri (string-append "https://grammalecte.net/zip/"
(uri (string-append "https://grammalecte.net/grammalecte/zip/"
"Grammalecte-fr-v" version ".zip"))
(sha256
(base32 "0kv8h0116sfcrqnpd3jv2b098ychda7v27fciq1phxw50jbj395a"))))
(build-system pyproject-build-system)
(arguments
(list #:test-backend #~'unittest))
(native-inputs
(list python-setuptools))
(base32 "076jv3ywdgqqzg92bfbagc7ypy08xjq5zn4vgna6j9350fkfqhzn"))))
(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,
+19 -26
View File
@@ -855,7 +855,7 @@ and can dramatically shorten the lifespan of the drive if left unchecked.")
(sha256
(base32
"1ji5sq9jf0p44982zkb5dj2d3mrpy675k0mkyg3r17q5syz0wbia"))))
(build-system pyproject-build-system)
(build-system python-build-system)
(arguments
(list
#:tests? #f ;XXX: root access is required, see: <scripts/tests/test.sh>
@@ -970,31 +970,24 @@ reformatted. It can recover lost files from at least:
(license license:gpl2+)))
(define-public pydf
(let ((commit "af38bb3b7aacbcc32271e6dafa8b8b0a77ffead8")
(revision "0"))
(package
(name "pydf")
(version (git-version "15" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/garabik/pydf")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "18ljigg8zm9pc3qg3alpyh3n4a4f1wcza4p36cchjn2vd4466jf4"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ; No tests.
(native-inputs (list python-setuptools))
(home-page "http://kassiopeia.juls.savba.sk/~garabik/software/pydf/")
(synopsis "Colourised @command{df} clone")
(description
"All-singing, all-dancing, fully colourised @command{df} clone written
in Python. It displays the amount of disk space available on the mounted file
systems, using different colours for different types of file systems. Output
format is completely customizable.")
(license license:public-domain))))
(package
(name "pydf")
(version "12")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pydf" version))
(sha256
(base32
"0f8ly8xyp93i2hm9c0qjqd4y86nz73axw2f09z01mszwmg1sfivz"))))
(build-system python-build-system)
(home-page "http://kassiopeia.juls.savba.sk/~garabik/software/pydf/")
(synopsis "Colourised @command{df} clone")
(description "All-singing, all-dancing, fully colourised @command{df} clone
written in Python. It displays the amount of disk space available on the
mounted file systems, using different colours for different types of file
systems. Output format is completely customizable.")
(license license:public-domain)))
(define-public f3
(package
+6 -6
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)
@@ -695,16 +695,16 @@ them do this.")
(define-public python-django-allauth
(package
(name "python-django-allauth")
(version "65.9.0")
(version "65.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/allauth/django-allauth")
(url "https://github.com/pennersr/django-allauth")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "03a7175748533rw6h3grfpv86i3qb31ixw0kb2kj90gc77sh1sw2"))))
(base32 "1k5b3x7pdysb21vbqx7pxi9cm72yj057mm1clg19ymiqj4kq8yfl"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -740,7 +740,7 @@ them do this.")
python-pytest-asyncio
python-pytest-django
python-setuptools))
(home-page "https://codeberg.org/allauth/django-allauth")
(home-page "https://github.com/pennersr/django-allauth")
(synopsis "Set of Django applications addressing authentication")
(description
"Integrated set of Django applications addressing authentication,
+5 -11
View File
@@ -253,10 +253,10 @@ management tool.")
(file-name (git-file-name name version))
(sha256
(base32 "0m5ifgxdhcf7yci0ncgnxjas879sksrf3im0fahs573g268farz9"))))
(build-system pyproject-build-system)
(build-system python-build-system)
;; Integration tests need a running Docker daemon.
(arguments (list #:tests? #f))
(native-inputs (list python-setuptools))
(native-inputs '())
(inputs (modify-inputs (package-inputs python-docker)
(prepend python-six)
(delete "python-urllib3")))
@@ -264,9 +264,6 @@ management tool.")
(modify-inputs (package-propagated-inputs python-docker)
(prepend python-docker-pycreds python-urllib3-1.26)))))
;; Needed for old v1 of docker-compose; remove once Docker is updated to a
;; more recent version which has the command "docker compose" built-in, see:
;; <https://codeberg.org/guix/guix/milestone/30347>.
(define-public python-dockerpty
(package
(name "python-dockerpty")
@@ -278,11 +275,9 @@ management tool.")
(sha256
(base32
"1kjn64wx23jmr8dcc6g7bwlmrhfmxr77gh6iphqsl39sayfxdab9"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ; XXX: Requires outdated python-expects
(build-system python-build-system)
(native-inputs
(list python-setuptools python-six))
(list python-six))
(home-page "https://github.com/d11wtq/dockerpty")
(synopsis "Python library to use the pseudo-TTY of a Docker container")
(description "Docker PTY provides the functionality needed to operate the
@@ -303,7 +298,7 @@ client.")
(sha256
(base32
"1dq9kfak61xx7chjrzmkvbw9mvj9008k7g8q7mwi4x133p9dk32c"))))
(build-system pyproject-build-system)
(build-system python-build-system)
;; TODO: Tests require running Docker daemon.
(arguments
(list
@@ -315,7 +310,6 @@ client.")
(substitute* "setup.py"
((", < 6")
"")))))))
(native-inputs (list python-setuptools))
(inputs
(list python-cached-property
python-distro
+1 -4
View File
@@ -581,10 +581,7 @@ calendars, equations, and other features as extensions of Markdown syntax.")
(replace 'build
(lambda _
(invoke #$(cc-for-target)
"-O2" "-g"
;; XXX: Relax gcc 14 strictness.
"-Wno-int-conversion"
"-o" "stddoc" "stddoc.c")
"-O2" "-g" "-o" "stddoc" "stddoc.c")
(with-input-from-file "stddoc.c"
(lambda _
(with-output-to-file "stddoc.c.html"
+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
+87 -83
View File
@@ -66,7 +66,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-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
@@ -89,7 +88,6 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
@@ -378,48 +376,47 @@ to open the application in a web browser, for offline usage.")
(uri (list
;; XXX: Upstream does not exist anymore.
;; (string-append "http://www.bipede.fr/downloads/logiciels/"
;; "ToutEnClic-" version "-src.zip")
(string-append "https://archive.org/download/tout-en-clic-"
version "-src/ToutEnClic-" version "-src.zip")))
;; "ToutEnClic-" version "-src.zip")
(string-append "https://archive.org/download/tout-en-clic-" version
"-src/ToutEnClic-" version "-src.zip")))
(sha256
(base32 "0xg24p925rl5bfqsq3jb2lrkidb0f3kbmay5iyxxmjsn3ra0blyh"))))
(build-system pyproject-build-system)
(build-system python-build-system)
(arguments
(list
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(delete 'build)
(replace 'install
(lambda _
(let ((share (string-append #$output "/share/toutenclic"))
(bin (string-append #$output "/bin"))
`(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share/toutenclic"))
(pixmaps (string-append out "/share/pixmaps"))
(doc (string-append out "share/doc/" ,name "-" ,version))
(bin (string-append out "/bin"))
(executable "toutenclic"))
;; Install icon.
(install-file "toutenclic.png"
(string-append #$output "/share/pixmaps"))
;; Move files into "share/" directory.
(for-each (lambda (f)
(install-file f share))
(find-files "." "\\.py$"))
;; Install documentation.
(install-file "ToutEnClic.pdf"
(string-append #$output "share/doc/"
#$name "-" #$version))
;; Create executable in "bin/".
(mkdir-p bin)
(with-directory-excursion bin
(symlink (string-append share "/" executable ".py")
executable)))))
(add-after 'install 'create-desktop-file
(lambda _
(let ((applications (string-append #$output "/share/applications")))
(mkdir-p applications)
(call-with-output-file (string-append applications
"/toutenclic.desktop")
(lambda (file)
(format file
"[Desktop Entry]~@
;; Install icon.
(install-file "toutenclic.png" pixmaps)
;; Move files into "share/" directory.
(for-each (lambda (f) (install-file f share))
(find-files "." "\\.py$"))
;; Install documentation.
(install-file "ToutEnClic.pdf" doc)
;; Create executable in "bin/".
(mkdir-p bin)
(with-directory-excursion bin
(symlink (string-append share "/" executable ".py")
executable)))))
(add-after 'install 'create-desktop-file
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(applications (string-append out "/share/applications")))
(mkdir-p applications)
(call-with-output-file
(string-append applications "/toutenclic.desktop")
(lambda (file)
(format file
"[Desktop Entry]~@
Name=ToutEnClic~@
Comment=For schooling without difference~@
Exec=~a/bin/toutenclic~@
@@ -427,16 +424,18 @@ to open the application in a web browser, for offline usage.")
Terminal=false~@
Icon=toutenclic~@
Type=Application~%"
#$output)))))))))
(native-inputs (list unzip python-setuptools))
(inputs (list python-pyqt))
out)))))))))
(native-inputs
(list unzip))
(inputs
(list python-pyqt))
(synopsis "School tools for physically disabled children")
(description
"ToutEnClic is intended to facilitate the schooling of physically
disabled children in ordinary schools. It is both a multi-page virtual
exercise book and a kit including pencil, scissors, glue, ruler, compass,
protractor and square. A virtual keyboard is also available if the child does
not have any other specialized device.")
(description "ToutEnClic is intended to facilitate the schooling
of physically disabled children in ordinary schools. It is both
a multi-page virtual exercise book and a kit including pencil,
scissors, glue, ruler, compass, protractor and square. A virtual
keyboard is also available if the child does not have any other
specialized device.")
(home-page "https://bipede.fr/contrib/")
(license license:gpl3)))
@@ -1005,7 +1004,7 @@ learning for programming languages.")
(define-public mazo
(package
(name "mazo")
(version "1.2.1")
(version "1.1.0")
(source
(origin
(method git-fetch)
@@ -1014,37 +1013,43 @@ learning for programming languages.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0mwhd8y3xs57rbaarpi1ams5i0kndizdpns4ym7dmnnn7s9g1xq8"))))
(build-system pyproject-build-system)
(base32 "14nk3qsj6lg7wp2ws8lxhb4hyjnczvw1cn9f3m466dkkfimp7ygf"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(delete 'build)
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(when tests?
(setenv "HOME" (getcwd))
(invoke "python3" "manage.py" "test"))))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((bin (string-append #$output "/bin"))
(script (string-append bin "/mazo"))
(share (string-append #$output "/share"))
(help (string-append share "/help/C/mazo")))
(mkdir-p help)
(mkdir-p bin)
(copy-file "mazo.py" script)
(chmod script #o555)
(install-file "icons/mazo.svg"
(string-append share
"/icons/hicolor/scalable/apps"))
(install-file "lugare.ulkeva.Mazo.desktop"
(string-append share "/applications"))
(copy-recursively "help/C/mazo" help)
(copy-recursively "mazo"
(string-append (site-packages inputs outputs)
"/mazo"))))))))
`(#:use-setuptools? #f
#:phases
(modify-phases %standard-phases
(delete 'build)
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(when tests?
(let* ((out (assoc-ref outputs "out"))
(home (string-append out "/tmp")))
(add-installed-pythonpath inputs outputs)
(setenv "HOME" home)
(invoke "python3" "manage.py" "test")))))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(script (string-append bin "/mazo"))
(share (string-append out "/share"))
(help (string-append share "/help/C/mazo"))
(icons (string-append
share
"/icons/hicolor/scalable/apps"))
(apps (string-append share "/applications"))
(site (string-append
(site-packages inputs outputs)
"/mazo")))
(mkdir-p help)
(mkdir-p bin)
(copy-file "mazo.py" script)
(chmod script #o555)
(install-file "icons/mazo.svg" icons)
(install-file "lugare.ulkeva.Mazo.desktop" apps)
(copy-recursively "help/C/mazo" help)
(copy-recursively "mazo" site)))))))
(native-inputs
(list python-django
python-django-cleanup
@@ -1066,9 +1071,8 @@ learning for programming languages.")
yelp))
(home-page "https://luis-felipe.gitlab.io/mazo/")
(synopsis "Memorize concepts using multimedia flash cards")
(description
"Mazo is a learning application that helps you memorize simple concepts
using multimedia flash cards and spaced reviews.")
(description "Mazo is a learning application that helps you memorize
simple concepts using multimedia flash cards and spaced reviews.")
(license license:public-domain)))
(define-public hardv
+52 -205
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))
@@ -737,110 +737,6 @@ used in the declarative section of design units.")
(native-inputs
'()))))
(define-public klayout
(package
(name "klayout")
(version "0.30.5")
(source
(origin (method git-fetch)
(uri (git-reference
(url "https://github.com/KLayout/klayout")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1ixl8wzpiaw6frb28x9y9jy3fvhjclmn4xl77i72rs37rf4i2a2s"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("output/klayout" "bin/")
("output/" "bin/" #:include-regexp ("strm.*"))
("output/" "lib/" #:include-regexp ("lib.*\\.so.*"))
("output/pymod" "lib/"))
#:phases
#~(modify-phases %standard-phases
(add-before 'install 'patch-build-script ;; ensure reproducibility
(lambda _
(substitute* "build.sh"
(("KLAYOUT_VERSION_DATE=\"\\$KLAYOUT_VERSION_DATE\"")
"KLAYOUT_VERSION_DATE=1970-01-01"))))
(add-after 'patch-build-script 'disable-failing-tests
(lambda _
(substitute* "src/tl/unit_tests/unit_tests.pro"
;; These need internet connection.
((" tlWebDAVTests\\.cc")
"# tlWebDAVTests.cc \\")
((" tlGitTests\\.cc")
"# tlGitTests.cc \\")
((" tlHttpStreamTests\\.cc")
"# tlHttpStreamTests.cc \\")
;; The threaded tests are reportedly flaky.
((" tlThreadedWorkersTests\\.cc")
"# tlThreadedWorkersTests\\.cc \\"))
(substitute* "src/rba/rba.pro"
;; There are issues of non-detereminism involved with Ruby's GC
;; implementation. https://github.com/KLayout/klayout/issues/2251
(("SUBDIRS = rba unit_tests")
"SUBDIRS = rba")
(("unit_tests.depends += rba")
""))))
(add-after 'disable-failing-tests 'build
(lambda _
(invoke "bash" "build.sh"
"-prefix" "output"
"-option"
(string-append "-j" (number->string (parallel-job-count))))))
(add-after 'install 'patch-elfs
(lambda _
(let* ((lib (string-append #$output "/lib"))
(layout-lib (string-append lib "/lay_plugins"))
(db-lib (string-append lib "/db_plugins"))
(bin (string-append #$output "/bin"))
(executables (filter executable-file? (find-files #$output)))
(ut-runner "build-release/ut_runner")
(unit-tests (cons* ut-runner
(find-files "build-release" "\\.ut")))
(patchem (lambda (elf)
(when (not (string-suffix? ".py" elf))
(invoke "patchelf" "--add-rpath" lib elf)
(invoke "patchelf" "--add-rpath" layout-lib elf)
(invoke "patchelf" "--add-rpath" db-lib elf)))))
(map patchem executables)
(map patchem unit-tests)
(patchem ut-runner))))
(add-after 'patch-elfs 'check-after-install
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-directory-excursion "build-release"
(mkdir "testtmp")
(setenv "TESTTMP" "testtmp")
(setenv "TESTSRC" "..")
(setenv "LD_LIBRARY_PATH" ".")
(setenv "QT_QPA_PLATFORM" "offscreen")
(setenv "HOME" "/tmp/home") ;; Fontconfig needs a writable cache.
(invoke "./ut_runner"))))))))
(native-inputs (list perl python qtsvg ruby tcl))
(inputs
(list bash-minimal
libgit2
patchelf
qt5compat
qtbase
qtmultimedia
qtsvg
qttools))
(home-page "https://www.klayout.de")
(synopsis "Mask layout editor")
(description "KLayout is @acronym{EDA, Electronic Design Automation}
software. It is a scriptable @acronym{VLSI, Very Large Scale Integration}
layout editor used for visualizing and editing mask data, transcoding between
different file formats (GDSII and OASIS), executing @acronym{DRC, Design rule
checking}, @acronym{LVS, Layout Versus Schematic} verification, and drawing of
chip cross-sections basked on mask data.")
;; The license version will be clarified with the next version bump.
(license license:gpl3+)))
(define-public libngspice
;; Note: The ngspice's build system does not allow us to build both the
;; library and the executables in one go. Thus, we have two packages.
@@ -1916,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)
@@ -1928,7 +1824,7 @@ verification.")
(file-name (git-file-name name version))
(sha256
(base32
"1792a6i9jq2yawipmk0nr01z092kx3kkav9v5sjf34khk3biav6q"))))
"0azapw9dyr5l5qal7qd409lyq0w6pw2wyjwvxfl44sykpbfxdl2x"))))
(outputs
'("out" "test"))
(properties
@@ -2025,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
@@ -2145,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
@@ -2167,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)
@@ -2265,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
@@ -2451,7 +2299,6 @@ languages.")
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-deps
@@ -2462,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
+232 -542
View File
File diff suppressed because it is too large Load Diff
+10 -9
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013-2017, 2019, 2021-2022, 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013-2017, 2019, 2021-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
@@ -464,22 +464,19 @@ editor (console only)")
(string-append (getenv "LIBRARY_PATH")
":" libgccjit-libdir)))))
(add-after 'unpack 'patch-compilation-driver
(lambda* (#:key inputs #:allow-other-keys)
(lambda _
(substitute* "lisp/emacs-lisp/comp.el"
(("\\(defcustom native-comp-driver-options nil")
(format
#f "(defcustom native-comp-driver-options '(~@{~s~^ ~})"
(string-append
"-B" (dirname (search-input-file inputs "/bin/nm")))
"-B" #$(this-package-input "binutils") "/bin/")
(string-append
"-B" (dirname (search-input-file inputs "/lib/libc.so")))
"-B" #$(this-package-input "glibc") "/lib/")
(string-append
"-B" (dirname (search-input-file inputs "/lib/libgccjit.so")))
"-B" #$(this-package-input "libgccjit") "/lib/")
(string-append
"-B" (string-append
(dirname
(search-input-file inputs "/lib/libgccjit.so"))
"/gcc")))))))
"-B" #$(this-package-input "libgccjit") "/lib/gcc/"))))))
(add-after 'build 'build-trampolines
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "trampolines" make-flags)))
@@ -501,7 +498,11 @@ editor (console only)")
(inputs
(modify-inputs (package-inputs emacs-minimal)
(prepend gnutls
;; To "unshadow" ld-wrapper in native builds
(make-ld-wrapper "ld-wrapper" #:binutils binutils)
;; For native compilation
binutils
(libc-for-target)
libgccjit
;; Avoid Emacs's limited movemail substitute that retrieves POP3
+16 -12
View File
@@ -1757,20 +1757,24 @@ these identified regions.
(package
(name "stcgal")
(version "1.10")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/grigorig/stcgal")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04hsj49sw5mb6swhd3sdsm7dzwp1frnzpmq70wgsn5vmjavb1ka8"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-pyserial python-pyusb python-tqdm))
(source (origin
;; The "doc" subdirectory referred to by stcgal's setup.py is
;; missing from the source distribution on PyPI so we fetch
;; directly from the project's git repository instead.
(method git-fetch)
(uri (git-reference
(url "https://github.com/grigorig/stcgal")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"04hsj49sw5mb6swhd3sdsm7dzwp1frnzpmq70wgsn5vmjavb1ka8"))))
(build-system python-build-system)
(propagated-inputs
(list python-pyserial python-pyusb python-tqdm))
(native-inputs
;; For tests.
(list python-pytest python-pyyaml python-setuptools))
(list python-pyyaml))
(home-page "https://github.com/grigorig/stcgal")
(synopsis "Programmer for STC 8051-compatible microcontrollers")
(description "stcgal is a command-line flash-programming tool for STC
+25 -189
View File
@@ -14,7 +14,7 @@
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Christopher Howard <christopher@librehacker.com>
;;; Copyright © 2021 Felipe Balbi <balbi@kernel.org>
;;; Copyright © 2021, 2024, 2025 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021, 2024 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021, 2024-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2023 c4droid <c4droid@foxmail.com>
@@ -91,7 +91,6 @@
#:use-module (gnu packages graphics)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libusb)
@@ -110,12 +109,9 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages serialization)
#:use-module (gnu packages qt)
#:use-module (gnu packages robotics)
#:use-module (gnu packages sdl)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages stb)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
@@ -1158,7 +1154,7 @@ The following systems are supported:
(define-public sameboy
(package
(name "sameboy")
(version "1.0.2")
(version "0.16.3")
(source
(origin
(method git-fetch)
@@ -1167,7 +1163,7 @@ The following systems are supported:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0pwnik37c3sgvib5xbadwbq2mjjvgxilhig09rjb3xp5i1d7ykja"))))
(base32 "1jdjg59vzzkbi3c3qaxpsxqx955sb86cd3kcypb0nhjxbnwac1di"))))
(build-system gnu-build-system)
(native-inputs
(list rgbds pkg-config))
@@ -1243,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)
@@ -1252,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))
@@ -1262,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
@@ -1293,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)
@@ -1302,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))
@@ -1337,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)
@@ -1346,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))
@@ -1381,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)
@@ -1390,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))
@@ -1423,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)
@@ -1432,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))
@@ -1465,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)
@@ -1474,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))
@@ -1509,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)
@@ -1518,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))
@@ -1552,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)
@@ -1561,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))
@@ -1601,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)
@@ -1610,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))
@@ -1645,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)
@@ -1654,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))
@@ -1696,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)
@@ -1705,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
@@ -3729,165 +3724,6 @@ hardware states and PS2 system memory. This allows you to play PS2 games on
your PC, with many additional features and benefits.")
(license license:gpl3+)))
(define-public rpcs3
;; NB: When updating to a new release, don't forget to check if any more
;; libraries can be linked dynamically, and to update the commits for any
;; specialized sources included in native-inputs so that they match the
;; sub-modules in ./3rdparty.
(package
(name "rpcs3")
(version "0.0.38")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/RPCS3/rpcs3")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0dwrfjs9b3ldwyn68nmyf0qip4hm1w8c3picdl3zk7z76j7rrhal"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(list
;; -fexceptions is needed to compile part of yaml-cpp.
"-DCMAKE_CXX_FLAGS=-fexceptions"
;; "USE_NATIVE_INSTRUCTIONS makes rpcs3 compile with -march=native,
;; which is useful for local builds, but not good for packages."
"-DUSE_NATIVE_INSTRUCTIONS=OFF"
"-DWITH_LLVM=ON"
"-DBUILD_LLVM=OFF"
"-DSTATIC_LINK_LLVM=OFF"
"-DUSE_FAUDIO=ON"
"-DUSE_LIBEVDEV=ON"
"-DUSE_DISCORD_RPC=OFF"
"-DUSE_VULKAN=ON"
"-DUSE_PRECOMPILED_HEADERS=OFF"
"-DUSE_SDL=ON"
"-DUSE_SYSTEM_CUBEB=ON"
"-DUSE_SYSTEM_CURL=ON"
"-DUSE_SYSTEM_FAUDIO=ON"
"-DUSE_SYSTEM_FFMPEG=ON"
"-DUSE_SYSTEM_FLATBUFFERS=ON"
"-DUSE_SYSTEM_GLSLANG=ON"
"-DUSE_SYSTEM_HIDAPI=ON"
"-DUSE_SYSTEM_LIBPNG=ON"
"-DUSE_SYSTEM_LIBUSB=ON"
"-DUSE_SYSTEM_MINIUPNPC=ON"
"-DUSE_SYSTEM_OPENAL=ON"
"-DUSE_SYSTEM_OPENCV=ON"
"-DUSE_SYSTEM_PUGIXML=ON"
"-DUSE_SYSTEM_RTMIDI=ON"
"-DUSE_SYSTEM_SDL=ON"
"-DUSE_SYSTEM_VULKAN_MEMORY_ALLOCATOR=ON"
"-DUSE_SYSTEM_WOLFSSL=ON"
"-DUSE_SYSTEM_ZLIB=ON"
"-DUSE_SYSTEM_ZSTD=ON"
"-DBUILD_RPCS3_TESTS=ON"
"-DRUN_RPCS3_TESTS=ON"
;; "Choose whether to enable GameMode features or not."
;; Off, for now, because GameMode requires systemd to work.
"-DUSE_GAMEMODE=OFF")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'add-some-submodules
;; TODO: Remove as many of these as possible.
(lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion "3rdparty"
(rmdir "fusion/fusion")
(symlink (string-append
(search-input-directory inputs "Fusion") "/../")
"fusion/fusion")
(rmdir "SoundTouch/soundtouch")
(symlink (dirname
(search-input-file inputs "soundtouch.pc.in"))
"SoundTouch/soundtouch")
(rmdir "asmjit/asmjit")
(symlink (string-append
(search-input-directory inputs "src/asmjit")
"/../../")
"asmjit/asmjit")
(rmdir "yaml-cpp/yaml-cpp")
(symlink (dirname
(search-input-file inputs "yaml-cpp.pc.in"))
"yaml-cpp/yaml-cpp")
(rmdir "stblib/stb")
(symlink (dirname
(search-input-file inputs "stb_c_lexer.h"))
"stblib/stb")))))))
(inputs
(append
(list cubeb
curl
eudev
faudio
;; RPCS3 v0.0.38 uses symbols that are deprecated in ffmpeg 8.
;; See https://github.com/RPCS3/rpcs3/issues/17461
ffmpeg-6
flatbuffers
glew
glslang
glu
hidapi
jack-2
libevdev
libglvnd
libpng
libusb-next
llvm-18
mesa
miniupnpc-next
openal
opencv
pugixml-next
pulseaudio
qtbase
qtmultimedia
qtsvg
rtmidi
sdl3
spirv-tools
vulkan-loader
wayland
wolfssl-for-rpcs3
zlib
`(,zstd "lib"))))
(native-inputs
(list
googletest
pkg-config
vulkan-memory-allocator
(package-source asmjit)
(package-source fusion)
(package-source stb)
(origin
(file-name "rpcs3-soundtouch-source")
(method git-fetch)
(uri (git-reference
(url "https://github.com/RPCS3/soundtouch")
(commit "3982730833b6daefe77dcfb32b5c282851640c17")))
(sha256
(base32 "07q514mx69jkrz7i58c45iwj3zql88vdsa1sah7immwr1005i91y")))
(origin
(file-name "rpcs3-yaml-cpp-source")
(method git-fetch)
(uri (git-reference
(url "https://github.com/RPCS3/yaml-cpp")
(commit "456c68f452da09d8ca84b375faa2b1397713eaba")))
(sha256
(base32 "0spp91yz1bvr9dljc7zgjf2sqw49d8b9yinlncykjwzxm7ap7jys")))))
(home-page "https://rpcs3.net/")
(synopsis "PlayStation 3 emulator")
(description "RPCS3 is an emulator and debugger for the Sony
@acronym{PS3,PlayStation 3}.")
(license
(list license:gpl2 ;core, pine_server.h
license:bsd-3 ;FindWayland.cmake, FindFFMPEG.cmake
;;flow_layout.h, sse2neon.h, unordered_dense.h, ffx_fsr1.h,
;;ffx_a.h, bcdec.hpp, LUrlParser.h, khrplatform.h
license:expat))))
(define-public gens-gs
(package
(name "gens-gs")
+45 -141
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))
@@ -4420,19 +4331,11 @@ G-codes to binary and vice versa.")
(lambda _
(substitute* "tests/libslic3r/test_quadric_edge_collapse.cpp"
(("#include <libigl/igl/qslim.h>")
"#include <igl/qslim.h>"))))
(add-after 'install 'wrap-program
(lambda _
(wrap-program (string-append #$output "/bin/prusa-slicer")
;; For GtkFileChooserDialog.
`("GSETTINGS_SCHEMA_DIR" =
(,(string-append #$(this-package-input "gtk+")
"/share/glib-2.0/schemas")))))))))
"#include <igl/qslim.h>")))))))
(native-inputs
(list pkg-config catch2-3.8))
(inputs
(list bash-minimal
boost-1.83
(list boost-1.83
cereal
cgal
curl
@@ -5368,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)
+41 -47
View File
@@ -392,56 +392,50 @@ embedded systems.")
(define-public python-efl
(package
(name "python-efl")
(version "1.26.1")
(version "1.26.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.enlightenment.org/rel/bindings/"
"python/python-efl-" version ".tar.xz"))
(sha256
(base32 "1mr80vgbcs03rs5lbmg8pxj8hifkrzrwdrw01plik2h729z3knyw"))
(modules '((guix build utils)))
;; Remove files generated by Cython
(snippet
'(begin
(for-each (lambda (file)
(let ((generated-file
(string-append (string-drop-right file 3) "c")))
(when (file-exists? generated-file)
(delete-file generated-file))))
(find-files "efl" "\\.pyx$"))
(delete-file "efl/eo/efl.eo_api.h")))))
(build-system pyproject-build-system)
(origin
(method url-fetch)
(uri (string-append "https://download.enlightenment.org/rel/bindings/"
"python/python-efl-" version ".tar.xz"))
(sha256
(base32
"0dj6f24n33hkpy0bkdclnzpxhvs8vpaxqaf7hkw0di19pjwrq25h"))
(modules '((guix build utils)))
;; Remove files generated by Cython
(snippet
'(begin
(for-each (lambda (file)
(let ((generated-file
(string-append (string-drop-right file 3) "c")))
(when (file-exists? generated-file)
(delete-file generated-file))))
(find-files "efl" "\\.pyx$"))
(delete-file "efl/eo/efl.eo_api.h")))))
(build-system python-build-system)
(arguments
(list
#:test-flags
#~(list "tests"
;; These tests try to connect to the internet.
"--ignore=tests/ecore/test_09_file_download.py"
"--ignore=tests/ecore/test_11_con.py"
;; The above test ignorance probably breaks this one.
"--deselect=tests/ecore/test_08_exe.py::TestExe::testInit"
;; This test requires access to a running Xorg server,
;; /var/lib/dbus and /etc.
"--ignore=tests/dbus/test_01_basics.py"
;; XXX: RuntimeWarning: Setting standard icon failed
"--ignore=tests/elementary/test_02_image_icon.py")
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-flags
(lambda* (#:key inputs #:allow-other-keys)
(let ((include-dir (search-input-directory inputs
"include/dbus-1.0")))
(setenv "CFLAGS" (string-append "-I" include-dir)))))
(add-before 'check 'configure-tests
(lambda _
(setenv "HOME" "/tmp")))))) ;needed by tests
'(#:phases
(modify-phases %standard-phases
(replace 'build
(lambda _
(setenv "ENABLE_CYTHON" "1")
(invoke "python" "setup.py" "build")))
(add-before 'build 'set-flags
(lambda _
(setenv "CFLAGS"
(string-append "-I" (assoc-ref %build-inputs "python-dbus")
"/include/dbus-1.0"))))
(add-before 'check 'set-environment
(lambda _
;; Some tests require write access to HOME.
(setenv "HOME" "/tmp")
;; These tests try to connect to the internet.
(delete-file "tests/ecore/test_09_file_download.py")
(delete-file "tests/ecore/test_11_con.py"))))))
(native-inputs
(list pkg-config
python-cython-0
python-pytest
python-setuptools))
(inputs (list efl python-dbus python-packaging))
(list pkg-config python-cython-0))
(inputs
(list efl python-dbus python-packaging))
(home-page "https://www.enlightenment.org/")
(synopsis "Python bindings for EFL")
(description
+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))
-22
View File
@@ -692,25 +692,3 @@ as well as those for Chinese dialects. It has the ability to compose phrases
and sentences intelligently and provide very accurate traditional Chinese
output.")
(license license:lgpl2.1+)))
(define-public fcitx5-hangul
(package
(name "fcitx5-hangul")
(version "5.1.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fcitx/fcitx5-hangul")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "02lkbwg25jr4hazjyxcy69midfsmxc0ksbdrfwbmqcfa3kz5d9gb"))))
(build-system cmake-build-system)
(native-inputs (list extra-cmake-modules pkg-config gettext-minimal))
(inputs (list fcitx5 libhangul))
(home-page "https://github.com/fcitx/fcitx5-hangul")
(synopsis "Hangul support for Fcitx5")
(description
"This package provides the Hangul (Korean) input method engine for Fcitx5.")
(license license:lgpl2.1+)))
+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
+31 -19
View File
@@ -354,14 +354,14 @@ Accounting.")
(define-public homebank
(package
(name "homebank")
(version "5.9.6")
(version "5.9.4")
(source (origin
(method url-fetch)
(uri (string-append "https://www.gethomebank.org/public/sources"
"/homebank-" version ".tar.gz"))
(sha256
(base32
"0ymp7qj6im1cl66lbf9q2r8dgav3dagbhbipskg8zcgj0kz0ncph"))))
"1gwzj3x3rnd3f5z1fzvrl740zhpnxjcsbxlmabwgkw22l6226i4c"))))
(build-system glib-or-gtk-build-system)
(native-inputs
(list pkg-config intltool))
@@ -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")
@@ -1257,6 +1252,29 @@ of Bitcoin BIP-0039.")
Ledger Blue/Nano S.")
(license license:asl2.0)))
(define-public python-btchip-python
(package
(name "python-btchip-python")
(version "0.1.32")
(source
(origin
(method url-fetch)
(uri (pypi-uri "btchip-python" version))
(sha256
(base32
"0mcg3gfd0qk8lhral3vy9cfd4pii9kzs42q71pf6b3y0c70y1x9l"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; those require PyQt4
(propagated-inputs
(list python-ecdsa python-hidapi))
(home-page "https://github.com/LedgerHQ/btchip-python")
(synopsis "Python library to communicate with Ledger Nano dongle")
(description
"This package provides a Python library to communicate with Ledger
Nano dongle.")
(license license:asl2.0)))
(define-public python-trezor
(package
(name "python-trezor")
@@ -1463,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")
+20 -24
View File
@@ -44,7 +44,6 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix download)
@@ -79,7 +78,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 qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages swig)
@@ -492,31 +490,29 @@ Management Engine (ME). You need to @code{sudo rmmod mei_me} and
(package
(name "me-cleaner")
(version "1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/corna/me_cleaner")
(commit (string-append "v" version))))
(sha256
(base32 "1bdj2clm13ir441vn7sv860xsc5gh71ja5lc2wn0gggnff0adxj4"))
(file-name (git-file-name name version))))
(build-system pyproject-build-system)
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/corna/me_cleaner")
(commit (string-append "v" version))))
(sha256
(base32
"1bdj2clm13ir441vn7sv860xsc5gh71ja5lc2wn0gggnff0adxj4"))
(file-name (git-file-name name version))))
(build-system python-build-system)
(arguments
(list
#:tests? #f ; No tests.
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-documentation
(lambda _
(install-file "man/me_cleaner.1"
(string-append #$output "/share/man/man1")))))))
(native-inputs (list python-setuptools))
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'install-documentation
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(man (string-append out "/share/man/man1")))
(install-file "man/me_cleaner.1" man)
#t))))))
(home-page "https://github.com/corna/me_cleaner")
(synopsis "Intel ME cleaner")
(description
"This package provides tools for disabling Intel ME as far as possible
(it only edits ME firmware image files).")
(description "This package provides tools for disabling Intel
ME as far as possible (it only edits ME firmware image files).")
(license license:gpl3+)
;; This is an Intel thing.
+2 -109
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.
;;;
@@ -488,7 +487,7 @@ provide serif, sans and monospaced variants.")
package provides the TrueType (TTF) files.")
(license
(license:fsdg-compatible
"https://spdx.org/licenses/Bitstream-Vera.html"
"https://www.gnome.org/fonts/#Final_Bitstream_Vera_Fonts"
"The Font Software may be sold as part of a larger software package but
no copy of one or more of the Font Software typefaces may be sold by
itself."))))
@@ -576,61 +575,6 @@ intended to be optimally legible for readers who are partially visually impaired
all characters maximally distinguishable from one another.")
(license license:silofl1.1))))
(define-public font-atkinson-hyperlegible-next
(let ((commit "7925f50f649b3813257faf2f4c0b381011f434f1")
(revision "0"))
(package
(name "font-atkinson-hyperlegible-next")
(version (git-version "2.001" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/googlefonts/atkinson-hyperlegible-next/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "01m59xl35xvjv07d0qwli1czgfjg2wfgv676xi71is2rirh1y71f"))))
(build-system font-build-system)
(home-page "https://www.brailleinstitute.org/freefont/")
(synopsis
"Typeface designed to increase legibility for low vision readers")
(description
"Atkinson Hyperlegible Next is an improvement of the typeface Atkinson
Hyperlegible, including new characters, improved glyphs, and improved kerning.
Additionally, the two previous weights has increased to six, all in upright
and italic, allowing for greater flexibility in use.")
(license license:silofl1.1))))
(define-public font-atkinson-hyperlegible-mono
(let ((commit "154d50362016cc3e873eb21d242cd0772384c8f9")
(revision "0"))
(package
(name "font-atkinson-hyperlegible-mono")
(version (git-version "2.001" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/googlefonts/atkinson-hyperlegible-next-mono/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0bdhp70zniqnj14raw9krb034zrvvxhzimzqys713p8ksrndck2p"))))
(build-system font-build-system)
(home-page "https://www.brailleinstitute.org/freefont/")
(synopsis
"Monospace typeface designed to increase legibility for low vision readers")
(description
"Atkinson Hyperlegible Mono is an entirely new typeface inspired by
Atkinson Hyperlegible. The characters in a monospace typeface all occupy the
same width, allowing for them to be scanned quickly in table-based and coding
environments. The glyphs in Atkinson Hyperlegible Mono are newly created for
this variation, and unique to the typeface.")
(license license:silofl1.1))))
(define-public font-lato
(package
(name "font-lato")
@@ -5087,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")
+42 -130
View File
@@ -38,7 +38,6 @@
;;; Copyright © 2025 Arnaud Lechevallier <arnaud.lechevallier@free.fr>
;;; Copyright © 2025 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2025 Simen Endsjø <contact@simendsjo.me>
;;; Copyright © 2025 gemmaro <gemmaro.dev@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -511,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))
@@ -570,78 +563,38 @@ types (revolute, prismatic, wheel, etc.).")
(license license:zlib)))
(define-public python-anvil-parser
;; Github project does not have tags.
(let ((commit "91a7eda55f0fb55a948d1072896430c29d906809")
(let ((commit "27544bb41f035617be130a209a84371cbaf837cc")
(revision "0"))
(package
(name "python-anvil-parser")
(version (git-version "0.10.6" revision commit))
(version (git-version "0.9.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/0xTiger/anvil-parser2")
(url "https://github.com/0xTiger/anvil-parser")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "16j7kv6v782nz1fafkxkb7v2vpwfhpi1a66ak04xawg9h1fz7vkc"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest python-setuptools))
(base32 "196nli36pz4sllx1m8jlys661hgbxhcxr2c4545fqb4nd27hhwy7"))))
(build-system python-build-system)
(propagated-inputs (list python-frozendict python-nbt))
(home-page "https://github.com/0xTiger/anvil-parser2")
(home-page "https://github.com/0xTiger/anvil-parser")
(synopsis "Anvil file format parser")
(description "This package provides an Anvil file format parser.")
(license license:expat))))
;;~4MiB of test files.
(define python-nbt-testdata
(file-union
"python-nbt-testdata"
(list
(let ((file "Sample_World.tar.gz"))
`(,file
,(origin
(method url-fetch)
(uri (string-append
"https://github.com/twoolie/NBT/files/13199373/"
file))
(sha256
(base32
"1s58g5zicx8ghdai2qix2aqq0fc675vfajica4h78c397crwjrl9"))))))))
(define-public python-nbt
(package
(name "python-nbt")
(version "1.5.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/twoolie/NBT")
(commit (string-append "version-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1a3mj7c18m1n5iqzwwvvlk7n65kxp3xbmccsqyap36apwpbbxyd9"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "tests/regiontests.py" "tests/nbttests.py")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'fake-download
;; Fake the download of the test tarball.
(lambda _
(substitute*
"tests/downloadsample.py"
(("tar_file = .*")
(string-append
"tar_file = '"
#+python-nbt-testdata
"/Sample_World.tar.gz'"))))))))
(native-inputs
(list python-pytest python-setuptools))
(source (origin
(method url-fetch)
(uri (pypi-uri "NBT" version))
(sha256
(base32
"1i9ncrzy5zcfnxzkh2j31n9ayzxfncckzwa6fkz9vjq5fq9v4fys"))))
(build-system python-build-system)
(home-page "https://github.com/twoolie/NBT")
(synopsis "Named Binary Tag reader and writer")
(description
@@ -1990,43 +1943,6 @@ programming languages.")
visual novel engine, explaining all of its features.")
(license license:expat)))
(define-public rpatool
;; XXX: No releases or version tags, see:
;; <https://codeberg.org/shiz/rpatool/issues/28>.
(let ((revision "0")
(commit "74f26d5dfdd645483e02552aa766ca447ad6b191"))
(package
(name "rpatool")
(version (git-version "0.8" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shiz/rpatool")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "10dm8bak0dm84d1ciwzw6jd5y64invddlmcdnawnpp7jn3wrg1jb"))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(delete 'build)
(replace 'install
(lambda _
(install-file "rpatool"
(string-append #$output "/bin")))))))
(home-page "https://codeberg.org/shiz/rpatool")
(synopsis "Tool to work with Ren'Py archives")
(description
"@samp{rpatool} is a simple tool allowing you to create, modify and
extract @url{https://www.renpy.org/,Ren'Py} Archive files
(@code{.rpa}/@code{.rpi}). Currently, only writing RPAv2/RPAv3 archives is
supported.")
(license license:wtfpl2))))
(define-public python-pyxel
;; Note to updaters: Use commit and revision even if you're bumping
;; to a release, as upstream is known to "reuse" tags.
@@ -2172,40 +2088,36 @@ robust and compatible with many systems and operating systems.")
(license license:zlib)))
(define-public mc2mt
;; No tags in the repository.
(let ((commit "039dbc26466a430e03c646dc5a9bd0822637a87a")
(revision "0"))
(package
(name "mc2mt")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/listia/mc2mt")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1vnaznwgm87x0n5dp14363p2h54lpzalynrrd6lbs6wgrqq7fq9i"))
(patches (search-patches "mc2mt-add-packaging-support.patch"))
(modules '((guix build utils)))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ; no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-code
(lambda* _
(substitute* "mc2mtlib/argument_parser.py"
(("mineclone2") "mineclone")))))))
(native-inputs (list python-pytest python-setuptools))
(propagated-inputs (list python-anvil-parser))
(synopsis "Minecraft to Minetest world converter")
(description "@code{mc2mt} is a Minecraft to Minetest world converter.
(package
(name "mc2mt")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/listia/mc2mt")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1vnaznwgm87x0n5dp14363p2h54lpzalynrrd6lbs6wgrqq7fq9i"))
(patches (search-patches "mc2mt-add-packaging-support.patch"))
(modules '((guix build utils)))
(snippet
#~(begin
(substitute* "mc2mtlib/argument_parser.py"
(("mineclone2") "mineclone"))))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools))
(propagated-inputs (list python-anvil-parser))
(arguments
(list #:tests? #f)) ; no tests
(synopsis "Minecraft to Minetest world converter")
(description "@code{mc2mt} is a Minecraft to Minetest world converter.
It can convert worlds from Minecraft 1.9 and later.")
(home-page "https://github.com/listia/mc2mt")
(license license:expat))))
(home-page "https://github.com/listia/mc2mt")
(license license:expat))))
(define-public mygui
(package
+34 -43
View File
@@ -1544,7 +1544,7 @@ practise.")
(define-public doom-runner
(package
(name "doom-runner")
(version "1.9.1")
(version "1.8.3")
(source
(origin
(method git-fetch)
@@ -1553,13 +1553,10 @@ practise.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "19jq5cj6rc8d5ghd9321a2f3v0b7z928990d7dj6ynyhkpcj769p"))
(modules '((guix build utils)))
(snippet #~(delete-file-recursively "Screenshots")))) ;Save 1.4MiB.
(base32 "0rpywq95zy9w0wj1262x4rf84c52wg1rgf0by549qph6fybn34rn"))))
(build-system qt-build-system)
(arguments
(list
#:qtbase qtbase
#:tests? #f ;no tests
#:modules '((guix build qt-build-system)
((guix build gnu-build-system) #:prefix gnu:)
@@ -1568,37 +1565,37 @@ practise.")
#~(modify-phases %standard-phases
(replace 'configure
(lambda _
(substitute* "DoomRunner.pro"
(("/usr")
#$output))
(invoke "qmake" "DoomRunner.pro" "-spec" "linux-g++"
"\"CONFIG+=release\""
(string-append "INSTALL_DIR=" #$output))))
"\"CONFIG+=release\"")))
(replace 'build (assoc-ref gnu:%standard-phases 'build))
(replace 'install (assoc-ref gnu:%standard-phases 'install))
(add-after 'install 'install-xdg
(lambda _
(with-directory-excursion #$output
(install-file "DoomRunner" "bin/")
(delete-file "DoomRunner"))
(with-directory-excursion "Install/XDG"
(install-file "DoomRunner.desktop"
(string-append #$output "/share/applications"))
(install-file "io.github.Youda008.DoomRunner.appdata.xml"
(string-append #$output "/share/metainfo"))
(for-each
(lambda (size)
(let ((filename (simple-format #f "DoomRunner.~sx~s.png"
size size)))
(chmod filename #o444)
(install-file
filename
(simple-format #f "~a/share/icons/hicolor/~sx~s/apps"
#$output size size))))
'(16 24 32 48 64 128))))))))
(string-append #$output
"/share/applications"))
(let ((install-icon
(lambda (size)
(install-file (simple-format
#f "DoomRunner.~sx~s.png"
size size)
(simple-format
#f "~a/share/icons/hicolor/~sx~s/apps"
#$output size size)))))
(for-each install-icon
'(16 24 32 48 64 128)))))))))
(home-page "https://github.com/Youda008/DoomRunner")
(synopsis "Launcher for Doom engine games")
(description "Doom Runner is yet another launcher of common Doom source
ports (e.g. GZDoom, Zandronum, PrBoom) with a graphical user interface. It
is written in C++ and Qt, and it is designed around the idea of presets for
various multi-file modifications to allow one-click switching between them.")
(description
"Doom Runner is yet another launcher of common Doom source ports (like
GZDoom, Zandronum, PrBoom, ...) with graphical user interface. It is
written in C++ and Qt, and it is designed around the idea of presets
for various multi-file modifications to allow one-click switching
between them and minimize any repetitive work.")
(license license:gpl3)))
(define-public falltergeist
@@ -3159,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
@@ -9238,7 +9235,7 @@ original.")
(define-public woof-doom
(package
(name "woof-doom")
(version "15.3.0")
(version "15.2.0")
(source
(origin
(method git-fetch)
@@ -9247,29 +9244,22 @@ original.")
(commit (string-append "woof_" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ki7wqjhqhjxci04aksh9m8m35gi2db89475v79rjzdgk00b3mqv"))
(base32 "04c7hm4jnr9aiz6w4520zww6b7j86qv9xaf87hdv48cjc9sp2ljk"))
(modules '((guix build utils)))
(snippet '(begin
(with-directory-excursion "third-party"
(delete-file-recursively "miniz")
(delete-file-recursively "yyjson")
(delete-file-recursively "spng")
(substitute* "CMakeLists.txt"
(("add_library\\(miniz.+")
"find_package(miniz REQUIRED)")
(("target_.+\\(miniz.+$") "")
(("add_library\\(spng.+")
"find_package(PkgConfig)
pkg_search_module(spng REQUIRED spng)")
(("target_.+\\(spng.+$") "")))
(delete-file-recursively "spng"))
(delete-file-recursively "win32")
(substitute* (find-files "src" ".")
(("miniz.h") "miniz/miniz.h"))))))
(("miniz.h") "miniz/miniz.h"))))
(patches (search-patches "woof-doom-unbundle-spng-miniz.patch"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f)) ;'demotest' requires internet access.
(native-inputs (list pkg-config python))
(native-inputs (list python))
(inputs (list libebur128
libsndfile
libxmp
@@ -9280,8 +9270,8 @@ pkg_search_module(spng REQUIRED spng)")
spng
yyjson
fluidsynth))
(home-page "https://fabiangreffrath.github.io/woof/")
(synopsis "MBF-lineage Doom source port")
(home-page "https://github.com/fabiangreffrath/woof")
(synopsis "MBF-style Doom source port targeted at modern systems")
(description
"Woof! is a continuation of the MBF lineage of Doom source ports, with
modern features such as dynamic resolution scaling, uncapped framerates,
@@ -9294,6 +9284,7 @@ UMAPINFO, DEHEXTRA, and DSDHacked specifictions.")
(list (license:non-copyleft
"https://bitbucket.org/jpommier/pffft/src/master/pffft.h"
"FFTPACK license")
license:bsd-2
license:bsd-3
license:cc-by3.0
license:cc0
+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>
;;;
-12
View File
@@ -200,18 +200,6 @@ written in C, C++, Ada, Objective-C, Pascal and more.")
(base32
"1i940b04404xr44xc66c4r4nk091czqz7zzrmhbpk64aaaax1z5w"))))))
(define-public gdb-17
(package
(inherit gdb-14)
(version "17.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdb/gdb-"
version ".tar.xz"))
(sha256
(base32
"0xnqqv3j463r5rnfmblj3zwhf0l0lyy4bp1zaid8zxn9fignz68l"))))))
(define-public gdb
;; The "default" version.
gdb-14)
+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.
+9 -31
View File
@@ -34,11 +34,10 @@
#:use-module (gnu packages)
#:use-module (guix packages)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages docbook)
@@ -49,7 +48,6 @@
#:use-module (gnu packages perl-check)
#:use-module (gnu packages tex)
#:use-module (gnu packages xml)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
#:use-module (guix utils))
@@ -234,37 +232,17 @@ color, font attributes (weight, posture), or underlining.")
(define-public mdpo
(package
(name "mdpo")
(version "0.3.86") ;the last version without Rust
(version "0.3.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mondeja/mdpo")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "mdpo" version))
(sha256
(base32 "130g8ggy0xgk5jmlx23569wmv9fz7fhm8qi46cjj7n4fxr0vnmyx"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 91 passed
#:test-flags
;; XXX: The Most of the tests fail because 0.3.86 was released in 2022
;; and depends on python-pytest@6.2.4.
;;
;; OSError: pytest: reading from stdin while output is captured!
;; Consider using `-s`.
#~(list "--ignore=test/test_integration/"
"--ignore=test/test_unit/test_md2po/"
"--ignore=test/test_unit/test_md2po2md/"
"--ignore=test/test_unit/test_mdpo2html/"
"--ignore=test/test_unit/test_po2md/")))
(native-inputs
(list python-pytest
python-setuptools))
(inputs
(list python-polib
python-pymd4c))
(base32 "0kgbm0af7jwpfspa2xxiy9nc2l1r2s1rhbhz4r229zcqv49ak6sq"))))
(build-system python-build-system)
(native-inputs (list python-bump2version python-pytest python-yamllint))
(propagated-inputs
(list python-polib python-pymd4c))
(home-page "https://github.com/mondeja/mdpo")
(synopsis "Markdown file translation utilities using pofiles")
(description
+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)))))
+17 -27
View File
@@ -584,14 +584,12 @@ 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"))))
(build-system pyproject-build-system)
(build-system python-build-system)
(arguments
(list
#:tests? #f ; No test suite.
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-environment
@@ -604,11 +602,12 @@ interface (FFI) of Guile.")
"extra_macros = { \"_FILE_OFFSET_BITS\": 64 }")))
#~())
(substitute* "setup.py"
(("cc") (which "gcc"))))))))
(("cc") (which "gcc"))))))
#:tests? #f)) ; No test suite.
(inputs
(list gpgme))
(native-inputs
(list swig python-setuptools))
(list swig))
(home-page (package-home-page gpgme))
(synopsis "Python bindings for GPGME GnuPG cryptography library")
(description "This package provides Python bindings to the GPGME GnuPG
@@ -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
+2 -92
View File
@@ -46,7 +46,6 @@
;;; Copyright © 2025 David Thompson <davet@gnu.org>
;;; Copyright © 2025 Danny Milosavljevic <dannym@friendly-machines.com>
;;; Copyright © 2025 Patrick Norton <patrick.147.norton@gmail.com>
;;; Copyright © 2025 Jared Klingenberger <jkling@noreply.codeberg.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1816,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")
@@ -4599,7 +4557,7 @@ decode/encode structures and slices.")
(define-public go-github-com-gaissmai-bart
(package
(name "go-github-com-gaissmai-bart")
(version "0.26.0")
(version "0.11.1")
(source
(origin
(method git-fetch)
@@ -4608,7 +4566,7 @@ decode/encode structures and slices.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0w79ns4l7av8c4mzfshc0gyp7nfav2jgg6n2my2nziy8wns1bw33"))))
(base32 "1rnbmykmkl0c1fzz4vkv7q72l7hl2xpmalbm41f4lifdjscx5nk7"))))
(build-system go-build-system)
(arguments
(list
@@ -6319,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")
@@ -16713,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")
+3 -41
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,
@@ -1119,7 +1081,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package
(inherit go-1.24)
(name "go")
(version "1.25.5")
(version "1.25.3")
(source
(origin
(method git-fetch)
@@ -1128,7 +1090,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(commit (string-append "go" version))))
(file-name (git-file-name name version))
(sha256
(base32 "102ngi7q0bwb0q391jag7fix70x7lp2mdmbkkh50fwclga14l842"))))
(base32 "037gcrl8nagdsq2kv8irx7n0nijjmlqpz0b0zyj482xz2wzar0fs"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.24)
((#:phases phases)
+22 -22
View File
@@ -64,7 +64,28 @@
(base32 "1zmp7kkldb59fx1y6k4mkff8ngmyb9pflcd3yqb28m9wb9bp4j4h"))
(file-name (git-file-name name version))
(patches (search-patches "gpodder-disable-updater.patch"))))
(build-system pyproject-build-system)
(build-system python-build-system)
(native-inputs
(list intltool
python-coverage
python-minimock
python-pytest
python-pytest-cov
python-pytest-httpserver
which))
(inputs
(list bash-minimal
gtk+
python-pygobject
python-pycairo
python-requests
python-dbus
python-html5lib
python-mutagen
python-mygpoclient
python-podcastparser
yt-dlp
xdg-utils))
(arguments
(list
#:phases
@@ -99,27 +120,6 @@
(let ((gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(wrap-program (string-append #$output "/bin/gpodder")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))))))
(native-inputs
(list intltool
python-minimock
python-pytest
python-pytest-cov
python-pytest-httpserver
python-setuptools
which))
(inputs
(list bash-minimal
gtk+
python-pygobject
python-pycairo
python-requests
python-dbus
python-html5lib
python-mutagen
python-mygpoclient
python-podcastparser
yt-dlp
xdg-utils))
(home-page "https://gpodder.github.io")
(synopsis "Simple podcast client")
(description "gPodder is a podcatcher, i.e. an application that allows
+2 -2
View File
@@ -205,7 +205,7 @@ coordinates as well as partial support for adjustments in global coordinate syst
(define-public gpxsee
(package
(name "gpxsee")
(version "15.6")
(version "13.22")
(source
(origin
(method git-fetch)
@@ -214,7 +214,7 @@ coordinates as well as partial support for adjustments in global coordinate syst
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0kfbx7vv740fkx96v3m1gywl0mdfs3mxq84hmipjksm59qi4s3yy"))))
(base32 "15m5rqky2fwsq5n6x531350x39wwhpv1hz56m1yfaxj7acxhb2p5"))))
(build-system qt-build-system)
(arguments
(list
File diff suppressed because it is too large Load Diff
+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
+25 -28
View File
@@ -428,17 +428,21 @@ graphs in Graphviz's DOT language, written in pure Python.")
(sha256
(base32
"1kp77wiv7b5qib82i3y3sn9r49rym43aaqm5aw1bwnzfbbq2m6i9"))))
(build-system pyproject-build-system)
(build-system python-build-system)
(arguments
(list
;; tests: 57 passed, 1 deselected
#:test-flags
;; The test_semicolon test fails for unknown reason, see:
;; <https://github.com/kjellmf/dot2tex/issues/94>.
#~(list "--deselect=tests/test_dot2tex.py::MultipleStatements::test_semicolon")))
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv" "tests"
;; The test_semicolon test fails for unknown reason
;; (see:
;; https://github.com/kjellmf/dot2tex/issues/94).
"-k" "not test_semicolon")))))))
(native-inputs
(list python-pytest
python-setuptools
(texlive-local-tree
(list texlive-pgf
texlive-preview
@@ -465,35 +469,28 @@ This approach allows:
(define-public gprof2dot
(package
(name "gprof2dot")
(version "2025.04.14")
(version "2021.02.21")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jrfonseca/gprof2dot")
(commit version)))
(url "https://github.com/jrfonseca/gprof2dot")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0yil32pbcarwsfmhgn2zhldjj985v9p80f2yi2shkaxzfc4w6zwi"))))
(build-system pyproject-build-system)
(base32
"1jjhsjf5fdi1fkn7mvhnzkh6cynl8gcjrygd3cya5mmda3akhzic"))))
(build-system python-build-system)
(arguments
(list
#:test-backend #~'custom
#:test-flags
#~(list "tests/test.py"
"--python=bash"
"--max-acceptable=0"
(string-append "--gprof2dot=" #$output "/bin/gprof2dot"))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-tests
;; Prevent irrelevant errors that cause test output mismatches:
;; Fontconfig error: No writable cache directories
(lambda _
(setenv "XDG_CACHE_HOME" "/tmp"))))))
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
(invoke "python" "tests/test.py")))))))
(native-inputs
(list graphviz
python-setuptools))
(list graphviz))
(home-page "https://github.com/jrfonseca/gprof2dot")
(synopsis "Generate a dot graph from the output of several profilers")
(description "This package provides a Python script to convert the output
+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")
+25 -24
View File
@@ -1030,7 +1030,7 @@ invocations."))))
(define-public guile-dsv
(package
(name "guile-dsv")
(version "0.8.1")
(version "0.8.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1039,7 +1039,7 @@ invocations."))))
(file-name (git-file-name name version))
(sha256
(base32
"0hpdl2x0lp0dqpx23l29a45lvn5c2qpd4bzrl8d46vm4nraqi7aa"))))
"0mc4najwji8144xzhpnrljrmh7m9iiykf3bp3lzksrwqyhz8np2k"))))
(build-system gnu-build-system)
(native-inputs (list autoconf
automake
@@ -1053,28 +1053,29 @@ invocations."))))
(inputs (list bash-minimal guile-3.0))
(propagated-inputs (list guile-lib guile-smc))
(arguments
(list #:modules `(((guix build guile-build-system)
#:select (target-guile-effective-version))
,@%default-gnu-modules)
#:imported-modules `((guix build guile-build-system)
,@%default-gnu-imported-modules)
#:phases #~(modify-phases %standard-phases
(delete 'strip)
(add-after 'install 'wrap-program
(lambda* (#:key inputs #:allow-other-keys)
(let* ((bin (string-append #$output "/bin"))
(guile-lib (assoc-ref inputs "guile-lib"))
(version (target-guile-effective-version))
(scm (string-append "/share/guile/site/" version))
(go (string-append "/lib/guile/" version
"/site-ccache")))
(wrap-program (string-append bin "/dsv")
`("GUILE_LOAD_PATH" prefix
(,(string-append #$output scm)
,(string-append guile-lib scm)))
`("GUILE_LOAD_COMPILED_PATH" prefix
(,(string-append #$output go)
,(string-append guile-lib go))))))))))
`(#:modules (((guix build guile-build-system)
#:select (target-guile-effective-version))
,@%default-gnu-modules)
#:imported-modules ((guix build guile-build-system)
,@%default-gnu-imported-modules)
#:phases (modify-phases %standard-phases
(delete 'strip)
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(guile-lib (assoc-ref inputs "guile-lib"))
(version (target-guile-effective-version))
(scm (string-append "/share/guile/site/" version))
(go (string-append "/lib/guile/" version
"/site-ccache")))
(wrap-program (string-append bin "/dsv")
`("GUILE_LOAD_PATH" prefix
(,(string-append out scm) ,(string-append
guile-lib scm)))
`("GUILE_LOAD_COMPILED_PATH" prefix
(,(string-append out go) ,(string-append guile-lib
go))))) #t)))))
(home-page "https://github.com/artyom-poptsov/guile-dsv")
(synopsis "DSV module for Guile")
(description
-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+)))
-125
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")
@@ -88,69 +68,6 @@
(description "This package provides JSON support for Hare.")
(license license:mpl2.0)))
(define-public hare-lex
(package
(name "hare-lex")
(version "0.25.2.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~stacyharper/hare-lex")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "06jlkb1q8ybr6yx56c6ikxv5ywz44k04dpwxcc796cnpzpkgqlyf"))))
(build-system hare-build-system)
(supported-systems %hare-supported-systems)
(home-page "https://git.sr.ht/~stacyharper/hare-lex")
(synopsis "General purpose lexical tokenization machinery for Hare")
(description "This module provides a general purpose lexer machine for Hare.")
(license license:mpl2.0)))
(define-public hare-irc
(package
(name "hare-irc")
(version "0.25.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~sircmpwn/hare-irc")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0ani8prdwjsfh8iqn5kfmkiim9ihl8dvbr28g69c037f6gbdb08v"))))
(build-system hare-build-system)
(supported-systems %hare-supported-systems)
(home-page "https://sr.ht/~sircmpwn/hare-irc")
(synopsis "IRC client protocol implementation for Hare")
(description "This package provides an implementation of the IRC client
protocol for Hare programs, based on the @url{ircdocs.horse} specifications.")
(license license:mpl2.0)))
(define-public hare-scfg
(package
(name "hare-scfg")
(version "0.25.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~chrisppy/hare-scfg")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1nj9gqvnvmwh3j39rj1h856p5qzghv5in01rxi4x74mqirl5q2ch"))))
(build-system hare-build-system)
(supported-systems %hare-supported-systems)
(home-page "https://git.sr.ht/~chrisppy/hare-scfg")
(synopsis "Hare library for a simple configuration file format")
(description "This package provides a Hare library for parsing
@uref{https://git.sr.ht/~emersion/scfg, scfg}, a simple configuration file
format with one directive per line.")
(license license:mpl2.0)))
(define-public hare-ssh
(package
(name "hare-ssh")
@@ -172,28 +89,6 @@ format with one directive per line.")
and agent protocols in pure Hare.")
(license license:mpl2.0)))
(define-public hare-template
(package
(name "hare-template")
(version "0.25.2.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~stacyharper/hare-template")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0mfg3ijfmii7vag1cgvr0n76hd7cic6vdf37gd05c5ilnb31ial6"))))
(build-system hare-build-system)
(inputs (list hare-lex))
(supported-systems %hare-supported-systems)
(home-page "https://git.sr.ht/~stacyharper/hare-template")
(synopsis "Templating tool and library for Hare")
(description "This package aims to offer a good and simple templating
system for Hare, using code generation.")
(license license:mpl2.0)))
(define-public hare-gi
(package
(name "hare-gi")
@@ -306,23 +201,3 @@ language.")
(description "This package is a set of gtk-layer-shell bindings for the Hare
language.")
(license license:mpl2.0)))
(define-public hare-xml
(package
(name "hare-xml")
(version "0.25.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~sircmpwn/hare-xml")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1h216z59piz1g7a0iiy1qic1wj8lbajw3mw5zw9nid0bz2vx81b0"))))
(build-system hare-build-system)
(supported-systems %hare-supported-systems)
(home-page "https://git.sr.ht/~sircmpwn/hare-xml")
(synopsis "XML support for Hare")
(description "This package provides XML support for Hare.")
(license license:mpl2.0)))
+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"
+9 -7
View File
@@ -41,7 +41,6 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix utils)
#:use-module (gnu packages)
@@ -71,7 +70,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-check)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages python-web)
@@ -1175,11 +1173,15 @@ and does not rely on an online service.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0i8vwnikwd1bfpv4xlgzc51gn6s18q58nqhvcdiyjzcmy3z344c2"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ; No tests
(propagated-inputs (list python-tinycss2 python-pygobject))
(native-inputs (list gettext-minimal python-setuptools))
(base32
"0i8vwnikwd1bfpv4xlgzc51gn6s18q58nqhvcdiyjzcmy3z344c2"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; No tests
(propagated-inputs
(list python-tinycss2 python-pygobject))
(native-inputs
`(("gettext" ,gettext-minimal)))
(home-page "https://github.com/openSUSE/IBus-Theme-Tools")
(synopsis "Tool for IBus Themes")
(description "IBus Theme Tools can extract IBus-specific settings from

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