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
279 changed files with 27111 additions and 198187 deletions
-1
View File
@@ -68,7 +68,6 @@
/doc/stamp-vti
/doc/version.texi
/doc/version-*.texi
/etc/apparmor.d/tunables/guix
/etc/committer.scm
/etc/gnu-store.mount
/etc/guix-daemon.cil
-1
View File
@@ -59,7 +59,6 @@ Mathieu Othacehe <mathieu.othacehe@parrot.com>
Mathieu Othacehe <othacehe@gnu.org>
Matthew James Kraai <kraai@ftbfs.org>
Maxim Cournoyer <maxim@guixotic.coop> <maxim.cournoyer@gmail.com>
Nguyễn Gia Phong <cnx@loang.net> <mcsinyx@disroot.org>
Nikita Karetnikov <nikita@karetnikov.org> <nikita.karetnikov@gmail.com>
nikita <nikita@n0.is>
nikita <nikita@n0.is> ng0 <ng0@n0.is>
-1
View File
@@ -194,7 +194,6 @@ guix/scripts/import/go\.scm @guix/go
tests/import/go\.scm @guix/go
gnu/packages/hare\.scm @guix/hare
gnu/packages/hare-apps\.scm @guix/hare
gnu/packages/hare-xyz\.scm @guix/hare
guix/build-system/hare\.scm @guix/hare
guix/build/hare-build-system\.scm @guix/hare
+46 -44
View File
@@ -376,7 +376,6 @@ MODULES = \
guix/scripts/import/luanti.scm \
guix/scripts/import/minetest.scm \
guix/scripts/import/npm-binary.scm \
guix/scripts/import/nuget.scm \
guix/scripts/import/opam.scm \
guix/scripts/import/pypi.scm \
guix/scripts/import/stackage.scm \
@@ -506,8 +505,7 @@ EXAMPLES = \
gnu/system/examples/plasma.tmpl \
gnu/system/examples/raspberry-pi-64.tmpl \
gnu/system/examples/raspberry-pi-64-nfs-root.tmpl \
gnu/system/examples/vm-image.tmpl \
gnu/system/examples/vm-image-efi.tmpl
gnu/system/examples/vm-image.tmpl
GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go $(dist_noinst_DATA:%.scm=%.go)
@@ -748,14 +746,6 @@ dist_fishcompletion_DATA = etc/completion/fish/guix.fish
# SELinux policy
nodist_selinux_policy_DATA = etc/guix-daemon.cil
# AppArmor profiles.
dist_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 \
@@ -773,12 +763,9 @@ EXTRA_DIST += \
build-aux/compile-as-derivation.scm \
build-aux/config.rpath \
build-aux/convert-xref.scm \
build-aux/cuirass/evaluate.scm \
build-aux/extract-syscall-ranges.sh \
build-aux/generate-authors.scm \
build-aux/gitlog-to-changelog \
build-aux/git-version-gen \
build-aux/keep-only-translated.scm \
build-aux/mdate-from-git.scm \
build-aux/test-driver.scm \
build-aux/update-NEWS.scm \
@@ -794,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 \
@@ -1147,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 ; \
@@ -1176,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 -q --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
+5 -75
View File
@@ -6,7 +6,6 @@ Copyright © 2013-2022 Ludovic Courtès <ludo@gnu.org>
Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
Copyright © 2021, 2022, 2024 Maxim Cournoyer <maxim@guixotic.coop>
Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
Copyright © 2026 Noé Lopez <noelopez@free.fr>
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
@@ -17,77 +16,8 @@ Please send Guix bug reports to bug-guix@gnu.org.
* Changes in 1.5.0 (since 1.4.0)
** Package management
*** New rpm format for the guix pack command
*** New appimage format for the guix pack command
*** New --max-layers and --file options for the guix pack command
*** New --roll-back and --expression options for the guix deploy command
*** New --with-version package transformation option
*** New --with-configure-flag package transformation option
*** New --nesting option to use Guix within guix shell containers
*** New --emulate-fhs option for guix shell containers
*** New --dependents and --development options for guix build
*** New --interactive and --list-types flags for guix repl
*** The root file-system of guix shell containers is now read-only
*** New --writable-root option for the guix shell command
*** Improved style rules for guix style
*** New guix locate command
*** guix refresh now honours the --key-server option
*** guix git authenticate now remembers introduction commit and signer
*** guix git authenticate now installs pre-push and post-merge git hooks
*** System reconfiguration now supports kexec for fast reboot
*** Hetzner Cloud is now supported by the guix deploy command
*** The Guix Daemon can now be run without root privileges
*** guix refresh can now target partial version
*** New guix import composer command
*** New guix import binary-npm command
*** New guix import nuget command
*** New graphml backend for guix graph
*** New cyclonedx-json backend for guix graph
*** AppArmor profiles are now available for guix and guix-daemon
** Distribution
*** nss-certs is now included in %base-packages
*** udev-service-type now supports hardware configuration files
*** gdm-service-type now uses Wayland by default
*** KDE Plasma 6.5 is now available with the new plasma-desktop-service-type
*** GNOME was updated to version 44 with a more modular desktop service
*** Declarative offloading with new build-machines field of operating-system
*** containerd-service-type is no longer included with the Docker service
*** privileged-programs replaces setuid-programs in operating-system
*** The postgresql field of postgresql-configuration is now mandatory
*** The Rottlog service was replaced by new log-rotation-service-type
*** The default system log has been changed to Shepherds system-log service
*** New recommended %base-home-services variable for Guix Home
*** UDisks now mounts removable devices in /run/media/$USER instead of /media
*** Syncthing service received incompatible changes
*** node-build-system received incompatible changes
*** New services for /etc/profile.d and /etc/bashrc.d
*** New build system for clasp-cl
*** New Rust packaging model
*** C.utf8 locale is now supported by glibc
*** Fully bootstrapped mono and zig are now available
*** 64bit Hurd (x86_64-gnu) now has experimental support
*** 12525 new packages
*** 8911 package updates
Noteworthy updates:
bash 5.2.37, binutils 2.44, clojure 1.12.0, cups 2.4.14, emacs 30.2,
gcc-toolchain 15.2.0, gdb 16.3, ghc 9.2.8, gimp 3.0.4, glibc 2.41,
gnome 46.10, gnupg 2.4.7, go 1.25.3, guile 3.0.9, icecat 140.6.0-gnu1,
icedtea 3.19.0, inkscape 1.3.2, julia 1.8.5, libreoffice 25.2.5.2,
linux-libre 6.17.12, lxde 0.99.3, mate 1.28.2, ocaml 5.3.0, octave 10.3.0,
openjdk 25, perl 5.36.0, python 3.11.14, racket 8.18, rust 1.85.1, r 4.5.2,
sbcl 2.5.8, shepherd 1.0.9, xfce 4.20.0, xorg-server 21.1.21
** Programming interfaces
*** (gnu system setuid) has been renamed to (gnu system privilege)
*** Moved to a new Rust packaging model and repackaged all Rust applications
*** Rust library packages have been moved to the guix-rust-past-crates channel
*** Most Python packages now use the pyproject-build-system
** Noteworthy bug fixes
*** Daemon vulnerability allowing store corruption has been fixed
*** Daemon vulnerability allowing takeover of build users has been fixed
*** Daemon privilege escalation vulnerabilities fixed
*** Daemon CVEs have been fixed
CVE-2024-27297, CVE-2024-52867, CVE-2025-46415, CVE-2025-46416, CVE-2025-59378
* Changes in 1.4.0 (since 1.3.0)
** Package management
*** New guix home command, for home environment management
@@ -1996,7 +1926,7 @@ zynaddsubfx@3.0.3, zziplib@0.13.69
*** guix pack now honors package transformation options
*** guix package --search no longer shows superseded packages
(<https://bugs.gnu.org/30566>)
*** guix offload test reports errors more nicely
*** guix offload test reports errors more nicely
(<https://bugs.gnu.org/28057>)
*** postgresql service is started through pg_ctl
(<https://bugs.gnu.org/29992>)
@@ -5734,7 +5664,7 @@ Monad” in the manual.
*** X session is executed from a login shell (<http://bugs.gnu.org/19119>)
*** grub.cfg is now a garbage-collector root (<http://bugs.gnu.org/19160>)
*** Substituter progress report properly formatted
*** Substituter progress report properly formatted
(<http://bugs.gnu.org/19313>)
*** Document permissions for /gnu/store (<http://bugs.gnu.org/19316>)
*** Make sure config.go is newer than config.scm
@@ -5990,18 +5920,18 @@ This could cause problems with ancient Linux kernel.
*** download: Use the 'SERVER NAME' TLS extension when possible
(<http://bugs.gnu.org/18526>)
*** libdaemon: Add alternate source URLs (<http://bugs.gnu.org/18639>)
*** icu4c: Reinstate RUNPATH on shared libraries
*** icu4c: Reinstate RUNPATH on shared libraries
(<http://bugs.gnu.org/18695>)
*** nss-mdns: Add alternate source URLs (<http://bugs.gnu.org/18704>)
*** download: Add "Accept: */*" to the HTTP headers
(<http://bugs.gnu.org/18768>)
*** guix-register: Do not attempt to create NIX_STORE_DIR
*** guix-register: Do not attempt to create NIX_STORE_DIR
(<http://bugs.gnu.org/18689>)
*** Allow Linux-libre to find our 'modprobe' command
(<http://bugs.gnu.org/18525>)
*** man-pages: Build sequentially (<http://bugs.gnu.org/18701>)
*** Fix intermittent test failures involving GC (<http://bugs.gnu.org/18935>)
*** guix import: pypi: Gracefully handle non-existent packages
*** guix import: pypi: Gracefully handle non-existent packages
(<http://bugs.gnu.org/18831>)
*** Make sure the shared library has the '.so' extension
(<http://bugs.gnu.org/18521>)
@@ -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
-16
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])
@@ -198,12 +189,6 @@ if test "x$have_guile_lzlib" != "xyes"; then
AC_MSG_ERROR([Guile-lzlib is missing; please install it.])
fi
dnl Check for Guile-semver.
GUILE_MODULE_AVAILABLE([have_guile_semver], [(semver)])
if test "x$have_guile_semver" != "xyes"; then
AC_MSG_ERROR([Guile-semver is missing; please install it.])
fi
dnl Check for Guile-Avahi.
GUILE_MODULE_AVAILABLE([have_guile_avahi], [(avahi)])
AM_CONDITIONAL([HAVE_GUILE_AVAHI],
@@ -323,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])
+3 -5
View File
@@ -82,7 +82,7 @@
(define %latest-guix-version
;; Latest released version.
"1.5.0")
"1.4.0")
(define (texinfo-manual-images source)
"Return a directory containing all the images used by the user manual, taken
@@ -777,8 +777,7 @@ in SOURCE."
(define version-links
(list (menu-item #$latest-version
(string-append
"/manual/" #$latest-version
"/" language
"/manual/" language
(if split-node? "/html_node" "")))
(menu-item "development"
(string-append
@@ -943,8 +942,7 @@ makeinfo OPTIONS."
(let* ((texi (language->texi-file-name language))
(opts `("--html"
"-c" ,(string-append "TOP_NODE_UP_URL=/manual/"
#$%latest-guix-version
"/" language)
language)
#$@options
,texi)))
(format #t "building HTML manual for language '~a'...~%"
+3 -9
View File
@@ -138,7 +138,6 @@ version from the Git repository:
@example
git clone https://git.guix.gnu.org/guix.git
cd guix
@end example
@cindex authentication, of a Guix checkout
@@ -178,7 +177,6 @@ guix shell -D guix -CPW
or even, from within a Git worktree for Guix:
@example
echo $(pwd) >> ~/.config/guix/shell-authorized-directories
guix shell -CPW
@end example
@@ -186,10 +184,6 @@ If @option{-C} (short for @option{--container}) is not supported on your
system, try @command{--pure} instead of @option{-CPW}.
@xref{Invoking guix shell}, for more information on that command.
Most of the test suite runs without an internet connection. The @option{-N}
(short for @option{--network}) can be added to the @code{guix shell} command
to run the tests that require internet access.
If you are unable to use Guix when building Guix from a checkout, the
following are the required packages in addition to those mentioned in the
installation instructions (@pxref{Requirements}).
@@ -203,11 +197,11 @@ installation instructions (@pxref{Requirements}).
@item @url{https://www.gnu.org/software/help2man/, GNU Help2man (optional)}.
@end itemize
On Guix, other development tools, like @code{strace}, can be included by
giving them as extra arguments to @command{guix shell}:
On Guix, extra dependencies can be added by instead running @command{guix
shell}:
@example
guix shell -D guix -CPW strace
guix shell -D guix help2man git strace --pure
@end example
From there you can generate the build system infrastructure
+6 -6
View File
@@ -1734,8 +1734,8 @@ At this stage, the package @code{cargo-audit} is buildable.
@item
Finally we'll unbundle the vendored dependencies. The lockfile importer
inserts @code{TODO REVIEW:} comments for libraries with high probability
of bundled dependencies. @code{cargo-build-system} also performs
inserts @code{TODO:} comments for libraries with high probability of
bundled dependencies. @code{cargo-build-system} also performs
additional check for binary files in its
@code{check-for-pregenerated-files} phase, which usually indicates
bundling:
@@ -1909,11 +1909,11 @@ Don't forget to modify all workspace members in @code{(gnu packages
rust-crates)}:
@lisp
(define rust-pipewire-0.8.0.fd3d8f7 package:rust-pipewire-0.8.0.fd3d8f7)
(define rust-pipewire-sys-0.8.0.fd3d8f7 package:rust-pipewire-0.8.0.fd3d8f7)
(define rust-pipewire-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)
(define rust-pipewire-sys-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)
@dots{}
(define rust-libspa-0.8.0.fd3d8f7 package:rust-pipewire-0.8.0.fd3d8f7)
(define rust-libspa-sys-0.8.0.fd3d8f7 package:rust-pipewire-0.8.0.fd3d8f7)
(define rust-libspa-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)
(define rust-libspa-sys-0.8.0.fd3d8f7 rust-pipewire-0.8.0.fd3d8f7)
@end lisp
@node Using Rust Libraries in Other Build Systems
+87 -152
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,43 +769,66 @@ This section only applies to systems without Guix. Following it for
existing Guix installations will overwrite important system files.
@end quotation
The
@uref{https://guix.gnu.org/guix-install.sh, @file{guix-install.sh}}
shell script automates the binary installation process.
Use of @file{guix-install.sh} requires Bash, GnuPG, GNU@tie{}tar, wget,
and Xz. On systems where systemd is detected, the tool
@command{newgidmap} from the @code{uidmap} package is also required.
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}.
To install Guix on top of your GNU/Linux system, run the following
commands as root:
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
cd /tmp
wget https://guix.gnu.org/guix-install.sh
chmod +x guix-install.sh
./guix-install.sh
sudo apt install guix
@end example
When you're done installing Guix, @pxref{Application Setup} for extra
configuration you might need, and @ref{Getting Started} for your first
steps!
Likewise, on openSUSE:
The script goes through the following steps:
@example
sudo zypper install guix
@end example
@enumerate
@item
Downloading the binary tarball from
@indicateurl{@value{BASE-URL}/guix-binary-@value{VERSION}.x86_64-linux.tar.xz}
(where @code{x86_64-linux} can be replaced with @code{i686-linux} for an
@code{i686} (32-bits) machine already running the kernel Linux, and so
on---@pxref{GNU Distribution}) and extracting it.
@item
Setting up the build daemon (@pxref{Setting Up the Daemon}).
@item
Making the @command{guix} command available to non-root users.
@item
Configuring substitute servers (@pxref{Official Substitute Servers}).
@end enumerate
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
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
manager@footnote{@uref{https://guix.gnu.org/guix-install.sh}}.
Use of @file{guix-install.sh} requires Bash, GnuPG, GNU@tie{}tar, wget,
and Xz. On systems where @code{systemd} is detected, the tool
@code{newgidmap} from the @code{uidmap} package is also required.
The script guides you through the following:
@itemize
@item Downloading and extracting the binary tarball
@item Setting up the build daemon
@item Making the guix command available to non-root users
@item Configuring substitute servers
@end itemize
As root, run:
@example
# cd /tmp
# wget https://guix.gnu.org/guix-install.sh
# chmod +x guix-install.sh
# ./guix-install.sh
@end example
The script to install Guix is also packaged in Parabola (in the pcr
repository). You can install and run it with:
@example
sudo pacman -S guix-installer
sudo guix-install.sh
@end example
@quotation Note
By default, @file{guix-install.sh} will configure Guix to download
@@ -823,13 +845,17 @@ To use substitutes from @code{@value{SUBSTITUTE-SERVER-1}},
For example,
@example
guix archive --authorize < \
~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-1}.pub
guix archive --authorize < \
~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-2}.pub
# guix archive --authorize < \
~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-1}.pub
# guix archive --authorize < \
~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-2}.pub
@end example
@end quotation
When you're done installing Guix, @pxref{Application Setup} for extra
configuration you might need, and @ref{Getting Started} for your first
steps!
@quotation Note
The binary installation tarball can be (re)produced and verified simply
by running the following command in the Guix source tree:
@@ -861,16 +887,6 @@ the @option{--uninstall} flag:
With @option{--uninstall}, the script irreversibly deletes all the Guix
files, configuration, and services.
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
@command{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}.
@node Setting Up the Daemon
@section Setting Up the Daemon
@@ -912,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
@@ -1022,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.
@@ -1091,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:
@@ -1522,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}
@@ -2149,9 +2119,8 @@ systemctl restart guix-daemon.service
While this works for @file{guix-install.sh}, it will most likely not
work if you installed Guix through the package manager of another
distribution (for instance with @command{sudo apt install guix},
@command{pacman -S guix}, or similar commands)
because on many distributions @file{guix-daemon.service} will only
distribution (for instance with sudo apt install guix, pacman -S guix,
etc) because on many distributions @file{guix-daemon.service} will only
run the Guix daemon provided by the distribution.
Waiting for your distribution to provide security fixes sometimes work,
@@ -13296,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
@@ -18934,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
@@ -18965,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
@@ -19888,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
@@ -24868,6 +24827,7 @@ example the @code{windowmaker} or @code{openbox} packages---preferably
by adding it to the @code{packages} field of your operating system
definition (@pxref{operating-system Reference, system-wide packages}).
@anchor{wayland-gdm}
GDM also supports Wayland: it can itself use Wayland instead of X11 for
its user interface, and it can also start Wayland sessions. Wayland
support is enabled by default. To disable it, set @code{wayland?} to
@@ -26380,6 +26340,16 @@ special-purpose system interfaces and programs. This allows backlight
adjustment helpers, power management utilities, screen lockers, and
other integrated functionality to work as expected.
The desktop environments in Guix use the Xorg display server by
default. If you'd like to use the newer display server protocol
called Wayland, you need to enable Wayland support in GDM
(@pxref{wayland-gdm}). Another solution is to use the
@code{sddm-service} instead of GDM as the graphical login manager.
You should then select the ``GNOME (Wayland)'' session in SDDM@.
Alternatively you can also try starting GNOME on Wayland manually from a
TTY with the command ``XDG_SESSION_TYPE=wayland exec dbus-run-session
gnome-session``. Currently only GNOME has support for Wayland.
@defvar gnome-desktop-service-type
This is the type of the service that adds the @uref{https://www.gnome.org,
GNOME} desktop environment. Its value is a @code{gnome-desktop-configuration}
@@ -28366,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
@@ -45528,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
@@ -47823,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.
@@ -49266,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
@@ -54749,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
+2 -2
View File
@@ -2,7 +2,7 @@
# Modified by Ludovic Courtès <ludo@gnu.org> for the GNU Guix manual.
# Further modified by Tomas Volf <~@wolfsden.cz>.
htmlxrefversion=2026-01-19.08; # UTC
htmlxrefversion=2025-11-29.21; # UTC
# Copyright 2010-2020, 2022 Free Software Foundation, Inc.
#
@@ -416,7 +416,7 @@ guile-rpc mono ${GS}/guile-rpc/manual/guile-rpc.html
guile-rpc node ${GS}/guile-rpc/manual/html_node/
GUIX_ROOT = https://guix.gnu.org
GUIX = ${GUIX_ROOT}/manual/1.5.0
GUIX = ${GUIX_ROOT}/manual
guix.de mono ${GUIX}/de/guix.de.html
guix.de node ${GUIX}/de/html_node/
guix.es mono ${GUIX}/es/guix.es.html
-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
# explicitly 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
+18 -102
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,12 +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
GPG_SIGNING_KEYS["efraim"]=A28BF40C3E551372662D14F741AAE7DCCA3D8351 # efraim
PUBLIC_KEYSERVERS="keys.openpgp.org pgpkeys.eu keyserver.ubuntu.com"
GPG_SIGNING_KEYS[15145]=3CE464558A84FDC69DB40CFB090B11993D9AEBB5 # ludo
GPG_SIGNING_KEYS[127547]=27D586A4F8900854329FF09F1260E46482E63562 # maxim
# ------------------------------------------------------------------------------
#+UTILITIES
@@ -206,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
@@ -215,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
@@ -778,7 +755,7 @@ sys_create_init_profile()
cat <<"EOF" > /etc/profile.d/zzz-guix.sh
# Explicitly initialize XDG base directory variables to ease compatibility
# with Guix System: see <https://issues.guix.gnu.org/56050#3>.
export XCURSOR_PATH="${XCURSOR_PATH:-$HOME/.local/share/icons:$HOME/.icons:/usr/local/share/icons:/usr/share/icons}"
export XCURSOR_PATH="${XCURSOR_PATH:-/usr/local/share/icons:/usr/share/icons}"
export XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
export XDG_STATE_HOME="${XDG_STATE_HOME:-$HOME/.local/state}"
@@ -794,8 +771,12 @@ export PATH="$GUIX_PROFILE/bin${PATH:+:}$PATH"
# info and man readers. When INFOPATH is unset, add a trailing colon so Emacs
# searches 'Info-default-directory-list'. When MANPATH is unset, add a
# trailing colon so the system default search path is used.
export INFOPATH="$GUIX_PROFILE/share/info:${INFOPATH:-}"
export MANPATH="$GUIX_PROFILE/share/man:${MANPATH:-}"
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"
@@ -817,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
@@ -916,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"
@@ -1051,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
@@ -1061,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
@@ -1076,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
@@ -1110,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"))
-67
View File
@@ -42,75 +42,10 @@
(channel-news
(version 0)
(entry (commit "6d4cb99a15da7f4fd55f956c55f4f4aacfcc7742")
(title
(en "@code{%desktop-services} now includes GDM on AArch64"))
(body
(en "On Guix System in an operating system configuration, your value for the
@code{services} field is based on @code{%desktop-services} for desktop
machines.
The @code{%desktop-services} contains a login manager that is
architecture-dependent. Previously, GDM has been used on x86_64 and SDDM on
other architectures.
Now, GDM is used on all 64-bit architectures. This affects only AArch64 in
the end, as other 64-bit architectures aren't mature enough to use
%desktop-services, yet.
In case you're on AArch64 and you've changed the login manager, you will have
to adapt your config to remove @code{gdm-service-type} instead of
@code{sddm-service-type}.")))
(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
@@ -119,8 +54,6 @@ default.")
(de "Die Versionsreihe 6.16 des Linux-libre-Kernels wurde aus GNU Guix
entfernt, weil sie von dessen Anbieter nicht mehr unterstützt wird.
Kernel-Versionsreihe 6.17 ist jetzt vorgegeben.")
(pt "A série 6.16 do kernel linux-libre foi removida do Guix, dado
que não é mais suportada pelo fornecedor. A série 6.17 é o padrão atual")
(zh "由于上游不再支持GNU Guix 已移除 6.16 系列的 linux-libre 内核6.17
内核系列现已成为默认版本")))
+5 -15
View File
@@ -702,7 +702,6 @@ GLib/GIO, GTK, GStreamer and Webkit."
(team 'hare
#:name "Hare"
#:scope (list "gnu/packages/hare.scm"
"gnu/packages/hare-apps.scm"
"gnu/packages/hare-xyz.scm"
"guix/build-system/hare.scm"
"guix/build/hare-build-system.scm")))
@@ -1277,9 +1276,9 @@ the \"texlive\" importer."
games)
(define-member (person "Laurent Gatto"
"lgatto@protonmail.ch"
"laurent.gatto@gmail.com"
"lgatto")
r bioinformatics)
r)
(define-member (person "Nicolas Goaziou"
"guix@nicolasgoaziou.fr"
@@ -1328,7 +1327,8 @@ the \"texlive\" importer."
(define-member (person "Hilton Chain"
"hako@ultrarare.space"
"hako"))
"hako")
emacs home localization mozilla rust zig)
(define-member (person "Noé Lopez"
"noelopez@free.fr"
@@ -1392,7 +1392,7 @@ the \"texlive\" importer."
(define-member (person "Danny Milosavljevic"
"dannym@friendly-machines.com"
"daym")
bootstrap hpc python rust science)
bootstrap hpc rust science)
(define-member (person "Andy Tai"
"atai@atai.org"
@@ -1409,16 +1409,6 @@ the \"texlive\" importer."
"delitrem")
beam)
(define-member (person "Nguyễn Gia Phong"
"cnx@loang.net"
"cnx")
python)
(define-member (person "Lilah Tascheter"
"lilah@lunabee.space"
"tinystar")
hare)
(define (find-team name)
(or (hash-ref %teams (string->symbol name))
+2 -2
View File
@@ -16,8 +16,8 @@
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; This file returns a manifest of packages built using the hare-build-system.
;;; It is used to assist continuous integration of the hare-team branch.
;;; This file returns a manifest of packages built using the cargo-build-system.
;;; It is used to assist continuous integration of the rust-team branch.
(use-modules (guix packages)
(guix profiles)
-40
View File
@@ -1,40 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 jgart <jgart@dismail.de>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; This file returns a manifest of packages built using any one of the
;;; asdf build systems. It is used to assist continuous integration of
;;; the lisp-team branch.
(use-modules (guix packages)
(guix profiles)
(guix build-system))
(manifest
(map package->manifest-entry
(fold-packages
(lambda (package lst)
(if (or (eq? 'asdf/sbcl (build-system-name (package-build-system package)))
(eq? 'asdf/ecl (build-system-name (package-build-system package)))
(eq? 'asdf/clasp (build-system-name (package-build-system package)))
(string=? "clasp-cl" (package-name package))
(string=? "ecl" (package-name package))
(string=? "sbcl" (package-name package)))
(cons package lst)
lst))
'())))
-35
View File
@@ -1,35 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 jgart <jgart@dismail.de>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; This file returns a manifest of packages built using the python-build-system.
;;; It is used to assist continuous integration of the python-team branch.
(use-modules (guix packages)
(guix profiles)
(guix build-system))
(manifest
(map package->manifest-entry
(fold-packages
(lambda (package lst)
(if (or (eq? 'python (build-system-name (package-build-system package)))
(eq? 'pyproject (build-system-name (package-build-system package)))
(string=? "python" (package-name package)))
(cons package lst)
lst))
'())))
-413
View File
@@ -1,413 +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
;; overridden 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)
(size (* 20 (expt 1024 3))) ; 20 GiB to have spare space
(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)
+1 -1
View File
@@ -22,7 +22,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cargo)
#:use-module ((gnu packages rust-sources) #:prefix package:)
#:use-module (gnu packages rust-sources)
#:export (lookup-cargo-inputs))
;;;
+2 -13
View File
@@ -8,7 +8,6 @@
;;; Copyright © 2023-2024 Herman Rimm <herman@rimm.ee>
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2025 dan <i@dan.games>
;;; Copyright © 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -65,12 +64,7 @@
((? string?)
(list #~(install-file (string-append bootloader #$file)
install-dir)))
((? file-like?)
(list #~(mkdir-p install-dir)
#~(copy-file #$file
(string-append install-dir
"/"
#$(plain-file-name file)))))
((? file-like?) (list #~(install-file #$file install-dir)))
(#f '()))))
#~(lambda (bootloader device mount-point)
(let ((install-dir (string-append mount-point "/boot")))
@@ -138,12 +132,7 @@ is BLOCK-SIZE * COUNT, or FILE size if COUNT is not given."
;; starfive_visionfive2.dtb. We cannot guarantee that users will
;; update this U-Boot, so set the FDT explicitly.
(plain-file "uEnv.txt"
(string-join
(list
"boot_targets=mmc1 nvme0 mmc0 dhcp"
"bootcmd_mmc1=bootflow scan"
"fdtfile=starfive/jh7110-starfive-visionfive-2-v1.3b.dtb")
"\n"))))
"fdtfile=starfive/jh7110-starfive-visionfive-2-v1.3b.dtb~%")))
;;;
+9 -16
View File
@@ -359,7 +359,7 @@ to it atomically and set the appropriate permissions."
(left unused-subid-range-left ;previous unused subuid range or #f
(default #f))
(min unused-subid-range-min ;lower bound of this unused subuid range
(default 0))
(default %subordinate-id-min))
(max unused-subid-range-max ;upper bound
(default %subordinate-id-max))
(right unused-subid-range-right ;next unused subuid range or #f
@@ -555,10 +555,7 @@ will be marked as used in it."
(define actual-range
(subid-range
(inherit range)
;; New IDs are only allocated between %subordinate-id-min and
;; %subordinate-id-max.
(start
(max allocation-start %subordinate-id-min))))
(start allocation-start)))
(if (within-interval? allocation actual-range)
(values
@@ -606,6 +603,13 @@ is visited to find the best unused range that can hold RANGE."
(define range-end
(subid-range-end range))
(unless (and (subordinate-id? range-start)
(subordinate-id? range-end))
(raise
(condition
(&invalid-subid-range-error
(range range)))))
(define less?
(< range-end allocation-start))
(define more?
@@ -798,23 +802,12 @@ new UIDs."
(define* (allocate-subids ranges #:optional (current-ranges '()))
"Return a list of subids entries for RANGES, a list of <subid-range>. IDs
found in CURRENT-RANGES, a list of subid entries, are reused."
;; Ranges from disk must always have a start.
(let ((generic (any (compose not subid-range-has-start?) current-ranges)))
(when generic
(raise
(condition
(&specific-subid-range-expected-error
(range generic))))))
(for-each
(lambda (range)
;; New ranges must always be included in the current supported set.
(unless (or (not (subid-range-has-start? range))
(and (subordinate-id? (subid-range-start range))
(subordinate-id? (subid-range-end range))))
(raise
(condition (&invalid-subid-range-error (range range))))))
ranges)
(define sorted-ranges
(stable-sort ranges
subid-range-less))
+7 -12
View File
@@ -321,18 +321,13 @@ EINVAL, ELOOP, etc."
;; convention to be followed.
(source (canonicalize-path* (string-append etc "/" file))))
(rm-f target)
(cond ((string=? (basename target) "sudoers")
(begin
;; /etc/sudoers must be a regular file.
(copy-file source target)
;; XXX: dirty hack to meet sudo's expectations
(chmod target #o440)))
((string=? (basename target) "hosts")
;; /etc/hosts must be a regular file, as some software
;; like vpn-slice expect to be able to write to it.
(copy-file source target))
(else ;usual case
(symlink source target)))))
(if (string=? (basename target) "sudoers")
(begin
;; /etc/sudoers must be a regular file.
(copy-file source target)
;; XXX: dirty hack to meet sudo's expectations
(chmod target #o440))
(symlink source target)))) ;usual case
(scandir etc (negate dot-or-dot-dot?)
;; The default is 'string-locale<?', but we don't have
;; it when run from the initrd's statically-linked
+1 -5
View File
@@ -428,11 +428,7 @@ GRUB configuration and OS-DRV as the stuff in it."
"-not" "-wholename" "/System/*"
"-not" "-name" "unicode.pf2"
"-not" "-name" "bzImage"
"-not" "-name" "zImage"
"-not" "-name" "Image"
"-not" "-name" "vmlinuz"
"-not" "-name" "*.gz" ; initrd
"-not" "-name" "*.zst" ; all man pages
"-not" "-name" "*.gz" ; initrd & all man pages
"-not" "-name" "*.png" ; includes grub-image.png
"-exec" "set_filter" "--zisofs"
"--")
+1 -72
View File
@@ -46,26 +46,7 @@
make-static-device-nodes
configure-qemu-networking
boot-system
linux-console
linux-console?
linux-console-device
linux-console-can-read?
linux-console-can-write?
linux-console-can-unblank?
linux-console-enabled?
linux-console-preferred?
linux-console-primary?
linux-console-printk?
linux-console-braille?
linux-console-safe-when-cpu-offline?
linux-console-major
linux-console-minor
linux-console-virtual?
read-linux-consoles))
boot-system))
;;; Commentary:
;;;
@@ -694,56 +675,4 @@ the root file system...\n" root-delay)
(start-repl)))))
#:on-error on-error))
(define-record-type <linux-console>
(make-linux-console device can-read? can-write? can-unblank?
enabled? preferred? primary? printk? braille?
safe-when-cpu-offline? major minor virtual?)
linux-console?
(device linux-console-device)
(can-read? linux-console-can-read?)
(can-write? linux-console-can-write?)
(can-unblank? linux-console-can-unblank?)
(enabled? linux-console-enabled?)
(preferred? linux-console-preferred?)
(primary? linux-console-primary?)
(printk? linux-console-printk?)
(braille? linux-console-braille?)
(safe-when-cpu-offline? linux-console-safe-when-cpu-offline?)
(major linux-console-major)
(minor linux-console-minor)
(virtual? linux-console-virtual?))
(define* (read-linux-consoles #:optional (consoles-file "/proc/consoles"))
"Parses CONSOLES-FILE and returns a list of <linux-console> records."
(if (not (file-exists? consoles-file))
'()
(with-input-from-file consoles-file
(lambda ()
(let ((line-regex (make-regexp
"^([^ ]+)[ ]+(.+)[ ]+([0-9]+):([0-9]+)$"))
(virt-regex (make-regexp "^tty[0-9]+$")))
(let loop ((line (read-line))
(results '()))
(cond
((eof-object? line)
(reverse results))
((regexp-exec line-regex line)
=> (lambda (m)
(let* ((dev (match:substring m 1))
(flags (match:substring m 2))
(major (string->number (match:substring m 3)))
(minor (string->number (match:substring m 4)))
(virtual? (regexp-exec virt-regex dev))
(has? (lambda (c)
(string-any (lambda (f) (char=? f c)) flags))))
(loop (read-line)
(cons (make-linux-console
dev
(has? #\R) (has? #\W) (has? #\U) (has? #\E)
(has? #\C) (has? #\B) (has? #\p) (has? #\b)
(has? #\a)
major minor virtual?)
results)))))
(else (loop (read-line) results)))))))))
;;; linux-boot.scm ends here
+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)
+3 -5
View File
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019, 2020, 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2024,2026 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -168,10 +168,8 @@ or #f. Return #t on success and #f on failure."
(const '())))
(install-command (append `( "guix" "system" "init"
"--fallback"
,@(if (%current-target-system)
`(,(string-append
"--target="
(%current-target-system)))
,@(if (target-hurd?)
'("--target=i586-pc-gnu")
'()))
options
(list (%installer-configuration-file)
+2 -3
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,8 +27,7 @@
str)
(define (kernel->configuration kernel dry-run?)
(if (and (string? kernel)
(string-prefix? "Hurd" kernel))
(if (equal? kernel "Hurd")
`((kernel %hurd-default-operating-system-kernel)
,(comment (G_ ";; \"noide\" disables the gnumach IDE driver, enabling rumpdisk.\n"))
(kernel-arguments '("noide"))
+8 -33
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,48 +23,23 @@
#:export (run-kernel-page))
(define (run-kernel-page)
;; TRANSLATORS: "Hurd" is a proper noun and must not be translated.
(let* ((hurd-x86 (G_ "Hurd 32-bit (experimental)"))
(hurd-x86_64 (G_ "Hurd 64-bit (highly experimental!)"))
(linux-libre "Linux Libre")
(kernels (parameterize ((%current-target-system #f))
`(,linux-libre
,@(cond ((target-x86-64?)
(list hurd-x86 hurd-x86_64))
((target-x86?)
(list hurd-x86))
(else
'())))))
(default (cond ((equal? (%current-target-system) "i586-pc-gnu")
hurd-x86)
((equal? (%current-target-system) "x86_64-pc-gnu")
hurd-x86_64)
(else
linux-libre)))
(let* ((kernels `(,@(if (target-x86?) '("Hurd") '())
"Linux Libre"))
(result
(run-listbox-selection-page
#:title (G_ "Kernel")
#:info-text
;; TRANSLATORS: "Hurd" is a proper noun and must not be translated.
;; TRANSLATORS: "Linux Libre" is a literal and must not be translated.
(G_ "Please select a kernel. When in doubt, choose \"Linux Libre\".
The Hurd is offered as a technology preview and development aid; many packages \
are not yet available in Guix, such as a desktop environment or even a \
windowing system (X, Wayland).")
are not yet available in Guix, such as a desktop environment or even a windowing \
system (X, Wayland).")
#:listbox-items kernels
#:listbox-item->text identity
#:listbox-default-item default
#:sort-listbox-items? #f ;keep Linux first
#:listbox-default-item "Linux Libre"
#:button-text (G_ "Back")
#:button-callback-procedure
(lambda _
(abort-to-prompt 'installer-step 'abort)))))
(let ((target (cond ((equal? result hurd-x86)
"i586-pc-gnu")
((equal? result hurd-x86_64)
"x86_64-pc-gnu")
(else
#f))))
(%current-target-system target))
(when (equal? result "Hurd")
(%current-target-system "i586-pc-gnu"))
result))
+8 -16
View File
@@ -27,7 +27,6 @@
#:use-module (guix i18n)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (ice-9 match)
@@ -113,24 +112,20 @@ network devices were found. Do you want to continue anyway?"))
full-value
(+ value 1)))))))
(define* (url-alive? url #:key (ensure-ok-status? #f))
(define (url-alive? url)
(false-if-exception
(let ((response (http-request url)))
(or (not ensure-ok-status?)
(= (response-code response)
200)))))
(begin
(http-request url)
#t)))
(define* (common-urls-alive? urls #:key (ensure-ok-status? #f))
"Return #t if at least some of the given URLS are alive,
meaning that they do respond to a HTTP request. If ENSURE-OK-STATUS? is
#t, return #t only if the code is 200."
(define (common-urls-alive? urls)
(dynamic-wind
(lambda ()
(sigaction SIGALRM
(lambda _ #f))
(alarm 3))
(lambda ()
(any (cut url-alive? <> #:ensure-ok-status? ensure-ok-status?)
(any url-alive?
urls))
(lambda ()
(alarm 0))))
@@ -145,9 +140,7 @@ FULL-VALUE tentatives, spaced by 1 second."
"https://bordeaux.guix.gnu.org"
"https://ci.guix.gnu.org"
"https://guix.gnu.org"
"https://gnu.org")
;; Any HTTP response means the users is online.
#:ensure-ok-status? #f))
"https://gnu.org")))
(file-exists? "/tmp/installer-assume-online")))
(let* ((full-value 5))
@@ -180,8 +173,7 @@ Do you want to continue anyway?"))
(common-urls-alive?
(list
"https://bordeaux.guix.gnu.org/nix-cache-info"
"https://ci.guix.gnu.org/nix-cache-info")
#:ensure-ok-status? #t)))
"https://ci.guix.gnu.org/nix-cache-info"))))
(let* ((full-value 5))
(run-scale-page
+13 -16
View File
@@ -108,23 +108,20 @@ all data on disk will be lost, are you sure you want to proceed?") item)
(define (run-label-page button-text button-callback)
"Run a page asking the user to select a partition table label."
;; Force the GPT label if UEFI is supported.
(cond ((efi-installation?)
((run-label-confirmation-page button-callback) "gpt"))
;; Force the MSDOS label on Hurd.
((target-hurd?)
((run-label-confirmation-page button-callback) "msdos"))
(else (run-listbox-selection-page
#:info-text (G_ "Select a new partition table type. \
;; Force the GPT label if UEFI is supported.
(if (efi-installation?)
((run-label-confirmation-page button-callback) "gpt")
(run-listbox-selection-page
#:info-text (G_ "Select a new partition table type. \
Be careful, all data on the disk will be lost.")
#:title (G_ "Partition table")
#:listbox-items '("msdos" "gpt")
#:listbox-default-item (if (target-hurd?) "msdos" "gpt")
#:listbox-item->text identity
#:listbox-callback-procedure
(run-label-confirmation-page button-callback)
#:button-text button-text
#:button-callback-procedure button-callback))))
#:title (G_ "Partition table")
#:listbox-items '("msdos" "gpt")
#:listbox-default-item (if (target-hurd?) "msdos" "gpt")
#:listbox-item->text identity
#:listbox-callback-procedure
(run-label-confirmation-page button-callback)
#:button-text button-text
#:button-callback-procedure button-callback)))
(define (run-type-page partition)
"Run a page asking the user to select a partition type."
+5 -13
View File
@@ -36,9 +36,11 @@
environments."
(let ((items (filter desktop-system-service? (%system-services))))
(run-checkbox-tree-page
#:info-text (G_ "Please select the desktop environment(s) you wish to \
#:info-text (if (target-hurd?)
(G_ "Currently, none of these is available for the Hurd.")
(G_ "Please select the desktop environment(s) you wish to \
install. If you select multiple desktop environments here, you will be able \
to choose from them later when you log in.")
to choose from them later when you log in."))
#:title (G_ "Desktop environment")
#:items items
#:selection (map system-service-recommended? items)
@@ -48,16 +50,6 @@ to choose from them later when you log in.")
(lambda ()
(abort-to-prompt 'installer-step 'abort)))))
;; FIXME: all platforms should support %desktop-services and some of the
;; offered desktop environments. Instead of globally disabling the desktop
;; page, disable only non-working desktop environments.
(define (run-desktop-environments-cbt-page/maybe)
"Run page with desktop environments, as long as the user is on
a system that supports them."
(if (or (target-hurd?) (target-x86-32?))
'()
(run-desktop-environments-cbt-page)))
(define (run-networking-cbt-page)
"Run a page allowing the user to select networking services."
(let ((items (filter (lambda (service)
@@ -139,7 +131,7 @@ client may be enough for a server.")
(abort-to-prompt 'installer-step 'abort)))))
(define (run-services-page)
(let ((desktop (run-desktop-environments-cbt-page/maybe)))
(let ((desktop (run-desktop-environments-cbt-page)))
;; When the user did not select any desktop services, and thus didn't get
;; '%desktop-services', offer network management services.
(append desktop
+5 -22
View File
@@ -73,7 +73,6 @@
# Copyright © 2024 James Smith <jsubuntuxp@disroot.org>
# Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com>
# Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
# Copyright © 2025 bdunahu <bdunahu@operationnull.com>
#
# This file is part of GNU Guix.
#
@@ -358,7 +357,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gxmessage.scm \
%D%/packages/hardware.scm \
%D%/packages/hare.scm \
%D%/packages/hare-apps.scm \
%D%/packages/hare-xyz.scm \
%D%/packages/haskell.scm \
%D%/packages/haskell-apps.scm \
@@ -697,6 +695,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/vpn.scm \
%D%/packages/vulkan.scm \
%D%/packages/w3m.scm \
%D%/packages/wdiff.scm \
%D%/packages/weather.scm \
%D%/packages/web.scm \
%D%/packages/web-browsers.scm \
@@ -1144,7 +1143,6 @@ dist_patch_DATA = \
%D%/packages/patches/clucene-contribs-lib.patch \
%D%/packages/patches/csvkit-set-locale-for-tests.patch \
%D%/packages/patches/ctranslate2-local-build.patch \
%D%/packages/patches/ctune-cmake-disable-git-clone.patch \
%D%/packages/patches/cube-nocheck.patch \
%D%/packages/patches/cups-relax-root-ownership-check.patch \
%D%/packages/patches/cura-engine-gcc-14.patch \
@@ -1175,7 +1173,6 @@ dist_patch_DATA = \
%D%/packages/patches/dhclient-script-resolvconf-support.patch \
%D%/packages/patches/dicedb-remove-init-from-config-subpkg.patch \
%D%/packages/patches/directfb-davinci-glibc-228-compat.patch \
%D%/packages/patches/django-compressor-build-with-beautifulsoup-4.14+.patch \
%D%/packages/patches/dkimproxy-add-ipv6-support.patch \
%D%/packages/patches/doc++-gcc-14.patch \
%D%/packages/patches/docbook-utils-documentation-edits.patch \
@@ -1202,14 +1199,12 @@ 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 \
%D%/packages/patches/eigen-fix-strict-aliasing-bug.patch \
%D%/packages/patches/einstein-build.patch \
%D%/packages/patches/elfutils-tests-ptrace.patch \
%D%/packages/patches/elixir-httpoison-tag-network-dependent-test-cases.patch \
%D%/packages/patches/elixir-path-length.patch \
%D%/packages/patches/elm-ghc9.2.patch \
%D%/packages/patches/python-treelib-remove-python2-compat.patch \
@@ -1249,9 +1244,7 @@ dist_patch_DATA = \
%D%/packages/patches/ergodox-firmware-fix-numpad.patch \
%D%/packages/patches/ericw-tools-add-check-for-sse2-in-light.cc.patch \
%D%/packages/patches/ericw-tools-gcc-11-pass-const-to-offsetof.patch \
%D%/packages/patches/erlang-binpp-disable-failing-tests.patch \
%D%/packages/patches/erlang-man-path.patch \
%D%/packages/patches/erlang-mochiweb-disable-known-to-fail-tests.patch \
%D%/packages/patches/esmini-use-pkgconfig.patch \
%D%/packages/patches/esmtp-add-lesmtp.patch \
%D%/packages/patches/esound-c99.patch \
@@ -1327,6 +1320,7 @@ dist_patch_DATA = \
%D%/packages/patches/freeimage-unbundle.patch \
%D%/packages/patches/freeimage-CVE-2020-21428.patch \
%D%/packages/patches/freeimage-CVE-2020-22524.patch \
%D%/packages/patches/freerdp-3.16.0-rpath.patch \
%D%/packages/patches/freesolid-automake.patch \
%D%/packages/patches/freesolid-autotools.patch \
%D%/packages/patches/freesolid-configure.patch \
@@ -1598,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 \
@@ -1685,7 +1678,6 @@ dist_patch_DATA = \
%D%/packages/patches/libretro-dolphin-emu-libusb-assert.patch \
%D%/packages/patches/libretro-dolphin-emu-vulkan-headers.patch \
%D%/packages/patches/librewolf-add-store-to-rdd-allowlist.patch \
%D%/packages/patches/librewolf-compare-paths.patch \
%D%/packages/patches/librewolf-neuter-locale-download.patch \
%D%/packages/patches/librewolf-use-system-wide-dir.patch \
%D%/packages/patches/libvirt-add-install-prefix.patch \
@@ -1696,8 +1688,6 @@ dist_patch_DATA = \
%D%/packages/patches/lightdm-vnc-ipv6.patch \
%D%/packages/patches/lightdm-vnc-color-depth.patch \
%D%/packages/patches/lightdm-vncserver-check.patch \
%D%/packages/patches/linphone-desktop-cmake-belcard.patch \
%D%/packages/patches/linphone-desktop-cmake-find-modules.patch \
%D%/packages/patches/localed-xorg-keyboard.patch \
%D%/packages/patches/kaldi-ignore-failing-test.patch \
%D%/packages/patches/kaldi-openblas-0.3.29-compatibility.patch \
@@ -2058,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 \
@@ -2083,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 \
@@ -2217,26 +2205,24 @@ dist_patch_DATA = \
%D%/packages/patches/qemu-glibc-2.30.patch \
%D%/packages/patches/qemu-fix-agent-paths.patch \
%D%/packages/patches/qemu-fix-test-virtio-version.patch \
%D%/packages/patches/qemu-disable-aarch64-migration-test.patch \
%D%/packages/patches/qrcodegen-cpp-cmake.patch \
%D%/packages/patches/qtbase-absolute-runpath.patch \
%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 \
@@ -2264,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 \
@@ -2291,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 \
@@ -2301,7 +2287,6 @@ dist_patch_DATA = \
%D%/packages/patches/sbcl-burgled-batteries3-fix-signals.patch \
%D%/packages/patches/sbcl-ciel-repl.patch \
%D%/packages/patches/sbcl-clml-fix-types.patch \
%D%/packages/patches/sbcl-cl-redis-replace-sbcl-specific-calls.patch \
%D%/packages/patches/sbcl-eazy-gnuplot-skip-path-check.patch \
%D%/packages/patches/sbcl-lack-fix-tests.patch \
%D%/packages/patches/sbcl-png-fix-sbcl-compatibility.patch \
@@ -2496,12 +2481,10 @@ dist_patch_DATA = \
%D%/packages/patches/wordnet-CVE-2008-3908-pt1.patch \
%D%/packages/patches/wordnet-CVE-2008-3908-pt2.patch \
%D%/packages/patches/wpa-supplicant-dbus-group-policy.patch \
%D%/packages/patches/x2goclient-fix-makefile.patch \
%D%/packages/patches/x265-arm-flags.patch \
%D%/packages/patches/x265-4-arm-flags.patch \
%D%/packages/patches/xdg-desktop-portal-disable-portal-tests.patch\
%D%/packages/patches/xdg-desktop-portal-disable-configuration-search-exit.patch\
%D%/packages/patches/xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch\
%D%/packages/patches/xdg-desktop-portal-wlr-harcoded-length.patch\
%D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \
%D%/packages/patches/xfig-Enable-error-message-for-missing-libraries.patch \
+11 -41
View File
@@ -605,35 +605,15 @@ interface and is based on GNU Guile.")
(base32
"1mh080060lnycys8yq6kkiy363wif8dsip3nyklgd3a1r22wb274"))))
(arguments
(list
#:configure-flags
#~(list "--localstatedir=/var"
;; Gzip and zstd are used by the log rotation service.
(string-append "--with-gzip=" #$(this-package-input "gzip")
"/bin/gzip")
(string-append "--with-zstd=" #$(this-package-input "zstd")
"/bin/zstd"))
#:make-flags #~'("GUILE_AUTO_COMPILE=0")
#:phases (if (%current-target-system)
#~(modify-phases %standard-phases
(add-before 'configure 'set-fibers-directory
(lambda* (#:key inputs #:allow-other-keys)
;; When cross-compiling, refer to the target
;; Fibers, not the native one.
(let ((fibers
(search-input-file
inputs
"share/guile/site/3.0/fibers.scm"))
(fibers-go
(search-input-file
inputs
"lib/guile/3.0/site-ccache/fibers.go")))
(substitute* '("herd.in" "shepherd.in")
(("%FIBERS_SOURCE_DIRECTORY%")
(dirname fibers))
(("%FIBERS_OBJECT_DIRECTORY%")
(dirname fibers-go)))))))
#~%standard-phases)))
(substitute-keyword-arguments (package-arguments shepherd-0.10)
((#:configure-flags flags #~'())
#~(list "--localstatedir=/var"
;; Gzip and zstd are used by the log rotation service.
(string-append "--with-gzip=" #$(this-package-input "gzip")
"/bin/gzip")
(string-append "--with-zstd=" #$(this-package-input "zstd")
"/bin/zstd")))))
(native-inputs
(modify-inputs (package-native-inputs shepherd-0.10)
(replace "guile-fibers"
@@ -2524,7 +2504,7 @@ system administrator.")
(inputs
(append (list coreutils zlib)
(if (target-hurd?)
(list libxcrypt)
'()
(list linux-pam))))
(home-page "https://www.sudo.ws/")
(synopsis "Run commands as root")
@@ -3373,17 +3353,7 @@ provides the following commands:
(uri (pypi-uri "ansible" version))
(sha256
(base32 "0apj783acx4jzkf3bnibn4y5jc6jd8ly7l0rdqq8f1jpgxal933x"))))
(build-system pyproject-build-system)
(arguments
(list
;; XXX: All tests errored with:
;; from ...common.utils import (
;; E ImportError: attempted relative import with no known parent package
;;
;; tests: 17 skipped, 1 warning, 1132 errors
#:tests? #f))
(native-inputs
(list python-setuptools))
(build-system python-build-system)
(propagated-inputs (list ansible-core))
;; The Ansible collections are found by ansible-core via the Python search
;; path; the following search path ensures that they are found even when
+11 -18
View File
@@ -498,20 +498,25 @@ or text interfaces) or as a C++ library.")
(define-public flint
(package
(name "flint")
(version "3.4.0")
(version "3.2.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://flintlib.org/download/flint-"
version ".tar.gz"))
(sha256
(base32 "0csa8n7d4l3mh892q36nhiv1r7bkb168vszz79p95bfy0jc6g5wl"))))
(base32 "0gyjbkhwrmx2vgb1gailnmmzacl4aikzgi70dzmpf8lpfxny8yya"))))
(build-system gnu-build-system)
(inputs
(list ntl))
(propagated-inputs
(list gmp mpfr)) ; header files included by flint.h or mpfr_mat.h
(arguments
;; Parallel tests failed in the past on ARM, this may need to be
;; tested again.
`(#:parallel-tests? #f
;; Prevent build machine specifics from ending up in the binary.
'(#:configure-flags '("--disable-assembly")))
#:configure-flags '("--disable-assembly")))
(synopsis "Fast library for number theory")
(description
"FLINT is a C library for number theory. It supports arithmetic
@@ -529,18 +534,6 @@ fast arithmetic.")
(properties
'((release-monitoring-url . "http://flintlib.org/downloads.html")))))
(define-public flint-3.3
(package
(inherit flint)
(version "3.3.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://flintlib.org/download/flint-"
version ".tar.gz"))
(sha256
(base32 "1yzasdcv90f6w926p9g92cli2daxvb0mh2s1w1qskkvn618hxmv4"))))))
(define-public python-flint
(package
(name "python-flint")
@@ -565,7 +558,7 @@ fast arithmetic.")
python-pytest))
(inputs
(list gmp
flint-3.3))
flint))
(propagated-inputs
(list python-numpy))
(home-page "https://fredrikj.net/python-flint/")
@@ -627,7 +620,7 @@ matrices, and polynomials over the integers and over finite fields.")
(define-public singular
(package
(name "singular")
(version "4.4.1p5")
(version "4.4.1")
(source
(origin
(method url-fetch)
@@ -643,7 +636,7 @@ matrices, and polynomials over the integers and over finite fields.")
"/singular-" version ".tar.gz"))
(sha256
(base32
"1pwygpmhf4sddf1v5x5fr1kbbkb29wlfd5yyj7lryvhbs45s9rdw"))))
"16xlhar1krlskh9gxbw1gw4qi8248c95w71vzxdw72avs2pblkva"))))
(build-system gnu-build-system)
(arguments
(list
+40 -48
View File
@@ -1306,58 +1306,50 @@ emulator inside the comfort of Emacs.")
(package
(name "enjarify")
(version "1.0.3")
(home-page "https://github.com/Storyyeller/enjarify")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Storyyeller/enjarify")
(commit version)))
(file-name (git-file-name name version))
(patches
(search-patches "enjarify-setup-py.patch"))
(sha256
(base32 "1nam7h1g4f1h6jla4qcjjagnyvd24dv6d5445w04q8hx07nxdapk"))))
(build-system pyproject-build-system)
(method git-fetch)
(uri (git-reference
(url home-page)
(commit version)))
(file-name (git-file-name name version))
(patches
(search-patches "enjarify-setup-py.patch"))
(sha256
(base32
"1nam7h1g4f1h6jla4qcjjagnyvd24dv6d5445w04q8hx07nxdapk"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'fix-tests
(lambda _
(substitute* "enjarify/runtests.py"
(("from \\.main") "from enjarify.main")
(("from \\.jvm") "from enjarify.jvm"))
;; Upstream adjusted this test in commit:
;; 3ae884a6485af82d300515813f537685b08dd800
(substitute* "tests/test2/expected.txt"
(("^20") "0"))
;; Upstream removed this argument in order to support 32-bit
;; architectures. commit:
;; 4be0111d879aa95fdc0d9f24fe529f8c664d4093
(substitute* "enjarify/runtests.py"
(("java -Xss515m") "java "))))
(add-after 'install 'install-enjarify-wrapper
(lambda _
(let ((bin (string-append #$output "/bin")))
(install-file "enjarify.sh" bin)
(symlink (string-append bin "/enjarify.sh")
(string-append bin "/enjarify")))))
(replace 'check
(lambda* (#:key tests? test-flags #:allow-other-keys)
(when tests?
(invoke "python" "-m" "enjarify.runtests")))))))
(native-inputs
(list openjdk12
python-setuptools))
(home-page "https://github.com/Storyyeller/enjarify")
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'fixup-expected-test-results
;; Upstream adjusted this test in commit:
;; 3ae884a6485af82d300515813f537685b08dd800
(lambda _
(substitute* "tests/test2/expected.txt"
(("^20") "0"))
#t))
(add-before 'check 'drop-java-xss-argument
;; Upstream removed this argument in order to support 32-bit
;; architectures. commit: 4be0111d879aa95fdc0d9f24fe529f8c664d4093
(lambda _
(substitute* "enjarify/runtests.py"
(("java -Xss515m") "java "))
#t))
(add-after 'install 'install-enjarify-wrapper
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin/"))
(copy-file "enjarify.sh" (string-append out "/bin/enjarify"))
#t))))))
(native-inputs (list openjdk12))
(synopsis "Translate Dalvik bytecode to equivalent Java bytecode")
(description
"Android applications are Java programs that run on a customized virtual
machine, which is part of the Android operating system, the Dalvik VM. Their
bytecode differs from the bytecode of normal Java applications. Enjarify can
translate the Dalvik bytecode back to equivalent Java bytecode, which
simplifies the analysis of Android applications. It's an alternative fork of
not maintained Goole's project https://github.com/google/enjarify.")
(description "Android applications are Java programs that run on a
customized virtual machine, which is part of the Android operating system, the
Dalvik VM. Their bytecode differs from the bytecode of normal Java
applications. Enjarify can translate the Dalvik bytecode back to equivalent
Java bytecode, which simplifies the analysis of Android applications.")
(license license:asl2.0)))
(define-public android-file-transfer
+2 -2
View File
@@ -1224,7 +1224,7 @@ engineers, musicians, soundtrack editors and composers.")
(define-public audacity
(package
(name "audacity")
(version "3.7.7")
(version "3.7.4")
(source
(origin
(method git-fetch)
@@ -1233,7 +1233,7 @@ engineers, musicians, soundtrack editors and composers.")
(commit (string-append "Audacity-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0h2xdhbx6bjhlk2mxqalpbpzjcdj0sb8wf1rp3vj0fbgvxy1y92k"))
(base32 "184hak52p00qid0i581gky7076fl5rjxwqly0fw7ix8yi6j8li4h"))
(patches (search-patches "audacity-ffmpeg-fallback.patch"))
(modules '((guix build utils)))
(snippet
@@ -2039,7 +2039,7 @@ CONFIG_SCSI_LOWLEVEL=y
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_PMCRAID is not set
# CONFIG_SCSI_PM8001 is not set
CONFIG_SCSI_VIRTIO=m
# CONFIG_SCSI_VIRTIO is not set
# CONFIG_SCSI_DH is not set
# end of SCSI device support
+24 -41
View File
@@ -6104,7 +6104,7 @@ UCSC genome browser.")
(define-public tetoolkit
(package
(name "tetoolkit")
(version "2.2.3")
(version "2.2.1b")
(source
(origin
(method git-fetch)
@@ -6113,11 +6113,10 @@ UCSC genome browser.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1jgwnm1kmj2mgvc3gib6d73rvyy3l54icjcj2gw0p1ay6kqkzs0p"))))
(base32 "1m3xsydakhdan9gp9mfdz7llka5g6ak91d0mbl1cmmxq9qs6an4y"))))
(build-system pyproject-build-system)
(arguments
`(#:tests? #f ;no tests
#:phases (modify-phases %standard-phases
`(#:phases (modify-phases %standard-phases
(add-after 'unpack 'adjust-requirements
(lambda _
(substitute* "setup.py"
@@ -6164,7 +6163,7 @@ UCSC genome browser.")
python-pysam
r-minimal
r-deseq2))
(native-inputs (list python-setuptools))
(native-inputs (list python-setuptools python-wheel))
(home-page "https://github.com/mhammell-laboratory/TEtranscripts")
(synopsis "Transposable elements in differential enrichment analysis")
(description
@@ -18687,36 +18686,25 @@ cases include:
(define-public python-mappy
(package
(name "python-mappy")
(version "2.24")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lh3/minimap2")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0k658659ivxk2xnyawrfqdhcji6a3xcqdr5a9r5myzb2ivypnjmh"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-backend #~'custom
#:test-flags
#~(list "-c" (string-append "import mappy;"
" print(mappy.revcomp("
"mappy.Aligner('test/MT-human.fa')"
".seq('MT_human', 100, 200)))"))))
(native-inputs
(list python-cython python-setuptools))
(inputs
(list zlib))
(home-page "https://github.com/lh3/minimap2")
(synopsis "Python binding for minimap2")
(description "This package provides a convenient interface to minimap2,
(name "python-mappy")
(version "2.24")
(source (origin
(method url-fetch)
(uri (pypi-uri "mappy" version))
(sha256
(base32
"1ycszza87p9qvx8mis9v1hry0ac465x1xcxbsn1k45qlxxrzp8im"))))
(build-system python-build-system)
(native-inputs
(list python-cython))
(inputs
(list zlib))
(home-page "https://github.com/lh3/minimap2")
(synopsis "Python binding for minimap2")
(description "This package provides a convenient interface to minimap2,
a fast and accurate C program to align genomic and transcribe nucleotide
sequences.")
(license license:expat)))
(license license:expat)))
(define-public miniasm
(package
@@ -20112,7 +20100,7 @@ allowing the insertion of arbitrary types into the tree.")
(define-public python-pypairix
(package
(name "python-pypairix")
(version "0.3.9")
(version "0.3.8")
;; The tarball on pypi does not include the makefile to build the
;; programs.
(source
@@ -20125,7 +20113,7 @@ allowing the insertion of arbitrary types into the tree.")
(sha256
(base32
"1jlxj3xa67q1i58pmbi6imhvl6f5w9m5qxv0xd45ba86mp8mnmvz"))))
(build-system pyproject-build-system)
(build-system python-build-system)
(arguments
(list
#:phases
@@ -20141,9 +20129,6 @@ allowing the insertion of arbitrary types into the tree.")
(add-after 'install 'install-programs
(lambda _
(copy-recursively "bin" (string-append #$output "/bin")))))))
(native-inputs
(list python-pytest
python-setuptools))
(inputs
(list zlib))
(home-page "https://github.com/4dn-dcic/pairix")
@@ -23917,9 +23902,7 @@ instruments, or Pacific Biosciences RSII or Sequel sequencers.")
(sha256
(base32
"1z1gy8n56lhriy6hdkh9r82ndikndipq2cy2wh8q185qig4rimr6"))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools))
(arguments (list #:tests? #f)) ;No tests on either PyPI or Git.
(build-system python-build-system)
(inputs
(list curl zlib))
(propagated-inputs
+4 -4
View File
@@ -338,7 +338,7 @@ parallel study, and original language study.")
(define-public book-emacs-lisp-elements
(package
(name "book-emacs-lisp-elements")
(version "2.0.0")
(version "1.0.0")
(source
(origin
(method git-fetch)
@@ -347,7 +347,7 @@ parallel study, and original language study.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0w3jxgkynq37rn7c17pnricykqf3gmq4crsvkz2j2g3hc0ydf6qp"))))
(base32 "1fwbj2hrb33blknxd3qrm7jjs2ixrbyc77788i37qvn6v1y741ry"))))
(build-system emacs-build-system)
(arguments
(list
@@ -361,8 +361,8 @@ parallel study, and original language study.")
(home-page "https://protesilaos.com/emacs/emacs-lisp-elements")
(synopsis "Overview of the Emacs Lisp programming language")
(description
"Emacs Lisp Elements is a book written by Protesilaos Stavrou, providing
a big picture view of the @acronym{Elisp, Emacs Lisp} programming language by
"Emacs Lisp Elements is a book written by Protesilaos Stavrou, providing a big
picture view of the @acronym{Elisp, Emacs Lisp} programming language by
combining prose with code. This book aims to provide an idea of how Elisp
works by showing some of the main concepts and patterns encountered in
everyday Elisp code.
-35
View File
@@ -21,7 +21,6 @@
;;; Copyright © 2022, 2023 Juliana Sims <juli@incana.org>
;;; Copyright © 2024 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Anderson Torres <anderson.torres.8519@gmail.com>
;;; Copyright © 2025 Aiden Isik <aidenisik+git@member.fsf.org>
;;; Copyright © 2025 Josep Bigorra <jjbigorra@gmail.com>
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
@@ -100,40 +99,6 @@
#:use-module (gnu packages version-control)
#:use-module (gnu packages xml))
(define-public acr
(package
(name "acr")
(version "2.2.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/acr")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1qd7p50b9gkh2ihf7gs6xpdkb5jk8frg90ajqlw1pbza8735f9q1"))
(snippet
#~(begin
(delete-file "configure")))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; No tests
#:phases
#~(modify-phases %standard-phases
(delete 'bootstrap)
(add-after 'patch-source-shebangs 'bootstrap-after-patch-source-shebangs
(assoc-ref %standard-phases 'bootstrap)))))
(synopsis "Autoconf replacement written in pure Bash")
(description
"@acronym{ACR, Autoconf Replacement} tries to replace autoconf
functionality generating a full-compatible configure script, but relying on
Bourne shell script instead of m4.")
(home-page "https://github.com/radareorg/acr")
(license license:gpl2)))
(define-public bam
(package
(name "bam")
+23 -14
View File
@@ -832,20 +832,7 @@ format.")
(build-system cmake-build-system)
(arguments
'(#:parallel-tests? #f
#:configure-flags '("-DBUILD_TESTS=ON"
"-DUSE_BUNDLED_TINYXML2=OFF")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-testcondition-test
(lambda _
(substitute* "test/testcondition.cpp"
(("test.cpp:4\\] -> \\[test.cpp:6")
"test.cpp:4:25] -> [test.cpp:6:18")
(("test.cpp:3\\] -> \\[test.cpp:5(.*false)"_ rest)
(string-append "test.cpp:3:22] -> [test.cpp:5:22" rest
" [knownConditionTrueFalse]"))))))))
(inputs
(list tinyxml2))
#:configure-flags '("-DBUILD_TESTS=ON")))
(home-page "https://cppcheck.sourceforge.io")
(synopsis "Static C/C++ code analyzer")
(description "Cppcheck is a static code analyzer for C and C++. Unlike
@@ -3787,6 +3774,28 @@ system. The code under test requires no modification to work with pyfakefs.")
asynchronous code in Python (asyncio).")
(license license:expat)))
(define-public python-pytest-dependency
(package
(name "python-pytest-dependency")
(version "0.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-dependency" version))
(sha256
(base32
"0swl3mxca7nnjbb5grfzrm3fa2750h9vjsha0f2kyrljc6895a62"))))
(build-system python-build-system)
(propagated-inputs
(list python-pytest))
(home-page
"https://github.com/RKrahl/pytest-dependency")
(synopsis "Manage dependencies of tests")
(description "This pytest plugin manages dependencies of tests. It allows
to mark some tests as dependent from other tests. These tests will then be
skipped if any of the dependencies did fail or has been skipped.")
(license license:asl2.0)))
(define-public python-pytest-datadir
(package
(name "python-pytest-datadir")
+7 -19
View File
@@ -9,7 +9,6 @@
;;; Copyright © 2024 Foundation Devices, Inc. <hello@foundation.xyz>
;;; Copyright © 2024 Jean-Pierre De Jesus DIAZ <jean@foundation.xyz>
;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz>
;;; Copyright © 2025 Foster Hangdaan <foster@hangdaan.email>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -703,33 +702,22 @@ To get @code{podman machine} working, install @code{qemu-minimal}, and
(define-public podman-compose
(package
(name "podman-compose")
(version "1.5.0")
(version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/containers/podman-compose")
(commit (string-append "v" version))))
(url "https://github.com/containers/podman-compose")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "08pz9axvgfyr0jd8rlndmhh8147s864mz17ng6qs07831g9ylj80"))))
(base32 "06vm088q1x7j929n93ylq3bav716bqh6l79agj8sgzsqxjsmli73"))))
(build-system pyproject-build-system)
(arguments
(list
;; Only run tests in `tests/unit`, skipping the ones in
;; `tests/integration`. The integration tests need an environment with
;; the ability to manage containers and volumes using the `podman`
;; command.
;;
;; tests: 378 tests
#:test-backend #~'unittest
#:test-flags #~(list "discover" "tests/unit")))
(native-inputs
(list python-parameterized
python-setuptools))
(propagated-inputs
(list python-dotenv
python-pyyaml))
#:test-flags #~(list "pytests")))
(native-inputs (list python-pytest python-parameterized python-setuptools python-wheel))
(propagated-inputs (list python-dotenv python-pyyaml))
(home-page "https://github.com/containers/podman-compose")
(synopsis "Script to run docker-compose.yml using podman")
(description
+5 -10
View File
@@ -982,7 +982,7 @@ utilities used across the hypr* ecosystem.")
(define-public hyprlang
(package
(name "hyprlang")
(version "0.6.7")
(version "0.6.6")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -991,7 +991,7 @@ utilities used across the hypr* ecosystem.")
(file-name (git-file-name name version))
(sha256
(base32
"0n64jq9jdabyx76sax0fb45jg92708488733c2m6zsf84r6nv2g7"))))
"13lqlwrpcd3gs5xw51sj1zx2w7kvsywvgdal81dp841rpph91z00"))))
(build-system cmake-build-system)
(arguments
(list
@@ -2473,22 +2473,17 @@ of C++14 components that complements @code{std} and Boost.")
(build-system cmake-build-system)
(arguments
(list
#:configure-flags #~(list "-DENABLE_TESTS=ON" "-DENABLE_CRYPTO=ON"
"-DENABLE_NETSSL=ON")
#:configure-flags #~(list "-DENABLE_TESTS=ON")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-problematic-tests
(lambda _
(substitute* (list "Foundation/CMakeLists.txt" ; XXX: fails.
;; Require network access.
;; Require network access
"Net/CMakeLists.txt"
"MongoDB/CMakeLists.txt"
"Redis/CMakeLists.txt"
;; Requires network access and uses certificates
;; that will expire.
"NetSSL_OpenSSL/CMakeLists.txt")
"Redis/CMakeLists.txt")
(("ENABLE_TESTS") "FALSE")))))))
(inputs (list openssl))
(home-page "https://pocoproject.org/")
(synopsis "Portable C++ components")
(description "This package provides a collection of C++ libraries intended
+2 -23
View File
@@ -520,14 +520,14 @@ total number of shares generated.")
(define-public tomb
(package
(name "tomb")
(version "2.13")
(version "2.11")
(source
(origin
(method url-fetch)
(uri (string-append "https://files.dyne.org/tomb/releases/"
"Tomb-" version ".tar.gz"))
(sha256
(base32 "1405kw0j8i1bqyqbim8530xf6hchpf57r9p1v92aknwyn5wgny0g"))))
(base32 "05f34yx91bn9fj7rkabgpzvkw4pa6bg2c1r8cnp72wwnx6bzj97m"))))
(build-system gnu-build-system)
(arguments
(list
@@ -1670,27 +1670,6 @@ SunMD5, sha1crypt, NT, bsdicrypt, bigcrypt, and descrypt.")
(home-page "https://github.com/besser82/libxcrypt")
(license license:lgpl2.1)))
(define-public libxcrypt-without-failure-tokens
;; This version of libxcrypt is used for guile-2.2.4, which is used in Guix
;; v1.0.0 and thus needs to be supported for guix time-machine.
;;
;; Guile uses the 'crypt' hashing function that used to be provided by glibc,
;; but was moved to libxcrypt around glibc 2.39. However, the crypt function
;; in libxcrypt works differently for invalid salt values: libxcrypt returnns
;; the failure token "*0" for (crypt "pass" "$X$abc"), where glibc raised
;; "Invalid argument" (EINVAL). The --disable-failure-tokens flag lets
;; libxcrypt behave in the same way as glibc.
;;
;; Guile 2.2.4 explicitly checks for the glibc behavior of crypt, and thus
;; needs libxcrypt to be compiled with --disable-failure-tokens.
(hidden-package
(package/inherit libxcrypt
(name "libxcrypt-without-failure-tokens")
(arguments
(substitute-keyword-arguments (package-arguments libxcrypt)
((#:configure-flags flags #~'())
#~(cons* "--disable-failure-tokens" #$flags)))))))
(define-public keychain
(package
(name "keychain")
+11 -77
View File
@@ -67,7 +67,6 @@
;;; Copyright © 2025 Ashvith Shetty <ashvithshetty0010@zohomail.in>
;;; Copyright © 2025 Philippe Swartvagher <phil.swart@gmx.fr>
;;; Copyright © 2025 Simen Endsjø <contact@simendsjo.me>
;;; Copyright © 2025 bdunahu <bdunahu@operationnull.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -140,7 +139,6 @@
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages node)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages openstack)
#:use-module (gnu packages pantheon)
@@ -3715,29 +3713,24 @@ for many database kinds that tortoise-orm doesn't need, for example.")
(define-public python-asyncpg
(package
(name "python-asyncpg")
;; asyncpg 0.31.0 requires Cython(>=3.2.1,<4.0.0), got Cython==3.1.2
(version "0.30.0")
(source
(origin
;; git-fetch leads to errors like
;; ValueError: 'asyncpg/pgproto/pgproto.pyx' doesn't match any files
(method url-fetch)
(uri (pypi-uri "asyncpg" version))
(sha256
(base32 "0lf8xbrsb2ycpqx1vzlb05p48g5sh9zq24a8yh17cw5nia9fjlf5"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; raises ValueError("Invalid IPv6 URL") ; Maybe due to urllib?
#~(list "-k" "not TestConnectParams")))
(native-inputs
(list postgresql
python-cython
python-pytest
python-uvloop
python-distro
python-setuptools))
python-setuptools
python-wheel))
(propagated-inputs
(list python-async-timeout))
(home-page "https://github.com/MagicStack/asyncpg")
(synopsis "Fast PostgreSQL database client library for Python")
(description "@code{asyncpg} is a database interface library designed
@@ -4628,33 +4621,14 @@ managers for automatically closing connections.")
(define-public python-databases
(package
(name "python-databases")
;; 0.9.0 needs sqlalchemy>=2.0.7
;; 0.8.0 needs sqlalchemy>=1.4.42,<1.5
(version "0.8.0")
(version "0.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/encode/databases")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "databases" version))
(sha256
(base32 "183yawn8w561y1ni117rf5zaxm4gqqbcmi9fp52xd5fx2dj8qy3v"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; These need TEST_DATABASE_URLS set.
;; TODO: Use "sqlite:///test.db"? See docs/contributing.md.
#~(list "--ignore=tests/test_databases.py"
"--ignore=tests/test_integration.py"
"--ignore=tests/test_connection_options.py")))
(native-inputs
(list python-httpx
python-psycopg
python-pytest
python-setuptools
python-starlette))
(base32 "0x5nqhzgjqimv2ybjbzy5vv0l23g0n1g5f6fnyahbf1f7nfl2bga"))))
(build-system python-build-system)
(propagated-inputs
(list python-aiosqlite
python-aiopg
@@ -5875,46 +5849,6 @@ with no external dependencies. The targets are small apps that would
be blown away by a SQL-DB or an external database server.")
(license license:expat)))
(define-public sdb
(package
(name "sdb")
(version "2.2.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/sdb.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"15pc807s2nmhnr3mspyz9h47rkxkv1r07x959ir17v5b6zs7wxvw"))))
(build-system meson-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'setenv-cc
(lambda _
(setenv "CC" #$(cc-for-target))))
;; The provided meson.build uses a Makefile in the source root
;; to run the tests, but resolves its directory relative to
;; the build directory, assuming the build is one level under
;; the source tree. This breaks if the build tree is elsewhere.
(add-before 'check 'set-test-workdir-to-source-root
(lambda _
(substitute* "../source/meson.build"
(("workdir: join_paths.*$")
"workdir: meson.project_source_root(),\n")))))))
(native-inputs
(list node
perl
python-minimal-wrapper))
(home-page "https://github.com/radareorg/sdb")
(synopsis "Simple and fast string based key-value database")
(description "SDB is a simple key/value database based on djb's cdb disk
storage that supports JSON and array introspection.")
(license license:expat)))
(define-public sequeler
(package
(name "sequeler")
@@ -6013,7 +5947,7 @@ compatible with SQLite using a graphical user interface.")
(define-public sqlitestudio
(package
(name "sqlitestudio")
(version "3.4.18")
(version "3.4.17")
(source
(origin
(method git-fetch)
@@ -6022,7 +5956,7 @@ compatible with SQLite using a graphical user interface.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1chsm4hxy483hz569ywacysg4dh9ijis060s4rgydkgk49bbb2si"))))
(base32 "1zb1qr88rwkzmrxc0lm99x8h99hpn5c2wfdpvqzs9f9ph8qvasww"))))
(build-system gnu-build-system)
(arguments
(list
+1 -1
View File
@@ -14,7 +14,7 @@
;;; Copyright © 2023 Andy Tai <atai@atai.org>
;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2024 Raven Hallsby <karl@hallsby.com>
;;; Copyright © 2025 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2025 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2025 Robin Templeton <robin@guixotic.coop>
;;;
;;; This file is part of GNU Guix.
+1 -5
View File
@@ -419,11 +419,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
"Grammalecte-fr-v" version ".zip"))
(sha256
(base32 "076jv3ywdgqqzg92bfbagc7ypy08xjq5zn4vgna6j9350fkfqhzn"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;no tests provided with the project
(native-inputs
(list python-setuptools))
(build-system python-build-system)
(home-page "https://grammalecte.net")
(synopsis "French spelling and grammar checker")
(description "Grammalecte is a grammar checker for the French language,
+2 -2
View File
@@ -302,13 +302,13 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
(package
(inherit python-django)
(name "python-django-4")
(version "4.2.27")
(version "4.2.26")
(source
(origin
(method url-fetch)
(uri (pypi-uri "django" version))
(sha256
(base32 "14jvv95nw76fz8v0gzqdn6xwicqdn91glpjcb4vfxld3ykhgnrdq"))))
(base32 "0ylxdpkiwdh8yhqxqzm90fxiagm8v7xijvdm5ha3ypmmpj3y964k"))))
(arguments
(substitute-keyword-arguments (package-arguments python-django)
((#:phases phases)
+5 -11
View File
@@ -45,7 +45,6 @@
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages cmake)
@@ -121,23 +120,18 @@
(version "0.8.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dottedmag/pychm")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "pychm" version))
(sha256
(base32
"0zf2vnrby2m31nvi6p3isspbrjmzjw1vwfx3xl7bkvjs7sli1wbw"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest python-setuptools))
"0wpn9ijlsmrpyiwg3drmgz4dms1i1i347adgqw37bkrh3vn6yq16"))))
(build-system python-build-system)
(inputs
(list chmlib))
(home-page "https://github.com/dottedmag/pychm")
(synopsis "Handle CHM files")
(description "This package provides a Python module for interacting
with Microsoft Compiled HTML (CHM) files.")
with Microsoft Compiled HTML (CHM) files")
(license license:gpl2+)))
(define-public calibre
+52 -101
View File
@@ -207,8 +207,8 @@ are also taken from the original.")
(license license:gpl3+))))
(define-public abc
(let ((commit "ee04349aee0a11d5ce0ad39b0de80e3cb366087e")
(revision "8"))
(let ((commit "c8eac7595d094dd45402133497d645fb74e545f0")
(revision "7"))
(package
(name "abc")
(version (git-version "0.0" revision commit))
@@ -220,7 +220,7 @@ are also taken from the original.")
(file-name (git-file-name name version))
(sha256
(base32
"0y00c9h54dkcnidgyw45czxrkxb7yg5pbw9hhipgjw7qswjh8yb2"))))
"14k2j54fwr2a3nmb637fclzdf22a16jw5fsmhr3cf42yd924yn71"))))
(build-system gnu-build-system)
(inputs
(list readline))
@@ -1812,7 +1812,7 @@ verification.")
(define-public open-logic
(package
(name "open-logic")
(version "4.2.0")
(version "4.1.0")
(source
(origin
(method git-fetch)
@@ -1824,7 +1824,7 @@ verification.")
(file-name (git-file-name name version))
(sha256
(base32
"1792a6i9jq2yawipmk0nr01z092kx3kkav9v5sjf34khk3biav6q"))))
"0azapw9dyr5l5qal7qd409lyq0w6pw2wyjwvxfl44sykpbfxdl2x"))))
(outputs
'("out" "test"))
(properties
@@ -1921,6 +1921,7 @@ reusable and vendor/tool-independent way. It is written following the VHDL
python-setuptools))
(inputs
(list libngspice
ngspice
python-invoke
python-matplotlib
python-ply
@@ -2041,13 +2042,7 @@ files as specified in IEEE 1364-2005.")
(arguments
(list
#:test-flags
#~(list "-k" "not test_toplevel_library") ;requires questasim simulator
#:phases
#~(modify-phases %standard-phases
(add-after 'check 'run-examples
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "make" "-k" "-C" "examples")))))))
#~(list "-k" "not test_toplevel_library")));requires questasim simulator
(native-inputs
(list iverilog
nvc
@@ -2063,96 +2058,53 @@ and Verilog RTL using Python.")
(license license:bsd-3)))
(define-public python-cocotb-bus
(package
(name "python-cocotb-bus")
;; Version from src/cocotb_bus/_version.py
(version "0.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cocotb/cocotb-bus/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0aqk78w5gg23rwf93gidw8yazmidwgmahqcmm3x0qx380mbdxjl4"))))
(build-system pyproject-build-system)
;; TODO: Build documentation from <docs>.
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "make" "-k" "-C" "tests")
(invoke "make" "-k" "-C" "examples")))))))
(native-inputs
(list iverilog
nvc
python-pytest
python-setuptools))
(propagated-inputs
(list python-cocotb
python-scapy))
(home-page "https://github.com/cocotb/cocotb-bus/")
(synopsis "Cocotb reusable tools")
(description "@code{Cocotb-bus} provides a set of utilities, test benches
;; XXX: The latest tagged release (2.6.1) was placed on <2023-07-01>, switch
;; to tag when the fresh release is available.
(let ((commit "f5578a4d451ef6bc1efdd4919de5facdb381b781")
(revision "2"))
(package
(name "python-cocotb-bus")
;; Version from src/cocotb_bus/_version.py
(version (git-version "0.2.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cocotb/cocotb-bus/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "13zdqalzhzrfv1lcn6l71zhi4hns89y093hvz9swkcr2kzwfn08r"))))
(build-system pyproject-build-system)
;; TODO: Build documentation from <docs>.
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "make" "-k" "-C" "tests")
(invoke "make" "-k" "-C" "examples")))))))
(native-inputs
(list iverilog
nvc
python-pytest
python-setuptools))
(propagated-inputs
(list python-cocotb
python-packaging
python-scapy))
(home-page "https://github.com/cocotb/cocotb-bus/")
(synopsis "Cocotb reusable tools")
(description "@code{Cocotb-bus} provides a set of utilities, test benches
and reusable bus interfaces to be used with @code{cocotb}.")
(license license:bsd-3)))
(define-public python-cocotb-test
(package
(name "python-cocotb-test")
(version "0.2.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cocotb_test" version))
(sha256
(base32 "14h62sr2prxd0iy1axq68b9zdfggnms230xgrimywphlr941jrm4"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ;requires examples folder from python-cocotb
(propagated-inputs
(list python-cocotb))
(native-inputs
(list python-pytest python-setuptools))
(home-page "https://pypi.org/project/cocotb-test/")
(synopsis
"Standard python unit testing cababilities for @code{python-cocotb}")
(description "This package provides the look and feel of Python unit
testing to @code{cocotb}, removing the need of manipulating Makefiles.")
(license license:bsd-3)))
(define-public python-cocotbext-axi
(package
(name "python-cocotbext-axi")
(version "0.1.26")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alexforencich/cocotbext-axi/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0xgfvvpff9r7g7fiswv1m0dklyw6c8v2r3qpd6qq3rzvnvrhsrin"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-cocotb python-cocotb-bus))
(native-inputs
(list iverilog python-cocotb-test python-pytest python-setuptools))
(home-page "https://github.com/alexforencich/cocotbext-axi/")
(synopsis
"Extra @acronym{AXI, Advanced Extensible Interface} modules for cocotb")
(description "This package provides an extension to @code{cocotb} in the
form of AXI, AXI lite, and AXI stream modules.")
(license license:expat)))
(license license:bsd-3))))
(define-public python-edalize
(package
(name "python-edalize")
(version "0.6.3")
(version "0.6.1")
(source
(origin
(method git-fetch)
@@ -2161,7 +2113,7 @@ form of AXI, AXI lite, and AXI stream modules.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ml6b17jp4vwjaw16v0agajzksig92q5qmk2psm51ck4q076lm3m"))))
(base32 "03mkzkmi96jkrpgcnawixvy832p3b8li8lrirdjhfp9dmp7d5kg5"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -2347,7 +2299,6 @@ languages.")
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-deps
@@ -2358,8 +2309,8 @@ languages.")
(("rawVer .*")
(string-append "rawVer = \"v"
#$version "\""))))))))
(native-inputs
(list python-setuptools python-gitpython git-minimal/pinned))
(native-inputs (list python-setuptools python-wheel python-gitpython
git-minimal/pinned))
(home-page "https://slaclab.github.io/surf/")
(synopsis "SLAC Ultimate RTL Framework")
(description
+163 -281
View File
@@ -639,29 +639,6 @@ supported algorithm is chosen to ensure interoperability with
Emacs Lisp.")
(license license:gpl3)))
(define-public emacs-perl-doc
(package
(name "emacs-perl-doc")
(version "0.82")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/perl-doc-" version
".tar"))
(sha256
(base32 "1fj13361a9pgmlda8yix0p805r2gwzv1gxf43pq6y79a8hxbm8yn"))))
(build-system emacs-build-system)
(home-page "https://github.com/HaraldJoerg/emacs-perl-doc")
(synopsis "Read Perl documentation from Emacs")
(description
"This package contains a command to read Perl documentation in Emacs: @samp{M-x
perl-doc}. It uses two external commands which come with Perl:
@command{perldoc} to locate the Perl documentation for the Perl modules
installed on your system, and @command{pod2html} to format the documentation
to HTML. This HTML version is then displayed using the Emacs simple HTML
renderer, @code{shr}.")
(license license:gpl3+)))
(define-public emacs-sops
(package
(name "emacs-sops")
@@ -2707,42 +2684,6 @@ third-party predecessor @code{git-tbdiff}), a Git subcommand for comparing two
versions of a topic branch.")
(license license:gpl3+)))
(define-public emacs-magit-delta
;; No releases or tags.
(let ((commit "5fc7dbddcfacfe46d3fd876172ad02a9ab6ac616")
(revision "0"))
(package
(name "emacs-magit-delta")
(version (git-version "0.1" revision commit))
(home-page "https://github.com/dandavison/magit-delta")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1kph5r9dy21pgfknpcdzzqfn6rqig5nvp8ksh16y13k3axlzvkiw"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-delta-executable
(lambda* (#:key inputs #:allow-other-keys)
(emacs-substitute-variables "magit-delta.el"
("magit-delta-delta-executable"
(search-input-file inputs "/bin/delta"))))))))
(propagated-inputs (list emacs-dash emacs-magit emacs-xterm-color))
(inputs (list git-delta))
(synopsis "Integration of @code{delta} with @code{emacs-magit}")
(description "Magit-delta provides a minor mode which configures
@code{emacs-magit} to use @code{delta} for syntax highlighting when displaying
diffs.")
(license license:expat))))
(define-public emacs-malyon
(package
(name "emacs-malyon")
@@ -6532,7 +6473,7 @@ of bibliographic references.")
(define-public emacs-corfu
(package
(name "emacs-corfu")
(version "2.6")
(version "2.5")
(source
(origin
(method git-fetch)
@@ -6541,7 +6482,7 @@ of bibliographic references.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0psy7ximwnansy9pppcw1l2fryr15v2vqgj81q649743py6nd60l"))))
(base32 "14ddl6dby5hlphpcsnwxkvw61hh1cyhilpgsyj17fzw9xwpp4q9w"))))
(build-system emacs-build-system)
(arguments
(list
@@ -6758,7 +6699,7 @@ that the binary uses instead of the actual binary contents.")
(define-public emacs-ellama
(package
(name "emacs-ellama")
(version "1.9.0")
(version "1.8.7")
(source
(origin
(method git-fetch)
@@ -6768,7 +6709,7 @@ that the binary uses instead of the actual binary contents.")
(file-name (git-file-name name version))
(sha256
(base32
"09xzn4daf80w7x6kbj2b8az89viv66sh367kxlxymr7rsznq1a7q"))))
"14f4mwkjsldygvv232d3ivkggizm3ccyrgyd01hymfmv6xazj155"))))
(build-system emacs-build-system)
(arguments
(list
@@ -9062,6 +9003,46 @@ and contract the region by semantic units. Unlike @code{expand-region},
@code{expreg} can leverage Emacs 29's tree-sitter support.")
(license license:gpl3+))))
(define-public emacs-explain-pause-mode
(let ((commit "2356c8c3639cbeeb9751744dbe737267849b4b51")
(revision "0"))
(package
(name "emacs-explain-pause-mode")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lastquestion/explain-pause-mode")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0frnfwqal9mrnrz6q4v7vcai26ahaw81894arff1yjw372pfgv7v"))))
(build-system emacs-build-system)
(native-inputs
(list emacs-buttercup))
(arguments
'(#:phases
(modify-phases %standard-phases
;; This causes the byte-compilation before unit-tests to fail.
(add-after 'unpack 'remove-error-on-warn
(lambda _
(substitute* "Makefile"
(("--eval '\\(setq byte-compile-error-on-warn t\\)'") "")))))
;; Don't run case-tests as they will fail to create sockets because
;; the path is too long
#:test-command '("make" "byte-compile" "unit-tests")
;; Parallel testing will cause the tests to run before
;; byte-compilation is finished
#:parallel-tests? #f))
(home-page "https://github.com/lastquestion/explain-pause-mode")
(synopsis "Top-like interface to determine why Emacs paused")
(description
"This package monitors Emacs function calls and records their execution
time. This information can be reviewed to determine what is causing the user
interface to pause.")
(license license:gpl3+))))
(define-public emacs-filladapt
(package
(name "emacs-filladapt")
@@ -15702,70 +15683,25 @@ in the modeline by default.")
(license license:gpl3+))))
(define-public emacs-test-simple
(let ((commit "da8ddb6fecb820c8e0809ac0892374e755e4efec")) ;version bump
(package
(name "emacs-test-simple")
(version "1.3.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rocky/emacs-test-simple/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"18a9d1n2xc2fqimvsg0nkvizn7y7sb6ap5i9al526cp40l0yky3n"))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-directory-excursion "test"
(invoke "emacs" "--batch"
"-l" "test-basic.el"
"-l" "test-buffer.el"
"-l" "test-fns.el"
"-l" "test-no-clear.el"))))))))
(home-page "https://github.com/rocky/emacs-test-simple")
(synopsis "Simple unit test framework for Emacs Lisp")
(description
"Test Simple is a simple unit test framework for Emacs Lisp. It
(package
(name "emacs-test-simple")
(version "1.3.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/test-simple-"
version ".el"))
(sha256
(base32
"11sgc7187l1a4f1x1f6z58dy7pc7n1999id50rjifkvk901x0qd1"))))
(build-system emacs-build-system)
(home-page "https://github.com/rocky/emacs-test-simple")
(synopsis "Simple unit test framework for Emacs Lisp")
(description
"Test Simple is a simple unit test framework for Emacs Lisp. It
alleviates the need for context macros, enclosing specifications or required
test tags. It supports both interactive and non-interactive use.")
(license license:gpl3+))))
(define-public emacs-load-dir
;; This package is kept inside ELPA; there is no version-specific
;; tag. Version string was taken from source code.
(let ((commit "22bcac73d8808a680fd9b261cd89937d8e5c6a3c")
(revision "0"))
(package
(name "emacs-load-dir")
(version (git-version "0.0.5" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/git/emacs/elpa.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"011m9vnjrxmnpnvf7zjfg3pzkkfsfwc4xf3h5z37f2d4x7ghlw10"))))
(build-system emacs-build-system)
(arguments
(list #:tests? #f)) ; No tests.
(synopsis "Load all Emacs Lisp files in a given directory")
(description
"This package provides a way to load all Emacs Lisp snippets (they
don't have to be libraries) in a directory on startup or when Emacs is already
running. It won't reload snippets unless the user requests it.")
(home-page "https://elpa.gnu.org/packages/load-dir.html")
(license license:gpl3+))))
(license license:gpl3+)))
(define-public emacs-load-relative
(package
@@ -15835,72 +15771,67 @@ text excepting lines containing matches.")
(license license:gpl3+))))
(define-public emacs-realgud
;; Last tagged release is from 2019.
(let ((commit "56a8d82830ad65c9cbb9c694617f078f007281ac")
(revision "0"))
(package
(name "emacs-realgud")
(version (git-version "1.5.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/realgud/realgud/")
(commit commit)))
(sha256
(base32
"1n232jphfgqbb44p806bpgg2wisbmr5iz09js71knk7n5gslrz25"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'delete-cask-install
(lambda _
(delete-file "cask-install.el")))
(add-after 'expand-load-path 'fix-autogen-script
(lambda _
(substitute* "autogen.sh"
(("./configure") "sh configure"))))
(add-after 'fix-autogen-script 'autogen
(lambda _
(setenv "CONFIG_SHELL" "sh")
(invoke "sh" "autogen.sh")))
(add-after 'fix-autogen-script 'set-home
(lambda _
(setenv "HOME" (getenv "TMPDIR"))))
(add-before 'patch-el-files 'patch-more-el-files
(lambda _
;; Misc failures
(for-each delete-file
(list "test/test-pdb.el"
"test/test-shortkey.el"
"test/test-track.el"
"test/test-trepan2.el"
"test/test-lang.el"))
;; XXX: Some tests/assumptions in this file are
;; not valid on Emacs@30.
(delete-file "test/test-regexp-perldb.el")
;; FIXME: `patch-el-files' crashes on this file with error:
;; unable to locate "bashdb".
(delete-file "./test/test-regexp-bashdb.el"))))
#:include #~(cons* ".*\\.el$" %default-include)))
(native-inputs
(list autoconf automake emacs-test-simple perl python-minimal-wrapper
ruby))
(propagated-inputs
(list emacs-load-relative emacs-loc-changes))
(home-page "https://github.com/realgud/realgud/")
(synopsis
"Modular front-end for interacting with external debuggers")
(description
"RealGUD is a modular, extensible GNU Emacs front-end for interacting
(package
(name "emacs-realgud")
(version "1.5.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/realgud/realgud/")
(commit version)))
(sha256
(base32
"1d3s23jk0i34wpyxfajydgyyvsxnpbqrfl0mgydsq7zw2c75ylnq"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-realgud:run-process-void-error
;; See: https://github.com/realgud/realgud/issues/269.
(lambda _
(substitute* '("realgud/debugger/gdb/gdb.el"
"realgud/debugger/gub/gub.el")
(("^\\(require 'load-relative\\).*" anchor)
(string-append anchor
"(require-relative-list \
'(\"../../common/run\") \"realgud:\")\n")))))
(add-after 'expand-load-path 'fix-autogen-script
(lambda _
(substitute* "autogen.sh"
(("./configure") "sh configure"))))
(add-after 'fix-autogen-script 'autogen
(lambda _
(setenv "CONFIG_SHELL" "sh")
(invoke "sh" "autogen.sh")))
(add-after 'fix-autogen-script 'set-home
(lambda _
(setenv "HOME" (getenv "TMPDIR"))))
(add-before 'patch-el-files 'patch-more-el-files
(lambda _
;; XXX: Some tests/assumptions in this file are
;; not valid on Emacs@30.
(delete-file "test/test-regexp-perldb.el")
;; FIXME: `patch-el-files' crashes on this file with error:
;; unable to locate "bashdb".
(delete-file "./test/test-regexp-bashdb.el"))))
#:include #~(cons* ".*\\.el$" %default-include)))
(native-inputs
(list autoconf automake emacs-test-simple))
(propagated-inputs
(list emacs-load-relative emacs-loc-changes))
(home-page "https://github.com/realgud/realgud/")
(synopsis
"Modular front-end for interacting with external debuggers")
(description
"RealGUD is a modular, extensible GNU Emacs front-end for interacting
with external debuggers. It integrates various debuggers such as gdb, pdb,
ipdb, jdb, lldb, bashdb, zshdb, etc. and allows visually steping through code in the
sources. Unlike GUD, it also supports running multiple debug sessions in
parallel.")
(license license:gpl3+))))
(license license:gpl3+)))
(define-public emacs-rmsbolt
;; There is no release tag. Version is extracted from main file.
@@ -16764,39 +16695,6 @@ circumstances, and leaves the keys untouched outside of those situations,
allowing unprefixed keys to insert their respective characters as expected.")
(license license:gpl3+))))
(define-public emacs-claude-code
;; There is no proper release/tag.
(let ((commit "becece683bcf60f7b150a87a30ef14885dcf8ce3")
(revision "0"))
(package
(name "emacs-claude-code")
(version (git-version "0.4.5" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stevemolitor/claude-code.el")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0z77nxazkw08pmqam2z27a56s9nyp72a1vvc0ba3vgcwfkjx0v81"))))
(build-system emacs-build-system)
(arguments
(list
#:include #~(cons "^bin\\/" %default-include)
#:tests? #f)) ; There are no tests.
(propagated-inputs
(list emacs-transient
emacs-inheritenv))
(home-page "https://github.com/stevemolitor/claude-code.el")
(synopsis "Claude Code Emacs integration")
(description
"This package provides convenient ways to interact with Claude from
within Emacs, including sending commands, toggling the Claude window, and
accessing slash commands.")
(license license:asl2.0))))
(define-public emacs-claude-code-ide
;; Upstream does not make versioned releases.
(let ((commit "c5e2de1a343bc6c0444789e0a99ad822cd56cfbe"))
@@ -18971,27 +18869,6 @@ determines structure, this mode provides indentation and indentation command
behavior very similar to that of Python mode.")
(license license:gpl3+)))
(define-public emacs-yaml-pro
(package
(name "emacs-yaml-pro")
(version "1.3.3")
(home-page "https://github.com/zkry/yaml-pro")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1sipz42gb8pl8w9xci5m0kdz5dlinxj409hvyz173z3gzg7f4qr1"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-yaml))
(synopsis "Tools for editing YAML leveraging tree-sitter/parser")
(description "Leverages tree-sitter and provides fast and accurate
YAML parsing.")
(license license:gpl3+)))
(define-public emacs-yari
(let ((revision "0")
(commit "de61285ceb21f56c29f4be12e2e65b2aa2bccf56"))
@@ -19487,7 +19364,7 @@ implementation.")
(define-public emacs-cider
(package
(name "emacs-cider")
(version "1.20.0")
(version "1.19.0")
(source
(origin
(method git-fetch)
@@ -19496,7 +19373,7 @@ implementation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "08hd281ybskkhir170hr3xpga1b1hwpph7rd0fk6fvm0ngdgxazs"))))
(base32 "0limw27arkc8bn0zzj0jzhdsax78qm1lz5jfgy8zgf971llhf5qc"))))
(build-system emacs-build-system)
(arguments
(list
@@ -26888,9 +26765,8 @@ the pipeline, featuring the support for running @code{emacsclient}.")
(license license:gpl3+)))
(define-public emacs-jupyter
;; Last release from 3/2024.
(let ((commit "de89cbeca890db51ba84aee956658f89aaa0b642")
(revision "3"))
(let ((commit "db8a9e233a010a61063f34220821ec76157a2d84")
(revision "2"))
(package
(name "emacs-jupyter")
(version (git-version "1.0" revision commit))
@@ -26898,11 +26774,11 @@ the pipeline, featuring the support for running @code{emacsclient}.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-jupyter/jupyter")
(url "https://github.com/nnicandro/emacs-jupyter")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "09mcnl4piynzynjad7zy35rp6qn35xh1zrfc7kyws8qmii3561db"))))
(base32 "0gjxi84d95sx5fw8q2a8szfhq6kb4xzwq0xr9a3pirkiga9hxymz"))))
(build-system emacs-build-system)
(arguments (list #:tests? #f)) ;tests require a working jupyter
(propagated-inputs
@@ -26911,7 +26787,7 @@ the pipeline, featuring the support for running @code{emacsclient}.")
emacs-simple-httpd
emacs-websocket
emacs-zmq))
(home-page "https://github.com/emacs-jupyter/jupyter")
(home-page "https://github.com/nnicandro/emacs-jupyter")
(synopsis "Emacs interface to communicate with Jupyter kernels")
(description "This package provides an Emacs interface to communicate with
Jupyter kernels. It provides REPL and Org mode source code block frontends to
@@ -34145,41 +34021,47 @@ and comments.")
(license license:gpl3+))))
(define-public emacs-yeetube
(package
(name "emacs-yeetube")
(version "2.1.10")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.thanosapollo.org/yeetube")
(commit version)))
(sha256
(base32
"0krd2x0vyysqsgb7r3ca2qc7cl1s929gm52j5rihnqw0yfjpwgpv"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f ; no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'locate-binaries
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (find-files "." "\\.el$")
(("\\(executable-find \"(mpv|torsocks|yt-dlp)\"\\)" all program)
(format #f "~s" (search-input-file inputs
(string-append "/bin/" program))))))))))
(inputs (list mpv torsocks yt-dlp))
(propagated-inputs (list emacs-compat))
(home-page "https://thanosapollo.org/projects/yeetube/")
(synopsis "Youtube front-end for Emacs")
(description
"This package provides the ability to scrape YouTube, with the results
(let ((commit "b8877e61b58dfabcc30044680d0975b3c6b12052")) ;version bump
(package
(name "emacs-yeetube")
(version "2.1.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.thanosapollo.org/yeetube")
(commit commit)))
(sha256
(base32
"1gii2y4cvw795039kdky1mdmgpfrfm4s48ld7z4gv7bvb0fs9hpq"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'locate-binaries
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (find-files "." "\\.el$")
(("\\(executable-find \"mpv\"\\)")
(format #f "~s"
(search-input-file inputs "/bin/mpv")))
(("\\(executable-find \"torsocks\"\\)")
(format #f "~s"
(search-input-file inputs "/bin/torsocks")))
(("\\(executable-find \"yt-dlp\"\\)")
(format #f "~s"
(search-input-file inputs "/bin/yt-dlp")))))))))
(inputs (list mpv torsocks yt-dlp))
(propagated-inputs (list emacs-compat))
(home-page "https://thanosapollo.org/projects/yeetube/")
(synopsis "Youtube front-end for Emacs")
(description
"This package provides the ability to scrape YouTube, with the results
displayed in a tabulated list format. The videos can be opened with a user-defined
video player (by default @command{mpv}) or downloaded using @command{yt-dlp}.
This package also includes a minimal @code{yt-dlp} wrapper.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public emacs-org-web-tools
(package
+22 -23
View File
@@ -1239,7 +1239,7 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
(define-public mupen64plus-core
(package
(name "mupen64plus-core")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1248,7 +1248,7 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1xf15b6c3i0vv92b420a92pfvfaxhji56ivin8pn5r7fajkqyfb7"))))
(base32 "1iav8r3f0r44sq9pz4zjqrdzyspk412c117ywxz02qpjkhkf91a3"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config nasm which))
@@ -1258,7 +1258,6 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
libpng
mesa
sdl2
vulkan-loader
zlib))
(arguments
'(#:phases
@@ -1289,7 +1288,7 @@ core library.")
(define-public mupen64plus-audio-sdl
(package
(name "mupen64plus-audio-sdl")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1298,7 +1297,7 @@ core library.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "08sp70kjjbqg8mhxdm6yphfwn6bnf2i7yvzrzygnnn2cwd0qw42j"))))
(base32 "0j78xk78fj7lhi6jk6npr7wm9ix7qyr5cbaaqsmk6pqw6gfx81kz"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1333,7 +1332,7 @@ SDL audio plugin.")
(define-public mupen64plus-input-sdl
(package
(name "mupen64plus-input-sdl")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1342,7 +1341,7 @@ SDL audio plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1x07bc3pcfy11k1kp7q0bwz1z9wppxyi3f5pr72wsk1s8szzvck0"))))
(base32 "1nnniyiy0wpg4m9918va31xxnz8r5qvj0z08vyq2is0b47ld3kq0"))))
(build-system gnu-build-system)
(native-inputs
(list which))
@@ -1377,7 +1376,7 @@ SDL input plugin.")
(define-public mupen64plus-rsp-hle
(package
(name "mupen64plus-rsp-hle")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1386,7 +1385,7 @@ SDL input plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1wdnf9y5b61hxkv7jkz67m1bcqyxykzc24bg9k77ny7jc2q42v93"))))
(base32 "0sblabl3dp1jy9izbwyhx90690xdj96yfmwi47kpka8axzj93naq"))))
(build-system gnu-build-system)
(inputs
(list mupen64plus-core))
@@ -1419,7 +1418,7 @@ high-level emulation (HLE) RSP processor plugin.")
(define-public mupen64plus-rsp-z64
(package
(name "mupen64plus-rsp-z64")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1428,7 +1427,7 @@ high-level emulation (HLE) RSP processor plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0hpd402a00kmqsq45hrmgjfd1nchkjgjj5hc3fzb4fbvac5pacsz"))))
(base32 "02w7c6b7fc6q5rrvawxv48xp64crfs5jbs06f2fqqj4smysyjfcc"))))
(build-system gnu-build-system)
(inputs
(list mupen64plus-core))
@@ -1461,7 +1460,7 @@ Z64 RSP processor plugin.")
(define-public mupen64plus-video-arachnoid
(package
(name "mupen64plus-video-arachnoid")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1470,7 +1469,7 @@ Z64 RSP processor plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0dvjn3dnpsdzgjpvn4la05bcan2hs2hvzhqhfq43z1bqyxw7qb2d"))))
(base32 "1bkzbmg53qiwvza9h45d76rbyn0isbb31cfp5qqza0fzmgjxhv1d"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1505,7 +1504,7 @@ Arachnoid video plugin.")
(define-public mupen64plus-video-glide64
(package
(name "mupen64plus-video-glide64")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1514,7 +1513,7 @@ Arachnoid video plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "15hlbamw2iw5r7l2234a986gikgmkypdzhvl3r7px0rs0pi816pl"))))
(base32 "0jscvr2imm9wj9jsgsp5815pv27f97w8g19ix0n39y9yy851qvrg"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1548,7 +1547,7 @@ Glide64 video plugin.")
(define-public mupen64plus-video-glide64mk2
(package
(name "mupen64plus-video-glide64mk2")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1557,7 +1556,7 @@ Glide64 video plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1w0cp448i3rnr8c6rq8ivqvjmfkcawpr4b798xqhryhbxnlr3s35"))))
(base32 "1hr0mv6y7v72101iff3zf6rd0wpqah936234m3hcb4cgna6zj9xy"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1597,7 +1596,7 @@ Glide64MK2 video plugin.")
(define-public mupen64plus-video-rice
(package
(name "mupen64plus-video-rice")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1606,7 +1605,7 @@ Glide64MK2 video plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "16bzcjawyzy3wmxaq1chjfnljspm1sgzv7swylr9lkf3kpaijcw2"))))
(base32 "1vn24g7ahyv70jd06f5sq0j4bjs4axl2c0kfz4qdkpqsamsgxng8"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1641,7 +1640,7 @@ Rice Video plugin.")
(define-public mupen64plus-video-z64
(package
(name "mupen64plus-video-z64")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1650,7 +1649,7 @@ Rice Video plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "17h5xh5ms7xv53wcsmagapg08qzybmc1qmch5h6i7dirp5hpa411"))))
(base32 "1i8dxa0lhcsm5ss1bf74dqnzaa2bw5naj6f56ixw2qjvybrnsmk2"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1692,7 +1691,7 @@ Z64 video plugin.")
(define-public mupen64plus-ui-console
(package
(name "mupen64plus-ui-console")
(version "2.6.0")
(version "2.5.9")
(source
(origin
(method git-fetch)
@@ -1701,7 +1700,7 @@ Z64 video plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0lir5clzqp2al7dcw9p6xg0kpz5wrgb4s3ar56siqg8nafslrqp3"))
(base32 "1dyrqdfs2jkalfd86bqidgd9y1hy03qgrgwk46d3xf3kyfmaa1cq"))
(patches (search-patches "mupen64plus-ui-console-notice.patch"))))
(build-system gnu-build-system)
(native-inputs
+43 -131
View File
@@ -40,13 +40,12 @@
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com>
;;; Copyright © 2024 Juliana Sims <juli@incana.org>
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2025 Frederick Muriuki Muriithi <fredmanglis@gmail.com>
;;; Copyright © 2025 nomike Postmann <nomike@nomike.com>
;;; Copyright © 2025 Matthew Elwin <elwin@northwestern.edu>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
;;; Copyright © 2025 bdunahu <bdunahu@operationnull.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -130,7 +129,6 @@
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages javascript)
#:use-module (gnu packages jupyter)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages libcanberra)
@@ -147,7 +145,6 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages networking)
#:use-module (gnu packages node)
#:use-module (gnu packages openkinect)
#:use-module (gnu packages parallel)
#:use-module (gnu packages pcre)
@@ -1034,62 +1031,6 @@ user-level language.")
;; Mark as tunable to take advantage of SIMD code in Eigen.
(properties '((tunable? . #t))))))
(define-public iaito
;; Release versions are currently out of sync with radare2,
;; use most recent commit.
(let ((commit "27cdc1793c2f5bf71c6f2ef5116f0bfb91edd730")
(revision "1"))
(package
(name "iaito")
(version (git-version "6.0.4" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/iaito")
(commit commit)))
(sha256
(base32
"0bwjxv73nsd06al2a40r5gvm99kzlq7f7q7ial9189awlnsbnwlw"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
;; The build system assumes the sdb lib is installed alongside
;; radare2. We already patch the radare2 package to use a
;; system-installed sdb rather than install its own, so we must
;; propagate those changes here.
(add-before 'configure 'add-sdb-libs
(lambda _
(substitute* '("./src/lib_radare2.pri")
(("pkg-config --libs r_core" all)
(string-append all " sdb")))))
(replace 'configure
(lambda _
;; Does not recognize "--enable-fast-install".
(invoke "./configure"
(string-append "--prefix=" #$output)))))))
(inputs
(list capstone
libuv
libzip
lz4
openssl
qtbase
qtsvg
radare2
sdb))
(native-inputs
(list pkg-config python-minimal-wrapper))
(home-page "https://github.com/radareorg/iaito")
(synopsis "Official radare2 GUI")
(description "Iaito is the official graphical interface for radare2, a
libre reverse engineering framework. Iaito focuses on simplicity, parity with
commands, features, and keybindings.")
(license license:gpl3+))))
(define-public inspekt3d
(let ((commit "703f52ccbfedad2bf5240bf8183d1b573c9d54ef")
(revision "0"))
@@ -2154,7 +2095,7 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
(define-public radare2
(package
(name "radare2")
(version "6.0.7")
(version "5.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2162,59 +2103,29 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
(commit version)))
(sha256
(base32
"1nkqa8mkmvmbc3812gf5ayfmzyf0krjgc1695rpkphw3fsl76rgx"))
(file-name (git-file-name name version))
(patches
(search-patches "radare2-fix-meson-build-to-use-sys-sdb.patch"
"radare2-fix-meson-build-to-use-sys-qjs.patch"))))
(build-system meson-build-system)
"0hv9x31iabasj12g8f04incr1rbcdkxi3xnqn3ggp8gl4h6pf2f3"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list "-Duse_libuv=true"
"-Duse_ssl=true"
"-Duse_sys_capstone=true"
"-Duse_sys_lz4=true"
"-Duse_sys_magic=true"
"-Duse_sys_openssl=true"
"-Duse_sys_xxhash=true"
"-Duse_sys_zip=true"
"-Duse_sys_zlib=true")
#:tests? #f ; tests require git and network access
#:phases
#~(modify-phases %standard-phases
;; CHECK LATER: This patches an incorrect relative include.
(add-before 'build 'fix-relative-include
(lambda _
(substitute* "../source/libr/arch/p/java/plugin.c"
(("include \".." all)
(string-append all "/..")))))
;; These tests require sample binaries from an external repository.
(add-before 'check 'skip-tests
(lambda _
(substitute* '("../source/test/unit/test_bin.c"
"../source/test/unit/test_dwarf.c"
"../source/test/unit/test_dwarf_info.c"
"../source/test/unit/test_dwarf_integration.c"
"../source/test/unit/test_pdb.c"
;; TODO: add r2pipe and enable this test.
"../source/test/unit/test_r2pipe.c")
(("(^| )main *\\(.*" all)
(string-append all " exit (77);\n"))))))))
(add-before 'configure 'mklibdir
(lambda _ (mkdir-p (string-append #$output "/lib")))))
#:configure-flags
#~(list "--with-openssl"
"--with-rpath"
"--with-syscapstone"
"--with-sysmagic"
"--with-syszip"
"--with-sysxxhash")
#:make-flags #~(list (string-append "CC=" #$(cc-for-target)))))
;; TODO: Add gmp and libzip and make the build system actually find them.
(inputs
(list capstone
gmp
libuv
libzip
lz4
openssl
quickjs-ng
sdb
zlib))
(list capstone libuv openssl zip))
(native-inputs
(list node
perl
pkg-config
python-minimal-wrapper))
(list pkg-config))
(propagated-inputs
;; In the Libs: section of r_hash.pc.
(list xxhash))
@@ -5360,36 +5271,37 @@ forward kinematics solvers.")
(name "python-orocos-kinematics-dynamics")
(source
(origin
(inherit (package-source orocos-kinematics-dynamics))))
(inherit (package-source orocos-kinematics-dynamics))
(snippet '(begin
(substitute* "python_orocos_kdl/CMakeLists.txt"
;; Use the system pybind11 instead of the bundled version
(("add_subdirectory\\(pybind11\\)")
"find_package(pybind11)")
;; change debian-specific python install directory
(("dist-packages")
"site-packages"))
;; ROS 1 uses some dynamic attributes, which are
;; disabled by default in pybind11. No harm in enabling them
;; See "https://github.com/ros2/geometry2/issues/624
;; and https://pybind11.readthedocs.io/en/stable/classes.html
;; #dynamic-attributes <Both accessed June 1 2025>
(substitute* "python_orocos_kdl/PyKDL/frames.cpp"
(("m, \"Vector\"")
"m, \"Vector\", py::dynamic_attr()")
(("m, \"Frame\"")
"m, \"Frame\", py::dynamic_attr()")
(("m, \"Twist\"")
"m, \"Twist\", py::dynamic_attr()")
(("m, \"Wrench\"")
"m, \"Wrench\", py::dynamic_attr()"))))))
(native-inputs (list python pybind11 python-psutil))
(inputs (list orocos-kinematics-dynamics))
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix
(add-after 'unpack 'chdir
(lambda _
(substitute* "python_orocos_kdl/CMakeLists.txt"
;; Use the system pybind11 instead of the bundled version
(("add_subdirectory\\(pybind11\\)")
"find_package(pybind11)")
;; change debian-specific python install directory
(("dist-packages")
"site-packages"))
;; ROS 1 uses some dynamic attributes, which are
;; disabled by default in pybind11. No harm in enabling them
;; See "https://github.com/ros2/geometry2/issues/624
;; and https://pybind11.readthedocs.io/en/stable/classes.html
;; #dynamic-attributes <Both accessed June 1 2025>
(substitute* "python_orocos_kdl/PyKDL/frames.cpp"
(("m, \"Vector\"")
"m, \"Vector\", py::dynamic_attr()")
(("m, \"Frame\"")
"m, \"Frame\", py::dynamic_attr()")
(("m, \"Twist\"")
"m, \"Twist\", py::dynamic_attr()")
(("m, \"Wrench\"")
"m, \"Wrench\", py::dynamic_attr()"))
(chdir "python_orocos_kdl")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
+2 -2
View File
@@ -185,7 +185,7 @@ testing InfiniBand networks.")
(define-public ucx
(package
(name "ucx")
(version "1.19.0")
(version "1.17.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -195,7 +195,7 @@ testing InfiniBand networks.")
(patches (search-patches "ucx-tcp-iface-ioctl.patch"))
(sha256
(base32
"12j9200iyg6d0yr84r25hcpq8qqzfaa08klbhvgrqpflpfcljz4z"))
"09182kx60kq7iyjyz3mpcrgp1mm0lnpc0f4hd4hlw5yyabkxrpa1"))
(snippet
;; As seen in commit b0a275a5492125a13020cd095fe9934e0b5e7c6a.
#~(begin (use-modules (guix build utils))
+18 -18
View File
@@ -719,34 +719,34 @@ from a mounted file system.")
(home-page "http://www.gphoto.org/proj/gphotofs/")
(license license:gpl2+)))
(define (bcachefs-tools-rust-target)
(define bcachefs-tools-rust-target
(platform-rust-target (lookup-platform-by-target-or-system
(or (%current-target-system)
(%current-system)))))
(define (bcachefs-tools-target/release)
(string-append "target/" (bcachefs-tools-rust-target) "/release"))
(define bcachefs-tools-target/release
(string-append "target/" bcachefs-tools-rust-target "/release"))
(define (bcachefs-tools-cargo-args)
(define bcachefs-tools-cargo-args
;; Distinct from -MAKE-FLAGS for use with cargo test in 'check.
#~(list "--release"
(string-append "--target=" #$(bcachefs-tools-rust-target))))
(string-append "--target=" #$bcachefs-tools-rust-target)))
;; XXX We want to share common make flags across different packages & phases,
;; but the cargo-build-system doesn't allow #:make-flags.
(define (bcachefs-tools-make-flags)
(define bcachefs-tools-make-flags
;; These result of these flags should be as minimal as possible.
;; Enable any optional features in the bcachefs-tools package instead.
#~(list (string-append "CARGO_BUILD_ARGS="
(string-join #$(bcachefs-tools-cargo-args) " "))
(string-join #$bcachefs-tools-cargo-args " "))
(string-append "CC=" #$(cc-for-target))
(string-append "PKG_CONFIG=" #$(pkg-config-for-target))))
(define (bcachefs-tools-make-install-flags)
(define bcachefs-tools-make-install-flags
#~(cons* (string-append "PREFIX=" #$output)
"INITRAMFS_DIR=$(PREFIX)/share/initramfs-tools"
"PKGCONFIG_UDEVRULESDIR=$(PREFIX)/lib/udev/rules.d"
#$(bcachefs-tools-make-flags)))
#$bcachefs-tools-make-flags))
(define bcachefs-tools-minimal
;; This minimal package is not *that* minimal, and not different enough to
@@ -782,7 +782,7 @@ from a mounted file system.")
(number->string (parallel-job-count))
"1")
(string-append "VERSION=" #$version)
#$(bcachefs-tools-make-flags))))
#$bcachefs-tools-make-flags)))
(add-before 'install 'patch-install
;; make install hard-codes target/release/bcachefs, which is
;; incorrect when passing --target, as required to cross-compile or
@@ -790,11 +790,11 @@ from a mounted file system.")
(lambda _
(substitute* "Makefile"
(("target/release")
#$(bcachefs-tools-target/release)))))
#$bcachefs-tools-target/release))))
(replace 'install
(lambda _
(apply invoke "make" "install"
#$(bcachefs-tools-make-install-flags)))))))
#$bcachefs-tools-make-install-flags))))))
(native-inputs
(list pkg-config))
(inputs
@@ -851,7 +851,7 @@ performance and other characteristics.")
(define bcachefs
(or (false-if-exception (search-input-file native-inputs
"sbin/bcachefs"))
(string-append #$(bcachefs-tools-target/release)
(string-append #$bcachefs-tools-target/release
"/bcachefs")))
(define (output-completions shell file)
@@ -905,16 +905,16 @@ performance and other characteristics.")
"1")
(string-append "VERSION="
#$(package-version this-package))
#$(bcachefs-tools-make-flags))))
#$bcachefs-tools-make-flags)))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(apply invoke "cargo" "test" #$(bcachefs-tools-cargo-args)))))
(apply invoke "cargo" "test" #$bcachefs-tools-cargo-args))))
(replace 'install
(lambda _
(apply invoke "make" "install"
(string-append "PREFIX=" #$output)
#$(bcachefs-tools-make-install-flags))))))))
#$bcachefs-tools-make-install-flags)))))))
(inputs (modify-inputs (package-inputs bcachefs-tools-minimal)
(prepend `(,eudev "static")
`(,keyutils "static")
@@ -952,7 +952,7 @@ minimal bcachefs-tools package. It is meant to be used in initrds.")
(define-public bcachefs-linux-module
(package
(name "bcachefs-linux-module")
(version "1.33.0")
(version "1.32.1")
(source
(origin
(method git-fetch)
@@ -961,7 +961,7 @@ minimal bcachefs-tools package. It is meant to be used in initrds.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05lqw3mxi73nm1q4qv43p9hyiwi2hdx4nc9fzm7rxwip6ys1kqkd"))))
(base32 "0m85s00i1xfb9lr73j41f80akkhcijh9m0b602r76b15a0l5v3a9"))))
(build-system linux-module-build-system)
(arguments
(list
+6 -17
View File
@@ -1166,19 +1166,14 @@ settings.")
(define-public python-mnemonic
(package
(name "python-mnemonic")
(version "0.21")
(version "0.20")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/trezor/python-mnemonic")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "mnemonic" version))
(sha256
(base32 "1r8cdlgqpmj71ap3kyhc2nq8dn29gmj7v8dlq8kgcy91jky94n8g"))))
(build-system pyproject-build-system)
(native-inputs
(list python-poetry-core python-pytest))
(base32 "1xi5qvj2rvi5almf9c89rl7hz1z4ms04d53pg818i4vpkmivavvw"))))
(build-system python-build-system)
(propagated-inputs
(list python-pbkdf2))
(home-page "https://github.com/trezor/python-mnemonic")
@@ -1486,18 +1481,12 @@ the KeepKey Hardware Wallet.")
(version "0.9.0")
(source
(origin
;; TODO: Figure out how to build from
;; https://github.com/romanz/trezor-agent
(method url-fetch)
(uri (pypi-uri "keepkey_agent" version))
(sha256
(base32
"03779gvlx70i0nnry98i4pl1d92604ix5x6jgdfkrdgzqbh5vj27"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;no tests in PyPI package
(native-inputs
(list python-setuptools))
(build-system python-build-system)
(inputs
(list python-keepkey python-packaging python-trezor-agent))
(home-page "https://github.com/romanz/trezor-agent")
+1 -53
View File
@@ -51,7 +51,7 @@
;;; Copyright © 2021 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2022 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2022 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2023 Ahmad Draidi <a.r.draidi@redscript.org>
;;; Copyright © 2023 Arnaud Lechevallier <arnaud.lechevallier@free.fr>
@@ -69,7 +69,6 @@
;;; Copyright © 2025 Liam Hupfer <liam@hpfr.net>
;;; Copyright © 2025 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2025 Lee Thompson <lee.p.thomp@gmail.com>
;;; Copyright © 2025 Alexandre Hannud Abdo <abdo@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5032,54 +5031,3 @@ is necessary, such as when composing tabular data using text.")
technical and idiosyncratic feelperfect for headers and pull-quotes. Made to
work well together with Mona Sans.")
(license license:silofl1.1)))
(define-public font-peppercarrot
(package
(name "font-peppercarrot")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://framagit.org/peppercarrot/fonts")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1yw5wjd6rydgllf0c3g5nh9zqbnhc1wbbhsx36c08isr28sy59mm"))))
(build-system font-build-system)
(arguments
(list
#:license-file-regexp ".*\\.(COPYRIGHT|LICENSE)$"
#:phases
#~(modify-phases %standard-phases
;; License files are spread in subdirectories, gotta catch 'em all!
(replace 'install-license-files
(let ((install-license-files (assoc-ref %standard-phases
'install-license-files))
(package-directories (find-files "."
(lambda (file stat)
(eq? 'directory
(stat:type stat)))
#:directories? #t)))
(lambda args
(for-each (lambda (directory)
(with-directory-excursion directory
(apply install-license-files args)))
package-directories)))))))
(home-page "https://www.peppercarrot.com/en/fonts/")
(synopsis "Fonts used by the comic strip Pepper&Carrot")
(description
"This package provides a collection of open fonts compiled and adapted by David
Revoy and collaborators for use in the comic strip Pepper&Carrot.")
;; We list all licenses used for any of the many fonts in the collection
(license (list license:silofl1.1
license:silofl1.0
(license:non-copyleft
"http://jikasei.me/info/license.html#M_FONT_LICENSE_1")
license:gpl3
license:gpl3+
license:gpl2
license:gpl2+
license:asl2.0
license:cc-by3.0))))
+18 -75
View File
@@ -2820,57 +2820,35 @@ to the C library @code{uchardet} to increase performance.")
(version "2.5.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/coldfix/udiskie")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "udiskie" version))
(sha256
(base32 "0ccp55fgmcc4fsd7jsqla6k1m6v8zkn03i4axw446zh2nzxpanhl"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-backend #~'custom
#:test-flags #~(list "test/test_match.py")
#:phases
#~(modify-phases %standard-phases
(add-after 'check 'fix-entry-points
;; FIXME: See: <https://codeberg.org/guix/guix/issues/4509>.
(lambda _
(substitute* (string-append #$output "/bin/.udiskie-real")
(("from udiskie.cli import Daemon.main")
"from udiskie.cli import Daemon"))
(substitute* (string-append #$output "/bin/.udiskie-info-real")
(("from udiskie.cli import Info.main")
"from udiskie.cli import Info"))
(substitute* (string-append #$output "/bin/.udiskie-mount-real")
(("from udiskie.cli import Mount.main")
"from udiskie.cli import Mount"))
(substitute* (string-append #$output "/bin/.udiskie-umount-real")
(("from udiskie.cli import Umount.main")
"from udiskie.cli import Umount"))))
(add-after 'wrap 'wrap-gi-typelib
(lambda _
(wrap-program (string-append #$output "/bin/udiskie")
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")))))))))
(base32
"0c6i7i7yb0lqrfxjrh63y6amw2npkp1n3dxdfjf9zh4pgbnaivd3"))))
(build-system python-build-system)
(native-inputs
(list asciidoc
gettext-minimal
gobject-introspection
python-setuptools))
gobject-introspection))
(inputs
(list bash-minimal
gobject-introspection
gtk+
libappindicator
libnotify
python-docopt
python-keyutils
python-pygobject
python-pyxdg
python-pyyaml
udisks))
(propagated-inputs
(list python-docopt python-pygobject python-keyutils python-pyxdg
python-pyyaml))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-gi-typelib
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(wrap-program (string-append out "/bin/udiskie")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))))))
(home-page "https://github.com/coldfix/udiskie")
(synopsis "Automounter for removable media")
(description
@@ -3251,41 +3229,6 @@ The portal interfaces include APIs for file access, opening URIs, printing
and others.")
(license license:lgpl2.1+)))
(define-public xdg-desktop-portal-next
(let ((base xdg-desktop-portal))
(package
(inherit base)
(version "1.20.3")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/flatpak/xdg-desktop-portal/releases/download/"
version "/xdg-desktop-portal-" version ".tar.xz"))
(sha256
(base32
"1p4yvbhqr8yf231gm69vdz3h7na8m6x1mhiw3bmhg4gm6x4idysb"))
(patches (search-patches
"xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch"))
(modules '((guix build utils)))
;; Disable failing tests.
(snippet #~(substitute* "tests/meson.build"
((".*test_dynamiclauncher.*") "")
((".*test_notification.*") "")
((".*test_usb.*") "")))))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:configure-flags flags #~'())
;; Requires python-furo, which isn't packaged for guix, and depends
;; on node.js.
#~(append '("-Ddocumentation=disabled")
#$flags))))
(inputs (modify-inputs (package-inputs base)
(append gstreamer
gst-plugins-base
gst-plugins-good
umockdev))))))
(define-public xdg-desktop-portal-gtk
(package
(name "xdg-desktop-portal-gtk")
+2 -8
View File
@@ -510,19 +510,13 @@ PCM data.")
(define-public nml
(package
(name "nml")
(version "0.8.1")
(version "0.7.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "nml" version))
(sha256
(base32 "0krs3jac9jc0zqr59ivfl5vibqc15b4yhww73j3c01dla1shvlcj"))))
(arguments
(list #:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda _
(invoke "make" "-C" "regression"))))))
(base32 "0if99hk9dsiw33iabkrbrpwybv8vl3hpim1cf07sklkshigwxryr"))))
(build-system python-build-system)
(propagated-inputs
(list python-pillow python-ply))
+1 -1
View File
@@ -3156,7 +3156,7 @@ exec -a ~s ~s \"$@\"
(string-append lib "/main.py"))))
(chmod bin #o555)))))))
(native-inputs (list unzip python-setuptools))
(inputs (list python python-pygame))
(inputs (list python python-pygame python-tmx))
(home-page "https://rogueboxadventures.tuxfamily.org")
(synopsis "Classical roguelike/sandbox game")
(description
+1 -1
View File
@@ -16,7 +16,7 @@
;;; Copyright © 2024, 2025 Zheng Junjie <z572@z572.online>
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Leo Nikkilä <hello@lnikki.la>
;;;
+1 -1
View File
@@ -28,7 +28,7 @@
;;; Copyright © 2025 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2025 Lars Bilke <lars.bilke@ufz.de>
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2025 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2025 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
+1 -1
View File
@@ -266,7 +266,7 @@ generate a GL/GLES/EGL/GLX/WGL loader tailored for specific requirements.")
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "xvfb-run" "utility/test.sh"))))))))
(native-inputs (list python-setuptools python-wheel xvfb-run-for-tests))
(native-inputs (list python-setuptools python-wheel xvfb-run))
(propagated-inputs (list python-jinja2))))
(define-public s2tc
+67 -87
View File
@@ -9,7 +9,6 @@
;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com>
;;; Copyright © 2020 Christopher Lam <christopher.lck@gmail.com>
;;; Copyright © 2023, 2024 gemmaro <gemmaro.dev@gmail.com>
;;; Copyright © 2025 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -58,7 +57,6 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix utils))
@@ -259,95 +257,77 @@ to be read using the GNOME Yelp program.")
(license (list license:fdl1.1+ license:gpl3+)))))
(define-public gwenhywfar
(package
(name "gwenhywfar")
(version "5.14.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.aquamaniac.de/git/gwenhywfar")
(commit version)))
(sha256
(base32
"0p0fzi69jsr3flpr10s8gbl9i265x5j5k1q2i5yva2vsdx2j2878"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list "--disable-network-checks"
;; GTK+3, GTK+2, Qt4, Qt5 and Qt6 are supported.
"--with-guis=gtk3"
"--enable-system-certs"
"--with-libxml2-code=yes"
"--disable-binreloc")
#:phases
#~(modify-phases %standard-phases
(add-before 'bootstrap 'make-cvs
(lambda _
(invoke "make" "-fMakefile.cvs"))))))
(inputs
(list libgcrypt gnutls openssl gtk+ libxml2))
(native-inputs
(list autoconf automake gettext-minimal libtool pkg-config))
(home-page "https://www.aquamaniac.de")
(synopsis "Utility library for networking and security applications")
(description
"This package provides a helper library for networking and security
(let ((attachid "529")) ;; file attachid changes for each version
(package
(name "gwenhywfar")
(version "5.12.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.aquamaniac.de/rdm/attachments/"
"download/" attachid "/gwenhywfar-" version ".tar.gz"))
(sha256
(base32 "09nnjn1i8nzlkk62wai2lbnvqap8w6y98fh520b1y883fx2g3m8a"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list "--disable-network-checks"
;; GTK+3, GTK+2 and QT4 are supported.
"--with-guis=gtk3"
"--enable-system-certs"
"--with-libxml2-code=yes"
"--disable-binreloc")))
(inputs
(list libgcrypt gnutls openssl gtk+ libxml2))
(native-inputs
(list pkg-config))
(home-page "https://www.aquamaniac.de")
(synopsis "Utility library for networking and security applications")
(description
"This package provides a helper library for networking and security
applications and libraries. It is used by AqBanking.")
;; The license includes an explicit additional permission to compile and
;; distribute this library with the OpenSSL Toolkit.
(license license:lgpl2.1+)))
;; The license includes an explicit additional permission to compile and
;; distribute this library with the OpenSSL Toolkit.
(license license:lgpl2.1+))))
(define-public aqbanking
(package
(name "aqbanking")
(version "6.8.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.aquamaniac.de/git/aqbanking")
(commit version)))
(sha256
(base32
"0ys5r8lbr1nvd14fr82rs6c16iqfpd1hdz5l9s8l9biy2sq8jh0z"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
;; Parallel building fails because aqhbci is required before it's
;; built.
#:parallel-build? #f
#:phases
#~(modify-phases %standard-phases
(add-before 'bootstrap 'make-cvs
(lambda _
(invoke "make" "-fMakefile.cvs")))
;; Embed the package version instead of the build date
(add-after 'make-cvs 'use-version-instead-of-date
(lambda _
(substitute*
"src/libs/plugins/backends/aqhbci/header.xml.in"
(("@DATETIME@") #$version))))
(add-before 'build 'build-types
(lambda _
(invoke "make" "typedefs")
(invoke "make" "typefiles"))))))
(propagated-inputs
(list gwenhywfar))
(inputs
(list gmp xmlsec gnutls))
(native-inputs
(list autoconf automake gettext-minimal libltdl libtool pkg-config))
(home-page "https://www.aquamaniac.de")
(synopsis "Interface for online banking tasks")
(description
"AqBanking is a modular and generic interface to online banking tasks,
(let ((attachid "531")) ;; file attachid changes for each version
(package
(name "aqbanking")
(version "6.6.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.aquamaniac.de/rdm/attachments/"
"download/" attachid "/aqbanking-" version ".tar.gz"))
(sha256
(base32 "1yqbwh91gwwqgiv8cf15rc9mxcdlikhbr5qknaqp5bavp63l8qrp"))))
(build-system gnu-build-system)
(arguments
`(;; Parallel building fails because aqhbci is required before it's
;; built.
#:parallel-build? #f
#:phases
(modify-phases %standard-phases
;; Embed the package version instead of the build date
(add-after 'unpack 'use-version-instead-of-date
(lambda _
(substitute*
"src/libs/plugins/backends/aqhbci/header.xml.in"
(("@DATETIME@") ,version)))))))
(propagated-inputs
(list gwenhywfar))
(inputs
(list gmp xmlsec gnutls))
(native-inputs
(list pkg-config gettext-minimal libltdl))
(home-page "https://www.aquamaniac.de")
(synopsis "Interface for online banking tasks")
(description
"AqBanking is a modular and generic interface to online banking tasks,
financial file formats (import/export) and bank/country/currency information.
AqBanking uses backend plugins to actually perform the online tasks. HBCI,
OFX DirectConnect, YellowNet, GeldKarte, and DTAUS discs are currently
supported. AqBanking is used by GnuCash, KMyMoney, and QBankManager.")
;; AqBanking is licensed under the GPLv2 or GPLv3
(license (list license:gpl2 license:gpl3))))
;; AqBanking is licensed under the GPLv2 or GPLv3
(license (list license:gpl2 license:gpl3)))))
+13 -23
View File
@@ -584,7 +584,6 @@ interface (FFI) of Guile.")
(source (origin
(method url-fetch)
(uri (pypi-uri "gpg" version))
(patches (search-patches "python-gpg-setup-72.patch"))
(sha256
(base32
"1ji3ynhp36m1ccx7bmaq75dhij9frpn19v9mpi4aajn8csl194il"))))
@@ -710,22 +709,18 @@ signing, decryption, verification, and key-listing parsing.")
(license license:perl-license)))
(define-public pius
;; The last release was from 2019, the latest commit is from 2025
(let ((commit "5f7c10bd3b058c864b128a3b0e0c0efa1f1befa2")
(revision "0"))
(package
(name "pius")
(version (git-version "3.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jaymzh/pius")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0qf1fxwdrnfkia0c1iz752mb9flbjl9jgh75dls51j1k8fzbl758"))))
(build-system pyproject-build-system)
(version "3.0.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/jaymzh/pius/releases/download/v"
version "/pius-" version ".tar.bz2"))
(sha256
(base32
"11fhmfvr0avxl222rv43wjd2xjbpxrsmcl8xwmn0nvf1rw95v9fn"))))
(build-system python-build-system)
(arguments
(list
#:phases
@@ -734,13 +729,8 @@ signing, decryption, verification, and key-listing parsing.")
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "libpius/constants.py"
(("/usr/bin/gpg2")
(search-input-file inputs "bin/gpg")))))
(replace 'check
(lambda* (#:key tests? test-flags #:allow-other-keys)
(when tests?
(invoke "./run_tests")))))))
(native-inputs (list python-setuptools))
(inputs (list perl ;for 'pius-party-worksheet'
(search-input-file inputs "bin/gpg"))))))))
(inputs (list perl ;for 'pius-party-worksheet'
gnupg))
(synopsis "Programs to simplify GnuPG key signing")
(description
@@ -752,7 +742,7 @@ the process. The @command{pius-keyring-mgr} and
@command{pius-party-worksheet} commands help organizers of PGP key signing
parties.")
(license license:gpl2)
(home-page "https://github.com/jaymzh/pius"))))
(home-page "https://www.phildev.net/pius/index.shtml")))
(define-public signing-party
(package
+5 -5
View File
@@ -604,9 +604,9 @@ in the case of Firefox, it is browser/locales/all-locales."
"zh-CN"
"zh-TW"))
(define %icecat-base-version "140.6.0")
(define %icecat-base-version "140.5.0")
(define %icecat-version (string-append %icecat-base-version "-gnu1"))
(define %icecat-build-id "20251211000000") ;must be of the form YYYYMMDDhhmmss
(define %icecat-build-id "20251111000000") ;must be of the form YYYYMMDDhhmmss
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@@ -626,9 +626,9 @@ in the case of Firefox, it is browser/locales/all-locales."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
"1jadc0ynq49zcqd7ix9nxlrqy5gfhm61p7yliwy068bma2mwjdbc"))))
"1qhhsgk1dvdrxvvvry6gpijqzpbgmc6h1fd01c7478ppwprpwaw3"))))
(gnuzilla-commit "f4e50b9a4d5384ce2e860133bf0beaaccbf19b46")
(gnuzilla-commit "5897aee761cc6d179bd8632f085c3c14ccf7db6c")
(gnuzilla-source
(origin
(method git-fetch)
@@ -639,7 +639,7 @@ in the case of Firefox, it is browser/locales/all-locales."
(string-take gnuzilla-commit 8)))
(sha256
(base32
"0zjzw7blal3niyzyvw33w2cg906pnjbmvf7gsgas2in9xy3rlix6"))))
"1yk3bpsa01gy5s5dwavsr089qp5dznzb8za5k3ab3fs79i9vdg6z"))))
;; 'search-patch' returns either a valid file name or #f, so wrap it
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
+2 -3
View File
@@ -30,7 +30,6 @@
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Arthur Rodrigues <arthurhdrodrigues@proton.me>
;;; Copyright © 2025 Patrick Norton <patrick.147.norton@gmail.com>
;;; Copyright © 2025 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3517,7 +3516,7 @@ traffic.")))
(define-public ssh-to-pgp
(package
(name "ssh-to-pgp")
(version "1.1.6")
(version "1.1.4")
(source
(origin
(method git-fetch)
@@ -3526,7 +3525,7 @@ traffic.")))
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "10n4xggambw3b9nw0qsz36v7xzyvg31s8xqj66j179f78rdclpw7"))))
(base32 "1xaj6pnk5y2flnxm57j9bpdpll9vhg1rbjj4v3a7hn1gginxpprx"))))
(build-system go-build-system)
(arguments
(list
-89
View File
@@ -1815,47 +1815,6 @@ the OTEL Go SDK.")
(description "This package provides a CSS parser and inliner.")
(license license:expat)))
(define-public go-github-com-aymerick-raymond
(package
(name "go-github-com-aymerick-raymond")
(version "2.0.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aymerick/raymond")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0s5nxzx87a12hcdzhliy1j8albfx2jqddaks4m86yfrcawm6vndn"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/aymerick/raymond"
#:phases
#~(modify-phases %standard-phases
;; Replace vendored mustache version with the one from 'inputs'.
(add-before 'check 'supply-mustache
(lambda* (#:key inputs import-path #:allow-other-keys)
(let ((mustache (string-append "src/" import-path "/mustache")))
(delete-file-recursively mustache)
(copy-recursively #$(this-package-input "mustache-specs")
mustache)))))))
(inputs `(("mustache-specs" ,(origin
(method git-fetch)
(uri (git-reference (url
"https://github.com/mustache/spec")
(commit
"83b0721610a4e11832e83df19c73ace3289972b9")))
(sha256 (base32
"1g2f6hi04vkxrk53ixzm7yvkg5v8m00dh9nrkh9lxnx8aw824y80"))))))
(propagated-inputs (list go-gopkg-in-yaml-v2))
(home-page "https://github.com/aymerick/raymond")
(synopsis "Handlebars for Golang")
(description
"This package provides a minimal templating engine for Golang.")
(license license:expat)))
(define-public go-github-com-azure-azure-sdk-for-go-sdk-azcore
(package
(name "go-github-com-azure-azure-sdk-for-go-sdk-azcore")
@@ -6318,29 +6277,6 @@ sessions, flash messages, custom backends, and more.")
protocol.")
(license license:bsd-2)))
(define-public go-github-com-gosimple-slug
(package
(name "go-github-com-gosimple-slug")
(version "1.12.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gosimple/slug")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "15gk6hdd8kjfl0srlf3gnjq34m64as1s6pjv7paaxd1zvrcml46y"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/gosimple/slug"))
(propagated-inputs (list go-github-com-gosimple-unidecode))
(home-page "https://github.com/gosimple/slug")
(synopsis "URL-friendly slugify with multiple language support")
(description "Generates slug from Unicode string for use in URLs.")
(license license:mpl2.0)))
(define-public go-github-com-gregjones-httpcache
(package
(name "go-github-com-gregjones-httpcache")
@@ -16712,31 +16648,6 @@ etc)
be used as both a binary and a library.")
(license license:bsd-3)))
(define-public go-github-com-mvdan-xurls
(package
(name "go-github-com-mvdan-xurls")
(version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mvdan/xurls")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05q4nqbpgfb0a35sn22rn9mlag2ks4cgwb54dx925hipp6zgj1hx"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/mvdan/xurls"))
(propagated-inputs (list go-golang-org-x-net))
(home-page "https://github.com/mvdan/xurls")
(synopsis "Extracts URLs from text")
(description
"Xurls extracts urls from plain text using regular expressions. It can
be used as both a binary and a library.")
(license license:bsd-3)))
(define-public go-nhooyr-io-websocket
(package
(name "go-nhooyr-io-websocket")
+1 -297
View File
@@ -40,7 +40,7 @@
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2023 Miguel Ángel Moreno <mail@migalmoreno.com>
;;; Copyright © 2023 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2023 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2023 Sergey Trofimov <sarg@sarg.org.ru>
;;; Copyright © 2023 Thomas Ieong <th.ieong@free.fr>
@@ -1371,28 +1371,6 @@ be stripped.")
with as little developer effort as possible.")
(license license:expat)))
(define-public go-github-com-alecthomas-kong-for-zk
(hidden-package
(package
(inherit go-github-com-alecthomas-kong)
(name "go-github-com-alecthomas-kong-for-zk")
(version "0.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alecthomas/kong")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1lk4nb8ilvy0l5szj4s6wnz716vlz0v253423ykmph5l6bmips1k"))))
(arguments
(list
#:tests? #f
#:import-path "github.com/alecthomas/kong"))
(propagated-inputs (list go-github-com-alecthomas-repr
go-github-com-pkg-errors)))))
(define-public go-github-com-alecthomas-kong-hcl
(package
(name "go-github-com-alecthomas-kong-hcl")
@@ -7946,27 +7924,6 @@ string into a slice of words.")
defined output to the standard output.")
(license license:expat)))
(define-public go-github-com-fatih-color-for-zk
(hidden-package
(package
(inherit go-github-com-fatih-color)
(name "go-github-com-fatih-color-for-zk")
(version "1.13.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fatih/color")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "029qkxsdpblhrpgbv4fcmqwkqnjhx08hwiqp19pd7zz6l8a373ay"))))
(arguments
(list
#:import-path "github.com/fatih/color"
#:test-flags
#~(list "-vet=off"))))))
(define-public go-github-com-fatih-gomodifytags
;; This particular commit (v1.17.1-0.20250423142747-f3939df9aa3c) provides
;; "modifytags" submodule which is required for gopls@0.19.1.
@@ -8568,30 +8525,6 @@ it effectively reuses the JSON struct tags as well as the custom JSON methods
@code{MarshalJSON} and @code{UnmarshalJSON} unlike go-yaml.")
(license license:expat)))
(define-public go-github-com-gosimple-unidecode
(package
(name "go-github-com-gosimple-unidecode")
(version "1.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gosimple/unidecode")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1dxdddn744l0s1lr006s2a4k02w6qx8j3k31c7sfflh7wvwzcdzx"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/gosimple/unidecode"))
(home-page "https://github.com/gosimple/unidecode")
(synopsis "Unicode transliterator for Golang")
(description
"Package unidecode implements a unicode transliterator which
replaces non-ASCII characters with their ASCII approximations.")
(license license:asl2.0)))
(define-public go-github-com-git-lfs-go-netrc
(package
(name "go-github-com-git-lfs-go-netrc")
@@ -20078,30 +20011,6 @@ logging.")
#:go go-1.23
#:import-path "github.com/russross/blackfriday/v2"))))
(define-public go-github-com-rvflash-elapsed
(package
(name "go-github-com-rvflash-elapsed")
(version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rvflash/elapsed")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1jawknvv51k1awlzpyr2qc1s75s1fg3l40c0zhixp1sc98hl434c"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/rvflash/elapsed"))
(home-page "https://github.com/rvflash/elapsed")
(synopsis "Calculates the elapsed time for a given date")
(description
"This package can be used to return the elapsed time since a
given time in a human-readable format.")
(license license:expat)))
(define-public go-github-com-rwcarlsen-goexif
;; No release or version tag, Golang pseudo version:
;; 0.0.0-20190401172101-9e8deecbddbd.
@@ -22358,31 +22267,6 @@ flushing entries at a given size or interval, useful for cases such as
batching log events.")
(license license:expat)))
(define-public go-github-com-tj-go-naturaldate
(package
(name "go-github-com-tj-go-naturaldate")
(version "1.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tj/go-naturaldate")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "12d7nf1jd7nk9r8ifn1hr21a7m4yb1garmiw2grrsi5zsqsh2jb1"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/tj/go-naturaldate"))
(propagated-inputs (list go-github-com-tj-assert))
(home-page "https://github.com/tj/go-naturaldate")
(synopsis "Provides natural date time parsing")
(description
"This package parses human-friendly relative date/time ranges.")
(license license:expat)))
(define-public go-github-com-tj-go-spin
(package
(name "go-github-com-tj-go-spin")
@@ -22508,79 +22392,6 @@ supported by the time package
@end itemize")
(license license:expat)))
(define-public go-github-com-tliron-glsp
(package
(name "go-github-com-tliron-glsp")
(version "0.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tliron/glsp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0vz4idndpcxrkjck6m0azdg8zsgcxcchf0ldhnkr8fj3z2sllljr"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/tliron/glsp"))
(propagated-inputs (list go-github-com-sasha-s-go-deadlock
go-github-com-tliron-kutil
go-github-com-sourcegraph-jsonrpc2
go-github-com-pkg-errors
go-github-com-gorilla-websocket
go-golang-org-x-term
go-golang-org-x-crypto
go-github-com-zchee-color))
(home-page "https://github.com/tliron/glsp")
(synopsis "Language Server Protocol SDK for Golang")
(description
"Implementation of the @acronym{LSP, language server protocol}
for Golang, allowing the creating of custom language servers.")
(license license:asl2.0)))
(define-public go-github-com-tliron-kutil
(package
(name "go-github-com-tliron-kutil")
(version "0.1.59")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tliron/go-kutil")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "07lhzgpsi96icdya874xmfd1ymg4s4y09s7m7h398aryn7hbysyg"))))
(build-system go-build-system)
(arguments
(list
;; TODO: Not ready packages required for tests and full build.
;; (propagated-inputs
;; (list
;; go-github-com-beevik-etree
;; go-github-com-coreos-go-systemd
;; go-github-com-dop251-goja
;; go-github-com-fxamacker-cbor
;; go-github-com-go-git-go-git
;; go-github-com-google-go-containerregistry
;; go-github-com-hokaccha-go-prettyjson
;; go-github-com-mitchellh-hashstructure
;; go-github-com-segmentio-ksuid
;; go-github-com-tliron-yamlkeys
;; go-github-com-zchee-color
;; go-k8s-io-apiextensions-apiserver
;; go-k8s-io-klog))
#:skip-build? #t
#:tests? #f
#:import-path "github.com/tliron/kutil"))
(home-page "https://github.com/tliron/go-kutil")
(synopsis "Utility library for Golang")
(description
"This package provides a collection of Golang utilities.")
(license license:asl2.0)))
(define-public go-github-com-tomwright-dasel-v2
(package
(name "go-github-com-tomwright-dasel-v2")
@@ -24241,31 +24052,6 @@ deltas can be applied to a JSON object to \"patch\" them.")
common sequence} values from two arbitrary arrays.")
(license license:expat)))
(define-public go-github-com-yuin-goldmark-meta
(package
(name "go-github-com-yuin-goldmark-meta")
(version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/yuin/goldmark-meta")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "07dnwpkcifk9lw25ncflwdzmp8xqwbsbq0bnw3v7ljz9i8zi3ya3"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/yuin/goldmark-meta"))
(propagated-inputs (list go-gopkg-in-yaml-v2 go-github-com-yuin-goldmark))
(home-page "https://github.com/yuin/goldmark-meta")
(synopsis "YAML metadata extension for the goldmark markdown parser")
(description
"Extension for the @code{goldmark} markdown parser which enables
defining document metadata in the YAML format.")
(license license:expat)))
(define-public go-github-com-yuin-gopher-lua
(package
(name "go-github-com-yuin-gopher-lua")
@@ -24361,35 +24147,6 @@ Go host programs.")
from the system keyring.")
(license license:expat)))
(define-public go-github-com-zchee-color
(package
(name "go-github-com-zchee-color")
(version "2.0.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zchee/color")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0im301c9m5702lsv3qvzwmx943m9hmrpb2670zfv0z14cm7fqhls"))))
(build-system go-build-system)
(arguments
(list
#:test-flags
#~(list "-vet=off")
#:import-path "github.com/zchee/color/v2"))
(propagated-inputs (list go-github-com-mattn-go-isatty
go-github-com-mattn-go-colorable))
(home-page "https://github.com/zchee/color")
(synopsis "Color package for Golang")
(description
"Package color is an ANSI color package to output colorized or
SGR defined output to the standard output. The API can be used in several way,
pick one that suits you.")
(license license:expat)))
(define-public go-github-com-zclconf-go-cty
(package
(name "go-github-com-zclconf-go-cty")
@@ -24710,31 +24467,6 @@ It is a maintained fork of @url{gorilla/schema,
https://github.com/gorilla/schema}")
(license license:bsd-3)))
(define-public go-github-com-zk-org-pretty
(package
(name "go-github-com-zk-org-pretty")
(version "0.2.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zk-org/pretty")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "086zcjamclnn3y9w4ww88ik9avwihbxk7h08vk7686643i1zij96"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/zk-org/pretty"))
(propagated-inputs (list go-github-com-rogpeppe-go-internal
go-github-com-kr-text))
(home-page "https://github.com/zk-org/pretty")
(synopsis "Pretty printing for Golang values")
(description
"This package provides a pretty printing library for Golang values.")
(license license:expat)))
(define-public go-github-com-zyedidia-clipper
(package
(name "go-github-com-zyedidia-clipper")
@@ -26070,34 +25802,6 @@ distributions of benchmark measurements
(list
#:import-path "gopkg.in/alecthomas/kingpin.v2"))))
(define-public go-gopkg-in-djherbis-times-v1
(package
(name "go-gopkg-in-djherbis-times-v1")
(version "1.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/djherbis/times")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1dk087l9c927f90zrsmyxxfx5i980r952qw47j9srq2q7dd0b4ni"))
(modules '((guix build utils)))
;; Fix import path for itself in the example code (build by 'check).
(snippet '(substitute* "example/main.go"
(("github.com/djherbis/times")
"gopkg.in/djherbis/times.v1")))))
(build-system go-build-system)
(arguments
(list
#:import-path "gopkg.in/djherbis/times.v1"))
(home-page "https://github.com/djherbis/times")
(synopsis "File times for Golang")
(description
"This package allows access different file time metadata from Golang.")
(license license:expat)))
(define-public go-gopkg-in-fsnotify-v1
(package/inherit go-github-com-fsnotify-fsnotify
(name "go-gopkg-in-fsnotify-v1")
+1 -39
View File
@@ -667,6 +667,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
#~(modify-phases #$phases
(delete 'skip-TestGoPathShlibGccgo-tests)
(delete 'patch-source)
(delete 'disable-more-tests)
(add-after 'unpack 'patch-os-tests
(lambda _
(substitute* "src/os/os_test.go"
@@ -716,45 +717,6 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(substitute* "src/cmd/cgo/internal/testsanitizers/asan_test.go"
((".*arena_fail.*") ""))))
(replace 'disable-more-tests
(lambda _
#$@(cond
((target-aarch64?)
;; https://go-review.googlesource.com/c/go/+/151303
;; This test is known buggy on aarch64 and is enabled and
;; disabled upstream with some regularity.
#~((substitute* "src/plugin/plugin_test.go"
(("package plugin_test")
(string-append "//go:build !(linux && arm64)\n\n"
"package plugin_test")))
;; collect2: fatal error: cannot find 'ld'
;; Disable testshared by adding a build constraint that
;; excludes linux/arm64.
(substitute* "src/cmd/cgo/internal/testshared/shared_test.go"
(("package shared_test")
(string-append "//go:build !(linux && arm64)\n\n"
"package shared_test")))
(substitute* "src/cmd/dist/test.go"
((".*testcshared.*") "")
((".*testshared.*") ""))))
((target-arm32?)
;; https://go-review.googlesource.com/c/go/+/151303
;; This test is known buggy on aarch64 so we disable
;; it on armhf also since we emulate armhf on aarch64.
#~((substitute* "src/plugin/plugin_test.go"
(("package plugin_test")
(string-append "//go:build !(linux && arm)\n\n"
"package plugin_test")))
;; collect2: fatal error: cannot find 'ld'
(substitute* "src/cmd/cgo/internal/testshared/shared_test.go"
(("package shared_test")
(string-append "//go:build !(linux && arm)\n\n"
"package shared_test")))
(substitute* "src/cmd/dist/test.go"
((".*testcshared.*") "")
((".*testshared.*") ""))))
(else (list #t)))))
(add-after 'enable-external-linking 'enable-external-linking-1.21
(lambda _
;; Invoke GCC to link any archives created with GCC (that is,
+2 -2
View File
@@ -2948,7 +2948,7 @@ and enables interoperable use of content across the industry.")
(define-public monado
(package
(name "monado")
(version "25.1.0")
(version "25.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2957,7 +2957,7 @@ and enables interoperable use of content across the industry.")
(file-name (git-file-name name version))
(sha256
(base32
"09bmcqr01kakhzc26r2kmlqd1l3hqr33360qrrpmiy6mlgpsci45"))))
"0h4ivjqdj1qisgp1b49h3aqqjlrbd5najyd1vrhskdlz1yzz252p"))))
(build-system cmake-build-system)
(inputs
(list ffmpeg
+20 -2
View File
@@ -1009,8 +1009,9 @@ application suites.")
(define-public gtk+
(package
(inherit gtk+-2)
(replacement gtk+/fixed)
(name "gtk+")
(version "3.24.51")
(version "3.24.49")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1019,7 +1020,7 @@ application suites.")
(file-name (git-file-name name version))
(sha256
(base32
"07vw0rani9d65px36fzzj7sprv5r48shyjdgzipkihzqaldd98yh"))
"0flsnh3f0l9v3y2hmnxz1h15nw1l12ixmiwcpiy1ywplrlgq4j00"))
(patches (search-patches
"gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
@@ -1140,6 +1141,23 @@ application suites.")
(variable "GUIX_GTK3_PATH")
(files '("lib/gtk-3.0")))))))
(define-public gtk+/fixed
(let* ((base gtk+)
(source (package-source base)))
(package
(inherit base)
(version "3.24.51")
(source
(origin
(inherit source)
(uri (git-reference
(inherit (origin-uri source))
(commit version)))
(file-name (git-file-name (package-name base) version))
(sha256
(base32
"07vw0rani9d65px36fzzj7sprv5r48shyjdgzipkihzqaldd98yh")))))))
(define-public gtk
(package
(name "gtk")
+9 -12
View File
@@ -335,21 +335,18 @@ without requiring the source code to be rewritten.")
(files '("lib/guile/2.2/site-ccache")))))))
(define-public guile-2.2.4
;; guile-2.2.4 has no dependents, but is used in (guix quirks).
;; This has no dependencies, but is used in (guix quirks).
;; Do not remove!
(package
(inherit guile-2.2)
(version "2.2.4")
(source
(origin
(inherit (package-source guile-2.2))
(uri (string-append "mirror://gnu/guile/guile-" version ".tar.xz"))
(sha256
(base32 "07p3g0v2ba2vlfbfidqzlgbhnzdx46wh2rgc5gszq1mjyx5bks6r"))))
;; libxcrypt-without-failure-tokens uses --disable-failure-tokens, which is
;; necessary for the "crypt: glibc EINVAL" test of guile-2.2.4.
(inputs (modify-inputs (package-inputs guile-2.2)
(replace "libxcrypt" libxcrypt-without-failure-tokens)))))
(version "2.2.4")
(source (origin
(inherit (package-source guile-2.2))
(uri (string-append "mirror://gnu/guile/guile-" version
".tar.xz"))
(sha256
(base32
"07p3g0v2ba2vlfbfidqzlgbhnzdx46wh2rgc5gszq1mjyx5bks6r"))))))
(define-public guile-3.0
;; This is the latest Guile stable version.
-131
View File
@@ -1,131 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 jgart <jgart@dismail.de>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages hare-apps)
#:use-module (gnu packages hare-xyz)
#:use-module (gnu packages man)
#:use-module (guix build-system hare)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
(define-public bonsai
(package
(name "bonsai")
(version "1.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~stacyharper/bonsai")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "148rccbh5alpnz36ricv8y26qyrqwm4g7mj936vpwrxwd9dkwmff"))))
(build-system hare-build-system)
(inputs (list hare-ev hare-json))
(supported-systems %hare-supported-systems)
(home-page "https://bonsai.builtwithhare.org")
(synopsis "Finite State Machine structured as a tree that trigger commands")
(description "Bonsai is a Finite State Machine structured as a tree. It
has been designed to trigger commands when successive events and/or a precise
context is accepted. There is 4 kind of transition with specific acceptance
rules:
@itemize
@item event transition: The received event name match the transition
one
@item context transition: The state context match the transition one @item
exec transition: The transition command is run and succeed
@item delay
transition: The state wait for the delay transition duration. No other
accepted event is received while waiting
@end itemize
The state will transition following every accepted transition. If there is no
more available transition, the state goes back to the initial position.")
(license license:agpl3+)))
(define-public hare-lsp
(package
(name "hare-lsp")
(version "0.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~whynothugo/hare-lsp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1h763ynv1zh2ili26bkd9anmv8srva63rwpv2avnmimia1bvsx81"))))
(build-system hare-build-system)
(inputs (list hare-json))
(supported-systems %hare-supported-systems)
(home-page "https://git.sr.ht/~whynothugo/hare-lsp/")
(synopsis "Language server implementation for Hare")
(description "This package provides a language server implementation for
Hare.")
(license license:isc)))
(define-public hare-mcron
(package
(name "hare-mcron")
(version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~stacyharper/mcron")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "18h85fpxa2hs3fr132j85qh8b73dsawcn845ifk8ffgvh2kmw9zl"))))
(build-system hare-build-system)
(native-inputs (list scdoc))
(inputs (list hare-ev))
(supported-systems %hare-supported-systems)
(home-page "https://mcron.builtwithhare.org/")
(synopsis "Sleeping cron job scheduler")
(description "Mcron is a cron implementation that is designed to be used
on suspendable machines, like mobile phones. It will wake the device from
suspension to trigger the tasks.")
(license license:gpl3+)))
(define-public sxmobar
(package
(name "sxmobar")
(version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~stacyharper/sxmobar")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1dlw4sbf3awzxvglmfml5fmi9w6zmqxr2f4xqsrwchi154bixix9"))))
(build-system hare-build-system)
(native-inputs (list scdoc))
(supported-systems %hare-supported-systems)
(home-page "https://sxmobar.builtwithhare.org")
(synopsis "Status bar component manager")
(description "sxmobar is a status bar component manager. It is used to
generate status lines for @command{i3status}, @command{i3bar},
@command{swaybar}, and others.")
(license license:agpl3+)))
-20
View File
@@ -48,26 +48,6 @@
(description "This package provides compression algorithms for Hare.")
(license license:mpl2.0)))
(define-public hare-ev
(package
(name "hare-ev")
(version "0.25.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~sircmpwn/hare-ev")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1ak9anvzg2qfdsvxpcszshimw5cqbm52zfq7kwx7z0yf6qi6zm0f"))))
(build-system hare-build-system)
(supported-systems %hare-supported-systems)
(home-page "https://sr.ht/~sircmpwn/hare-ev")
(synopsis "Event loop for Hare")
(description "This package provides an event loop for Hare programs.")
(license license:mpl2.0)))
(define-public hare-json
(package
(name "hare-json")
+8 -7
View File
@@ -36,7 +36,6 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages compression)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages crypto)
#:use-module (gnu packages disk)
#:use-module (gnu packages flex)
#:use-module (gnu packages gawk)
@@ -345,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
@@ -391,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.
@@ -579,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"
@@ -595,7 +597,6 @@ exec ${system}/rc \"$@\"
(inputs
`(("libgcrypt" ,libgcrypt) ;for /hurd/random
("libdaemon" ,libdaemon) ;for /bin/console --daemonize
("libxcrypt" ,libxcrypt) ;for password hashing
("unifont" ,unifont)
("libpciaccess" ,libpciaccess-static)
+3 -9
View File
@@ -180,7 +180,7 @@ Magnetic Resonance Imaging.")
(define-public cimg
(package
(name "cimg")
(version "3.6.5")
(version "3.5.5")
(source
(origin
(method git-fetch)
@@ -189,7 +189,7 @@ Magnetic Resonance Imaging.")
(commit (string-append "v." version))))
(file-name (git-file-name name version))
(sha256
(base32 "1zdw1mbwl2g0ka1gasq9l706aral0l2mfsc0vmvq2szn90l2i455"))))
(base32 "01myf3bjbc46f977r7lvr9g1hcnpfygcv2xnqvhrl2nj7955sm5x"))))
(build-system copy-build-system)
(arguments
(list
@@ -645,13 +645,7 @@ different data arrays similar to those available in the numdiff software.")
(substitute* "modules/photo/test/test_hdr.cpp"
(("0\\.131") "0.222"))
;; These tests hang forever on aarch64.
(delete-file-recursively "modules/videoio/test/")
;; This test fails on aarch64 due to floating-point precision
;; differences with ARM NEON.
;; Expected: RMSE <= 0.34, actual: 0.407627
(substitute* "../opencv-contrib/modules/optflow/test/test_OF_accuracy.cpp"
(("\\bReferenceAccuracy\\b" all)
(string-append "DISABLED_" all))))
(delete-file-recursively "modules/videoio/test/"))
'())
,@(if (target-riscv64?)
+2 -2
View File
@@ -874,14 +874,14 @@ preloading.")
(define-public chafa
(package
(name "chafa")
(version "1.18.0")
(version "1.16.2")
(source (origin
(method url-fetch)
(uri (string-append "https://hpjansson.org/chafa/releases/chafa-"
version ".tar.xz"))
(sha256
(base32
"1nyakydm8f4kshhdqg35ckfa62nxk54i41npva4jw15q3927ax6d"))))
"1pv1g2gcn4qn27bkwm1g1k87nb1yq0gzw7jclhq53d49kbfrhy35"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
+1 -1
View File
@@ -2,7 +2,7 @@
;;; Copyright © 2021, 2022 Olivier Dion <olivier.dion@polymtl.ca>
;;; Copyright © 2023 Andy Tai <atai@atai.org>
;;; Copyright © 2023 Marius Bakke <marius@gnu.org>
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
-2
View File
@@ -48,8 +48,6 @@
(build-system gnu-build-system)
(arguments
(list
#:tests? (and (not (%current-target-system))
(not (target-arm32?)))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'delete-thp-test
+1 -70
View File
@@ -11,14 +11,9 @@
;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
;;; Copyright © 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2021, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2022 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
;;; Copyright © 2022, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Antero Mejr <antero@mailbox.org>
;;; Copyright © 2023 Greg Hogan <code@greghogan.com>
;;; Copyright © 2024 Danny Milosavljevic <dannym@friendly-machines.com>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2024-2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Ghislain Vaillant <ghislain.vaillant@inria.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -203,70 +198,6 @@ simulation, statistical modeling, machine learning and much more.")
(modify-inputs (package-propagated-inputs parent)
(replace "python-jupyter-client" python-jupyter-client-bootstrap)))))))
(define-public python-jupytext
(package
(name "python-jupytext")
(version "1.18.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mwouts/jupytext")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "01vvi5aab7lahj57ng5v4svjw18xrlgnasz877lqvdf4m6cpi8s9"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 4017 passed, 173 skipped, 2 deselected, 1 warning
#:test-flags
#~(list
;; Requires git.
"--ignore=tests/external"
;; Requires python-black.
"--ignore=tests/functional/contents_manager"
;; Failed: DID NOT RAISE <class 'ValueError'>.
(string-append "--deselect=tests/functional/cli/test_source_is_newer.py"
"::test_check_source_is_newer_when_using_jupytext_to")
;; Failed: DID NOT RAISE <class 'jupytext.cli.SynchronousModificationError'>.
(string-append "--deselect=tests/functional/cli/test_synchronous_changes.py"
"::test_jupytext_to_raises_on_synchronous_edits"))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda _
;; some tests fail when HOME=/homeless-shelter.
(setenv "HOME" "/tmp")
;; OSError: [Errno 18] Invalid cross-device link
(setenv "TMPDIR" "/tmp"))))))
(native-inputs
(list python-hatchling
python-jupyter-client
python-jupyter-server
python-pytest
python-pytest-asyncio))
(propagated-inputs
(list python-markdown-it-py
python-mdit-py-plugins
python-nbformat
python-packaging
python-pyyaml))
(home-page "https://jupytext.readthedocs.io/")
(synopsis
"Jupyter notebooks as Markdown documents, Julia, Python or R scripts")
(description
"Jupytext is a plugin for Jupyter that can save Jupyter notebooks as
either Markdown files or scripts in many languages. Common use cases for
Jupytext are:
@itemize
@item version control on Jupyter Notebooks
@item editing, merging or refactoring notebooks in your favorite text editor
@item applying Q&A checks on notebooks.
@end itemize ")
(license license:expat)))
(define-public python-nbclassic
(package
(name "python-nbclassic")
+147
View File
@@ -219,6 +219,32 @@ used from QtQuick applications for both simple display of data as well as
continuous display of high-volume data.")
(license (list license:lgpl2.1 license:lgpl3))))
(define-public kquickcharts-5
(package
(inherit kquickcharts)
(name "kquickcharts")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/frameworks/"
(version-major+minor version)
"/" name "-" version ".tar.xz"))
(sha256
(base32
"1bd20kpypji6053fwn5a1b41rjf7r1b3wk85swb0xlmm2kji236j"))))
(build-system cmake-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(system "Xvfb :1 -screen 0 640x480x24 &")
(setenv "DISPLAY" ":1")
(setenv "QT_QPA_PLATFORM" "offscreen")
(invoke "ctest")))))))
(inputs (list qtbase-5 qtdeclarative-5 qtquickcontrols2-5
xorg-server-for-tests))))
(define-public kuserfeedback
;; FIXME: Try to reduce data collection and ensure transmission i disabled by default.
;; FIXME: Check https://www.reddit.com/r/kde/comments/f7ojg9 for insights
@@ -1239,6 +1265,26 @@ but also for getting notified upon idle time events, such as custom timeouts,
or user activity.")
(license (list license:gpl2+ license:lgpl2.1+))))
(define-public kidletime-5
(package
(inherit kidletime)
(name "kidletime")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kde/stable/frameworks/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"15s9nxpkqy3i182xk82bpl92iaqcilsckja7301854fw6ppl8vvh"))))
(native-inputs
(list extra-cmake-modules pkg-config))
(inputs
(list libxscrnsaver ; X-Screensaver based poller, fallback mode
qtbase-5 qtx11extras))))
(define-public kirigami
(package
(name "kirigami")
@@ -1355,6 +1401,26 @@ model to observers
@end enumerate")
(license license:lgpl2.1+)))
(define-public kitemmodels-5
(package
(inherit kitemmodels)
(name "kitemmodels")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kde/stable/frameworks/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1wcznkj24553spkl202zwifk6hgrvdd60j3y47jp2m6zpadywz2k"))))
(native-inputs
(list extra-cmake-modules))
(inputs
(list qtdeclarative-5))
(arguments '())))
(define-public kitemviews
(package
(name "kitemviews")
@@ -1504,6 +1570,27 @@ integration with a custom editor as well as a ready-to-use
(properties `((upstream-name . "syntax-highlighting")))
(license license:lgpl2.1+)))
(define-public ksyntaxhighlighting-5
(package
(inherit ksyntaxhighlighting)
(name "ksyntaxhighlighting")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kde/stable/frameworks/"
(version-major+minor version) "/"
"syntax-highlighting-" version ".tar.xz"))
(sha256
(base32
"19zs3n6cn83rjs0bpyrn6f5r75qcflavf8rb1c2wxj8dpp7cm33g"))))
(native-inputs
(list extra-cmake-modules perl qttools-5
;; Optional, for compile-time validation of syntax definition files:
qtxmlpatterns-5))
(inputs
(list qtbase-5))))
(define-public plasma-wayland-protocols
(package
(name "plasma-wayland-protocols")
@@ -2096,6 +2183,25 @@ ASpell and HUNSPELL.")
uses a job-based interface to queue tasks and execute them in an efficient way.")
(license license:lgpl2.1+)))
(define-public threadweaver-5
(package
(inherit threadweaver)
(name "threadweaver")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kde/stable/frameworks/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1q7ax3dhsayz35j0l9pdmarkwfyyy1dsy2crdf5xz8pr5mjxq8wp"))))
(native-inputs
(list extra-cmake-modules))
(inputs
(list qtbase-5))))
;; Tier 2
;;
@@ -2504,6 +2610,47 @@ used by file indexers to retrieve the metadata. This library can also be used
by applications to write metadata.")
(license (list license:lgpl2.0 license:lgpl2.1 license:lgpl3))))
(define-public kfilemetadata-5
(package
(inherit kfilemetadata)
(name "kfilemetadata")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kde/stable/frameworks/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"13yfcy02rmhrhf8lxv7smk1n9rg1ywsh60hwzm94b8hq9a62qp0r"))))
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "ctest" "-E"
"(usermetadatawritertest|taglibextractortest)")))))))
(native-inputs (list extra-cmake-modules pkg-config))
(inputs
(list attr
ebook-tools
karchive-5
kconfig-5
kcoreaddons-5
ki18n-5
qtmultimedia-5
qtbase-5
;; Required run-time packages
catdoc
;; Optional run-time packages
exiv2
ffmpeg
poppler-qt5
taglib))))
(define-public kimageannotator
(package
(name "kimageannotator")
+1 -47
View File
@@ -1,7 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2024, 2025 Sughosha <sughosha@disroot.org>
;;; Copyright © 2025 Junker <dk@junkeria.club>
;;; Copyright © 2025 Ghislain Vaillant <ghislain.vaillant@inria.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -56,8 +55,7 @@
#:use-module (gnu packages version-control)
#:use-module (gnu packages wm)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
#:use-module (gnu packages xml))
(define-public calligra
(package
@@ -285,50 +283,6 @@ processor built in, and can integrate with Pandoc, MultiMarkdown, Discount, and
cmark processors if they are installed.")
(license license:gpl3+)))
(define-public klevernotes
(package
(name "klevernotes")
(version "1.2.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/klevernotes/" version
"/klevernotes-" version ".tar.xz"))
(sha256
(base32 "0jnnbsml29gmpbycx8b012rnzdnjfigp9d6wsaww085mql0rdf73"))))
(build-system qt-build-system)
(arguments
(list
#:qtbase qtbase
#:configure-flags
#~(list "-DBUILD_TESTING:BOOL=ON")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'start-xorg-server
(lambda _
(system "Xvfb :99 -screen 0 1024x768x24 &")
(setenv "DISPLAY" ":99.0"))))))
(native-inputs (list extra-cmake-modules xorg-server))
(inputs (list kconfigwidgets
kcoreaddons
ki18n
kiconthemes
kio
kirigami
kirigami-addons
kitemmodels
qqc2-desktop-style
qtsvg
qtwayland
qtwebengine
sonnet))
(home-page "https://apps.kde.org/klevernotes/")
(synopsis "Note taking and management application")
(description
"KleverNotes is a note taking and management application. It uses Markdown
and allows you to preview your content.")
(license license:gpl3+)))
(define-public tellico
(package
(name "tellico")
+49 -12
View File
@@ -1455,6 +1455,51 @@ you login.")
(home-page "https://invent.kde.org/plasma/kwallet-pam")
(license (list license:lgpl2.1+))))
(define-public kwayland-integration
(package
(name "kwayland-integration")
(version "6.5.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/plasma/"
version "/" name "-"
version ".tar.xz"))
(sha256
(base32
"01jxpl0zbz8pbnrbxw9bnn148mr03rrf86ryl627cqx8k4p9842d"))))
(build-system qt-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
(delete 'check)
(add-after 'install 'check-after-install
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "HOME" (getcwd))
(setenv "XDG_RUNTIME_DIR" (getcwd))
(setenv "QT_QPA_PLATFORM" "offscreen")
(invoke "ctest"))))
(add-before 'check-after-install 'check-setup
(lambda* (#:key outputs #:allow-other-keys)
(setenv "QT_PLUGIN_PATH"
(string-append #$output
"/lib/qt5/plugins:"
(getenv "QT_PLUGIN_PATH"))))))))
(native-inputs (list extra-cmake-modules wayland-protocols pkg-config))
(inputs (list kguiaddons-5
kidletime-5
kwindowsystem-5
kwayland-5
libxkbcommon
wayland
plasma-wayland-protocols
qtbase-5
qtwayland-5))
(synopsis "KWayland runtime integration plugins")
(description "This package provides Wayland integration plugins for various
KDE Frameworks components.")
(home-page "https://invent.kde.org/plasma/kwayland-integration")
(license (list license:lgpl2.1 license:lgpl3))))
(define-public kwin
(package
(name "kwin")
@@ -1475,7 +1520,7 @@ you login.")
#:test-exclude
(string-append "("
(string-join
`(;; Fails on an Apple M1 (aarch64) with the following error:
'(;; Fails on an Apple M1 (aarch64) with the following error:
;; TestColorspaces::roundtripConversion fails
"kwin-testColorspaces"
@@ -1517,9 +1562,7 @@ you login.")
"kwin-testFractionalRepaint"
"kwin-testDrmLegacy"
"kwin-testInputCapture"
"kwin-testMockDrm"
"kwin-testSecurityContext"
"kwin-testXwaylandSelection")
"kwin-testMockDrm")
"|")
")")
#:phases
@@ -2189,17 +2232,11 @@ the KDE Plasma 6 desktop.")
(arguments
(list #:qtbase qtbase
#:test-exclude
;; The tst_calibrationtool test fails on aarch64 due to floating-point
;; precision: QMatrix4x4 comparison fails with tiny differences
;; (1.11759e-08 instead of exact 0).
(string-append "("
(string-join `("positionertest"
(string-join '("positionertest"
"kcm-keyboard-keyboard_memory_\
persister_test"
"foldermodeltest"
,@(if (target-aarch64?)
'("tst_calibrationtool")
'()))
"foldermodeltest")
"|")
")")
#:phases
+7 -7
View File
@@ -116,14 +116,14 @@
(define computed-origin-method (@@ (guix packages) computed-origin-method))
(define firefox-l10n
(let ((commit "fa4b12c075b42be6652237119d74346d377d2ae4"))
(let ((commit "38e9598ea1b99b69a240cc1db1d59f4357fcb95d"))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mozilla-l10n/firefox-l10n.git")
(commit commit)))
(file-name (git-file-name "firefox-l10n" commit))
(sha256 (base32 "1v09j9685cpwqk532yp00lsic0xakjsfafn82kilzl5s0v2a3g8w")))))
(sha256 (base32 "1bv5j16007rmyi5c6b78bk2752v38wh0hbhdm9pkbp07f45q8zlr")))))
(define* (make-librewolf-source #:key version firefox-hash librewolf-hash l10n)
(let* ((ff-src (firefox-source-origin
@@ -220,17 +220,17 @@
;; It's used for cache validation and therefore can lead to strange bugs.
;; ex: date '+%Y%m%d%H%M%S'
;; or: (format-time-string "%Y%m%d%H%M%S")
(define %librewolf-build-id "20251219212454")
(define %librewolf-build-id "20251130211358")
(define-public librewolf
(package
(name "librewolf")
(version "146.0.1-1")
(version "145.0.2-2")
(source
(make-librewolf-source
#:version version
#:firefox-hash "1swih4jljq162vgdl2m2d8xn4s4hj4vjqcfww59kk4kkhh78lrz9"
#:librewolf-hash "13gxagaibv0bmn34rz3hfkfy7rgdksl635znmrq24l8v80y792ii"
#:firefox-hash "13c5hk7v71kzqw8zmqqyc8n0gcakmzpksh28npr52yylnp3b9ifp"
#:librewolf-hash "160mdkdqzff7kcrn7xi5hjsjsz52zf21mq4fcplhdnm1xrwwn4p2"
#:l10n firefox-l10n))
(build-system gnu-build-system)
(arguments
@@ -678,7 +678,7 @@
pkg-config
python
rust-librewolf
rust-cbindgen-0.29
rust-cbindgen-0.28
which
yasm))
(native-search-paths
+67 -92
View File
@@ -529,7 +529,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
(define-public linux-libre-6.17-version "6.17.12")
(define-public linux-libre-6.17-version "6.17.10")
(define-public linux-libre-6.17-gnu-revision "gnu")
(define deblob-scripts-6.17
(linux-libre-deblob-scripts
@@ -539,7 +539,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "14fypjidk49l0799dbi1pacy37ks94k0bs38cck2y4glxfpbfqr6")))
(define-public linux-libre-6.17-pristine-source
(let ((version linux-libre-6.17-version)
(hash (base32 "1mlqirjzyx3zvvm87gf7slj2d5gdpp13vw91dgbfk54iz6b08y22")))
(hash (base32 "1kf8slgkvv9x6i1111l78p93y65rscdxarh05spx1njh797k8zzs")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.17)))
@@ -548,67 +548,67 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-6.12-version "6.12.62")
(define-public linux-libre-6.12-version "6.12.60")
(define-public linux-libre-6.12-gnu-revision "gnu")
(define deblob-scripts-6.12
(linux-libre-deblob-scripts
linux-libre-6.12-version
linux-libre-6.12-gnu-revision
(base32 "168aykyvyyp34549hqhlprl0n052q8wdb2y3vyxqw40wpf2vw3ln")
(base32 "0y6i9ifax1a8bxih3rr9xzy3mj61ssgx9yfsy6fh94mni6wl51gp")
(base32 "1yl447396g454116j8v17wsqg5i0gyb2rrxvaygw6xdkbwrrj28j")))
(define-public linux-libre-6.12-pristine-source
(let ((version linux-libre-6.12-version)
(hash (base32 "04rcnr7bgrqqfj62l31mxx553bjdalr5f46xjbcmvawgmj2wdqhk")))
(hash (base32 "1y6wkk4500pisk9l2dibmidqix1gpci7dy6brs1xc4bl2jr9cc56")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.12)))
(define-public linux-libre-6.6-version "6.6.119")
(define-public linux-libre-6.6-version "6.6.118")
(define-public linux-libre-6.6-gnu-revision "gnu")
(define deblob-scripts-6.6
(linux-libre-deblob-scripts
linux-libre-6.6-version
linux-libre-6.6-gnu-revision
(base32 "0y3lawljby2rl0mb0yjdyaasci4pl935y8xa0dnmbzff23knkxlw")
(base32 "1fph0cf5vwkxcyz2cay4d70sqw1y02dx3shfclhp9y4nmkk169pq")
(base32 "11i7pvm5n31rvp05msbm3ciclr84cz9c94f5r5aa6mmzhslwpbxk")))
(define-public linux-libre-6.6-pristine-source
(let ((version linux-libre-6.6-version)
(hash (base32 "1s75ad95g4y80idadzqmj9kj4rb3dhnvny9lg4lcq15l1fc9p81x")))
(hash (base32 "0zdifhri9flxa99hzrk9bz8yqi8h1v6zpsvldz9cibvlakixrpab")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.6)))
(define-public linux-libre-6.1-version "6.1.159")
(define-public linux-libre-6.1-version "6.1.158")
(define-public linux-libre-6.1-gnu-revision "gnu")
(define deblob-scripts-6.1
(linux-libre-deblob-scripts
linux-libre-6.1-version
linux-libre-6.1-gnu-revision
(base32 "10gcbkd5jxfspa712kvb3qmsjgsapd9cz47pmpfk03bbfzf8ydlv")
(base32 "00yh14z7sr9pkakkkpdyp8fj41d56a306xsf5yb2lzm0sgl6lvza")
(base32 "0f3jgbfd2j7sz7h1hb30s1r9147g1cbb3ia09k9834fvbiz1ihaa")))
(define-public linux-libre-6.1-pristine-source
(let ((version linux-libre-6.1-version)
(hash (base32 "17ib6ila2s8rclqpfxlkk1g72azj2r46k2x1q3n2j24qjfz7w80z")))
(hash (base32 "1nmz4rknw82k9ylyrbm4g2m0hh4lmgkwi1g3gm7hzv04nvyqn1md")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.1)))
(define-public linux-libre-5.15-version "5.15.197")
(define-public linux-libre-5.15-version "5.15.196")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
linux-libre-5.15-version
linux-libre-5.15-gnu-revision
(base32 "0b2gd83ihxlq490gpgq930misc6jrckw4rzl7fvwd0qzczqjvff5")
(base32 "14dajb391lr4y2llvjihilmzwvrq4gjbgvrha7dvh6vv4jmbi28v")
(base32 "0rg65s6kd9gxxa3wl6180pr39rb6zbcicwjik4kygs2ns0247y56")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
(hash (base32 "12k6c09lgs4ahmxbrg8g3q1ngldajmzyz7y2nr1l8yhhwbw8s8gx")))
(hash (base32 "018ffzi91xh46l7r3fgc4mpri3pxzl6wc1n946vny0lbb59pj5c3")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
(define-public linux-libre-5.10-version "5.10.247")
(define-public linux-libre-5.10-version "5.10.246")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
@@ -618,12 +618,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0r1whrfhhhjyvppiidhihcvyzcab6dva6g9a4div8jkxm62s2cq3")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
(hash (base32 "037yv5lryfanpfbk3z60yfsx14nskgf386b6cfkbzn7wl5xvij3h")))
(hash (base32 "0xd8r8qqgxh3zhqkl4a5plmgsycxrffhpc9q2rwhkp6jd717cszb")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.302")
(define-public linux-libre-5.4-version "5.4.301")
(define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
@@ -633,7 +633,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0l7pwhgw9laxfypcpqlz411x3hybcw2269abh3lpcw96bgv5m1k2")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "0ga2q6lf6xvb7pb6kn2prgywsvsavb4kwygsn37xd91ay43k4smf")))
(hash (base32 "0qkra8ci2mx5p8ngdys2ixsl9s30qdqlq027pr5p3rk0s1k8fwdp")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
@@ -8073,7 +8073,7 @@ from the ntfs-3g package. It is meant to be used in initrds.")
(define-public rdma-core
(package
(name "rdma-core")
(version "60.0")
(version "59.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/linux-rdma/rdma-core"
@@ -8081,7 +8081,7 @@ from the ntfs-3g package. It is meant to be used in initrds.")
version ".tar.gz"))
(sha256
(base32
"1pi8jf1pibfhh3ps2kvj2y8y6yahpw7jjyp0mpxmvama9qp8j6wv"))))
"1rbw0nxn7h9984r44pcwvnbdz2ycdn5wsmzrbwxxr31i7fqnkhg2"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no tests
@@ -10012,70 +10012,39 @@ comparing system environments.")
(license license:gpl3+)))
(define-public cassini-headers
(package
(name "cassini-headers")
(version "12.0.1")
(home-page "https://github.com/HewlettPackard/shs-cassini-headers")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "release/shs-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0fvhk42pssw67zba4zq1b73d1m9ysc4g8sfibjmmhc0fwr92iamp"))))
(build-system copy-build-system)
(arguments
(list #:install-plan
#~'(("include" "include")
("share/cassini-headers" "share/cassini-headers"))))
(synopsis "Cassini network hardware definitions and headers")
(description
"This package provides hardware definitions and C headers for use by
(let ((commit "9a8a738a879f007849fbc69be8e3487a4abf0952")
(revision "0"))
(package
(name "cassini-headers")
(version (git-version "2.0.0" ;per .spec file
revision commit))
(home-page "https://github.com/HewlettPackard/shs-cassini-headers")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0a54vwfr29n0i392wdap7rzmq0lb8mxa17d8yljdbm0kzrq48csz"))))
(build-system copy-build-system)
(arguments
(list #:install-plan
#~'(("include" "include")
("share/cassini-headers" "share/cassini-headers"))))
(synopsis "Cassini network hardware definitions and headers")
(description
"This package provides hardware definitions and C headers for use by
the Linux driver and by user-space applications for the Cassini/Slingshot
high-speed network interconnect made by HPE (formerly Cray). User-land
software uses @file{cxi_prov_hw.h} from this package.")
;; As per include/cxi_prov_hw.h it is __aarch64__ or __x86_64__ only.
(supported-systems '("x86_64-linux" "aarch64-linux"))
(license (list license:gpl2 license:bsd-2)))) ;dual-licensed
;; As per include/cxi_prov_hw.h it is __aarch64__ or __x86_64__ only.
(supported-systems '("x86_64-linux" "aarch64-linux"))
(license (list license:gpl2 license:bsd-2))))) ;dual-licensed
(define-public cxi-driver
(package
(name "cxi-driver")
(version "13.0.0")
(home-page "https://github.com/HewlettPackard/shs-cxi-driver")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "release/shs-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1md6ammah7ywk5k9gsxix945w5498hpdfwzr603aiirlz2x4m4wh"))))
;; TODO: Actually build the Linux driver.
(build-system copy-build-system)
(arguments
(list #:install-plan #~'(("include" "include"))))
(propagated-inputs (list cassini-headers))
(synopsis "Linux driver for the Cassini/Slingshot interconnect")
(description
"This is the Linux driver for the Cray/HPE Cassini 1 and 2 high-speed
network interconnect (aka. Slingshot), and its Ethernet driver. It includes
the @file{uapi/misc/cxi.h} C header file for use by user-land software.
Currently the Linux driver itself is missing from this package.")
(license license:gpl2+)))
(define-public cxi-driver-for-libfabric-1
;; This old version defines constants such as 'CXI_MAP_IOVA_ALLOC' that
;; libfabric 1.22.0 relies on.
(let ((commit "5f0ec0ead6ef3f98542a2ef5e76b89d14dd22150")
(revision "0"))
(package
(inherit cxi-driver)
(name "cxi-driver")
(version (git-version "1.0.0" ;per .spec file
revision commit))
@@ -10087,12 +10056,25 @@ Currently the Linux driver itself is missing from this package.")
(file-name (git-file-name name version))
(sha256
(base32
"19cly014ihgdidrc1aki2xsbfhpc0g73v0vxcky8r27xza7rz5bg")))))))
"19cly014ihgdidrc1aki2xsbfhpc0g73v0vxcky8r27xza7rz5bg"))))
;; TODO: Actually build the Linux driver.
(build-system copy-build-system)
(arguments
(list #:install-plan #~'(("include" "include"))))
(propagated-inputs (list cassini-headers))
(synopsis "Linux driver for the Cassini/Slingshot interconnect")
(description
"This is the Linux driver for the Cray/HPE Cassini 1 and 2 high-speed
network interconnect (aka. Slingshot), and its Ethernet driver. It includes
the @file{uapi/misc/cxi.h} C header file for use by user-land software.
Currently the Linux driver itself is missing from this package.")
(license license:gpl2+))))
(define-public libcxi
(package
(name "libcxi")
(version "13.0.0")
(version "12.0.1")
(home-page "https://github.com/HewlettPackard/shs-libcxi")
(source
(origin
@@ -10101,7 +10083,7 @@ Currently the Linux driver itself is missing from this package.")
(commit (string-append "release/shs-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1m8mds1h8plhfn2ja9br31xaiy82ky69685cp1rznanl18inaiff"))))
(base32 "1pk2mdkkgiic7nnmhx3iwvgrnxva3qqk2wyni0yhxjciln0hq7s7"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
@@ -10145,7 +10127,7 @@ known as Slingshot.")
(define-public libfabric
(package
(name "libfabric")
(version "2.3.1")
(version "2.3.0")
(source
(origin
(method url-fetch)
@@ -10153,7 +10135,7 @@ known as Slingshot.")
(string-append "https://github.com/ofiwg/libfabric/releases/download/v"
version "/libfabric-" version ".tar.bz2"))
(sha256
(base32 "0npkfkkhyir31r2p1zsfi7yrvcam60fp8ps4s2csjc2drqbrz4rf"))))
(base32 "02gb12ijj19aad4c3dwckrrnjlsmy9fizkgw8a5zdzpqd3lgq60x"))))
(build-system gnu-build-system)
(inputs
(let ((if-supported ;XXX: modified from openmpi
@@ -10214,10 +10196,7 @@ libraries, which are often integrated directly into libfabric.")
(string-append "https://github.com/ofiwg/libfabric/releases/download/v"
version "/libfabric-" version ".tar.bz2"))
(sha256
(base32 "1znmw83rmippv0fwz0x7lgylfk17dr9ckll8lrm4z7kclspnqpj8"))))
(inputs
(modify-inputs (package-inputs libfabric)
(append cxi-driver-for-libfabric-1)))))
(base32 "1znmw83rmippv0fwz0x7lgylfk17dr9ckll8lrm4z7kclspnqpj8"))))))
(define-public psm
(package
@@ -12199,7 +12178,7 @@ directly by @code{make localmodconfig} as described above.")
(define-public kernel-hardening-checker
(package
(name "kernel-hardening-checker")
(version "0.6.17.1")
(version "0.6.10")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -12208,12 +12187,8 @@ directly by @code{make localmodconfig} as described above.")
(file-name (git-file-name name version))
(sha256
(base32
"04r9bbayhs1ik84908q148k9djawy69zarxw0vc31dfbf64mni62"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;no active tests, runtime only, see GitHub Actions
(native-inputs
(list python-setuptools))
"01p5wcyj4w5c4264abymhvpai7bvfy8ivspgqnrmg33qplwxl443"))))
(build-system python-build-system)
(home-page "https://github.com/a13xp0p0v/kernel-hardening-checker")
(synopsis
"Tool for checking the security hardening options of the Linux kernel")
+33 -31
View File
@@ -34550,38 +34550,40 @@ arrangements.")
(sbcl-package->clasp-package sbcl-xhtmlambda))
(define-public sbcl-xkbcommon
(package
(name "sbcl-xkbcommon")
(version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sdilts/cl-xkbcommon")
(commit version)))
(file-name (git-file-name "cl-xkbcommon" version))
(sha256
(base32 "0qkaamc8sikpn2q6z21s8249sygszj6bhd0slr8f77k9c2ph1mbb"))))
(build-system asdf-build-system/sbcl)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "xkbcommon.lisp"
(("libxkbcommon.so.0")
(search-input-file inputs "/lib/libxkbcommon.so"))))))))
(native-inputs
(list pkg-config))
(inputs
(list libxkbcommon
sbcl-cffi))
(home-page "https://github.com/sdilts/cl-xkbcommon")
(synopsis "Common Lisp FFI bindings for xkbcommon")
(description
"This package provides Common Lisp FFI bindings for xkbcommon
(let ((commit "aa9513d93f42d7816f88dd1bd8bd21375e7d7512")
(revision "0"))
(package
(name "sbcl-xkbcommon")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sdilts/cl-xkbcommon")
(commit commit)))
(file-name (git-file-name "cl-xkbcommon" version))
(sha256
(base32 "02zdbkh7yliw9vg8i8wx2xgcpfni0fr4z0w19kkxvaib8xm9rx1q"))))
(build-system asdf-build-system/sbcl)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "xkbcommon.lisp"
(("libxkbcommon.so.0")
(search-input-file inputs "/lib/libxkbcommon.so"))))))))
(native-inputs
(list pkg-config))
(inputs
(list libxkbcommon
sbcl-cffi))
(home-page "https://github.com/sdilts/cl-xkbcommon")
(synopsis "Common Lisp FFI bindings for xkbcommon")
(description
"This package provides Common Lisp FFI bindings for xkbcommon
(libxkbcommon) using cffi-grovel.")
(license license:expat)))
(license license:expat))))
(define-public cl-xkbcommon
(sbcl-package->cl-source-package sbcl-xkbcommon))
+1 -18
View File
@@ -523,12 +523,6 @@ Definition Facility.")
;; MIT License
(license license:expat)))
(define (make-clisp-tests-locales)
(make-glibc-utf8-locales
glibc
#:locales (list "de_DE" "en_US" "fr_FR" "ru_RU")
#:name "clisp-tests-locales"))
(define-public clisp
(package
(name "clisp")
@@ -545,7 +539,6 @@ Definition Facility.")
(build-system gnu-build-system)
(native-inputs
(list
(make-clisp-tests-locales)
cl-asdf
coreutils)) ;to use "cat" in a test
(inputs
@@ -600,17 +593,7 @@ Definition Facility.")
"/share/common-lisp/source/asdf/asdf.lisp"))
(contrib-asdf "modules/asdf/asdf.lisp"))
(delete-file contrib-asdf)
(copy-file guix-asdf contrib-asdf))))
(add-after 'configure 'patch-parallel-tests
(lambda _
;; Parallel runs of test are causing a lot of non-determinism
;; in clisp. This doesn't fix the non-determinism completely,
;; but it makes the package build more times than before.
;; NOTE: this doesn't seem to take much more time than
;; the parallel tests.
(substitute* "src/Makefile"
((" check-tests-parallel ") " check-tests-all "))
#t)))))
(copy-file guix-asdf contrib-asdf)))))))
(native-search-paths
(list (search-path-specification
(variable "XDG_DATA_DIRS")
+2 -6
View File
@@ -7,7 +7,7 @@
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 20182022 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2021-2026 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2021-2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
@@ -1126,10 +1126,6 @@ Library.")
(srfi srfi-26)
,@modules)
modules))
;; TODO: Figure out why some tests fail on powerpc64le-linux.
((#:tests? current-test-config #t)
(and current-test-config
(not (target-ppc64le?))))
((#:configure-flags cf #~'())
(if (%current-target-system)
;; Use a newer version of llvm-tblgen and add the new
@@ -2193,7 +2189,7 @@ cling '#include <stdio.h>' 'printf(\"Hello World!\\n\");'
"-DLLVM_TARGETS_TO_BUILD=X86;ARM;AArch64;PowerPC;SystemZ;Mips"
;; Python llvm.py adds this (not build-script-impl).
;; This would also enable dump() by undefining NDEBUG.
"-DLLVM_ENABLE_ASSERTIONS=TRUE"
; FIXME: "-DLLVM_ENABLE_ASSERTIONS=TRUE"
"-DLLVM_LIT_ARGS=-sv -j 16"
(string-append "-DGCC_INSTALL_PREFIX="
(assoc-ref %build-inputs "gcc-lib"))
+6 -6
View File
@@ -434,7 +434,7 @@ with different rules and mechanics.")
(define-public luanti-mineclonia
(package
(name "luanti-mineclonia")
(version "0.118.1")
(version "0.117.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -443,18 +443,18 @@ with different rules and mechanics.")
(file-name (git-file-name name version))
(sha256
(base32
"1k9271bcf9llw5zya40dqzx8dx1086ydy2fhjnjv3pf788f6501m"))))
"0iq153dyijbfbvp30fcvbbgvca9c3c6szpw04svwc08ar4h5yvl7"))))
(build-system copy-build-system)
(arguments
`(#:install-plan
'(("." "share/luanti/games/mineclonia"))))
(home-page "https://content.luanti.org/packages/ryvnf/mineclonia/")
(synopsis "Unofficial Minecraft-like game for Luanti")
(synopsis "An unofficial Minecraft-like game for Luanti")
(description
"Mineclonia is a stable and performant clone of Minecraft,
released as free software. It aims to clone Minecraft as well as Luanti
currently permits without resorting to hacks which are too heavyweight or
complicated to maintain.")
released as free software. It aims to clone Minecraft as well as
Luanti currently permits without resorting to hacks which are too
heavyweight or complicated to maintain.")
(license license:gpl3+)))
(define-public luanti-voxelibre
+5 -9
View File
@@ -210,18 +210,14 @@ representations and sentence classification.")
(version "0.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/CamDavidsonPilon/autograd-gamma")
;; The 5.0.0 version is not tagged, but can only be this commit.
(commit "5876e0320865c592ed4a370c6a6ef282cf163480")))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "autograd-gamma" version))
(sha256
(base32 "0hpjnpw7bsy1xja4pnxx5fvv7xly72lp3hdazhr9zbmn6s7vcs19"))))
(base32 "1i699a9m5ndnj8cwzjjf2agb77aawhzrzxfbmn5zrkxridxvnypj"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
python-setuptools))
(list python-setuptools
python-wheel))
(propagated-inputs
(list python-autograd
python-scipy))

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