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

Compare commits

..

1 Commits

Author SHA1 Message Date
Danny Milosavljevic fc37076ed9 Add Graal
Change-Id: I0350197af84ac351031e70a63fd0d483d022bad9
2026-01-01 18:33:49 +01:00
488 changed files with 49154 additions and 262942 deletions
+3 -21
View File
@@ -98,27 +98,9 @@
((indent-tabs-mode . nil)
;; Emacs 28 changed the behavior of 'lisp-fill-paragraph', which causes the
;; first line of package descriptions to extrude past 'fill-column', and
;; somehow that is deemed more correct upstream (see:
;; https://issues.guix.gnu.org/56197).
(eval . (progn
(require 'lisp-mode)
(defun emacs27-lisp-fill-paragraph (&optional justify)
(interactive "P")
(or (fill-comment-paragraph justify)
(let ((paragraph-start
(concat paragraph-start
"\\|\\s-*\\([(;\"]\\|\\s-:\\|`(\\|#'(\\)"))
(paragraph-separate
(concat paragraph-separate "\\|\\s-*\".*[,\\.]$"))
(fill-column (if (and (integerp emacs-lisp-docstring-fill-column)
(derived-mode-p 'emacs-lisp-mode))
emacs-lisp-docstring-fill-column
fill-column)))
(fill-paragraph justify))
;; Never return nil.
t))
(setq-local fill-paragraph-function #'emacs27-lisp-fill-paragraph)))
;; first line of package descriptions to extrude past 'fill-column'. The
;; following variable reverts its behavior to the previous one.
(lisp-fill-paragraphs-as-doc-string nil)
;; This notably allows '(' in Paredit to not insert a space when the
;; preceding symbol is one of these.
+1 -3
View File
@@ -36,8 +36,6 @@
(name "efraim"))
("5DBE 23D3 9053 6526 7F8C C76A FDB9 52BD 3F73 56D6"
(name "ekaitz"))
("50E1 7BE0 D210 C883 D675 3150 4A3D 07EF D05C 4045"
(name "fishinthecalculator"))
(;; primary: "D1BD 1EB7 B655 AECE 0BA7 8F94 4940 7E7E 89CA 9B07"
"0807 AC76 DFE8 4303 6D5F 5879 F51D 4A16 DCEE 6FA7"
(name "futurile"))
@@ -49,7 +47,7 @@
(;; primary: "220F 98D9 5E86 204C 0036 DA7B 6DEC 4360 408B 4185"
"F4C2 D1DF 3FDE EA63 D1D3 0776 ACC6 6D09 CA52 8292"
(name "hako"))
("3D58 BE78 5C1B E400 E214 0755 43F4 B499 3A1F 9D20"
("B943 509D 633E 80DD 27FC 4EED 634A 8DFF D3F6 31DF"
(name "htgoebel"))
( ;; primary: "FECD 9EBA FAAD 1831 7E05 DAC0 E55F 4198 D2A7 0CD7"
"6980 A9B9 5202 AA11 EB1D 8922 8499 AC88 F1A7 1CF2"
+1 -22
View File
@@ -23,7 +23,6 @@ guix/scripts/import/hexpm\.scm @guix/beam
gnu/packages/bioinformatics\.scm @guix/bioinformatics
gnu/packages/bootstrap\.scm @guix/bootstrap
gnu/packages/commencement\.scm @guix/bootstrap
gnu/packages/mes\.scm @guix/bootstrap
@@ -35,7 +34,6 @@ gnu/packages/cpp\.scm @guix/cpp
gnu/packages/ninja\.scm @guix/cpp
gnu/packages/valgrind\.scm @guix/cpp
etc/teams\.scm @guix/core
guix/avahi\.scm @guix/core
guix/base16\.scm @guix/core
guix/base32\.scm @guix/core
@@ -96,7 +94,6 @@ guix/quirks\.scm @guix/core
guix/read-print\.scm @guix/core
guix/records\.scm @guix/core
guix/remote\.scm @guix/core
guix/remote-procedures\.scm @guix/core
guix/repl\.scm @guix/core
guix/search-paths\.scm @guix/core
guix/self\.scm @guix/core
@@ -133,7 +130,6 @@ guix/build/utils\.scm @guix/core-packages
guix/build-system/gnu\.scm @guix/core-packages
gnu/packages/(.*-|)crypto\.scm$ @guix/crypto
gnu/packages/cryptsetup\.scm @guix/crypto
gnu/packages/gnupg\.scm @guix/crypto
gnu/packages/nettle\.scm @guix/crypto
gnu/packages/password-utils\.scm @guix/crypto
@@ -150,7 +146,6 @@ gnu/system/examples/lightweight-desktop\.tmpl @guix/documentation
gnu/system/examples/desktop\.tmpl @guix/documentation
gnu/packages/electronics\.scm @guix/electronics
gnu/packages/hdl\.scm @guix/electronics
gnu/packages/libftdi\.scm @guix/electronics
gnu/packages/engineering\.scm @guix/electronics
gnu/packages/flashing-tools\.scm @guix/electronics
@@ -175,8 +170,6 @@ gnu/packages/game-development\.scm @guix/games
gnu/packages/luanti\.scm @guix/games
gnu/packages/esolangs\.scm @guix/games
gnu/packages/motti\.scm @guix/games
gnu/services/games\.scm @guix/games
gnu/tests/games\.scm @guix/games
guix/build/luanti-build-system\.scm @guix/games
etc/teams/gnome @guix/gnome
@@ -200,12 +193,6 @@ guix/import/go\.scm @guix/go
guix/scripts/import/go\.scm @guix/go
tests/import/go\.scm @guix/go
gnu/packages/guile\.scm @guix/guile
gnu/packages/guile-wm\.scm @guix/guile
gnu/packages/guile-xyz\.scm @guix/guile
guix/build-system/guile\.scm @guix/guile
guix/build/guile-build-system\.scm @guix/guile
gnu/packages/hare\.scm @guix/hare
gnu/packages/hare-apps\.scm @guix/hare
gnu/packages/hare-xyz\.scm @guix/hare
@@ -229,8 +216,6 @@ tests/home-services\.scm @guix/home
gnu/packages/mpi\.scm @guix/hpc
gnu/packages/oneapi\.scm @guix/hpc
gnu/packages/opencl\.scm @guix/hpc
gnu/packages/parallel\.scm @guix/hpc
gnu/packages/rocm\.scm @guix/hpc
gnu/packages/sycl\.scm @guix/hpc
gnu/packages/tbb\.scm @guix/hpc
@@ -244,17 +229,13 @@ gnu/packages/hurd\.scm @guix/hurd
gnu/installer(\.scm$|/) @guix/installer
gnu/packages/clojure\.scm @guix/java
gnu/packages/java(-.+|)\.scm$ @guix/java
gnu/packages/maven(-.+|)\.scm$ @guix/java
guix/build/ant-build-system\.scm @guix/java
guix/build/clojure-build-system\.scm @guix/java
guix/build/clojure-utils\.scm @guix/java
guix/build/java-utils\.scm @guix/java
guix/build/maven-build-system\.scm @guix/java
guix/build/maven/ @guix/java
guix/build-system/ant\.scm @guix/java
guix/build-system/clojure\.scm @guix/java
guix/build-system/maven\.scm @guix/java
gnu/packages/node-xyz\.scm @guix/javascript
@@ -289,8 +270,6 @@ gnu/packages/ibus\.scm @guix/localization
gnu/packages/lxqt\.scm @guix/lxqt
gnu/packages/mate\.scm @guix/mate
gnu/build/icecat-extension\.scm @guix/mozilla
gnu/packages/browser-extensions\.scm @guix/mozilla
@@ -343,7 +322,7 @@ etc/manifests/release-desktop\.scm @guix/release
gnu/packages/diffoscope\.scm @guix/reproduciblebuilds
gnu/packages/(ruby)(-.+|)\.scm$ @guix/ruby
gnu/packages/ruby\.scm @guix/ruby
guix/build/ruby-build-system\.scm @guix/ruby
guix/build-system/ruby\.scm @guix/ruby
guix/import/gem\.scm @guix/ruby
+3 -14
View File
@@ -116,7 +116,6 @@ MODULES = \
guix/narinfo.scm \
guix/derivations.scm \
guix/grafts.scm \
guix/remote-procedures.scm \
guix/repl.scm \
guix/rpm.scm \
guix/transformations.scm \
@@ -297,7 +296,6 @@ MODULES = \
guix/build/toml.scm \
guix/search-paths.scm \
guix/packages.scm \
guix/import/apache.scm \
guix/import/cabal.scm \
guix/import/composer.scm \
guix/import/cpan.scm \
@@ -378,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 \
@@ -455,9 +452,6 @@ AUX_FILES = \
gnu/packages/aux-files/findclass.php \
gnu/packages/aux-files/guix.vim \
gnu/packages/aux-files/guix-nvim.vim \
gnu/packages/aux-files/linux-libre/6.18-arm64.conf \
gnu/packages/aux-files/linux-libre/6.18-i686.conf \
gnu/packages/aux-files/linux-libre/6.18-x86_64.conf \
gnu/packages/aux-files/linux-libre/6.17-arm64.conf \
gnu/packages/aux-files/linux-libre/6.17-i686.conf \
gnu/packages/aux-files/linux-libre/6.17-riscv.conf \
@@ -511,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)
@@ -584,7 +577,6 @@ SCM_TESTS = \
tests/import/hexpm.scm \
tests/import/luanti.scm \
tests/import/npm-binary.scm \
tests/import/nuget.scm \
tests/import/opam.scm \
tests/import/print.scm \
tests/import/pypi.scm \
@@ -755,7 +747,7 @@ dist_fishcompletion_DATA = etc/completion/fish/guix.fish
nodist_selinux_policy_DATA = etc/guix-daemon.cil
# AppArmor profiles.
dist_apparmor_profile_DATA = \
nodist_apparmor_profile_DATA = \
etc/apparmor.d/guix \
etc/apparmor.d/guix-daemon
@@ -779,12 +771,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 \
@@ -1196,7 +1185,7 @@ release: all
$(MKDIR_P) "$(releasedir)"
@echo "Building guix inferior for current commit."
COMMIT="$$(git rev-parse HEAD)" && \
GUIX="$$(guix time-machine -q --commit=$$COMMIT)/bin/guix" && \
GUIX="$$(guix time-machine --commit=$$COMMIT)/bin/guix" && \
echo "Building artifacts for current commit: $$COMMIT." && \
ARTIFACTS="$$($$GUIX build --no-grafts \
-f ./etc/teams/release/artifacts.scm)" && \
+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>)
+2 -2
View File
@@ -3,7 +3,7 @@ exec guile --no-auto-compile -e main -s "$0" "$@"
!#
;;;; test-driver.scm - Guile test driver for Automake testsuite harness
(define script-version "2026-01-23.07") ;UTC
(define script-version "2023-12-08.14") ;UTC
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2021 Maxim Cournoyer <maxim@guixotic.coop>
@@ -151,7 +151,7 @@ cases based on their names."
(and show-duration? time-elapsed-seconds)))
(unless (and errors-only? (not (test-failed? runner)))
(format #t "test-name: ~A~%" (test-runner-test-name runner))
(format #t "test-name: ~A~%" (result 'test-name))
(format #t "location: ~A~%"
(string-append (result 'source-file) ":"
(number->string (result 'source-line))))
+2 -9
View File
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
#
# GNU Guix --- Functional package management for GNU
# Copyright © 2012-2021, 2022-2023, 2025 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2012-2021, 2022-2023 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013, 2016 Mark H Weaver <mhw@netris.org>
# Copyright © 2014-2016 Alex Kost <alezost@gmail.com>
# Copyright © 2014-2016 David Thompson <davet@gnu.org>
@@ -130,8 +130,7 @@ if test "x$GUILD" = "x"; then
fi
dnl (guix ui), notably, requires 'default-optimization-level' added in 3.0.3.
dnl (guix serialization) requires 'bytevector-slice' added in 3.0.9.
PKG_CHECK_MODULES([GUILE], [guile-3.0 >= 3.0.9])
PKG_CHECK_MODULES([GUILE], [guile-3.0 >= 3.0.3])
dnl Get CFLAGS and LDFLAGS for libguile.
GUILE_FLAGS
@@ -199,12 +198,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],
+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'...~%"
+282 -67
View File
@@ -66,7 +66,7 @@ GNU Guix depends on the following packages:
@itemize
@item @url{https://gnu.org/software/guile/, GNU Guile}, version 3.0.x,
version 3.0.9 or later;
version 3.0.3 or later;
@item @url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, version
0.1.0 or later;
@item
@@ -142,7 +142,6 @@ Guix Consensus Document 003}.}:
@example
git clone https://git.guix.gnu.org/guix.git
cd guix
@end example
@cindex authentication, of a Guix checkout
@@ -182,7 +181,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
@@ -190,10 +188,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}).
@@ -207,11 +201,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
@@ -1948,60 +1942,35 @@ keyword parameters for procedures that take more than four parameters.
@node Submitting Patches
@section Submitting Patches
@cindex pull requests
@cindex patch submission
Development is done using the Git distributed version control system.
Thus, access to the repository is not strictly necessary. We welcome
contributions as @dfn{pull requests} (PR) at
@url{https://codeberg.org/guix/guix/pulls/}@footnote{Before January 1st,
2026, changes would be submitted by email to
@email{guix-patches@@gnu.org} and could be
@uref{https://issues.guix.gnu.org, browsed online}. In accordance with
@uref{https://codeberg.org/guix/guix-consensus-documents/src/branch/main/002-codeberg.md,
Guix Consensus Document 002}, this method is no longer supported.}.
There are two ways to create a pull request:
contributions in one of the following forms:
@itemize
@item
By creating a personal ``fork'' of @uref{https://codeberg.org/guix/guix,
the repository}, creating a branch with your changes, and
@uref{https://docs.codeberg.org/collaborating/pull-requests-and-git-flow/,
submitting a pull request for that branch}.
@cindex pull request, for contributions
As a @dfn{pull request} (PR) at
@url{https://codeberg.org/guix/guix/pulls/}. This is now the preferred
form.
@item
@cindex AGit workflow, for pull requests
By following the @uref{https://forgejo.org/docs/next/user/agit-support/,
@dfn{AGit workflow}}, which is somewhat more convenient and consumes
less disk space at Codeberg since it removes the need to create a
``fork''.
Until December 31st, 2025@footnote{This date is the result of a decision
made collectively in
@uref{https://codeberg.org/guix/guix-consensus-documents/src/branch/main/002-codeberg.md,
Guix Consensus Document 002} in May 2025.}, you may also send patches as
produced by @code{git format-patch} to the @email{guix-patches@@gnu.org}
mailing list (@pxref{Submitting patches to a project,,, git, Git User
Manual}).
Assuming your local checkout is on the branch containing the changes you
would like to submit for inclusion in the @code{master} branch, run:
@example
git push origin HEAD:refs/for/master \
-o topic=@var{topic} \
-o title=@var{title} -o description=@var{description}
@end example
@var{topic} must be an identifier without whitespace, similar to a
branch name; @var{title} and @var{description} are arbitrary text that
can be omitted, in which case the message of the last commit on the
branch fills that role.
To send an update to an AGit pull request of yours, run:
@example
git push origin HEAD:refs/for/master \
-o topic=@var{topic} -o force-push=yes
@end example
Codeberg automatically figures out which pull request @var{topic}
corresponds to and updates the associated branch.
This mailing list is backed by a Debbugs instance, which allows us to
keep track of submissions (@pxref{Tracking Bugs and Changes}).
Each message sent to that mailing list gets a new tracking number
assigned; people can then follow up on the submission by sending email
to @code{@var{ISSUE_NUMBER}@@debbugs.gnu.org}, where @var{ISSUE_NUMBER}
is the tracking number (@pxref{Sending a Patch Series}).
@end itemize
Contributors are encouraged to take a moment to set some Git
Either way, contributors are encouraged to take a moment to set some Git
repository options (@pxref{Configuring Git}) first, which can improve
the readability of patches. Seasoned Guix developers may also want to
look at the section on commit access (@pxref{Commit Access}).
@@ -2168,13 +2137,36 @@ guix pull --url=/path/to/your/checkout --profile=/tmp/guix.master --disable-auth
@end enumerate
When posting a patch to the mailing list, use @samp{[PATCH] @dots{}} as
a subject, if your patch is to be applied on a branch other than
@code{master}, say @code{core-updates}, specify it in the subject like
@samp{[PATCH core-updates] @dots{}}.
You may use your email client, the @command{git send-email} command
(@pxref{Sending a Patch Series}) or the @command{mumi send-email}
command (@pxref{Debbugs User Interfaces}). We prefer to get patches in
plain text messages, either inline or as MIME attachments. You are
advised to pay attention if your email client changes anything like line
breaks or indentation which could potentially break the patches.
Expect some delay when you submit your very first patch to
@email{guix-patches@@gnu.org}. You have to wait until you get an
acknowledgement with the assigned tracking number. Future acknowledgements
should not be delayed.
When a bug is resolved, please close the thread by sending an email to
@email{@var{ISSUE_NUMBER}-done@@debbugs.gnu.org}.
@menu
* Configuring Git::
* Sending a Patch Series::
@end menu
@node Configuring Git
@subsection Configuring Git
@cindex git configuration
@cindex @code{git format-patch}
@cindex @code{git send-email}
If you have not done so already, you may wish to set a name and email
that will be associated with your commits (@pxref{telling git your name,
@@ -2194,6 +2186,166 @@ changes was already submitted for review. If you have a
@file{commit-msg} hook of your own you would like to use with Guix, you
can place it under the @file{.git/hooks/commit-msg.d/} directory.
@node Sending a Patch Series
@subsection Sending a Patch Series
@cindex patch series
@cindex @code{git send-email}
@cindex @code{git format-patch}
@quotation Warning
This section is about contributing code by sending patches by email.
This option is supported until December 31st, 2025, but we recommend
getting familiar with the @dfn{pull request} workflow, which will become
the norm after that date. @xref{Submitting Patches}, for more info.
@end quotation
@unnumberedsubsubsec Single Patches
@anchor{Single Patches}
The @command{git send-email} command is the best way to send both single
patches and patch series (@pxref{Multiple Patches}) to the Guix mailing
list. Sending patches as email attachments may make them difficult to
review in some mail clients, and @command{git diff} does not store commit
metadata.
@quotation Note
The @command{git send-email} command is provided by the @code{send-email}
output of the @code{git} package, i.e. @code{git:send-email}.
@end quotation
The following command will create a patch email from the latest commit,
open it in your @var{EDITOR} or @var{VISUAL} for editing, and send it to
the Guix mailing list to be reviewed and merged. Assuming you have
already configured Git according to @xref{Configuring Git}, you can
simply use:
@example
$ git send-email --annotate -1
@end example
@quotation Tip
To add a prefix to the subject of your patch, you may use the
@option{--subject-prefix} option. The Guix project uses this to
specify that the patch is intended for a branch or repository
other than the @code{master} branch of
@url{https://codeberg.org/guix/guix.git}.
@example
git send-email --annotate --subject-prefix='PATCH core-updates' -1
@end example
@end quotation
The patch email contains a three-dash separator line after the commit
message. You may ``annotate'' the patch with explanatory text by adding
it under this line. If you do not wish to annotate the email, you may
drop the @option{--annotate} option.
If you need to send a revised patch, don't resend it like this or send
a ``fix'' patch to be applied on top of the last one; instead, use
@command{git commit --amend} or @url{https://git-rebase.io,
@command{git rebase}} to modify the commit, and use the
@email{@var{ISSUE_NUMBER}@@debbugs.gnu.org} address and the @option{-v}
flag with @command{git send-email}.
@example
$ git commit --amend
$ git send-email --annotate -v@var{REVISION} \
--to=@var{ISSUE_NUMBER}@@debbugs.gnu.org -1
@end example
@quotation Note
Due to an apparent bug in @command{git send-email},
@option{-v @var{REVISION}} (with the space) will not work; you
@emph{must} use @option{-v@var{REVISION}}.
@end quotation
You can find out @var{ISSUE_NUMBER} either by searching on the mumi
interface at @url{https://issues.guix.gnu.org} for the name of your patch or
reading the acknowledgement email sent automatically by Debbugs in
reply to incoming bugs and patches, which contains the bug number.
@unnumberedsubsubsec Notifying Teams
@anchor{Notifying Teams}
@cindex teams
If your git checkout has been correctly configured (@pxref{Configuring
Git}), the @command{git send-email} command will automatically notify
the appropriate team members, based on the scope of your changes. This
relies on the @file{etc/teams.scm} script, which can also be invoked
manually if you do not use the preferred @command{git send-email}
command to submit patches. To list the available actions of the script,
you can invoke it via the @command{etc/teams.scm help} command. For
more information regarding teams, @pxref{Teams}.
@quotation Note
On foreign distros, you might have to use @command{./pre-inst-env git
send-email} for @file{etc/teams.scm} to work.
@end quotation
@unnumberedsubsubsec Multiple Patches
@anchor{Multiple Patches}
@cindex cover letter
While @command{git send-email} alone will suffice for a single
patch, an unfortunate flaw in Debbugs means you need to be more
careful when sending multiple patches: if you send them all to the
@email{guix-patches@@gnu.org} address, a new issue will be created
for each patch!
When sending a series of patches, it's best to send a Git ``cover
letter'' first, to give reviewers an overview of the patch series.
We can create a directory called @file{outgoing} containing both
our patch series and a cover letter called @file{0000-cover-letter.patch}
with @command{git format-patch}.
@example
$ git format-patch -@var{NUMBER_COMMITS} -o outgoing \
--cover-letter
@end example
@quotation Note
@code{git format-patch} accepts a wide range of
@uref{https://git-scm.com/docs/gitrevisions, revision range} specifiers.
For example, if you are working in a branch, you could select all commits
in your branch starting at @code{master}.
@example
$ git format-patch master..@var{MY_BRANCH} -o outgoing \
--cover-letter
@end example
@end quotation
We can now send @emph{just} the cover letter to the
@email{guix-patches@@gnu.org} address, which will create an issue
that we can send the rest of the patches to.
@example
$ git send-email outgoing/0000-cover-letter.patch --annotate
$ rm outgoing/0000-cover-letter.patch # we don't want to resend it!
@end example
Ensure you edit the email to add an appropriate subject line and
blurb before sending it. Note the automatically generated shortlog
and diffstat below the blurb.
Once the Debbugs mailer has replied to your cover letter email, you
can send the actual patches to the newly-created issue address.
@example
$ git send-email outgoing/*.patch --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org
$ rm -rf outgoing # we don't need these anymore
@end example
Thankfully, this @command{git format-patch} dance is not necessary
to send an amended patch series, since an issue already exists for
the patchset.
@example
$ git send-email -@var{NUMBER_COMMITS} -v@var{REVISION} \
--to=@var{ISSUE_NUMBER}@@debbugs.gnu.org
@end example
If need be, you may use @option{--cover-letter --annotate} to send
another cover letter, e.g. for explaining what's changed since the last
revision, and why these changes are necessary.
@node Tracking Bugs and Changes
@section Tracking Bugs and Changes
@@ -2204,26 +2356,31 @@ patch submissions and topic branches.
* The Issue Tracker:: The official bug and patch tracker.
* Managing Patches and Branches:: How changes to Guix are managed.
* Debbugs User Interfaces:: Ways to interact with Debbugs.
* Debbugs Usertags:: Tag reports with custom labels.
* Cuirass Build Notifications:: Be alerted of any breakage via RSS feeds.
@end menu
@node The Issue Tracker
@subsection The Issue Tracker
@cindex email workflow, deprecated
@cindex issue tracker, for the email workflow
@cindex bug reports, tracking
@cindex patch submissions, tracking
@cindex issue tracking
@cindex Debbugs, issue tracking system
Bug reports (@dfn{issues}) and patch submissions (@dfn{pull requests})
are currently tracked at the @uref{https://codeberg.org/guix/guix,
project's home at Codeberg}.
Before January 1st, 2026, bug reports and patches were tracked using the
Debbugs instance at @uref{https://bugs.gnu.org}, which can also be
browsed at @uref{https://issues.guix.gnu.org}. This has been
discontinued and Codeberg is now the sole option to report new bugs and
propose new changes@footnote{Check out
Before May 25th, 2025, bug reports and patches were exclusively tracked
using the Debbugs instance at @uref{https://bugs.gnu.org}; it may still
be used for these purposes until December 31st, 2025, after which
Codeberg will become the sole option to report new bugs and propose new
changes@footnote{Check out
@uref{https://codeberg.org/guix/guix-consensus-documents/src/branch/main/002-codeberg.md,
Guix Consensus Document 002} for details on this decision.}.
Guix Consensus Document 002} for details on this decision.}. With
Debbugs, bug reports are sent by email to @email{bug-guix@@gnu.org} and
patches are sent to @email{guix-patches@@gnu.org} (@pxref{Submitting
Patches}).
@node Managing Patches and Branches
@subsection Managing Patches and Branches
@@ -2335,10 +2492,11 @@ only then should the merge requests be created, as documented earlier.
@quotation Warning
This section is about bug reports and patches sent by email to
@uref{https://issues.guix.gnu.org, Debbugs}, which is discontinued.
Since January 1st, 2026, bug reports and patches are submitted as issues
and pull requests on @uref{https://codeberg.org/guix/guix, Codeberg}.
@xref{Submitting Patches}, for more info.
@uref{https://issues.guix.gnu.org, Debbugs}. This option is supported
until December 31st, 2025, after which
@uref{https://codeberg.org/guix/guix, Codeberg} will be the only
interface for submitting bug reports and changes. @xref{Submitting
Patches}, for more info.
@end quotation
@subsubsection Web interface
@@ -2527,6 +2685,63 @@ used.
@xref{Top,,, debbugs-ug, Debbugs User Guide}, for more information on
this nifty tool!
@node Debbugs Usertags
@subsection Debbugs Usertags
@cindex usertags, for debbugs
@cindex Debbugs usertags
Debbugs provides a feature called @dfn{usertags} that allows any user to
tag any bug with an arbitrary label. Bugs can be searched by usertag,
so this is a handy way to organize bugs@footnote{The list of usertags is
public information, and anyone can modify any user's list of usertags,
so keep that in mind if you choose to use this feature.}. If you use
Emacs Debbugs, the entry-point to consult existing usertags is the
@samp{C-u M-x debbugs-gnu-usertags} procedure. To set a usertag, press
@samp{C} while consulting a bug within the *Guix-Patches* buffer opened
with @samp{C-u M-x debbugs-gnu-bugs} buffer, then select @code{usertag}
and follow the instructions.
For example, to view all the bug reports (or patches, in the case of
@code{guix-patches}) tagged with the usertag @code{powerpc64le-linux}
for the user @code{guix}, open a URL like the following in a web
browser:
@url{https://debbugs.gnu.org/cgi-bin/pkgreport.cgi?tag=powerpc64le-linux;users=guix}.
For more information on how to use usertags, please refer to the
documentation for Debbugs or the documentation for whatever tool you use
to interact with Debbugs.
In Guix, we are experimenting with usertags to keep track of
architecture-specific issues, as well as reviewed ones. To facilitate
collaboration, all our usertags are associated with the single user
@code{guix}. The following usertags currently exist for that user:
@table @code
@item powerpc64le-linux
The purpose of this usertag is to make it easy to find the issues that
matter most for the @code{powerpc64le-linux} system type. Please assign
this usertag to bugs or patches that affect @code{powerpc64le-linux} but
not other system types. In addition, you may use it to identify issues
that for some reason are particularly important for the
@code{powerpc64le-linux} system type, even if the issue affects other
system types, too.
@item reproducibility
For issues related to reproducibility. For example, it would be
appropriate to assign this usertag to a bug report for a package that
fails to build reproducibly.
@item reviewed-looks-good
You have reviewed the series and it looks good to you (LGTM).
@end table
If you're a committer and you want to add a usertag, just start using it
with the @code{guix} user. If the usertag proves useful to you,
consider updating this section of the manual so that others will know
what your usertag means.
@node Cuirass Build Notifications
@subsection Cuirass Build Notifications
@@ -3028,7 +3243,7 @@ to that commit message.
If you are not a committer, you can help others find a @emph{series} you
have reviewed more easily by adding a @code{reviewed-looks-good} usertag
for the @code{guix} user.
for the @code{guix} user (@pxref{Debbugs Usertags}).
@node Updating the Guix Package
@section Updating the Guix Package
+20 -47
View File
@@ -22,7 +22,7 @@ Copyright @copyright{} 2020 André Batista@*
Copyright @copyright{} 2020 Christine Lemmer-Webber@*
Copyright @copyright{} 2021 Joshua Branson@*
Copyright @copyright{} 2022, 2023 Maxim Cournoyer@*
Copyright @copyright{} 2023--2026 Ludovic Courtès@*
Copyright @copyright{} 2023-2025 Ludovic Courtès@*
Copyright @copyright{} 2023 Thomas Ieong@*
Copyright @copyright{} 2024 Florian Pelz@*
Copyright @copyright{} 2025 45mg@*
@@ -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
@@ -5958,15 +5958,6 @@ installation instructions (@pxref{Binary Installation,,, guix, GNU Guix
Reference Manual}). Thanks to the installation script, this should be
quick. Once installation is complete, we need to make some adjustments.
@quotation Note
Starting from Guix version 1.5.0, @command{guix-daemon} runs without
root privileges by default; previously installed systems can also be
migrated to this ``rootless'' mode (@pxref{Build Environment Setup,,,
guix, GNU Guix Reference Manual}). Learn more about this change in a
@uref{https://hpc.guix.info/blog/2025/03/build-daemon-drops-its-privileges/,
2025 blog post}.
@end quotation
Since we want @code{guix-daemon} to be reachable not just from the head
node but also from the compute nodes, we need to arrange so that it
listens for connections over TCP/IP. To do that, we'll edit the systemd
@@ -5981,12 +5972,13 @@ something like this:
@ifnothtml
@example
ExecStart=/var/guix/profiles/per-user/root/current-guix/bin/guix-daemon \
--build-users-group=guixbuild \
--listen=/var/guix/daemon-socket/socket --listen=0.0.0.0
@end example
@end ifnothtml
@ifhtml
@example
ExecStart=/var/guix/profiles/per-user/root/current-guix/bin/guix-daemon --listen=/var/guix/daemon-socket/socket --listen=0.0.0.0
ExecStart=/var/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild --listen=/var/guix/daemon-socket/socket --listen=0.0.0.0
@end example
@end ifhtml
@@ -6022,51 +6014,32 @@ The @file{/gnu/store} directory can be exported read-only since only
package}; thus, to allow users to install packages with @code{guix
package}, this must be read-write.
@quotation Note
Although it is rarely used, Guix allows for the creation of profiles in
non-default locations. For instance, @code{guix package -p
~/dev/python-dev -i python} installs Python in a profile reachable from
the @code{~/dev/python-dev} symlink instead of the default
@file{~/.guix-profile}.
To make sure that
Users can create as many profiles as they like in addition to the
default profile, @file{~/.guix-profile}. For instance, @code{guix
package -p ~/dev/python-dev -i python} installs Python in a profile
reachable from the @code{~/dev/python-dev} symlink. To make sure that
this profile is protected from garbage collection---i.e., that Python
will not be removed from @file{/gnu/store} while this profile exists---,
@emph{home directories should be mounted on the head node} as well so
that @code{guix-daemon} knows about these non-standard profiles and
avoids collecting software they refer to.
@c The following paragraph refers to Guix commit
@c d12c4452a49b355369636de1dfc766b5bad6437b, which changed
@c 'time-machine' and 'shell' to store GC roots under /var/guix.
Doing so is optional though: profiles created by default by
@command{guix package}, @command{guix pull}, and @command{guix shell}
are all stored under @file{/var/guix} and thus protected from garbage
collection.
@end quotation
It may be a good idea to periodically remove unused bits from
@file{/gnu/store} by running @command{guix gc} (@pxref{Invoking guix
gc,,, guix, GNU Guix Reference Manual}). This can be done by adding a
systemd timer based on the one shipped with Guix:
crontab entry on the head node:
@example
cp \
/var/guix/profiles/per-user/root/current-guix/lib/systemd/system/guix-gc.* \
/etc/systemd/system
root@@master# crontab -e
@end example
Make sure to edit @file{guix-gc.service} and @file{guix-gc.timer} under
@file{/etc/systemd/system} to adjust the parameters to your need: timer
frequency, amount of free space, and whether to delete user's old
generations. We recommend executing @command{guix gc -F50G} every
night, which will ensure that at least 50@tie{}GiB are available,
without deleting user generations. Once you're satisfied, you can start
the timer:
@noindent
... with something like this:
@example
systemctl daemon-reload
systemctl start guix-gc.timer
# Every day at 5AM, run the garbage collector to make sure
# at least 10 GB are free on /gnu/store.
0 5 * * 1 /usr/local/bin/guix gc -F10G
@end example
We're done with the head node! Let's look at compute nodes now.
+99 -428
View File
@@ -22,7 +22,7 @@
@set SUBSTITUTE-URLS https://@value{SUBSTITUTE-SERVER-1} https://@value{SUBSTITUTE-SERVER-2}
@copying
Copyright @copyright{} 2012--2026 Ludovic Courtès@*
Copyright @copyright{} 2012--2025 Ludovic Courtès@*
Copyright @copyright{} 2013, 2014, 2016, 2024 Andreas Enge@*
Copyright @copyright{} 2013 Nikita Karetnikov@*
Copyright @copyright{} 2014, 2015, 2016 Alex Kost@*
@@ -56,7 +56,7 @@ Copyright @copyright{} 2017 Andy Wingo@*
Copyright @copyright{} 2017, 2018, 2019, 2020, 2023, 2024, 2025 Arun Isaac@*
Copyright @copyright{} 2017 nee@*
Copyright @copyright{} 2018 Rutger Helling@*
Copyright @copyright{} 2018, 2021, 2023, 2025, 2026 Oleg Pykhalov@*
Copyright @copyright{} 2018, 2021, 2023, 2025 Oleg Pykhalov@*
Copyright @copyright{} 2018 Mike Gerwitz@*
Copyright @copyright{} 2018 Pierre-Antoine Rouby@*
Copyright @copyright{} 2018, 2019 Gábor Boskovits@*
@@ -770,43 +770,57 @@ 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 openSUSE, Alpine and NixOS provide
Guix through their own package managers. The version of Guix may be
older than @value{VERSION} but you can update it afterwards by running
@samp{guix pull}.
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}.
If you are running Parabola, after enabling the pcr (Parabola
Community Repo) repository, you can install Guix with:
@example
cd /tmp
wget https://guix.gnu.org/guix-install.sh
chmod +x guix-install.sh
./guix-install.sh
sudo pacman -S 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!
For other package managers with a @var{guix} package, you should be able
to install it like any other package.
The script goes through the following steps:
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.
@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
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 +837,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 +879,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
@@ -2149,9 +2157,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,
@@ -7901,7 +7908,6 @@ package looks like this:
@lisp
(define-module (gnu packages hello)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
@@ -8731,7 +8737,6 @@ The example below denotes a version of gnu-standards to fetch:
@section Defining Package Variants
@cindex customizing packages
@cindex package variants
@cindex variants, of packages
One of the nice things with Guix is that, given a package definition,
you can easily @emph{derive} variants of that package---for a different
@@ -13576,8 +13581,7 @@ the parsed command-line options.
@node Package Transformation Options
@subsection Package Transformation Options
@cindex package tranformation
@cindex package variants, transformation
@cindex package variants
Another set of command-line options supported by @command{guix build}
and also @command{guix package} are @dfn{package transformation
options}. These are options that make it possible to define @dfn{package
@@ -13658,37 +13662,6 @@ coarse-grain counterpart of @dfn{function multi-versioning} as
implemented by the GNU tool chain (@pxref{Function Multiversioning,,,
gcc, Using the GNU Compiler Collection (GCC)}).
@cindex GPUs, AMD compilation targets
@cindex AMD GPUs
@cindex ROCm/HIP GPU targets
@vindex amd-gpu-targets
@anchor{amd-gpu-transformation-option}
@item --amd-gpu=@var{targets}
Build relevant packages for the AMD GPUs specified by @var{targets}.
Only packages with an @code{amd-gpu-targets} property are affected.
@var{targets} must be a comma-separated list of
@uref{https://llvm.org/docs/AMDGPUUsage.html#amdgpu-processor-table, AMD
GPU target identifiers}. For example, the command below builds the GPU
code of @code{rocm-bandwidth-test} for AMD Instinct MI250
(@code{gfx90a}) and for AMD Instinct MI300 (@code{gfx942}):
@example
guix build --amd-gpu=gfx90a,gfx942 rocm-bandwidth-test
@end example
To know the identifier(s) of the GPU(s) available on your machine, run:
@example
guix shell rocminfo -- rocm_agent_enumerator
@end example
Under the hood, these GPU identifiers are
passed to Clang's @option{--offload-arch} option.
When @option{--amd-gpu} is omitted, packages are built for a default set
of GPUs, that we hope covers common needs. Building for more GPUs
increases build time significantly and leads to bigger package binaries.
@item --with-source=@var{source}
@itemx --with-source=@var{package}=@var{source}
@itemx --with-source=@var{package}@@@var{version}=@var{source}
@@ -14734,50 +14707,6 @@ and generate package expressions for all those packages that are not yet
in Guix.
@end table
@item nuget
@cindex nuget
@cindex .NET
Import metadata from @uref{https://www.nuget.org/, NuGet}, the package
manager for .NET. Information is taken from the JSON-formatted metadata
provided through NuGet's v3 API at @code{api.nuget.org} and includes
most relevant information, including package dependencies.
There are some caveats, however. The metadata does not always include
repository information, in which case the importer attempts to extract
it from the symbol package (@file{.snupkg}) if available.
Additionally, dependencies are grouped by target framework in NuGet,
but the importer flattens all dependency groups into a single list.
The command below imports metadata for the @code{Avalonia} .NET package:
@example
guix import nuget Avalonia
@end example
You can also recursively import all dependencies:
@example
guix import nuget -r Avalonia
@end example
@table @code
@item --archive=@var{repo}
@itemx -a @var{repo}
Specify the archive repository. Currently only @code{nuget} is supported,
which uses the official NuGet package repository at @code{nuget.org}.
@item --recursive
@itemx -r
Traverse the dependency graph of the given upstream package recursively
and generate package expressions for all those packages that are not yet
in Guix.
@item --license-prefix=@var{prefix}
@itemx -p @var{prefix}
Add a custom prefix to license identifiers in the generated package
definitions. This can be useful when license identifiers need to be
qualified with a module name.
@end table
@item minetest
@cindex minetest
@cindex ContentDB
@@ -15125,8 +15054,8 @@ When @option{--lockfile} is specified, the importer will ignore other options
and won't output package expressions, instead importing source expressions
from @var{file}, a @file{Cargo.lock} file.
@xref{Packaging Rust Crates,,, guix-cookbook, GNU Guix Cookbook}, for
a packaging workflow utilizing it.
@xref{Packaging Rust Crates,,, guix-cookbook, GNU Guix Cookbook}, for packaging
workflow utilizing it.
@end table
@item elm
@@ -22102,22 +22031,6 @@ determined based on @code{destination} or @code{gateway}.
@item @code{gateway} (default: @code{#f})
IP address (a string) through which traffic is routed.
@item @code{scope} (default: @code{'universe})
Scope of the route, as a symbol:
@table @code @c see rtnetlink(7)
@item universe
global route;
@item site
route within the local autonomous system;
@item link
route on this link;
@item host
route on the local host;
@item nowhere
means the destination does not exist.
@end table
@end table
@end deftp
@@ -24337,58 +24250,6 @@ Whether to enable password-based authentication.
@end table
@end deftp
@cindex EndleSSH
@defvar endlessh-service-type
This is the type for the
@uref{https://github.com/skeeto/endlessh,EndleSSH} program that runs an
SSH tar pit. By very slowly sending an SSH banner, this program keeps
unwanted visitors locked away from the actual SSH daemon.
For example, to specify a service running Endlessh on port @code{2222}, add
this call to the operating system's @code{services} field:
@lisp
(service endlessh-service-type
(endlessh-configuration
(port-number 2222)))
@end lisp
@end defvar
@deftp {Data Type} endlessh-configuration
This data type represents the configuration of an EndleSSH service.
@table @asis
@item @code{endlessh} (default: @var{endlessh})
The EndleSSH package to use.
@item @code{port-number} (default: @code{22})
The TCP port where the daemon waits for incoming connections.
@item @code{log-level} (default: @code{1})
The log level. @code{0} is quiet, @code{2} is very noisy.
@item @code{syslog-output?} (default: @code{#t})
Whether to enable syslog output.
@item @code{pid-file} (default: @code{"/var/run/endlessh.pid"})
File name of the daemon's PID file.
@item @code{message-delay} (default: @code{10000})
The endless banner is sent one line at a time. This is the delay in
milliseconds between individual lines.
@item @code{max-banner-length} (default: @code{32})
The length of each line is randomized. This controls the maximum length
of each line. Shorter lines may keep clients on for longer if they give
up after a certain number of bytes.
@item @code{max-clients} (default: @code{4096})
Maximum number of connections to accept at a time. Connections beyond
this are not immediately rejected, but will wait in the queue.
@end table
@end deftp
@cindex AutoSSH
@defvar autossh-service-type
This is the type for the @uref{https://www.harding.motd.ca/autossh,
@@ -25014,6 +24875,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
@@ -26526,6 +26388,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}
@@ -26600,7 +26472,7 @@ The Plasma package to use.
@end deftp
@defvar xfce-desktop-service-type
This is the type of a service to run the @uref{https://xfce.org/, Xfce}
This is the type of a service to run the @uref{Xfce, https://xfce.org/}
desktop environment. Its value is an @code{xfce-desktop-configuration} object
(see below).
@@ -31978,12 +31850,12 @@ services:
@subsubheading Jami
@defvar jami-service-type
The service type for running @uref{https://jami.net/, Jami} as a
service. It takes a @code{jami-configuration} object as a value,
documented below. This section describes how to configure a Jami server
that can be used to host video (or audio) conferences, among other uses.
The following example demonstrates how to specify Jami account archives
(backups) to be provisioned automatically:
The service type for running Jami as a service. It takes a
@code{jami-configuration} object as a value, documented below. This
section describes how to configure a Jami server that can be used to
host video (or audio) conferences, among other uses. The following
example demonstrates how to specify Jami account archives (backups) to
be provisioned automatically:
@lisp
(service jami-service-type
@@ -38468,8 +38340,8 @@ evaluated, they are sent to the local Guix daemon. Cuirass then
listens to the Guix daemon output to detect the various build events.
@item Using the remote build mechanism.
The build jobs are not submitted to the local Guix daemon. Instead, one
``remote server'' dispatches build requests to the connected ``remote workers'',
The build jobs are not submitted to the local Guix daemon. Instead, a
remote server dispatches build requests to the connect remote workers,
according to the build priorities.
@end itemize
@@ -43337,91 +43209,6 @@ the @code{joycond-configuration} configuration), so that joycond
controllers can be detected and used by an unprivileged user.
@end defvar
@subsubheading Luanti service
@cindex luanti
@cindex voxel-based games
@uref{https://www.luanti.org/en/, Luanti} is a voxel game engine that
powers many games. This service is for hosting a Luanti server. The
various options can be configured via the @code{luanti-configuration}
record, documented below:
@c %start of fragment
@deftp {Data Type} luanti-configuration
Available @code{luanti-configuration} fields are:
@table @asis
@item @code{luanti} (default: @code{luanti-server}) (type: file-like)
The Luanti package to use.
@item @code{game} (default: @code{luanti-mineclonia}) (type: file-like)
The Luanti game package to serve.
@item @code{game-configuration} (type: maybe-file-like)
A configuration file to use for the selected Luanti game, which
corresponds to the @file{minetest.conf} file.
@item @code{mods} (type: maybe-list-of-file-likes)
A list of Luanti mod packages to use. Note that using mods is
complicated by the requirements of Luanti to 1) manually enable the mod
and any of its dependent mods in the @file{world.rt} file of the world
used and 2) to register the mod names and those of its dependents via a
@samp{secure.trusted_mods} @code{game-configuration} directive. Consult
the example below for more precise directions.
@item @code{log-file} (default: @code{"/var/log/luanti.log"}) (type: maybe-string)
The log file to log to. To disable logging, set this to
@code{%unset-value}.
@item @code{verbose?} (default: @code{#f}) (type: boolean)
Print more detailed information.
@item @code{port} (default: @code{30000}) (type: port)
The UDP port the server should listen to.
@item @code{world} (type: maybe-string)
An existing Luanti world directory to serve. If omitted, a new world is
created under the @file{/var/lib/luanti/.minetest/worlds/world}
directory. If an absolute file name is provided, it is used directly.
Otherwise, it is expected to be a directory under
@file{/var/lib/luanti/.minetest/worlds/}.
@end table
@end deftp
@c %end of fragment
Here's the simplest example of a Luanti server, which in its default
configuration serves the @code{luanti-mineclonia} game.
@lisp
(service luanti-service-type)
@end lisp
Here's a slightly more elaborate one, which adds the
@code{luanti-whitelist} mod. Embedded are comments explaining extra
needed steps when using mods. Failing to do these steps will cause the
service to fail to start.
@lisp
(service luanti-service-type
(luanti-configuration
(game luanti-mineclonia)
(game-configuration
(plain-file
"minetest.conf"
;; lib_chatcmdbuilder is a dependency of the whitelist mod
"secure.trusted_mods = whitelist,lib_chatcmdbuilder\n"))
;; The
;; '/var/lib/luanti/.minetest/worlds/world/world.mt'
;; file needs to be hand-edited to add:
;; load_mod_whitelist = true
;; load_mod_lib_chatcmdbuilder = true
(mods (list luanti-whitelist))))
@end lisp
@subsubheading The Battle for Wesnoth Service
@cindex wesnothd
@uref{https://wesnoth.org, The Battle for Wesnoth} is a fantasy, turn
@@ -46420,127 +46207,6 @@ Mode for filter.
@c End of auto-generated fail2ban documentation.
@cindex OpenSnitch
@subsubheading OpenSnitch Service
@uref{https://github.com/evilsocket/opensnitch, OpenSnitch} is an
application-level firewall that monitors outbound connections and prompts
users to allow or deny them on a per-application basis.
@code{opensnitch-service-type} is provided by the @code{(gnu services
opensnitch)} module.
@defvar opensnitch-service-type
This is the service type for the OpenSnitch application firewall daemon.
Its value must be an @code{opensnitch-configuration} record.
Below is an example configuration:
@lisp
(service opensnitch-service-type)
@end lisp
This service depends on the @code{networking} service.
@end defvar
@deftp {Data Type} opensnitch-configuration
Available @code{opensnitch-configuration} fields are:
@table @asis
@item @code{opensnitch} (default: @code{opensnitch-daemon}) (type: package)
The @code{opensnitch-daemon} package to use.
@item @code{server-address} (default: @code{"unix:///tmp/osui.sock"}) (type: string)
Address for the UI to connect to the daemon.
@item @code{server-log-file} (default: @code{"/var/log/opensnitchd.log"}) (type: string)
Path to the daemon log file.
@item @code{authentication-type} (default: @code{"simple"}) (type: string)
Authentication type for UI-daemon communication.
@item @code{tls-ca-cert} (default: @code{""}) (type: string)
Path to TLS CA certificate.
@item @code{tls-server-cert} (default: @code{""}) (type: string)
Path to TLS server certificate.
@item @code{tls-client-cert} (default: @code{""}) (type: string)
Path to TLS client certificate.
@item @code{tls-client-key} (default: @code{""}) (type: string)
Path to TLS client key.
@item @code{tls-skip-verify?} (default: @code{#f}) (type: boolean)
Whether to skip TLS verification.
@item @code{tls-client-auth-type} (default: @code{"no-client-cert"}) (type: string)
TLS client authentication type.
@item @code{default-action} (default: @code{"allow"}) (type: string)
Default action for connections: @code{"allow"} or @code{"deny"}.
@item @code{default-duration} (default: @code{"once"}) (type: string)
Default duration for rules: @code{"once"}, @code{"until-restart"},
@code{"always"}, etc.
@item @code{intercept-unknown?} (default: @code{#f}) (type: boolean)
Whether to intercept connections from unknown processes.
@item @code{proc-monitor-method} (default: @code{"ebpf"}) (type: string)
Method for monitoring processes: @code{"ebpf"}, @code{"proc"}, or
@code{"audit"}.
@item @code{log-level} (default: @code{2}) (type: integer)
Log level: 0=silent, 1=error, 2=warning, 3=important, 4=debug.
@item @code{log-utc?} (default: @code{#t}) (type: boolean)
Whether to log timestamps in UTC.
@item @code{log-micro?} (default: @code{#f}) (type: boolean)
Whether to include microseconds in log timestamps.
@item @code{firewall} (default: @code{"nftables"}) (type: string)
Firewall backend: @code{"nftables"} or @code{"iptables"}.
@item @code{fw-config-path} (default: @code{"/etc/opensnitchd/system-fw.json"}) (type: string)
Path to the system firewall configuration file.
@item @code{fw-monitor-interval} (default: @code{"15s"}) (type: string)
Interval for monitoring firewall rules.
@item @code{fw-queue-bypass?} (default: @code{#t}) (type: boolean)
Whether to bypass the queue when the daemon is not running.
@item @code{rules-path} (default: @code{"/etc/opensnitchd/rules/"}) (type: string)
Directory where firewall rules are stored.
@item @code{rules-enable-checksums?} (default: @code{#f}) (type: boolean)
Whether to enable checksums for rules.
@item @code{ebpf-events-workers} (default: @code{8}) (type: integer)
Number of eBPF event worker threads.
@item @code{ebpf-queue-events-size} (default: @code{0}) (type: integer)
Size of the eBPF events queue (0 = default).
@item @code{stats-max-events} (default: @code{250}) (type: integer)
Maximum number of events to keep in statistics.
@item @code{stats-max-stats} (default: @code{25}) (type: integer)
Maximum number of statistics entries.
@item @code{stats-workers} (default: @code{6}) (type: integer)
Number of statistics worker threads.
@item @code{internal-gc-percent} (default: @code{100}) (type: integer)
Go garbage collector percentage.
@item @code{internal-flush-conns-on-start?} (default: @code{#t}) (type: boolean)
Whether to flush existing connections on daemon start.
@end table
@end deftp
@cindex resize-file-system
@subsubheading Resize File System Service
@@ -51766,19 +51432,6 @@ stateless: it can be replicated elsewhere or at another point in time.
Preparing this list can be relatively tedious though, which is why
@code{*unspecified*} is kept as a default.
@item @code{known-hosts2} (default: @code{*unspecified*})
Either @code{*unspecified*} or a list of file-like objects containing
known host keys. When specified, these files will be concatenated and
installed as @file{~/.ssh/known_hosts2}. This allows for declaratively
manage known hosts (stored in @file{known_hosts2}), while leaving the
primary @file{known_hosts} file unmanaged by Guix.
The SSH client by default reads both @code{known-hosts} and
@code{known-hosts2} for host key verification. If only
@code{known-hosts2} is specified in Guix Home, @file{known_hosts}
remains as a regular file that SSH can modify, while @file{known_hosts2}
contains the declaratively managed host keys.
@item @code{authorized-keys} (default: @code{#false})
The default @code{#false} value means: Leave any
@file{~/.ssh/authorized_keys} file alone. Otherwise, this must be a
@@ -55423,9 +55076,27 @@ related typesetting systems, taken from the
Because @TeX{} Live is so huge and because finding one's way in this
maze is tricky, this section provides some guidance on how to deploy
the relevant packages to compile @TeX{} and @LaTeX{} documents.
Guix contains the full @TeX{} Live distribution in a modular setup,
in which you only install the
@TeX{} Live currently comes in two mutually exclusive flavors in Guix:
@itemize
@item
The ``monolithic'' @code{texlive} package: it comes with @emph{every
single @TeX{} Live package} (roughly 4,200), but it is huge---more than
4@tie{}GiB for a single package!
@item
A ``modular'' @TeX{} Live distribution, in which you only install the
packages you need, whose name is always prefixed with @samp{texlive-}.
@end itemize
To insist, these two flavors cannot be combined@footnote{No rule
without exception! As the monolithic @TeX{} Live does not contain the
@command{biber} executable, it is okay to combine it with
@code{texlive-biber}, which does.}. If in the modular setting your
document does not compile, the solution is not to add the monolithic
@code{texlive} package, but to add the set of missing packages from the
modular distribution.
Building a coherent system that provides all the essential tools and, at
the same time, satisfies all of its internal dependencies can be
+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-22.12; # 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/devel
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
+1 -1
View File
@@ -5,7 +5,7 @@ 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
# explicitely enable userns for systems with the
# kernel.apparmor_restrict_unprivileged_userns sysctl.
profile guix @{guix_storedir}/{*-guix-command,*-guix-*/bin/guix} flags=(unconfined) {
userns,
+3 -4
View File
@@ -110,7 +110,6 @@ GNU_URL="https://ftpmirror.gnu.org/gnu/guix/"
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"
# ------------------------------------------------------------------------------
@@ -778,7 +777,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 +793,8 @@ 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"
# User's default profile, if it exists
GUIX_PROFILE="$HOME/.guix-profile"
+1
View File
@@ -68,6 +68,7 @@
"hexchat"
"hyprland"
"icecat"
"idris"
"imagemagick"
"imapfilter"
"jami"
-52
View File
@@ -42,58 +42,6 @@
(channel-news
(version 0)
(entry (commit "6d4cb99a15da7f4fd55f956c55f4f4aacfcc7742")
(title
(en "@code{%desktop-services} now includes GDM on AArch64")
(de "@code{%desktop-services} enthält jetzt GDM auf AArch64")
(pt "@code{%desktop-services} agora inclui GDM no 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}.")
(de "Auf Guix System liegen in einer Betriebssystemkonfiguration Ihrem
Wert des @code{services}-Feldes auf Desktop-Maschinen die
@code{%desktop-services} zugrunde.
Zu den @code{%desktop-services} gehört eine Anmeldeverwaltung, die sich je nach
Architektur unterscheidet. Bisher wurde GDM auf x86_64 benutzt und SDDM auf
anderen Architekturen.
Ab jetzt wird GDM auf allen 64-Bit-Architekturen benutzt. Das betrifft
letztlich nur AArch64, weil andere 64-Bit-Architecturen bisher noch nicht weit
genug fortgeschritten sind, um die %desktop-services zu benutzen.
Falls Sie auf AArch64 sind und die Anmeldeverwaltung geändert haben, müssen Sie
Ihre Konfiguration ändern und dort @code{gdm-service-type} entfernen statt
@code{sddm-service-type}.")
(pt "Em uma configuração de sistema operacional do Guix System, seu
valor para o campo @code{services} é baseado em @code{%desktop-services} para
máquinas desktop.
@code{%desktop-services} contém um gerenciador de login dependente de
arquitetura. Anteriormente, GDM fora usado em x86_64 e SDDM nas demais.
Agora, GDM é usado em todas as arquiteturas de 64 bits. Esta mudança afeta
apenas a AArch64 no frigir dos ovos, dado que as demais arquiteturas de 64
bits não são maduras o bastante para usar @code{%desktop-services}, por
enquanto.
No caso de você estar em um AArch64 e ter modificado o gerenciador de login,
você terá que adaptar sua configuração para remover @code{gdm-service-type} em
vez de @code{sddm-service-type}.")))
(entry (commit "d3b79beaa806452dceaffb8b211b69dc4c346aba")
(title
(en "Linux-libre 5.4 no longer supported")
+28 -107
View File
@@ -14,7 +14,7 @@ exec $pre_inst_env_maybe guix repl -- "$0" "$@"
;;; Copyright © 2022 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2025 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2025-2026 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2025 jgart <jgart@dismail.de>
;;;
;;; This file is part of GNU Guix.
@@ -92,7 +92,7 @@ exec $pre_inst_env_maybe guix repl -- "$0" "$@"
(email person-email)
(account person-codeberg-account))
(define (person name email account)
(define* (person name #:optional email account)
(make-person name email account))
(define* (team id #:key name description (members '())
@@ -285,25 +285,14 @@ PARAMETERS."
;; API documentation at <https://codeberg.org/api/swagger>.
(define-forgejo-request (organization-teams/paginated organization page)
"Return the list of teams of ORGANIZATION, for the given PAGE (1-indexed)."
(define-forgejo-request (organization-teams organization)
"Return the list of teams of ORGANIZATION."
(GET "orgs" organization "teams"
& `(("page" . ,(number->string page))))
& '(("limit" . "100"))) ;get up to 100 teams
=> 200
(lambda (port)
(map json->forgejo-team (vector->list (json->scm port)))))
(define (organization-teams token organization)
"Return the list of teams of ORGANIZATION."
(let loop ((index 1)
(pages '()))
(match (organization-teams/paginated token organization index)
(()
(concatenate (reverse pages)))
(lst
(loop (+ 1 index)
(cons lst pages))))))
(define-forgejo-request (create-team organization team)
"Create TEAM, a Forgejo team, under ORGANIZATION."
(POST "orgs" organization "teams")
@@ -500,8 +489,7 @@ of Rebar and Mix build systems and Hex.pm importer."
(team 'bootstrap
#:name "Bootstrap"
#:description "Full-source bootstrap: stage0, Mes, Gash, etc."
#:scope (list "gnu/packages/bootstrap.scm"
"gnu/packages/commencement.scm"
#:scope (list "gnu/packages/commencement.scm"
"gnu/packages/mes.scm")))
(define-team c++
@@ -521,8 +509,7 @@ of Rebar and Mix build systems and Hex.pm importer."
(team 'core
#:name "Core / Tools / Internals"
#:scope
(list "etc/teams.scm"
"guix/avahi.scm"
(list "guix/avahi.scm"
"guix/base16.scm"
"guix/base32.scm"
"guix/base64.scm"
@@ -582,7 +569,6 @@ of Rebar and Mix build systems and Hex.pm importer."
"guix/read-print.scm"
"guix/records.scm"
"guix/remote.scm"
"guix/remote-procedures.scm"
"guix/repl.scm"
"guix/search-paths.scm"
"guix/self.scm"
@@ -644,7 +630,6 @@ of Rebar and Mix build systems and Hex.pm importer."
#:name "Electronics team"
#:description "Electronics and hardware related packages."
#:scope (list "gnu/packages/electronics.scm"
"gnu/packages/hdl.scm"
"gnu/packages/libftdi.scm"
"gnu/packages/engineering.scm"
"gnu/packages/flashing-tools.scm")))
@@ -681,8 +666,6 @@ ecosystem."
"gnu/packages/luanti.scm"
"gnu/packages/esolangs.scm" ; granted, rather niche
"gnu/packages/motti.scm"
"gnu/services/games.scm"
"gnu/tests/games.scm"
"guix/build/luanti-build-system.scm")))
(define-team gnome
@@ -715,17 +698,6 @@ GLib/GIO, GTK, GStreamer and Webkit."
"guix/scripts/import/go.scm"
"tests/import/go.scm")))
(define-team guile
(team 'guile
#:name "Guile team"
#:description
"Team for the Guile platform, libraries, and build system."
#:scope (list "gnu/packages/guile.scm"
"gnu/packages/guile-wm.scm"
"gnu/packages/guile-xyz.scm"
"guix/build-system/guile.scm"
"guix/build/guile-build-system.scm")))
(define-team hare
(team 'hare
#:name "Hare"
@@ -767,8 +739,6 @@ the haskell-build-system."
#:description "High-performance computing (HPC) related packages."
#:scope (list "gnu/packages/mpi.scm"
"gnu/packages/oneapi.scm"
"gnu/packages/opencl.scm"
"gnu/packages/parallel.scm"
"gnu/packages/rocm.scm"
"gnu/packages/sycl.scm"
"gnu/packages/tbb.scm"
@@ -796,20 +766,16 @@ the haskell-build-system."
"The JDK and JRE, the Maven build system, Java packages, the ant-build-system,
and the maven-build-system."
#:scope
(list "gnu/packages/clojure.scm"
;; Match java.scm and java-*.scm.
(list ;; Match java.scm and java-*.scm.
(make-regexp* "^gnu/packages/java(-.+|)\\.scm$")
;; Match maven.scm and maven-*.scm
(make-regexp* "^gnu/packages/maven(-.+|)\\.scm$")
"guix/build/ant-build-system.scm"
"guix/build/clojure-build-system.scm"
"guix/build/clojure-utils.scm"
"guix/build/java-utils.scm"
"guix/build/maven-build-system.scm"
;; The maven directory
(make-regexp* "^guix/build/maven/")
"guix/build-system/ant.scm"
"guix/build-system/clojure.scm"
"guix/build-system/maven.scm")))
(define-team javascript
@@ -877,12 +843,6 @@ asdf-build-system."
#:description "LXQt desktop environment."
#:scope (list "gnu/packages/lxqt.scm")))
(define-team mate
(team 'mate
#:name "MATE team"
#:description "MATE desktop environment"
#:scope (list "gnu/packages/mate.scm")))
(define-team mentors
(team 'mentors
#:name "Mentors"
@@ -992,7 +952,7 @@ release."
(define-team ruby
(team 'ruby
#:name "Ruby team"
#:scope (list (make-regexp* "^gnu/packages/(ruby)(-.+|)\\.scm$")
#:scope (list "gnu/packages/ruby.scm"
"guix/build/ruby-build-system.scm"
"guix/build-system/ruby.scm"
"guix/import/gem.scm"
@@ -1018,7 +978,6 @@ release."
#:description
"Secrets, passwords, cryptography and security related packages."
#:scope (list (make-regexp* "^gnu/packages/(.*-|)crypto\\.scm$")
"gnu/packages/cryptsetup.scm"
"gnu/packages/gnupg.scm"
"gnu/packages/nettle.scm"
"gnu/packages/password-utils.scm"
@@ -1147,7 +1106,7 @@ the \"texlive\" importer."
"ludo@gnu.org"
"civodul")
core core-packages hpc installer
guile)
mentors)
(define-member (person "Andreas Enge"
"andreas@enge.fr"
@@ -1239,6 +1198,10 @@ the \"texlive\" importer."
"jpoiret")
installer)
(define-member (person "("
"paren@disroot.org")
)
(define-member (person "Simon Tournier"
"zimon.toutoune@gmail.com"
"zimoun")
@@ -1267,7 +1230,7 @@ the \"texlive\" importer."
(define-member (person "Katherine Cox-Buday"
"cox.katherine.e+guix@gmail.com"
"katco")
emacs lisp)
emacs go lisp)
(define-member (person "Munyoki Kilyungi"
"me@bonfacemunyoki.com"
@@ -1299,16 +1262,19 @@ the \"texlive\" importer."
"Hellseher")
go julia python science sysadmin)
(define-member (person "Arthur Rodrigues"
"arthurhdrodrigues@proton.me"
"arthurhdrodrigues")
go)
(define-member (person "Vivien Kraus"
"vivien@planete-kraus.eu")
gnome)
(define-member (person "Mark H Weaver"
"mhw@netris.org"
"mhw")
mozilla)
(define-member (person "Adam Faiz"
"adam.faiz@disroot.org")
games)
(define-member (person "Laurent Gatto"
"lgatto@protonmail.ch"
"lgatto")
@@ -1352,7 +1318,7 @@ the \"texlive\" importer."
(define-member (person "Cayetano Santos"
"csantosb@inventati.org"
"csantosb")
ai emacs electronics hpc crypto reproduciblebuilds)
ai emacs electronics hpc crypto)
(define-member (person "Greg Hogan"
"code@greghogan.com"
@@ -1373,6 +1339,10 @@ the \"texlive\" importer."
"Ashvith")
games go javascript sysadmin xfce)
(define-member (person "Trevor Richards"
"trev@trevdev.ca")
lisp emacs)
(define-member (person "Konrad Hinsen"
"guix@khinsen.fastmail.net"
"khinsen")
@@ -1408,11 +1378,6 @@ the \"texlive\" importer."
"rodion-goritskov")
release)
(define-member (person "Jason Conroy"
"jconroy@tscripta.net"
"conroj")
ocaml)
(define-member (person "Rutherther"
"rutherther@ditigal.xyz"
"Rutherther")
@@ -1446,57 +1411,13 @@ the \"texlive\" importer."
(define-member (person "Nguyễn Gia Phong"
"cnx@loang.net"
"cnx")
python sysadmin)
python)
(define-member (person "Lilah Tascheter"
"lilah@lunabee.space"
"tinystar")
hare)
(define-member (person "FuncProgLinux"
"softwarelibre@urutau-ltd.org"
"FuncProgLinux")
mate)
(define-member (person "Reza Housseini"
"reza@housseini.me"
"rhou")
python science c++)
(define-member (person "Yunqi Shao"
"me@yqshao.se"
"yqshao")
sysadmin)
(define-member (person "Collin Doering"
"collin@rekahsoft.ca"
"rekahsoft")
embedded electronics haskell sysadmin)
(define-member (person "Mathieu Lirzin"
"mthl@gnu.org"
"mthl")
java)
(define-member (person "Hugo Buddelmeijer"
"hugo@buddelmeijer.nl"
"hugobuddel")
python)
(define-member (person "Yan Abu Arab"
"yanabuarab@gmail.com"
"tux1c")
python sysadmin)
(define-member (person "Wilko Meyer"
"w@wmeyer.eu"
"theesm")
kernel)
(define-member (person "Untrusem"
"mysticmoksh@riseup.net"
"untrusem")
mozilla)
(define (find-team name)
(or (hash-ref %teams (string->symbol name))
-34
View File
@@ -1,34 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 FuncProgLinux <softwarelibre@urutau-ltd.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(use-modules (guix packages)
(guix profiles)
(gnu packages mate)
(ice-9 match)
(srfi srfi-1))
(define (propagated-inputs package)
(map
(match-lambda
((_ (? package? pkg)) pkg)
((_ (? package? pkg) output) (list pkg output)))
(package-propagated-inputs package)))
(packages->manifest
(append-map propagated-inputs
(list mate)))
+1 -2
View File
@@ -187,7 +187,7 @@ configuration.scm."
(package-arguments guix)))))
;; NOTE: Normally, we would use (current-guix), along with url
;; overridden to the upstream repository to not leak our local checkout.
;; overriden to the upstream repository to not leak our local checkout.
;; But currently, the (current-guix) derivation has to be computed through
;; QEMU for systems other than your host system. This takes a lot of time,
;; it takes at least half an hour to get the derivations.
@@ -287,7 +287,6 @@ provenance."
(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)
+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 -2
View File
@@ -29,7 +29,7 @@
;;; Code:
(define %artwork-repository
(let ((commit "08259679a0faef63e3ba169df5b937d836bd9262"))
(let ((commit "4c7f2ce6428a63e202cd2a9474a06f68a946934d"))
(origin
(method git-fetch)
(uri (git-reference
@@ -39,6 +39,6 @@
"-checkout"))
(sha256
(base32
"0anryix0y8w9brksiaz39r8c10vdd0fp4h96b9f3m4aw0xpv8xlf")))))
"1rl569759q9wm1dxn7nkq3873d2k92giic7aa6jwzwr3n16prc7y")))))
;;; artwork.scm ends here
+6 -5
View File
@@ -2,7 +2,7 @@
;;; Copyright © 2017 David Craven <david@craven.ch>
;;; Copyright © 2017, 2020, 2022 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019, 2021, 2023, 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2022 Josselin Poiret <dev@jpoiret.xyz>
;;; Copyright © 2022 Reza Alizadeh Majd <r.majd@pantherx.org>
@@ -26,8 +26,7 @@
(define-module (gnu bootloader)
#:use-module (gnu system file-systems)
#:use-module (gnu system uuid)
#:autoload (guix discovery) (fold-module-public-variables)
#:autoload (guix describe) (modules-from-current-profile)
#:use-module (guix discovery)
#:use-module (guix gexp)
#:use-module (guix profiles)
#:use-module (guix records)
@@ -306,8 +305,10 @@ instead~%")))
(define (bootloader-modules)
"Return the list of bootloader modules."
(modules-from-current-profile "gnu/bootloader"
#:warn warn-about-load-error))
(all-modules (map (lambda (entry)
`(,entry . "gnu/bootloader"))
%load-path)
#:warn warn-about-load-error))
(define %bootloaders
;; The list of publically-known bootloaders.
+2 -83
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.
;;;
@@ -36,7 +35,6 @@
u-boot-a20-olinuxino-lime2-bootloader
u-boot-a20-olinuxino-micro-bootloader
u-boot-bananapi-m2-ultra-bootloader
u-boot-am335x-evm-bootloader
u-boot-beaglebone-black-bootloader
u-boot-cubietruck-bootloader
u-boot-firefly-rk3399-bootloader
@@ -66,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")))
@@ -98,48 +91,6 @@ is BLOCK-SIZE * COUNT, or FILE size if COUNT is not given."
(if bootloader
(error "Failed to install U-Boot"))))
(define install-am335x-evm-u-boot
(write-u-boot-image
;; According to the "26.1.8.5.5 MMC/SD Read Sector Procedure in Raw Mode"
;; section in the "AM335x and AMIC110 Sitara™ Processors Technical
;; Reference Manual", we have offset, the bootrom tries to load code at the
;; offsets 0x0, 0x20000 (128KB), 0x40000 (256KB) and 0x60000 (384KB).
;;
;; The MBR is 512 Bytes
;; (https://en.wikipedia.org/wiki/Master_boot_record#Sector_layout).
;;
;; At the time of writing, u-boot.img is 1.4 MiB, and it is at offset
;; 0x60000 (384KB) as per CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.
;;
;; We also need to align the first partition to make sure read/writes are
;; properly aligned.
;;
;; Given these constraints, we chose the following partitioning:
;;
;; 0 512 Bytes 128 KiB
;; | | (0x20000) 256 KiB
;; | | / (0x40000) 384 KiB 4 MiB
;; | | / | (0x60000) |
;; | | / | | |
;; v v / v v v
;; +-------+ +--------------+---------------+----------------+
;; | MBR | ... | First MLO | Second MLO | u-boot.img |
;; +-------+ +--------------+---------------+----------------+
;; <-512 B-> ... <-- 128 KiB --> <-- 128 KiB --> <-- 3712 KiB -->
;;
;; The rationale for that is as follows:
;;
;; - We add a second copy of the MLO at 256 KiB for improving reliability
;; as the doc/board/ti/am335x_evm.rst documentation in u-boot advise us
;; to do that, and also because the space there isn't used.
;;
;; - All can fit into 2MiB (u-boot.img can grow up to 1664 KiB), but we
;; want a bit more space in case u-boot.img grows over time, so we allow
;; u-boot to grow until the 4 MiB offset.
'(("MLO" 256 256) ;; First MLO
("MLO" 256 512) ;; Second MLO
("u-boot.img" 7424 768)) 512))
(define install-beaglebone-black-u-boot
;; http://wiki.beyondlogic.org/index.php?title=BeagleBoneBlack_Upgrading_uBoot
;; This first stage bootloader called MLO (U-Boot SPL) is expected at
@@ -181,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~%")))
;;;
@@ -201,33 +147,6 @@ is BLOCK-SIZE * COUNT, or FILE size if COUNT is not given."
(installer #f)
(disk-image-installer install-u-boot)))
(define u-boot-am335x-evm-bootloader
(bootloader
(inherit u-boot-bootloader)
;; This bootloader supports the following computers:
;; - SanCloud BeagleBone Enhanced
;; - SanCloud BeagleBone Enhanced Extended WiFi
;; - SanCloud BeagleBone Enhanced Lite
;; - Seeed Studio BeagleBone Green Eco
;; - TI AM3359 ICE-V2
;; - TI AM335x BeagleBone
;; - TI AM335x BeagleBone Black
;; - TI AM335x BeagleBone Green
;; - TI AM335x EVM
;; - TI AM335x EVM-SK
;; - TI AM335x PocketBeagle
;;
;; This list was made by retrieving the list of Devicetrees used in
;; configs/am335x_evm_defconfig in u-boot source code. Once we have that we
;; can look at each Devicetree in arch/arm/boot/dts/ti/omap/ inside Linux,
;; and in each file, look at the model property to find the name of the
;; computers that this image supports.
(package u-boot-am335x-evm)
;; At the time of writing, our u-boot.img is 1.4 MiB. This is why we can't
;; reuse install-beaglebone-black-u-boot. And having the same image being
;; able to boot on multiple computers is useful.
(disk-image-installer install-am335x-evm-u-boot)))
(define u-boot-beaglebone-black-bootloader
(bootloader
(inherit u-boot-bootloader)
+8 -8
View File
@@ -141,13 +141,12 @@ and bits are set according to the default behaviour of 'mkdir'."
#:key
(directory %skeleton-directory)
uid gid)
"Copy the account skeletons from DIRECTORY to HOME and make them writable.
When UID is an integer, make it the owner of all the files created except the
home directory; likewise for GID."
(define (set-permission file)
"Copy the account skeletons from DIRECTORY to HOME. When UID is an integer,
make it the owner of all the files created except the home directory; likewise
for GID."
(define (set-owner file)
(when (or uid gid)
(chown file (or uid -1) (or gid -1)))
(make-file-writable file))
(chown file (or uid -1) (or gid -1))))
(let ((files (scandir directory (negate dot-or-dot-dot?)
string<?)))
@@ -157,9 +156,10 @@ home directory; likewise for GID."
(copy-recursively (string-append directory "/" file)
target
#:log (%make-void-port "w"))
(for-each set-permission
(for-each set-owner
(find-files target (const #t)
#:directories? #t))))
#:directories? #t))
(make-file-writable target)))
files)))
(define* (make-skeletons-writable home
+1 -2
View File
@@ -83,8 +83,7 @@ turn doesn't take any constant overhead into account, force a 1-MiB minimum."
(label (partition-label partition))
(uuid (partition-uuid partition)))
(apply invoke
`("unshare" "--map-root-user" "mkfs.btrfs"
"-r" ,root
`("fakeroot" "mkfs.btrfs" "-r" ,root
"-L" ,label
,@(if uuid
`("-U" ,(uuid->string uuid))
+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
+2 -2
View File
@@ -107,8 +107,8 @@ QEMU monitor and to the guest's backdoor REPL."
(define extra-options
(list "-nographic"
"-monitor" (string-append "unix:" socket-directory "/monitor")
"-chardev" (string-append "socket,id=repl,path="
socket-directory "/repl")
"-chardev" (string-append "socket,id=repl,path=" socket-directory
"/repl,reconnect=1")
"-chardev" (string-append "socket,id=qga,server=on,wait=off,path="
socket-directory "/qemu-ga")
+4 -1
View File
@@ -60,7 +60,10 @@
or 'stow, but ~a was found.")
value))))
(define-maybe/no-serialization list-of-strings)
(define list-of-strings?
(list-of string?))
(define-maybe list-of-strings)
(define-configuration/no-serialization home-dotfiles-configuration
(source-directory
-8
View File
@@ -3,7 +3,6 @@
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2026 Oleg Pykhalov <go.wigust@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -312,8 +311,6 @@ through before connecting to the server.")
(default #f))
(known-hosts home-openssh-configuration-known-hosts ;unspec | list of file-like
(default *unspecified*))
(known-hosts2 home-openssh-configuration-known-hosts2 ;unspec | list of file-like
(default *unspecified*))
(hosts home-openssh-configuration-hosts ;list of <openssh-host>
(default '()))
(add-keys-to-agent home-openssh-configuration-add-keys-to-agent ;string with limited values
@@ -379,7 +376,6 @@ inserted after each of them."
(let* ((ssh-config (plain-file "ssh.conf"
(openssh-configuration->string config)))
(known-hosts (home-openssh-configuration-known-hosts config))
(known-hosts2 (home-openssh-configuration-known-hosts2 config))
(authorized-keys (home-openssh-configuration-authorized-keys config))
(authorized-keys (and
authorized-keys
@@ -391,10 +387,6 @@ inserted after each of them."
'()
`((".ssh/known_hosts"
,(file-join "known_hosts" known-hosts "\n"))))
,@(if (unspecified? known-hosts2)
'()
`((".ssh/known_hosts2"
,(file-join "known_hosts2" known-hosts2 "\n"))))
(".ssh/config" ,ssh-config))))
(define openssh-activation
+3
View File
@@ -129,6 +129,9 @@
(define (list-of-string-ish? lst)
(every string-ish? lst))
(define (list-of-packages? lst)
(every package? lst))
(define (bar-position? p)
(member p '(top bottom)))
+1 -12
View File
@@ -103,21 +103,10 @@ subdirectory from XDG_CONFIG_HOME to generate a target path."
(define backup
(string-append backup-directory "/" (preprocess-file file)))
(define (copy-file* oldfile newfile)
"Like 'copy-file', but also copies dangling symlinks."
(catch 'system-error
(lambda ()
(copy-file oldfile newfile))
(lambda args
(if (and (eq? 'symlink (stat:type (lstat oldfile)))
(= ENOENT (system-error-errno args)))
(symlink (readlink oldfile) newfile)
(apply throw args)))))
(mkdir-p backup-directory)
(format #t (G_ "Backing up ~a...") (target-file file))
(mkdir-p (dirname backup))
(copy-file* (target-file file) backup)
(copy-file (target-file file) backup)
(delete-file (target-file file))
(display (G_ " done\n")))
+4 -5
View File
@@ -108,11 +108,10 @@ like sockets.")
@file{/var/log}, but for user. It is not a part of XDG Base Directory
Specification, but helps to make implementation of home services more
consistent."
(serializer
(lambda (field-name val)
(when (maybe-value-set? val)
(warn-about-deprecation field-name #f #:replacement 'state-home))
(serialize-path field-name val))))
(lambda (field-name val)
(when (maybe-value-set? val)
(warn-about-deprecation field-name #f #:replacement 'state-home))
(serialize-path field-name val)))
(state-home
(path "$HOME/.local/state")
"Base directory for programs to store state data that should persist
+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
+36 -38
View File
@@ -195,21 +195,8 @@
(define (system-services->configuration services)
"Return the configuration field for SERVICES."
(let* ((snippets (append-map system-service-snippet services))
(packages (append-map system-service-packages services))
(desktop? (find desktop-system-service? services))
(packages
(append (append-map system-service-packages services)
(if desktop?
(cons (comment (G_ ";; Fonts to cover all languages.\n"))
(map (lambda (package)
`(specification->package ,package))
'("font-google-noto"
"font-google-noto-emoji"
;; FIXME: Selection of fonts depends on the
;; locale. Use a monospaced CJK font with
;; latin letters before there's proper fix.
;; See <https://codeberg.org/guix/guix/pulls/5654#issuecomment-9928509>
"font-sarasa-gothic")))
'())))
(base (if desktop?
(if (target-hurd?)
'%desktop-services/hurd
@@ -243,33 +230,44 @@
;; under their own account: use 'guix search KEYWORD' to search
;; for packages and 'guix install PACKAGE' to install a package.\n")))))
`(,@(if (null? packages)
(if (target-hurd?)
(if (null? snippets)
`(,@(if (null? packages)
(if (target-hurd?)
`(,@package-heading
(packages %base-packages/hurd))
'())
`(,@package-heading
(packages %base-packages/hurd))
'())
`(,@package-heading
(packages (append (list ,@packages)
,(if (target-hurd?)
'%base-packages/hurd
'%base-packages)))))
(packages (append (list ,@packages)
,(if (target-hurd?)
'%base-packages/hurd
'%base-packages)))))
,@service-heading
,(if (and (null? snippets)
(not desktop?))
`(services ,services)
`(services
(append (list ,@snippets
,@service-heading
(services ,services))
`(,@(if (null? packages)
(if (target-hurd?)
`(,@package-heading
(packages %base-packages/hurd))
'())
`(,@package-heading
(packages (append (list ,@packages)
,(if (target-hurd?)
'%base-packages/hurd
'%base-packages)))))
,@(if desktop?
;; XXX: Assume 'keyboard-layout' is in scope.
`((set-xorg-configuration
(xorg-configuration
(keyboard-layout keyboard-layout))))
'()))
,@service-heading
(services (append (list ,@snippets
,(vertical-space 1)
,(comment (G_ "\
,@(if desktop?
;; XXX: Assume 'keyboard-layout' is in
;; scope.
`((set-xorg-configuration
(xorg-configuration
(keyboard-layout keyboard-layout))))
'()))
,(vertical-space 1)
,(comment (G_ "\
;; This is the default list of services we
;; are appending to.\n"))
,services))))))
,services))))))
+37 -59
View File
@@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012-2026 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2012-2025 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025 Andreas Enge <andreas@enge.fr>
# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Mark H Weaver <mhw@netris.org>
@@ -19,7 +19,7 @@
# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
# Copyright © 2018, 2019, 2020, 2021, 2022, 2024, 2025 Oleg Pykhalov <go.wigust@gmail.com>
# Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
# Copyright © 2018, 2020-2026 Maxim Cournoyer <maxim@guixotic.coop>
# Copyright © 2018, 2020-2025 Maxim Cournoyer <maxim@guixotic.coop>
# Copyright © 2019, 2020, 2021, 2022, 2024 Guillaume Le Vaillant <glv@posteo.net>
# Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
# Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
@@ -212,6 +212,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/connman.scm \
%D%/packages/containers.scm \
%D%/packages/convmv.scm \
%D%/packages/cook.scm \
%D%/packages/coq.scm \
%D%/packages/cpio.scm \
%D%/packages/cpp.scm \
@@ -303,7 +304,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/freeipmi.scm \
%D%/packages/ftp.scm \
%D%/packages/fribidi.scm \
%D%/packages/fusion.scm \
%D%/packages/gambas.scm \
%D%/packages/game-development.scm \
%D%/packages/games.scm \
@@ -343,6 +343,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gperf.scm \
%D%/packages/gpodder.scm \
%D%/packages/gps.scm \
%D%/packages/graal.scm \
%D%/packages/graph.scm \
%D%/packages/graphics.scm \
%D%/packages/graphviz.scm \
@@ -367,7 +368,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/haskell-web.scm \
%D%/packages/haskell-xyz.scm \
%D%/packages/haxe.scm \
%D%/packages/hdl.scm \
%D%/packages/heads.scm \
%D%/packages/hexedit.scm \
%D%/packages/high-availability.scm \
@@ -377,6 +377,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/i2p.scm \
%D%/packages/ibus.scm \
%D%/packages/icu4c.scm \
%D%/packages/idris.scm \
%D%/packages/idutils.scm \
%D%/packages/image.scm \
%D%/packages/image-processing.scm \
@@ -759,7 +760,6 @@ GNU_SYSTEM_MODULES = \
%D%/services/networking.scm \
%D%/services/nix.scm \
%D%/services/nfs.scm \
%D%/services/opensnitch.scm \
%D%/services/pam-mount.scm \
%D%/services/power.scm \
%D%/services/science.scm \
@@ -971,6 +971,11 @@ dist_patch_DATA = \
%D%/packages/patches/adb-add-libraries.patch \
%D%/packages/patches/adb-libssl_11-compatibility.patch \
%D%/packages/patches/accountsservice-extensions.patch \
%D%/packages/patches/aegis-constness-error.patch \
%D%/packages/patches/aegis-perl-tempdir1.patch \
%D%/packages/patches/aegis-perl-tempdir2.patch \
%D%/packages/patches/aegis-test-fixup-1.patch \
%D%/packages/patches/aegis-test-fixup-2.patch \
%D%/packages/patches/aegisub-icu59-include-unistr.patch \
%D%/packages/patches/aegisub-boost68.patch \
%D%/packages/patches/aegisub-boost81.patch \
@@ -990,6 +995,7 @@ dist_patch_DATA = \
%D%/packages/patches/amd-smi-python.patch \
%D%/packages/patches/ibus-anthy-fix-tests.patch \
%D%/packages/patches/ibus-table-paths.patch \
%D%/packages/patches/anki-mpv-args.patch \
%D%/packages/patches/antiword-CVE-2014-8123.patch \
%D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \
%D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \
@@ -1058,7 +1064,6 @@ dist_patch_DATA = \
%D%/packages/patches/binutils-mingw-w64-deterministic.patch \
%D%/packages/patches/binutils-2.41-fix-cross.patch \
%D%/packages/patches/bloomberg-bde-tools-fix-install-path.patch \
%D%/packages/patches/bmake-run-check-separately.patch \
%D%/packages/patches/boolector-find-googletest.patch \
%D%/packages/patches/boost-fix-duplicate-definitions-bug.patch \
%D%/packages/patches/btanks-scons-python.patch \
@@ -1117,9 +1122,7 @@ dist_patch_DATA = \
%D%/packages/patches/clucene-pkgconfig.patch \
%D%/packages/patches/coda-use-system-libs.patch \
%D%/packages/patches/cogl-fix-double-free.patch \
%D%/packages/patches/collada-dom-boost.patch \
%D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
%D%/packages/patches/collectd-5.11.0-python-3.11.patch \
%D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
%D%/packages/patches/combinatorial-blas-awpm.patch \
%D%/packages/patches/combinatorial-blas-io-fix.patch \
%D%/packages/patches/compsize-fix-btrfs-progs-compatibility.patch \
@@ -1140,8 +1143,6 @@ dist_patch_DATA = \
%D%/packages/patches/crc32c-unbundle-googletest.patch \
%D%/packages/patches/crda-optional-gcrypt.patch \
%D%/packages/patches/clucene-contribs-lib.patch \
%D%/packages/patches/cryfs-boost-1.88-fix.patch \
%D%/packages/patches/cryfs-boost-1.89-fix.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 \
@@ -1175,7 +1176,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 \
@@ -1209,15 +1209,14 @@ dist_patch_DATA = \
%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 \
%D%/packages/patches/elm-offline-package-registry.patch \
%D%/packages/patches/elm-reactor-static-files.patch \
%D%/packages/patches/emacs-all-the-icons-remove-duplicate-rs.patch \
%D%/packages/patches/emacs-deferred-fix-number-of-arguments.patch \
%D%/packages/patches/emacs-disable-jit-compilation.patch \
%D%/packages/patches/emacs-doc-toc-shell-commands.patch \
%D%/packages/patches/emacs-elisp-autofmt-fix-region-send.patch \
%D%/packages/patches/emacs-exec-path.patch \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
@@ -1237,6 +1236,7 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-pasp-mode-quote-file-names.patch \
%D%/packages/patches/emacs-pgtk-super-key-fix.patch \
%D%/packages/patches/emacs-polymode-fix-lexical-variable-error.patch \
%D%/packages/patches/emacs-shx-byte-compilation-test.patch \
%D%/packages/patches/emacs-telega-path-placeholder.patch \
%D%/packages/patches/emacs-telega-test-env.patch \
%D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \
@@ -1248,9 +1248,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 \
@@ -1326,6 +1324,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 \
@@ -1503,7 +1502,6 @@ dist_patch_DATA = \
%D%/packages/patches/gnome-tweaks-search-paths.patch \
%D%/packages/patches/gnulib-bootstrap.patch \
%D%/packages/patches/gnumach-div0.patch \
%D%/packages/patches/gnumach-kmsg-overflow.patch \
%D%/packages/patches/gnumach-version.patch \
%D%/packages/patches/gnupg-default-pinentry.patch \
%D%/packages/patches/gnupg-1-build-with-gcc10.patch \
@@ -1521,11 +1519,12 @@ dist_patch_DATA = \
%D%/packages/patches/go-github-com-warpfork-go-wish-fix-tests.patch \
%D%/packages/patches/go-github-com-wraparound-wrap-free-fonts.patch \
%D%/packages/patches/go-skip-gc-test.patch \
%D%/packages/patches/godot-glslang.patch \
%D%/packages/patches/godot-libjpeg-turbo-unbundle.patch \
%D%/packages/patches/gourmet-sqlalchemy-compat.patch \
%D%/packages/patches/gpaste-fix-paths.patch \
%D%/packages/patches/gpm-glibc-2.26.patch \
%D%/packages/patches/gpodder-disable-updater.patch \
%D%/packages/patches/graalvm-mx-check-failed-after-join.patch \
%D%/packages/patches/grantlee-fix-i586-precision.patch \
%D%/packages/patches/grantlee-register-metaenumvariable.patch \
%D%/packages/patches/grep-timing-sensitive-test.patch \
@@ -1540,13 +1539,13 @@ dist_patch_DATA = \
%D%/packages/patches/guile-default-utf8.patch \
%D%/packages/patches/guile-2.2-default-utf8.patch \
%D%/packages/patches/guile-relocatable.patch \
%D%/packages/patches/guile-3.0.11-cross-compilation.patch \
%D%/packages/patches/guile-3.0-relocatable.patch \
%D%/packages/patches/guile-linux-syscalls.patch \
%D%/packages/patches/guile-3.0-linux-syscalls.patch \
%D%/packages/patches/guile-ac-d-bus-fix-tests.patch \
%D%/packages/patches/guile-lib-fix-tests-for-guile2.2.patch \
%D%/packages/patches/guile-fibers-cross-build-fix.patch \
%D%/packages/patches/guile-fibers-destroy-peer-schedulers.patch \
%D%/packages/patches/guile-fibers-epoll-instance-is-dead.patch \
%D%/packages/patches/guile-fibers-fd-finalizer-leak.patch \
%D%/packages/patches/guile-fibers-wait-for-io-readiness.patch \
@@ -1598,7 +1597,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-streamio-select.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 \
@@ -1614,29 +1612,13 @@ dist_patch_DATA = \
%D%/packages/patches/icedove-observer-fix.patch \
%D%/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch \
%D%/packages/patches/icedtea-7-hotspot-pointer-comparison.patch \
%D%/packages/patches/icu4c-20548-dateinterval-timezone.patch \
%D%/packages/patches/icu4c-22132-standardize-vtzone-output.patch \
%D%/packages/patches/icu4c-23069-rosh-hashanah-postponement.patch \
%D%/packages/patches/icu4c-78-double-conversion.patch \
%D%/packages/patches/icu4c-bug-1706949-wasi-workaround.patch \
%D%/packages/patches/icu4c-bug-1790071-ICU-22132-standardize-vtzone-output.patch \
%D%/packages/patches/icu4c-bug-1856290-ICU-20548-dateinterval-timezone.patch \
%D%/packages/patches/icu4c-bug-1954138-dtitvfmt-adopt-calendar.patch \
%D%/packages/patches/icu4c-bug-1972781-chinese-based-calendar.patch \
%D%/packages/patches/icu4c-bug-2000225-ICU-23264-increase-measure-unit-capacity.patch \
%D%/packages/patches/icu4c-bug-2002735-ICU-23277-coptic-single-era.patch \
%D%/packages/patches/icu4c-dayperiod-fractional-seconds.patch \
%D%/packages/patches/icu4c-double-conversion.patch \
%D%/packages/patches/icu4c-dtitvfmt-adopt-calendar.patch \
%D%/packages/patches/icu4c-fix-TestHebrewCalendarInTemporalLeapYear.patch \
%D%/packages/patches/icu4c-icu-22132-fix-vtimezone.patch \
%D%/packages/patches/icu4c-suppress-warnings.patch \
%D%/packages/patches/icu4c-wasi-workaround.patch \
%D%/packages/patches/icu4c-fix-TestHebrewCalendarInTemporalLeapYear.patch \
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
%D%/packages/patches/id3lib-UTF16-writing-bug.patch \
%D%/packages/patches/idris-test-ffi008.patch \
%D%/packages/patches/ilmbase-fix-tests.patch \
%D%/packages/patches/inferno-fix-crash.patch \
%D%/packages/patches/iniparser-remove-fetchcontent-usage.patch \
%D%/packages/patches/inkscape-libxml2.patch \
%D%/packages/patches/instead-use-games-path.patch \
%D%/packages/patches/intltool-perl-compatibility.patch \
@@ -1646,8 +1628,11 @@ dist_patch_DATA = \
%D%/packages/patches/irrlicht-link-against-needed-libs.patch \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
%D%/packages/patches/ispell-for-linphone-cmake.patch \
%D%/packages/patches/jami-avutil-link.patch \
%D%/packages/patches/jami-find-package-avutil.patch \
%D%/packages/patches/jami-libjami-headers-search.patch \
%D%/packages/patches/jami-qwindowkit.patch \
%D%/packages/patches/jami-skip-tests-requiring-internet.patch \
%D%/packages/patches/jami-unbundle-dependencies.patch \
%D%/packages/patches/jamvm-1.5.1-aarch64-support.patch \
%D%/packages/patches/jamvm-1.5.1-armv7-support.patch \
%D%/packages/patches/jamvm-2.0.0-aarch64-support.patch \
@@ -1657,6 +1642,7 @@ dist_patch_DATA = \
%D%/packages/patches/java-tunnelvisionlabs-antlr-code-too-large.patch \
%D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \
%D%/packages/patches/java-commons-collections-fix-java8.patch \
%D%/packages/patches/java-commons-lang-fix-dependency.patch \
%D%/packages/patches/java-guava-remove-annotation-deps.patch \
%D%/packages/patches/java-jeromq-fix-tests.patch \
%D%/packages/patches/java-openjfx-build-jdk_version.patch \
@@ -1693,14 +1679,11 @@ dist_patch_DATA = \
%D%/packages/patches/libgeotiff-fix-tests-on-i386.patch \
%D%/packages/patches/libguestfs-syms.patch \
%D%/packages/patches/libinfinity-renew-test-certificate.patch \
%D%/packages/patches/libjami-pkgconf.patch \
%D%/packages/patches/libmaus2-fix-gcc-13-require-include-cstdint.patch \
%D%/packages/patches/libretro-dolphin-emu-data.patch \
%D%/packages/patches/libretro-dolphin-emu-gc-font-tool.patch \
%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 \
@@ -1711,8 +1694,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 \
@@ -1856,7 +1837,6 @@ dist_patch_DATA = \
%D%/packages/patches/luit-posix.patch \
%D%/packages/patches/lxc-no-static-bin.patch \
%D%/packages/patches/lxsession-potfiles-ignore.patch \
%D%/packages/patches/mate-common-honor-aclocal.patch \
%D%/packages/patches/mactelnet-remove-init.patch \
%D%/packages/patches/mailutils-variable-lookup.patch \
%D%/packages/patches/mandoc-support-zstd-compression.patch \
@@ -1899,7 +1879,6 @@ dist_patch_DATA = \
%D%/packages/patches/minisat-install.patch \
%D%/packages/patches/miniz-for-pytorch.patch \
%D%/packages/patches/mit-krb5-hurd.patch \
%D%/packages/patches/mitm-cache-head-requests.patch \
%D%/packages/patches/mpc123-initialize-ao.patch \
%D%/packages/patches/mpg321-CVE-2019-14247.patch \
%D%/packages/patches/mpg321-gcc-10.patch \
@@ -1948,6 +1927,7 @@ dist_patch_DATA = \
%D%/packages/patches/netsurf-system-utf8proc.patch \
%D%/packages/patches/netsurf-y2038-tests.patch \
%D%/packages/patches/netsurf-longer-test-timeout.patch \
%D%/packages/patches/nextpnr-gtest.patch \
%D%/packages/patches/nextpnr-imgui.patch \
%D%/packages/patches/nhc98-c-update.patch \
%D%/packages/patches/nix-dont-build-html-doc.diff \
@@ -1991,7 +1971,7 @@ dist_patch_DATA = \
%D%/packages/patches/openboardview-use-system-mpc.patch \
%D%/packages/patches/openbox-add-fix-for-glib2-exposed-segfault.patch \
%D%/packages/patches/openbox-python3.patch \
%D%/packages/patches/opendht-meson-install-headers.patch \
%D%/packages/patches/opendht-nanosleep.patch \
%D%/packages/patches/openexr-2-gcc-14.patch \
%D%/packages/patches/openfst-for-vosk-fix-unique-ptr.patch \
%D%/packages/patches/openjdk-currency-time-bomb.patch \
@@ -2032,6 +2012,7 @@ dist_patch_DATA = \
%D%/packages/patches/opentaxsolver-file-browser-fix.patch \
%D%/packages/patches/open-zwave-hidapi.patch \
%D%/packages/patches/opusfile-CVE-2022-47021.patch \
%D%/packages/patches/orangeduck-mpc-fix-pkg-config.patch \
%D%/packages/patches/orbit2-fix-array-allocation-32bit.patch \
%D%/packages/patches/orpheus-cast-errors-and-includes.patch \
%D%/packages/patches/ots-no-include-missing-file.patch \
@@ -2069,11 +2050,12 @@ dist_patch_DATA = \
%D%/packages/patches/python-bed-reader-use-store-samples.patch \
%D%/packages/patches/python-chai-drop-python2.patch \
%D%/packages/patches/python-clarabel-blas.patch \
%D%/packages/patches/python-daemon-relax-lockfile.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 \
%D%/packages/patches/python-mohawk-pytest.patch \
%D%/packages/patches/python-msal-requests.patch \
%D%/packages/patches/python-norns-nose.patch \
@@ -2216,10 +2198,12 @@ dist_patch_DATA = \
%D%/packages/patches/python-pytorch-system-libraries.patch \
%D%/packages/patches/python-pytorch-without-kineto.patch \
%D%/packages/patches/python-robotframework-sshlibrary-rf5-compat.patch \
%D%/packages/patches/python-scipy-i686.patch \
%D%/packages/patches/python-vaex-core-fix-tsl-use.patch \
%D%/packages/patches/python-vega-datasets-remove-la-riots-code.patch \
%D%/packages/patches/python-versioneer-guix-support.patch \
%D%/packages/patches/python-werkzeug-tests.patch \
%D%/packages/patches/python-xmp-toolkit-add-missing-error-codes.patch \
%D%/packages/patches/qdigidoc-bundle-config-files.patch \
%D%/packages/patches/qdigidoc-bundle-tsl-files.patch \
%D%/packages/patches/qemu-build-info-manual.patch \
@@ -2227,7 +2211,6 @@ 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 \
@@ -2238,8 +2221,6 @@ dist_patch_DATA = \
%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/quickjs-ng-64-bits-precision-on-i686.patch \
%D%/packages/patches/quickjs-ng-fix-atomics.pause-on-32-bit.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 \
@@ -2280,9 +2261,6 @@ dist_patch_DATA = \
%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 \
%D%/packages/patches/rocm-bandwidth-test-fix-external-packages-search.patch \
%D%/packages/patches/rocm-bandwidth-test-fix-hsa-include-file-lookup.patch \
%D%/packages/patches/rocm-bandwidth-test-take-default-gpus-from-environment.patch \
%D%/packages/patches/rottlog-direntry.patch \
%D%/packages/patches/ruby-actionpack-remove-browser-tests.patch \
%D%/packages/patches/ruby-activesupport-fix-deprecation-warning.patch \
@@ -2316,7 +2294,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 \
@@ -2335,6 +2312,7 @@ dist_patch_DATA = \
%D%/packages/patches/seq24-rename-mutex.patch \
%D%/packages/patches/libsequoia-fix-ffi-Makefile.patch \
%D%/packages/patches/libsequoia-remove-store.patch \
%D%/packages/patches/shaderc-for-pcsx2-changes.patch \
%D%/packages/patches/shakespeare-spl-fix-grammar.patch \
%D%/packages/patches/shared-mime-info-xdgmime-path.patch \
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
@@ -2427,11 +2405,10 @@ dist_patch_DATA = \
%D%/packages/patches/twinkle-bcg729.patch \
%D%/packages/patches/u-boot-allow-disabling-openssl.patch \
%D%/packages/patches/u-boot-nintendo-nes-serial.patch \
%D%/packages/patches/u-boot-rockchip-inno-usb.patch \
%D%/packages/patches/ucx-tcp-iface-ioctl.patch \
%D%/packages/patches/uftrace-fix-tests.patch \
%D%/packages/patches/ultrastar-deluxe-no-freesans.patch \
%D%/packages/patches/unity-test-set-subdir-correctly.patch \
%D%/packages/patches/unity-test-support-int64.patch \
%D%/packages/patches/ungoogled-chromium-extension-search-path.patch \
%D%/packages/patches/ungoogled-chromium-RUNPATH.patch \
%D%/packages/patches/ungoogled-chromium-system-nspr.patch \
@@ -2484,6 +2461,7 @@ dist_patch_DATA = \
%D%/packages/patches/vcmi-disable-privacy-breach.patch \
%D%/packages/patches/vinagre-newer-freerdp.patch \
%D%/packages/patches/vinagre-newer-rdp-parameters.patch \
%D%/packages/patches/vlc-livemedia-2024.11.28.patch \
%D%/packages/patches/vsearch-unbundle-cityhash.patch \
%D%/packages/patches/vst3sdk-3.7.7-allow-winelib-compilation.patch \
%D%/packages/patches/vte-CVE-2012-2738-pt1.patch \
@@ -2531,8 +2509,8 @@ dist_patch_DATA = \
%D%/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch \
%D%/packages/patches/xpra-5.0-install_libs.patch \
%D%/packages/patches/xpra-5.0-systemd-run.patch \
%D%/packages/patches/xpra-6.4-systemd-run.patch \
%D%/packages/patches/xpra-6.4-install_libs.patch \
%D%/packages/patches/xpra-6.0-systemd-run.patch \
%D%/packages/patches/xpra-6.1-install_libs.patch \
%D%/packages/patches/xterm-370-explicit-xcursor.patch \
%D%/packages/patches/xygrib-fix-finding-data.patch \
%D%/packages/patches/xygrib-newer-proj.patch \
+44
View File
@@ -235,6 +235,50 @@ incorporated.")
(home-page "https://brltty.app/")
(license license:lgpl2.1+)))
(define-public florence
(package
(name "florence")
(version "0.6.3")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/florence/florence/" version
"/florence-" version ".tar.bz2"))
(sha256
(base32
"07h9qm22krlwayhzvc391lr23vicw81s48g7rirvx1fj0zyr4aa2"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags (list "--with-xtst"
"--without-docs"
"--with-notification")))
(inputs
(list libxml2
libglade
(librsvg-for-system)
gstreamer
cairo
gtk+
libxtst
libxcomposite
libnotify))
(native-inputs
(list gettext-minimal intltool pkg-config))
(home-page "https://florence.sourceforge.net/")
(synopsis "Extensible, scalable virtual keyboard for X11")
(description
"Florence is an extensible scalable virtual keyboard for X11.
It is useful for people who can't use a real hardware keyboard (for
example for people with disabilities), but you must be able to use
a pointing device (as a mouse, a trackball, a touchscreen or opengazer).
Florence stays out of your way when you don't need it: it appears on the
screen only when you need it. A timer-based auto-click input method is
available to help to click.")
;; The documentation is under FDL1.2, but we do not install the
;; documentation.
(license license:gpl2+)))
(define-public footswitch
(let ((commit "e455d6752221b9e9c3818cc304c873b9c2792490")
(revision "0"))
+56 -138
View File
@@ -48,7 +48,7 @@
;;; Copyright © 2021, 2025 muradm <mail@muradm.net>
;;; Copyright © 2021 pineapples <guixuser6392@protonmail.com>
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2021-2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2021-2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com>
;;; Copyright © 2022 Roman Riabenko <roman@riabenko.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
@@ -72,14 +72,13 @@
;;; Copyright © 2024 nathan <nathan_mail@nborghese.com>
;;; Copyright © 2024 Nikita Domnitskii <nikita@domnitskii.me>
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
;;; Copyright © 2024-2026 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2024, 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10@gmail.com>
;;; Copyright © 2025 Dariqq <dariqq@posteo.net>
;;; Copyright © 2024 nik gaffney <nik@fo.am>
;;; Copyright © 2025 Simon Streit <simon@netpanic.org>
;;; Copyright © 2025 Luca Kredel <luca.kredel@web.de>
;;; Copyright © 2025 ROCKTAKEY <rocktakey@gmail.com>
;;; Copyright © 2026 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -139,7 +138,6 @@
#:use-module (gnu packages dns)
#:use-module (gnu packages elf)
#:use-module (gnu packages file)
#:use-module (gnu packages file-systems)
#:use-module (gnu packages flex)
#:use-module (gnu packages fonts)
#:use-module (gnu packages freedesktop)
@@ -1076,7 +1074,7 @@ console.")
(define-public btop
(package
(name "btop")
(version "1.4.6")
(version "1.4.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1085,7 +1083,7 @@ console.")
(file-name (git-file-name name version))
(sha256
(base32
"1nj58dbv3c0rj8fngldkyrmdmacmjnbg8ch1c07ik97kqnnzd3l7"))))
"03dchclmbjphirzqii4m0vyqfd0vw1k8mgpchmr13g3brlfzxd34"))))
(build-system gnu-build-system)
(native-inputs (list lowdown))
(arguments
@@ -2527,7 +2525,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")
@@ -3148,25 +3146,20 @@ track changes in important system configuration files.")
(define-public libcap-ng
(package
(name "libcap-ng")
(version "0.9")
(version "0.8.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stevegrubb/libcap-ng")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (string-append
"https://people.redhat.com/sgrubb/libcap-ng/libcap-ng-"
version ".tar.gz"))
(sha256
(base32
"0izrrh2kmhi6dcy5iqcccmx90nwlaqcglhc60sl8n5ds8il14pi8"))))
"1zy6ga6cqi6qvy2p3091i8zbillymyv01g6gmapriymx3i6jk99v"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list "--disable-static"
"--without-python")))
(inputs
(list libbpf))
(native-inputs
(list autoconf automake libtool pkg-config))
(home-page "https://people.redhat.com/sgrubb/libcap-ng/")
(synopsis "Library for more easily working with POSIX capabilities")
(description
@@ -3420,7 +3413,7 @@ modules and plugins that extend Ansible.")
(define-public debops
(package
(name "debops")
(version "3.2.5")
(version "3.2.4")
(source
(origin
(method git-fetch)
@@ -3429,14 +3422,13 @@ modules and plugins that extend Ansible.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "15wfhha2b315i15l40j3sylyvs3mdrfw5awzq4cix51l5jppx8z5"))
(base32 "0y7bmrnynbw0hz88shfv301a9fsank2cx86fvb7jx6g6kkbsa9pz"))
(patches
(search-patches "debops-setup-py-avoid-git.patch"))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools))
(inputs
(list ansible
bash-minimal
encfs
fuse-2
util-linux ;; for umount
@@ -4505,7 +4497,7 @@ you are running, what theme or icon set you are using, etc.")
(define-public hyfetch
(package
(name "hyfetch")
(version "2.0.5")
(version "2.0.2")
(source
(origin
(method git-fetch)
@@ -4514,11 +4506,12 @@ you are running, what theme or icon set you are using, etc.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1xb0m7mna6mm3gc823c40rfdhnw39afdr3g7kb4cqrc21s7fdd5y"))))
(base32 "1h3s8m6csmxj815cpzh30m59132n8drxya0s2lh5ngjkpazgdnv3"))))
(build-system pyproject-build-system)
(native-inputs
(list python-hatchling
python-pytest))
(list python-pytest
python-setuptools
python-wheel))
(inputs
(list python-typing-extensions))
(home-page "https://github.com/hykilpikonna/HyFetch")
@@ -4724,7 +4717,7 @@ information tool.")
(define-public fastfetch-minimal
(package
(name "fastfetch-minimal")
(version "2.57.0")
(version "2.55.1")
(source
(origin
(method git-fetch)
@@ -4733,13 +4726,10 @@ information tool.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1cipr083bf8frqijvxnff7bgzvzczxksicaqj0m22avyhzxc7p3d"))
(base32 "0a2a8rp75nx16gvq0918999hifr2lph8dagpfipmyflaa5awlw54"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "src/3rdparty")
(substitute* "src/modules/logo/logo.c"
(("\"3rdparty/yyjson/yyjson.h\"")
"<yyjson.h>"))))))
(delete-file-recursively "src/3rdparty")))))
(build-system cmake-build-system)
(arguments
(list
@@ -4783,8 +4773,7 @@ system distribution, akin to many similar tools.")
libxcb
mesa
wayland
zlib ;for imagemagick and an #ifdef
zfs)))))
zlib))))) ;for imagemagick and an #ifdef
(define-public nnn
(package
@@ -4990,7 +4979,7 @@ launch daemons into the relevant nodes.")
;; Fails to build as c++17.
"CXXFLAGS=-std=c++14 -O2 -g")))
(inputs
(list openmpi munge launchmon libgcrypt zlib))
(list openmpi munge launchmon libgcrypt))
(synopsis "Scalable library loading in HPC environments")
(description
"Spindle is a tool for improving the performance of dynamic library and
@@ -5142,102 +5131,36 @@ support forum. It runs with the @code{/exec} command in most IRC clients.")
(define-public python-pyudev
(package
(name "python-pyudev")
(version "0.24.4")
(version "0.22.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pyudev/pyudev")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1m7xrsazbij5dcmnirn9hq6cwrfmzam5mr3kmvvcgnh24nhm401x"))))
(build-system pyproject-build-system)
(origin
(method url-fetch)
(uri (pypi-uri "pyudev" version))
(sha256
(base32
"0xmj6l08iih2js9skjqpv4w7y0dhxyg91zmrs6v5aa65gbmipfv9"))))
(build-system python-build-system)
(arguments
(list
;; tests: 46 passed, 36 skipped, 79 deselected, 2 warnings
#:test-flags
;; These tests actually try to read /sys/devices:
#~(list "-k" (string-join
(list "not test_action"
"test_action_mock"
"test_ancestors"
"test_anything"
"test_asbool"
"test_asint"
"test_asstring"
"test_attributes"
"test_contains_mock"
"test_deprecated_handler"
"test_device_node"
"test_device_number"
"test_device_ordering"
"test_device_path"
"test_device_sys_name"
"test_driver"
"test_equality"
"test_fake"
"test_fake_monitor"
"test_find_parent_no_devtype_mock"
"test_find_parent_with_devtype_mock"
"test_from_device_file"
"test_from_device_number"
"test_from_device_number_wrong_type"
"test_from_name"
"test_from_name_no_device_in_existing_subsystem"
"test_from_path"
"test_from_path_strips_leading_slash"
"test_from_sys_path"
"test_getitem"
"test_getitem"
"test_getitem_nonexisting"
"test_hash"
"test_inequality"
"test_is_initialized"
"test_is_initialized_mock"
"test_iteration"
"test_iteration_mock"
"test_key_subset"
"test_length"
"test_links"
"test_match"
"test_match_parent"
"test_match_property_bool"
"test_match_subsystem"
"test_match_subsystem_nomatch_complete"
"test_match_subsystem_nomatch_unfulfillable"
"test_name"
"test_non_iterable"
"test_parent"
"test_path"
"test_sequence_number"
"test_subsystem"
"test_sys_number"
"test_sys_path"
"test_tags"
"test_time_since_initialized"
"test_time_since_initialized_mock"
"test_traverse"
"test_type"
"test_unsetitem")
" and not "))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-ctypes-udev
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/pyudev/core.py"
(("\"udev\"")
(format #f "~s"
(search-input-file inputs "/lib/libudev.so"))))
(substitute* "src/pyudev/_ctypeslib/utils.py"
`(#:tests? #f ; Tests require /sys
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-ctypes-udev
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((eudev (assoc-ref inputs "eudev")))
(substitute* "src/pyudev/core.py"
(("'udev'")
(string-append "'" eudev "/lib/libudev.so'")))
(substitute* "src/pyudev/_ctypeslib/utils.py"
;; Use absolute paths instead of keys.
(("= find_library") "= ")))))))
(native-inputs
(list python-pytest
python-setuptools))
(("= find_library") "= "))
#t))))))
(inputs
(list eudev))
(propagated-inputs
(list python-six))
(native-inputs
(list python-docutils python-hypothesis python-mock python-pytest
python-sphinx))
(home-page "https://pyudev.readthedocs.io/")
(synopsis "Python udev binding")
(description "This package provides @code{udev} bindings for Python.")
@@ -5278,7 +5201,7 @@ cache of unix and unix-like systems.")
(define-public solaar
(package
(name "solaar")
(version "1.1.18")
(version "1.1.16")
(source
(origin
(method git-fetch)
@@ -5287,7 +5210,7 @@ cache of unix and unix-like systems.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0wf8rkm9anxr9iw51yxaav9cifpfkf1m4cw7i9rfsq8xb3aa2n9b"))))
(base32 "1q05pcrl1pr6ls92m5k690qrwqb4nz1lganxvbj9b40w3c6nh5iy"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
@@ -5664,7 +5587,7 @@ entries, providing commands to add, remove, comment, and search.")
(define-public nmrpflash
(package
(name "nmrpflash")
(version "0.9.26")
(version "0.9.25")
(source
(origin
(method git-fetch)
@@ -5673,7 +5596,7 @@ entries, providing commands to add, remove, comment, and search.")
(url "https://github.com/jclehner/nmrpflash")
(commit (string-append "v" version))))
(sha256
(base32 "19dna96qg32nscvsalgd0xslp3da84aj196cczdm0ixhv1k9pvi3"))
(base32 "0xqvj52m6rk0gma8saqvp8b4jms9hca8i1v2kb5hcd6miaqgx276"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -5922,11 +5845,6 @@ This program allows you to view and manipulate this EEPROM list.")
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(setenv "CONFIG_SHELL" (which "bash"))
(setenv "CFLAGS"
(string-append "-g -O2 "
"-Wno-error=implicit-int "
"-Wno-error=implicit-function-declaration "
"-Wno-error=incompatible-pointer-types"))
(invoke "./configure"
(string-append "--prefix="
(assoc-ref outputs "out"))))))))
@@ -7036,7 +6954,7 @@ network, which causes enabled computers to power on.")
(define-public witr
(package
(name "witr")
(version "0.1.7")
(version "0.1.1")
(source
(origin
(method git-fetch)
@@ -7045,7 +6963,7 @@ network, which causes enabled computers to power on.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "18xx01lxd5j019gy9jmpms3awv4snlr028w01bfkyfid6hlwxbq2"))))
(base32 "016yiwn0b00ynllka6h2w6gk2yjzj5nx2xf26shb0cz4crdwww0d"))))
(build-system go-build-system)
(arguments
(list
@@ -7071,7 +6989,7 @@ working directory, user, pid, command, and so on.")
(define-public xfel
(package
(name "xfel")
(version "1.3.5")
(version "1.3.3")
(source
(origin
(method git-fetch)
@@ -7079,7 +6997,7 @@ working directory, user, pid, command, and so on.")
(url "https://github.com/xboot/xfel")
(commit (string-append "v" version))))
(sha256
(base32 "1vmb3dr3vplxdxn9i8i4chdnfihb429rakvkqsfccb885ivkkn3b"))
(base32 "15xlqkj7lf3xszgfyci32lrwdjhqmmm9clmwlp1qn6hywal3d2p4"))
(file-name (git-file-name name version))))
(native-inputs
(list pkg-config))
+16 -29
View File
@@ -9,7 +9,6 @@
;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2024, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -132,24 +131,29 @@ read all zbar supported codes.")
(define-public zint
(package
(name "zint")
(version "2.16.0")
(version "2.15.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zint/zint")
(commit version)))
(url "https://github.com/zint/zint")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1zpv9ar1kfjl3bb27jc8hd8601zcda9yv4dz1jhxfhdsg6v4cdg7"))))
(build-system cmake-build-system)
"0arnpdqspyy3bxafm3lqc020bhwq3vazfnja2fk2s8c7mr9wimgr"))))
(build-system qt-build-system)
(arguments
(list #:disallowed-references (list qtbase)
#:parallel-tests? #f ;test suite fails otherwise
#:configure-flags #~(list "-DZINT_TEST=ON"
"-DZINT_UNINSTALL=OFF")))
(native-inputs (list pkg-config))
(inputs (list libpng))
(list #:qtbase qtbase
#:parallel-tests? #f
#:configure-flags
#~(list "-DZINT_QT6=ON"
"-DZINT_TEST=ON"
"-DZINT_UNINSTALL=OFF")))
(native-inputs
(list pkg-config qttools))
(inputs
(list libpng
qtsvg))
(synopsis "Barcode encoding library")
(description "Zint is a suite of programs to allow easy encoding of data in
any of the wide range of public domain barcode standards and to allow
@@ -157,23 +161,6 @@ integration of this capability into your own programs.")
(home-page "https://www.zint.org.uk/")
(license (list license:bsd-3 license:gpl3+))))
(define-public zint-with-qt
(package/inherit zint
(name "zint-with-qt")
(build-system qt-build-system)
(arguments (substitute-keyword-arguments (package-arguments zint)
((#:disallowed-references references)
(delete qtbase references))
((#:qtbase _ #f)
qtbase)
((#:configure-flags flags ''())
#~(cons "-DZINT_QT6=ON" #$flags))))
(inputs (modify-inputs (package-inputs zint)
;; The UI library of qttools is linked to; hence it must be used
;; as an input rather than a native input.
(append qtsvg qttools)))
(synopsis "Barcode encoding library (with graphical user interface)")))
(define-public zxing-cpp
(package
(name "zxing-cpp")
+2 -40
View File
@@ -17,7 +17,7 @@
;;; Copyright © 2022 宋文武 <iyzsong@envs.net>
;;; Copyright © 2022 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2023 Mehmet Tekman <mtekman89@gmail.com>
;;; Copyright © 2025-2026 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com>
;;; Copyright © 2025 Skylar Hill <stellarskylark@posteo.net>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
@@ -805,7 +805,7 @@ a C program.")
(native-inputs
(list googletest
pkg-config
python-numpy
python-numpy-2
python-wrapper))
(inputs
(list fftw
@@ -985,44 +985,6 @@ gnu build version."))))
(string-append (package-description fftw)
" With OpenMPI parallelism support."))))
(define-public python-pyflct
(package
(name "python-pyflct")
(version "0.3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyflct" version))
(sha256
(base32 "1xv4h1a4f8y3ww97g2vc7fg2scfi142vwjz556nx0r1nnpgggj41"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 6 passed
#:test-flags
#~(list "--pyargs" "pyflct")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'remove-local-source
(lambda _
(delete-file-recursively "pyflct"))))))
(native-inputs
(list python-cython
python-extension-helpers
python-pytest
python-setuptools
python-setuptools-scm))
(inputs
(list fftw))
(propagated-inputs
(list python-numpy
python-packaging))
(home-page "https://docs.sunpy.org/projects/pyflct/")
(synopsis "Python wrapper for Fourier Local Correlation Tracking")
(description
"This package provides a Python wrapper for Fourier Local Correlation Tracking.")
(license license:lgpl2.1)))
(define-public java-la4j
(package
(name "java-la4j")
+98 -89
View File
@@ -37,7 +37,6 @@
#:use-module (guix git-download)
#:use-module (guix build-system android-ndk)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system emacs)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
@@ -468,17 +467,29 @@ the corresponding @command{rsync} flags.")
(package
(name "mkbootimg")
(version (android-platform-version))
(source (android-platform-system-core version))
(build-system copy-build-system)
(source (origin
(inherit (android-platform-system-core version))))
(build-system python-build-system)
(arguments
(list
#:install-plan
''(("mkbootimg/mkbootimg" "bin/")
("mkbootimg/bootimg.h" "include/"))))
(inputs (list python-wrapper))
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'enter-source
(lambda _ (chdir "mkbootimg") #t))
(delete 'configure)
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(include (string-append out "/include")))
(install-file "mkbootimg" bin)
(install-file "bootimg.h" include)
#t))))))
(home-page "https://developer.android.com/studio/command-line/adb.html")
(synopsis "Tool to create Android boot images")
(description "This package provides a tool to create Android Boot Images.")
(description "This package provides a tool to create Android Boot
Images.")
(license license:asl2.0)))
(define-public android-safe-iop
@@ -972,7 +983,7 @@ The standard for the ETC1 texture format can be found at
(define-public git-repo
(package
(name "git-repo")
(version "2.60.1")
(version "2.4.1")
(source
(origin
(method git-fetch)
@@ -981,90 +992,88 @@ The standard for the ETC1 texture format can be found at
(commit (string-append "v" version))))
(file-name (string-append "git-repo-" version "-checkout"))
(sha256
(base32 "1cx1b0zmvnmglyn6kbdifcy6w3gm89z2icw4pykxm0wyasy7sc1c"))))
(build-system pyproject-build-system)
(base32 "0khg1731927gvin73dcbw1657kbfq4k7agla5rpzqcnwkk5agzg3"))))
(build-system python-build-system)
(arguments
(list
#:test-flags
#~(list
;; XXX: Requires GnuPG.
"--deselect=tests/test_wrapper.py::SetupGnuPG::test_full"
;; This is expected, as the package is patched for this.
"-k" "not test_fetches_when_stale")
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-executable-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* '("repo" "git_command.py")
(("^GIT = 'git'")
(format #f "GIT = '~a'"
(search-input-file inputs "/bin/git"))))
(substitute* "git_config.py"
((" command_base = \\['ssh',")
(format #f " command_base = ['~a',"
(search-input-file inputs "/bin/ssh"))))))
(add-before 'build 'do-not-self-update
(lambda* (#:key outputs #:allow-other-keys)
;; Setting the REPO_MAIN variable to an absolute file name is
;; enough to have _FindRepo return the store main.py file. The
;; self update mechanism is activated with the call to _Init() in
;; main(), so we bypass it.
;; Ticket requesting upstream to provide a mean to disable the
;; self update mechanism:
;; https://bugs.chromium.org/p/gerrit/issues/detail?id=12407.
(let ((repo-main (string-append #$output
"/share/git-repo/main.py")))
(substitute* "repo"
(("^REPO_MAIN = .*")
(format #f "REPO_MAIN = ~s~%" repo-main))
((" _Init\\(args, gitc_init=\\(cmd ==.*" all)
(string-append "True #" all)))
;; Prevent repo from trying to git describe its version from
;; the (disabled) self updated copy.
(substitute* "git_command.py"
(("ver = getattr\\(RepoSourceVersion.*")
(format #f "ver = ~s~%" #$version)))
(substitute* "subcmds/version.py"
(("rp_ver = .*")
(format #f "rp_ver = ~s~%" #$version)))
;; Prevent repo from adding its (disabled) self update copy to
;; the list of projects to fetch when using 'repo sync'.
(substitute* "subcmds/sync.py"
(("to_fetch\\.extend\\(all_projects\\).*" all)
(string-append "#" all))
(("self\\._Fetch\\(to_fetch")
"self._Fetch(all_projects")
(("_PostRepoFetch\\(rp, opt\\.repo_verify).*" all)
(string-append "pass #" all))))))
(delete 'build) ;nothing to build
(add-before 'check 'configure-git
(lambda _
(setenv "HOME" (getcwd))
;; XXX: pytest needs this for conftest to import local modules.
(setenv "PYTHONPATH" (getcwd))
(invoke "git" "config" "--global" "user.email" "you@example.com")
(invoke "git" "config" "--global" "user.name" "Your Name")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((bin-dir (string-append #$output "/bin"))
(repo-dir (string-append #$output "/share/"
#$name)))
(mkdir-p bin-dir)
(mkdir-p repo-dir)
(copy-recursively "." repo-dir)
(delete-file-recursively (string-append repo-dir "/tests"))
(symlink (string-append repo-dir "/repo")
(string-append bin-dir "/repo"))))))))
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'set-executable-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(git (assoc-ref inputs "git"))
(ssh (assoc-ref inputs "ssh")))
(substitute* '("repo" "git_command.py")
(("^GIT = 'git'")
(string-append "GIT = '" git "/bin/git'")))
(substitute* "git_config.py"
((" command_base = \\['ssh',")
(string-append " command_base = ['" ssh "/bin/ssh',")))
#t)))
(add-before 'build 'do-not-self-update
(lambda* (#:key outputs #:allow-other-keys)
;; Setting the REPO_MAIN variable to an absolute file name is
;; enough to have _FindRepo return the store main.py file. The
;; self update mechanism is activated with the call to _Init() in
;; main(), so we bypass it.
;; Ticket requesting upstream to provide a mean to disable the
;; self update mechanism:
;; https://bugs.chromium.org/p/gerrit/issues/detail?id=12407.
(let* ((out (assoc-ref outputs "out"))
(repo-main (string-append out "/share/git-repo/main.py")))
(substitute* "repo"
(("^REPO_MAIN = .*")
(format #f "REPO_MAIN = ~s~%" repo-main))
((" _Init\\(args, gitc_init=\\(cmd ==.*" all)
(string-append "True #" all)))
;; Prevent repo from trying to git describe its version from
;; the (disabled) self updated copy.
(substitute* "git_command.py"
(("ver = getattr\\(RepoSourceVersion.*")
(format #f "ver = ~s~%" ,version)))
(substitute* "subcmds/version.py"
(("rp_ver = .*")
(format #f "rp_ver = ~s~%" ,version)))
;; Prevent repo from adding its (disabled) self update copy to
;; the list of projects to fetch when using 'repo sync'.
(substitute* "subcmds/sync.py"
(("to_fetch\\.extend\\(all_projects\\).*" all)
(string-append "#" all))
(("self\\._Fetch\\(to_fetch")
"self._Fetch(all_projects")
(("_PostRepoFetch\\(rp, opt\\.repo_verify).*" all)
(string-append "#" all))))))
(delete 'build) ; nothing to build
(add-before 'check 'configure-git
(lambda _
(setenv "HOME" (getcwd))
(invoke "git" "config" "--global" "user.email" "you@example.com")
(invoke "git" "config" "--global" "user.name" "Your Name")))
(replace 'check
(lambda _
(invoke "./run_tests")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin-dir (string-append out "/bin"))
(repo-dir (string-append out "/share/" ,name)))
(mkdir-p bin-dir)
(mkdir-p repo-dir)
(copy-recursively "." repo-dir)
(delete-file-recursively (string-append repo-dir "/tests"))
(symlink (string-append repo-dir "/repo")
(string-append bin-dir "/repo"))
#t))))))
(inputs
;; TODO: Add git-remote-persistent-https once it is available in guix
(list git openssh))
(native-inputs (list python-pytest python-setuptools))
`(("git" ,git)
("ssh" ,openssh)))
(native-inputs
`(("pytest" ,python-pytest)))
(home-page "https://code.google.com/p/git-repo/")
(synopsis "Helps to manage many Git repositories")
(description
"Repo is a tool built on top of Git. Repo helps manage many Git
repositories, does the uploads to revision control systems, and automates
(description "Repo is a tool built on top of Git. Repo helps manage many
Git repositories, does the uploads to revision control systems, and automates
parts of the development workflow. Repo is not meant to replace Git, only to
make it easier to work with Git. The repo command is an executable Python
script that you can put anywhere in your path.")
+3 -4
View File
@@ -316,7 +316,7 @@ language.")
;; Ensure that all required Qt plugins are found at runtime.
(add-after 'install 'wrap-executable
(lambda* (#:key inputs #:allow-other-keys)
(let ((qt '("qtbase" "qtmultimedia" "qtwayland")))
(let ((qt '("qtbase" "qtmultimedia")))
(wrap-program (string-append #$output "/bin/Papagayo")
`("QT_PLUGIN_PATH" ":" prefix
,(map (lambda (label)
@@ -324,7 +324,7 @@ language.")
"/lib/qt5/plugins/"))
qt)))))))))
(inputs
(list bash-minimal qtbase-5 qtmultimedia-5 qtwayland-5 libsndfile))
(list bash-minimal qtbase-5 qtmultimedia-5 libsndfile))
(native-inputs
(list qttools-5))
(home-page "https://www.lostmarble.com/papagayo/")
@@ -352,8 +352,7 @@ waveform until they line up with the proper sounds.")
"0b1nwiwyg01087q318vymg4si76dw41ykxbn2zwd6dqbxzbpr1dh"))))
(build-system gnu-build-system)
(inputs
(list bash-minimal qtbase-5 qtxmlpatterns-5 qtmultimedia-5 qtsvg-5
qtwayland-5))
(list bash-minimal qtbase-5 qtxmlpatterns-5 qtmultimedia-5 qtsvg-5))
(arguments
(list
#:phases
+2 -3
View File
@@ -41,7 +41,7 @@
(define-public libapparmor
(package
(name "libapparmor")
(version "4.1.2")
(version "3.1.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -50,7 +50,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"0p3vq0awvn4ar6sblmhcs0i9m7zc9kbwm3f3zcggx4lqgmy8s18b"))))
"1h77a7ww0rxfv5nsi1iy4fffklxdr2vq6r7kdsqm15yysglhbjyi"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
@@ -84,7 +84,6 @@
(chdir "libraries/libapparmor"))))))
(native-inputs
(list autoconf
autoconf-archive
automake
bison
dejagnu
+637 -1116
View File
File diff suppressed because it is too large Load Diff
+30 -326
View File
@@ -59,7 +59,6 @@
;;; Copyright © 2025 Antoine Côté <antoine.cote@posteo.net>
;;; Copyright © 2025 Isidor Zeuner <guix@quidecco.pl>
;;; Copyright © 2025 Evgenii Klimov <eugene.dev@lipklim.org>
;;; Copyright © 2026 Luis Guilherme Coelho <lgcoelho@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -133,7 +132,6 @@
#:use-module (gnu packages networking)
#:use-module (gnu packages ninja)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages oneapi)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio) ;libsndfile, libsamplerate
@@ -153,10 +151,10 @@
#:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tbb)
#:use-module (gnu packages telephony)
#:use-module (gnu packages tex)
#:use-module (gnu packages tls)
#:use-module (gnu packages toolkits)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages version-control)
#:use-module (gnu packages video)
@@ -813,147 +811,6 @@ attacks, performing pitch detection, tapping the beat and producing MIDI
streams from live audio.")
(license license:gpl3+)))
(define-public dexed
(package
(name "dexed")
(version "1.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/asb2m10/dexed")
(commit (string-append "v" version))
;; This is a JUCE project and so it bundles a particular
;; version of the JUCE repository and the sources of
;; other libraries.
(recursive? #true)))
(file-name (git-file-name name version))
(sha256
(base32
"1n604cvkjs11wqnaxnqzx8fgjj1klz85fnka15nnmhz49lqdlipl"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #false ;there are none
#:modules '((guix build utils)
(guix build cmake-build-system)
(guix base32)
(ice-9 string-fun)
(ice-9 regex)
(rnrs bytevectors))
#:imported-modules `((guix base32)
(guix build cmake-build-system)
,@%default-gnu-imported-modules)
#:configure-flags
;; We extract the build identifer from the output prefix. This is more
;; useful than setting it to a constant string.
#~(let ((build-id
(lambda (out)
(let* ((nix-store (string-append
(or (getenv "NIX_STORE") "/gnu/store")
"/"))
(filename
(string-replace-substring out nix-store ""))
(hash (match:substring (string-match "[0-9a-z]{32}"
filename)))
(bv (nix-base32-string->bytevector hash)))
(format #f "0x~x"
(bytevector-u32-ref bv 0 (endianness big)))))))
(list (string-append "-DBUILD_ID=" (build-id #$output))))
#:phases
#~(modify-phases %standard-phases
;; HOME must be defined for .vst3
(add-after 'unpack 'set-home-directory
(lambda _ (setenv "HOME" "HOME")))
(add-after 'unpack 'patch-libraries
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "libs/JUCE/modules/juce_gui_basics/native/juce_XSymbols_linux.h"
(("libX11.so.6")
(search-input-file inputs "/lib/libX11.so.6"))
(("libXext.so.6")
(search-input-file inputs "/lib/libXext.so.6"))
(("libXcursor.so.1")
(search-input-file inputs "/lib/libXcursor.so.1"))
(("libXinerama.so.1")
(search-input-file inputs "/lib/libXinerama.so.1"))
(("libXrender.so.1")
(search-input-file inputs "/lib/libXrender.so.1"))
(("libXrandr.so.2")
(search-input-file inputs "/lib/libXrandr.so.2")))))
(add-after 'unpack 'enable-lv2-format
(lambda _
(substitute* "Source/CMakeLists.txt"
(("set\\(DEXED_JUCE_FORMATS Standalone\\).*" m)
(string-append m "
if(NOT DEXED_SKIP_LV2)
list(APPEND DEXED_JUCE_FORMATS LV2)
endif()
"))
(("PRODUCT_NAME \"Dexed\".*" m)
(string-append m "
LV2URI \"https://github.com/asb2m10/dexed\"
")))))
(replace 'install
(lambda* (#:key build-type #:allow-other-keys)
(with-directory-excursion "Source/Dexed_artefacts"
(install-file (string-append build-type "/Standalone/Dexed")
(string-append #$output "/bin"))
(mkdir-p (string-append #$output:clap "/lib"))
(copy-recursively (string-append build-type "/CLAP")
(string-append #$output:clap "/lib"))
(mkdir-p (string-append #$output:lv2 "/lib"))
(copy-recursively (string-append build-type "/LV2")
(string-append #$output:lv2 "/lib"))
(mkdir-p (string-append #$output:vst3 "/lib"))
(copy-recursively (string-append build-type "/VST3")
(string-append #$output:vst3 "/lib"))))))))
(inputs
(list alsa-lib
freetype
gtk+
jack-2
libx11
libxcursor
libxext
libxinerama
libxrandr
libxrender
lv2
mesa))
(native-inputs
(list pkg-config))
(outputs '("out" "lv2" "clap" "vst3"))
(home-page "https://asb2m10.github.io/dexed/")
(synopsis "Frequency modulation (FM) plugin synthesizer")
(description
"Dexed is a multi-platform, multi-format plugin synthesizer. The sound
engine is closely modeled on the original Yamaha DX7 characteristics. Dexed
is also a MIDI cartridge librarian/manager for the DX7. Features include:
@enumerate
@item 144 DAW automatable DX7 parameters available from one single panel;
@item It fully supports DX7 input and output Sysex messages; including
controller change. This means that you can use this with a native DX7/TX7 as
a patch editor and sysex manager.
@item Every FM operator has a realtime VU meter to know which one is active.
@item It can load/save any DX7/TX7 sysex programs. It is also possible to
save a single program into a different sysex file.
@end enumerate
Dexed can be configured to use some of the original math limitation of a DX
synthesizer. This does not only apply to the DAC, it also involves the bit
resolution of the sine waves and the way that the amplitude is applied to each
operator. Dexed comes with three engine types:
@enumerate
@item Modern: this is the original 24-bit implementation.
@item Mark I: Based on the OPL Series but at a higher resolution (LUT are
10-bits). The target of this engine is to be closest to the real DX7.
@item OPL Series: this is an experimental 8-bit implementation of the reversed
engineered OPL family chips.
@end enumerate
")
(license license:gpl3+)))
(define-public dsp
(package
(name "dsp")
@@ -3424,30 +3281,6 @@ from being able to mix multiple JACK audio streams.")
(home-page "https://rdio.space/jackmixer/")
(license license:gpl2+)))
(define-public pipemixer
(package
(name "pipemixer")
(version "0.4.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/heather7283/pipemixer")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "08ji4lg24flzi6g3yaavfq8hz3kr98q2ripk5m4qk9z172qxbbc9"))))
(build-system meson-build-system)
(native-inputs
(list pkg-config))
(inputs
(list libinih ncurses pipewire-minimal))
(synopsis "TUI volume control app for pipewire.")
(description "This is a TUI volume control application for pipewire built with
ncurses. Heavily inspired by pulsemixer and pwvucontrol.")
(home-page "https://github.com/heather7283/pipemixer")
(license license:gpl3)))
(define-public jalv
(package
(name "jalv")
@@ -3802,31 +3635,27 @@ cross-platform audio input/output stream library.")
(define-public python-pulsectl
(package
(name "python-pulsectl")
(version "24.12.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mk-fg/python-pulse-control")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1f15w2312j2yc9bs689dvdgq891sjrp5x3q1vf08743px70gxc1m"))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;tests try to communicate with PulseAudio
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "pulsectl/_pulsectl.py"
(("libpulse.so.0")
(search-input-file inputs "/lib/libpulse.so.0"))))))))
(native-inputs (list python-setuptools))
(version "24.4.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "pulsectl" version))
(sha256
(base32
"0r9igs365cqgrn1m55a8qjz0hc446nwjm3p3i9kphbj5gl7dazk9"))))
(build-system python-build-system)
(inputs (list pulseaudio))
(arguments
`(#:tests? #f ; tests try to communicate with PulseAudio
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "pulsectl/_pulsectl.py"
(("libpulse.so.0")
(string-append (search-input-file inputs "/lib/libpulse.so.0")))))))))
(home-page "https://github.com/mk-fg/python-pulse-control")
(synopsis "Python bindings for mixer-like controls in PulseAudio")
(synopsis
"Python bindings for mixer-like controls in PulseAudio")
(description
"This package provides a Python high-level interface and ctypes-based
bindings for PulseAudio (libpulse), to use in simple synchronous code.
@@ -3991,21 +3820,16 @@ one-dimensional sample-rate conversion library.")
(version "0.2.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/NFJones/python3-midi")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "python3_midi" version))
(sha256
(base32 "1zihn7n9dr9jjgkjlpad515hhwh22k94irb21ji793sr5crh5s15"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ; XXX: midi module has not been packaged yet.
(native-inputs (list python-setuptools))
(base32
"1z9j1w7mpn3xhkcpxmqm5rvmj6nffb5rf14bv7n3sdh07nf6n7sf"))))
(build-system python-build-system)
(home-page "https://github.com/NFJones/python3-midi")
(synopsis "Python MIDI API")
(description
"This package provides a python API to read and write MIDI files.")
(description "This package provides a python API to read and write MIDI
files.")
(license license:expat)))
(define-public python-wavefile
@@ -4495,126 +4319,6 @@ different audio devices such as ALSA or PulseAudio.")
(license:non-copyleft
"file://src/TPCircularBuffer/README.markdown")))))
(define-public projectm-eval
(package
(name "projectm-eval")
(version "1.0.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/projectM-visualizer/projectm-eval")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04m5k6azji0fk3japzd8v4k04affbfpangfw4fgvk3ac5w75872a"))))
(build-system cmake-build-system)
(native-inputs (list googletest))
(home-page "https://github.com/projectM-visualizer/projectm-eval")
(synopsis "Re-implementation of the NullSoft Expression Evaluation Library")
(description "This is an open-source re-implementation of the NullSoft
Expression Evaluation Library 2, as used in the Milkdrop music visualizer.")
(license license:expat)))
(define-public projectm
(package
(name "projectm")
(version "4.1.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/projectM-visualizer/projectm")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0yw1q6zmx2683immxfxn2kxjwwv6xk9m6yja701m4z2brhdx1iw1"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(list
"-DBUILD_TESTING=ON" "-DENABLE_SDL_UI=OFF" "-DENABLE_SYSTEM_GLM=ON")))
(inputs (list mesa projectm-eval))
(native-inputs (list googletest glm))
(home-page "https://github.com/projectM-visualizer/projectm")
(synopsis "Milkdrop-like music visualizer")
(description "projectM is an open-source re-implementation of the MilkDrop
visualizer. This package contains only the libprojectm library.")
(license license:lgpl2.1+)))
(define-public projectm-presets
(let ((commit "0180df21f5e0bd39b9060cc5de420ed2f1f9e509")
(revision "0"))
(package
(name "projectm-presets")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/projectM-visualizer/presets-cream-of-the-crop")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1g64s6v4xbmx0skiy3ag9889adl8rvwahzd7rmrchiwbd1gap771"))))
(build-system copy-build-system)
(home-page "https://github.com/projectM-visualizer/presets-cream-of-the-crop")
(synopsis "Curated selection of ProjectM/Milkdrop presets")
(description "A curated selection of 9,795 ProjectM/Milkdrop presets,
meant to be included in any projectM-based application.")
(license license:public-domain))))
(define-public projectm-sdl
(let ((source-commit "72e5632897c9d9bef452c679d3cbe8c7b4bb4157")
(revision "0"))
(package
(name "projectm-sdl")
(version (git-version "0" revision source-commit))
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/projectM-visualizer/frontend-sdl-cpp")
(commit source-commit)))
(file-name (git-file-name name version))
(sha256
(base32 "14vsjn589lrcwkz0d4528i33aslqsgh7m17kxj0fyd21pwj5n54l"))
(modules '((guix build utils)))
;;There are no icon files to install.
(snippet #~(substitute* "install.cmake" (("install_icon.+") "")))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ;There are no tests.
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'link-imgui
(lambda* (#:key inputs #:allow-other-keys)
(begin (delete-file-recursively "vendor/imgui")
(symlink (assoc-ref %build-inputs "imgui-source")
"vendor/imgui")))))
#:configure-flags
#~(list
;; There are texture repositories from both ProjectM and
;; Milkdrop, but their licensing is unclear, so they are not
;; packaged. ProjectM functions fine with only presets.
(string-append "-DDEFAULT_PRESETS_PATH="
(assoc-ref %build-inputs "projectm-presets"))
;; The config location search path can be changed, but the
;; install path stays the same, so only this value works.
;; And without it, only the binary's path is checked.
(string-append "-DDEFAULT_CONFIG_PATH="
#$output "/share/projectMSDL/"))))
(inputs (list freetype poco projectm projectm-presets sdl2))
(native-inputs (list `("imgui-source" ,(package-source imgui))))
(home-page "https://github.com/projectM-visualizer/frontend-sdl-cpp")
(synopsis "Reference frontend for the libprojectm music visualizer")
(description "This is a simple Milkdrop-like music visualizer that uses
the projectM library to visualize audio input.")
(license license:gpl3+)))) ;presets
(define-public qjackctl
(package
(name "qjackctl")
@@ -8031,7 +7735,7 @@ and DSD streams.")
(define-public qpwgraph
(package
(name "qpwgraph")
(version "0.9.8")
(version "0.9.7")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -8040,7 +7744,7 @@ and DSD streams.")
(file-name (git-file-name name version))
(sha256
(base32
"1d45qzjiixjmzjpaa04qvnz69bpf6dhlcq56zrgps507rr413fbx"))))
"1j3na9svy0rvz84rl9g2szl3rqxfyi5rqk1i12hdiwnyi6q7ppxi"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f)) ; no tests
@@ -8249,7 +7953,7 @@ verifies checksums.")
pipewire
rnnoise
speexdsp
onetbb
tbb
zita-convolver
soundtouch))
;; Propagating these allows EasyEffects to find the plugins via their
@@ -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
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+2 -58
View File
@@ -21,7 +21,7 @@
;;; Copyright © 2021 Timothy Sample <samplet@ngyro.com>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2022, 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2022 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2022 Feng Shu <tumashu@163.com>
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
@@ -140,7 +140,7 @@
tzdata-for-tests
python-mock))
(propagated-inputs
(list python-pygobject python-urllib3))
(list python-lockfile python-pygobject python-urllib3))
(inputs
(list bash-minimal ; to run the wrapped program
dbus ; dbus-launch (Gio backend)
@@ -357,62 +357,6 @@ random access nor for in-place modification. This package provides the
@command{bsdcat}, @command{bsdcpio} and @command{bsdtar} commands.")
(license license:bsd-2)))
;;; TODO: core update (20k rebuilds).
(define-public libarchive-next
(package
(inherit libarchive)
(name "libarchive")
(version "3.8.4")
(source
(origin
(method url-fetch)
(uri (list (string-append "https://libarchive.org/downloads/libarchive-"
version ".tar.xz")
(string-append "https://github.com/libarchive/libarchive"
"/releases/download/v" version "/libarchive-"
version ".tar.xz")))
(sha256
(base32
"0wxdr7qws1z1b1gp5jsm7n2ccnjlmrnds52d5wc5xkzagyslgf67"))))
(arguments
(substitute-keyword-arguments (package-arguments libarchive)
((#:phases phases)
#~(modify-phases #$phases
(delete 'patch-pwd)
(add-before 'build 'patch-commands
(lambda _
(substitute* "Makefile"
(("/bin/pwd") (which "pwd")))
(substitute* "test_utils/test_main.c"
(("/bin/sh") (which "sh")))))
(replace 'check
(lambda* (#:key parallel-build? tests? #:allow-other-keys)
(if tests?
(begin
;; These environment variables are taken from
;; <https://raw.githubusercontent.com/libarchive/libarchive/refs/heads/master/.github/workflows/ci.yml>
(setenv "SKIP_OPEN_FD_ERR_TEST" "1")
(setenv "IGNORE_TRAVERSALS_TEST4" "1")
;; XXX: The test_owner_parse, test_read_disk, and
;; test_write_disk_lookup tests expect user 'root' to
;; exist, but the chroot's /etc/passwd doesn't have it
;; (see:
;; <https://github.com/libarchive/libarchive/issues/2794>).
(invoke "make" "-j" (number->string
(if parallel-build?
(parallel-job-count)
1))
"libarchive_test"
"bsdcpio_test"
"bsdtar_test")
;; XXX: This glob disables too much.
(invoke "./libarchive_test" "^test_*_disk*")
(invoke "./bsdcpio_test" "^test_owner_parse")
(invoke "./bsdtar_test"))
;; Tests may be disabled if cross-compiling.
(format #t "Test suite not run.~%"))))))))))
(define-public rdup
(package
(name "rdup")
+117 -165
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015-2026 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015-2025 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018, 2020, 2021 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
@@ -716,14 +716,14 @@ sapiens @code{dbSNP} build 131.")
(define-public r-reactome-db
(package
(name "r-reactome-db")
(version "1.95.0")
(version "1.94.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "reactome.db" version 'annotation))
(sha256
(base32
"1b87byr45cmqa7jyd5fw3askmrzfhdljjp2d7jcmm88baf45mfg6"))))
"0a6gx6iss43innhkhydqmv4jpnwkkjfdl32zxr4kjvm57xb2k4p0"))))
(properties `((upstream-name . "reactome.db")))
(build-system r-build-system)
(propagated-inputs
@@ -3406,14 +3406,14 @@ the @code{HorvathMethylChip40} (Mammal40) array.")
(define-public r-systempiperdata
(package
(name "r-systempiperdata")
(version "2.14.2")
(version "2.14.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "systemPipeRdata" version
'experiment))
(sha256
(base32 "0qqkdrqvr0wic1hwrmhd6024w83gs66pdp0mc876qc68mv26nzwb"))))
(base32 "10q3dj16pkjdmqhxqfi255sszh7y1k6yw7j77n0gbh5223ay4zgw"))))
(properties `((upstream-name . "systemPipeRdata")))
(build-system r-build-system)
(propagated-inputs (list r-biocgenerics r-biostrings r-jsonlite r-remotes))
@@ -4639,13 +4639,13 @@ for use in Bioconductors AnnotationHub.")
(define-public r-anvil
(package
(name "r-anvil")
(version "1.22.3")
(version "1.22.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "AnVIL" version))
(sha256
(base32
"0na8m3d2svrcblz8xzwb560sar39anx1bp0i787rw9sk23f2kwrc"))))
"08r41q8zb72kbfslw851152h4k2q7jzkk0d85d6rmvdd3r1qd9bw"))))
(properties `((upstream-name . "AnVIL")))
(build-system r-build-system)
;; Tests require Internet access.
@@ -5504,13 +5504,13 @@ cohorts of interdependent C++ libraries.")
(define-public r-atena
(package
(name "r-atena")
(version "1.16.1")
(version "1.16.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "atena" version))
(sha256
(base32
"1wqgyk256d1dg4a9d9wwyfzw2my3sidjjgg0gmvnyfx8hrxav82g"))))
"02jbsk6inh63pcsandwik8cc0dd1q30raddkgxs7pszwlkdk1q73"))))
(properties `((upstream-name . "atena")))
(build-system r-build-system)
(propagated-inputs
@@ -6418,13 +6418,13 @@ how the coverage distributed across the genome.")
(define-public r-cpp11bigwig
(package
(name "r-cpp11bigwig")
(version "0.1.3")
(version "0.1.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "cpp11bigwig" version))
(sha256
(base32 "0p6s8h4a8a1j367iiq2n01bl6f6aijsli9lbm0k98hzfw8bqgdqk"))))
(base32 "0r8z8d1vsll2sdczcc982iqzilc2cph56jkm1va72mq8yds5pc5a"))))
(properties
'((upstream-name . "cpp11bigwig")
(updater-extra-inputs . ("curl"))))
@@ -7470,13 +7470,13 @@ dynamic documents and vignettes.")
(define-public r-escape
(package
(name "r-escape")
(version "2.6.2")
(version "2.6.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "escape" version))
(sha256
(base32 "1siimy3qsyjw6in2x2kf07ilyglamcq79n9lcysq755k1g2pz689"))))
(base32 "0cq6xlfvmxs3c6923ck3ipx1k6yh9kna3fnfahdsxb4b17hsrhzv"))))
(properties
'((upstream-name . "escape")
(updater-extra-native-inputs
@@ -7585,13 +7585,13 @@ arbitrary genomic intervals along chromosomal ideogram.")
(define-public r-immapex
(package
(name "r-immapex")
(version "1.4.3")
(version "1.4.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "immApex" version))
(sha256
(base32 "0hv342gn73y6rzdjmzyv1kwp8gbazqbcnzwh8iz69x57kx94mmvj"))))
(base32 "0xwj70fgfhqilc4clm54lj7h1q1742339z44nwbl1sjh049x388f"))))
(properties `((upstream-name . "immApex")))
(build-system r-build-system)
(arguments
@@ -8015,13 +8015,13 @@ objects can be used within Nebulosa.")
(define-public r-netgsa
(package
(name "r-netgsa")
(version "4.0.7")
(version "4.0.6")
(source
(origin
(method url-fetch)
(uri (cran-uri "netgsa" version))
(sha256
(base32 "0a38gg33h5qmihg61jh8lpckzhp7yrbgsdn8lqk7j0gcp5fc3ylv"))))
(base32 "0zdj464mlhm71cwgn6jhzb6nrpnwy6php7gifgzag7pin9zh0l5y"))))
(properties `((upstream-name . "netgsa")))
(build-system r-build-system)
(propagated-inputs (list r-annotationdbi
@@ -8038,6 +8038,7 @@ objects can be used within Nebulosa.")
r-magrittr
r-matrix
r-msigdbr
r-org-hs-eg-db
r-quadprog
r-rcpp
r-rcppeigen
@@ -9484,13 +9485,13 @@ global-scaling and full-quantile normalization.")
(define-public r-edger
(package
(name "r-edger")
(version "4.8.2")
(version "4.8.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "edgeR" version))
(sha256
(base32
"190dfvj5xfldiqppyqw1f0xxrjmg1wdsw32fn40k0yf55zrm256w"))))
"0r0384f1kxx861diwrwrrqqy0jv0qyc06rfhwl0x1m4lahcb3sk3"))))
(properties `((upstream-name . "edgeR")))
(build-system r-build-system)
(propagated-inputs
@@ -9510,16 +9511,16 @@ CAGE.")
(define-public r-enhancedvolcano
(package
(name "r-enhancedvolcano")
(version "1.28.2")
(version "1.26.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "EnhancedVolcano" version))
(sha256
(base32
"0gsanshy8ryg67xpfhysv0f6dax2niblz4qrakkcq5ki2l1d6dpw"))))
"19dxqk5dk9443a3949y3b2dhcphhn2lvi6fvlakqxll2lvhjqivi"))))
(properties `((upstream-name . "EnhancedVolcano")))
(build-system r-build-system)
(propagated-inputs (list r-ggplot2 r-ggrepel r-scales))
(propagated-inputs (list r-ggplot2 r-ggrepel))
(native-inputs (list r-biocgenerics r-knitr r-runit))
(home-page "https://github.com/kevinblighe/EnhancedVolcano")
(synopsis
@@ -9848,13 +9849,13 @@ genomic intervals. In addition, it can use BAM or BigWig files as input.")
(define-public r-genomeinfodb
(package
(name "r-genomeinfodb")
(version "1.46.2")
(version "1.46.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomeInfoDb" version))
(sha256
(base32
"1akwckiya3nv0j193h2nilg3240v3anrvvzjzqcnwwdiqvmsl68n"))))
"03mxzpz9pwhmg63is4pn5gbrkcphfj9nyzdpxymhy9s8nv3hzfd9"))))
(properties
'((upstream-name . "GenomeInfoDb")
(updater-ignored-native-inputs
@@ -10057,13 +10058,13 @@ provide added flexibility for data combination and manipulation.")
(define-public r-genomicranges
(package
(name "r-genomicranges")
(version "1.62.1")
(version "1.62.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomicRanges" version))
(sha256
(base32
"1mf5gcd33i65blgmihd1m48y32x14l8jxmihps2763i8vivipz30"))))
"0wsbl49c542k107cgczsw5dynnrrwk9hslks229zpvxlcvapmivv"))))
(properties
`((upstream-name . "GenomicRanges")
(updater-extra-native-inputs . ("r-runit"))
@@ -10259,13 +10260,13 @@ Enrichment Analysis} (GSEA).")
(define-public r-gsva
(package
(name "r-gsva")
(version "2.4.4")
(version "2.4.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GSVA" version))
(sha256
(base32
"1rvzy8rx3pxy4slmmbrzydgwv3w6pjfvgz8xnwkm7zl18ik1y3h6"))))
"0axpdds05vmrbpixdbp50a84rj93cm9cx56y10giknwljsa7zqfm"))))
(properties `((upstream-name . "GSVA")))
(build-system r-build-system)
(propagated-inputs (list r-biobase
@@ -10274,12 +10275,12 @@ Enrichment Analysis} (GSEA).")
r-biocsingular
r-cli
r-delayedarray
r-delayedmatrixstats
r-gseabase
r-hdf5array
r-iranges
r-matrix
r-matrixgenerics
r-memuse
r-s4arrays
r-s4vectors
r-singlecellexperiment
@@ -10578,36 +10579,6 @@ from a @code{GRangesList} representation and provides a semblance of a
rectangular dataset.")
(license license:artistic2.0)))
(define-public r-rarr
(package
(name "r-rarr")
(version "1.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Rarr" version))
(sha256
(base32 "1j7zpz0fb996yywvrqbnw67p8a2m4y77kx6ijq7wgald6qg0y1v1"))))
(properties `((upstream-name . "Rarr")))
(build-system r-build-system)
(inputs (list zlib))
(propagated-inputs (list r-biocgenerics
r-curl
r-delayedarray
r-jsonlite
r-paws-storage
r-r-utils))
(native-inputs (list r-knitr r-testthat r-withr))
(home-page "https://huber-group-embl.github.io/Rarr/")
(synopsis "Read Zarr files in R")
(description
"The Zarr specification defines a format for chunked, compressed,
N-dimensional arrays. Its design allows efficient access to subsets of the
stored array, and supports both local and cloud storage systems. Rarr aims to
implement this specification in R with minimal reliance on external tools or
libraries.")
(license license:expat)))
(define-public r-rdisop
(package
(name "r-rdisop")
@@ -11979,12 +11950,7 @@ of mass spectrometry based proteomics data.")
'(modify-phases %standard-phases
;; Needed for r-r-cache
(add-after 'unpack 'set-HOME
(lambda _ (setenv "HOME" "/tmp")))
(add-after 'unpack 'disable-bad-tests
(lambda _
;; This checks for a file hash.
(substitute* "inst/unitTests/test_data_load.R"
(("test_data_load_mzR") "skip_test_data_load_mzR")))))))
(lambda _ (setenv "HOME" "/tmp"))))))
(propagated-inputs
(list r-annotationdbi
r-annotationhub
@@ -12790,13 +12756,13 @@ library implementing most of the pipeline's features.")
(define-public r-rcy3
(package
(name "r-rcy3")
(version "2.30.1")
(version "2.30.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "RCy3" version))
(sha256
(base32 "09bqpmahrrcvychx1mjqrb1zf9z45dpr5vv6nbnp9v67yy6qbzlf"))))
(base32 "1xc19lvdz6yyg2844j83idv64adfrw1bkpiazd4w39xa46l46lck"))))
(properties `((upstream-name . "RCy3")))
(build-system r-build-system)
(propagated-inputs (list r-base64enc
@@ -13002,13 +12968,13 @@ browser.")
(define-public r-rhdf5
(package
(name "r-rhdf5")
(version "2.54.1")
(version "2.54.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "rhdf5" version))
(sha256
(base32
"1brp806vagja149w6faldir5vfcrlvhqdakb3q5crr5wxfqp7qk5"))))
"1psfaqha2sflpp0sm0j3wcxscxb9490pbck69izrsfrrg75jbf7n"))))
(build-system r-build-system)
(arguments
(list
@@ -13263,13 +13229,13 @@ pre-processed data.")
(define-public r-rtracklayer
(package
(name "r-rtracklayer")
(version "1.70.1")
(version "1.70.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "rtracklayer" version))
(sha256
(base32
"0g43xcps4jajrvwbn5ky8rb4yax8kywjqx5xl8syjiyv1jjqbd08"))))
"1i9yx0ngx97lmw7pcdj89da6bb0w6gpc98mrwy9prlmml78d81dn"))))
(properties
'((updater-ignored-native-inputs
. ("r-bsgenome-hsapiens-ucsc-hg19"
@@ -13597,13 +13563,13 @@ different experiment.")
(define-public r-screpertoire
(package
(name "r-screpertoire")
(version "2.6.2")
(version "2.5.8")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "scRepertoire" version))
(sha256
(base32 "1n8vdia8bsxikl3vfsnafz1i04qn4kqcrchjrbkzrskbl28mkzq5"))))
(base32 "0ijycpmaivcqqmdc90h5jx8rcwg9112pl2mdpms1hgvww70x3s6w"))))
(properties
'((upstream-name . "scRepertoire")))
(build-system r-build-system)
@@ -13619,14 +13585,14 @@ different experiment.")
(string-append m "skip('guix')\n"))
((".*getContigDoublets works for inputs with doublets.*" m)
(string-append m "skip('guix')\n")))
(substitute* "tests/testthat/test-combineContigs.R"
((".*combineBCR works.*" m)
(string-append m "skip('guix')\n")))
(substitute* "tests/testthat/test-loadContigs.R"
((".*loadContigs correctly auto-detects and processes various formats.*" m)
(string-append m "skip('guix')\n"))
((".*loadContigs correctly processes various formats from URL.*" m)
(string-append m "skip('guix')\n")))
;; There is code running outside of testthat that tries to
;; download files off the Internet.
(delete-file "tests/testthat/test-combineContigs.R")
;; These fail with: Unknown property set: 'kideraFactors'.
(substitute* "tests/testthat/test-positionalProperty.R"
((".*positionalProperty: Output structure is correct.*" m)
@@ -13866,13 +13832,13 @@ reference point and sorted by a user defined feature.")
(define-public r-sesame
(package
(name "r-sesame")
(version "1.28.1")
(version "1.28.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "sesame" version))
(sha256
(base32
"0nfaw8fkszrw0z7fjsxa1qng1cajsqp90k9jhf00j7pb1b0m3wch"))))
"0268p9yvzsnrjjbmbyqzhz9vnc6227200639kyn7yi2daa6fkzav"))))
(properties `((upstream-name . "sesame")))
(build-system r-build-system)
;; Tests use ExperimentHub, so needs Internet access.
@@ -14144,13 +14110,13 @@ level.")
(define-public r-tcgautils
(package
(name "r-tcgautils")
(version "1.30.2")
(version "1.30.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "TCGAutils" version))
(sha256
(base32
"1zwzx7mfp4s0v1rdjsyxj4l9w360g4qm3am8yf5lsd0biciqqh93"))))
"1dc5d3ag89jl3dnajqwy92ih1fzzzmmx8r9a14g59fpc9wx5z7fm"))))
(properties `((upstream-name . "TCGAutils")))
(build-system r-build-system)
(arguments
@@ -14315,13 +14281,13 @@ methylation data.")
(define-public r-transcriptr
(package
(name "r-transcriptr")
(version "1.38.3")
(version "1.37.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "transcriptR" version))
(sha256
(base32 "08m2wdxwv0d9np40hg7p1bnx9lw6944hyjf2a72k5jd6d26d7qgj"))))
(base32 "18gxiwl1i5v10rxdprnpjylx57p2zfgpm5akb2vn7mzj24n4fhh3"))))
(properties
'((upstream-name . "transcriptR")
(updater-ignored-native-inputs
@@ -14345,6 +14311,7 @@ methylation data.")
(list r-biocgenerics
r-caret
r-chipseq
r-e1071
r-genomeinfodb
r-genomicalignments
r-genomicfeatures
@@ -14584,13 +14551,13 @@ tools either included in speaq or available elsewhere on CRAN.")
(define-public r-spectra
(package
(name "r-spectra")
(version "1.20.1")
(version "1.20.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "Spectra" version))
(sha256
(base32
"0qxil7dinx9kwm7zhzk5s0aa3kn3svkx30inqcnzpa1hyxslrzgg"))))
"0ajaxgsvg6aav2l74zmar76pwbjnrzd5sv8xv20v3jdcnwq33ghw"))))
(properties
'((upstream-name . "Spectra")
;; Avoid dependency cycle.
@@ -14869,14 +14836,14 @@ unmodeled, or latent sources of noise.")
(define-public r-systempiper
(package
(name "r-systempiper")
(version "2.16.3")
(version "2.16.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "systemPipeR" version))
(sha256
(base32
"0maixi0hwqzkpiq60hf60x4q3gv3hkvmrqh3ygv0fk63g1k9f6cj"))))
"1mpwjz0r5cy2r5745b4splygg6jycfnfrqrca9vqic3bnpsrc6gf"))))
(properties `((upstream-name . "systemPipeR")))
(build-system r-build-system)
;; Tests fail because genWorkenvir fails to set up the environment.
@@ -14954,16 +14921,16 @@ dependencies between GO terms can be implemented and applied.")
(define-public r-txdbmaker
(package
(name "r-txdbmaker")
(version "1.6.2")
(version "1.6.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "txdbmaker" version))
(sha256
(base32 "0m84qprk6z4ggj8qsds4lj2gbrvs0mvq63sg5f7i4m2kfawc5qpw"))))
(base32 "0rczknnbccc2vlbs0mkv89fqmr1myxjba12dvvyqfpnh7pcxfihp"))))
(properties
'((upstream-name . "txdbmaker")
(updater-extra-native-inputs . ("r-genomeinfodbdata" "r-runit"))))
(updater-extra-native-inputs . ("r-runit"))))
(build-system r-build-system)
(arguments
(list
@@ -15008,13 +14975,13 @@ convenient formats.")
(define-public r-tximport
(package
(name "r-tximport")
(version "1.38.2")
(version "1.38.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "tximport" version))
(sha256
(base32
"06kz3fq2hh23z41vn7vb369y2xrkj77q9l0h5zjs94f4qp9fpsh6"))))
"1r07xnks4byp5hr51gq1j04bdrkb0axhi0bbhjpzbvgyc3fj67i3"))))
(properties
'((updater-extra-native-inputs
. ("r-matrix" "r-rhdf5"))))
@@ -15045,29 +15012,29 @@ of gene-level counts.")
(define-public r-valr
(package
(name "r-valr")
(version "0.9.1")
(version "0.8.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "valr" version))
(sha256
(base32
"1f0q7c8mz7w2ih5m3bfb0g5y9lx5lmn1ifj234k75ksffwwi4lz9"))))
"138s6ydqhhik0ymfby9sdnpyjj56m98yqav4vmgv619fhialyx0y"))))
(build-system r-build-system)
(propagated-inputs
(list r-broom
r-cli
r-cpp11
r-cpp11bigwig
r-dplyr
r-ggplot2
r-lifecycle
r-rcpp
r-readr
r-rlang
r-stringr
r-tibble))
(native-inputs
(list r-knitr r-testthat))
(list r-knitr r-testthat r-vdiffr))
(home-page "https://github.com/rnabioco/valr")
(synopsis "Genome interval arithmetic in R")
(description
@@ -15367,13 +15334,13 @@ libraries for systems that do not have these available via other means.")
(define-public r-zellkonverter
(package
(name "r-zellkonverter")
(version "1.20.1")
(version "1.20.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "zellkonverter" version))
(sha256
(base32 "1si2g69l4scgkfrgas7fj6klj1rn1bcnch9panv564nyvkfrlmmv"))))
(base32 "1w9kkx5qxskkxmq5y0x58pim5n9i4hms5mhm6y2n58qd1ja2qap2"))))
(properties `((upstream-name . "zellkonverter")))
(build-system r-build-system)
;; This uses r-basilisk, which attempts to set up a Conda environment.
@@ -15966,13 +15933,13 @@ expressed genes in DNA microarray experiments.")
(define-public r-graph
(package
(name "r-graph")
(version "1.88.1")
(version "1.88.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "graph" version))
(sha256
(base32
"0l4gsrb1s9dc0yq6cawb8bpci0byhxmvfhrp9q8gxhvn8asxh6zb"))))
"1sxn2h83j3qawp9jwpg63g50px2gk5dmlmdy6a7jwx3hb44sppbm"))))
(properties '((updater-extra-native-inputs . ("r-xml"))))
(build-system r-build-system)
(arguments
@@ -17227,14 +17194,14 @@ data.")
(define-public r-ggtree
(package
(name "r-ggtree")
(version "4.0.4")
(version "4.0.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ggtree" version))
(sha256
(base32
"1qi5nispv0cirfayijybnn1nr8l6sb2adnic3y37qm3yv91w6s6z"))))
"0vk1l1jmw4acgmpmgcx0pz7j39yp391mba8q1xnc8rmlfw51qvxj"))))
(properties `((upstream-name . "ggtree")))
(build-system r-build-system)
(propagated-inputs
@@ -18548,37 +18515,23 @@ standardization of the analyses and the development of best practices.")
(define-public r-microbiomestat
(package
(name "r-microbiomestat")
(version "1.3")
(version "1.2")
(source (origin
(method url-fetch)
(uri (cran-uri "MicrobiomeStat" version))
(sha256
(base32
"02xg8l4d0z5wrdrm5dj5a0q51vsbhf3f6z2lk8294c4d85s09dhl"))))
(properties
'((upstream-name . "MicrobiomeStat")
(updater-extra-inputs . ("nlopt"))
(updater-extra-native-inputs . ("pkg-config"))))
"1kpc68sl63k104xy7r6f3gxan0yx0rs7ksn8ldbq8xla00ddflgq"))))
(properties `((upstream-name . "MicrobiomeStat")))
(build-system r-build-system)
(inputs (list nlopt))
(native-inputs (list pkg-config))
(propagated-inputs (list r-bbmisc
r-dplyr
r-foreach
(propagated-inputs (list r-foreach
r-ggplot2
r-ggrepel
r-lhs
r-lmertest
r-mass
r-matrix
r-matrixstats
r-mlr
r-mlrmbo
r-modeest
r-paramhelpers
r-rcpp
r-rcpparmadillo
r-smoof
r-statmod))
(home-page "https://cran.r-project.org/package=MicrobiomeStat")
(synopsis "Statistical methods for microbiome compositional data")
@@ -19001,14 +18954,14 @@ surface of a flowcell.")
(define-public r-mutoss
(package
(name "r-mutoss")
(version "0.1-14")
(version "0.1-13")
(source
(origin
(method url-fetch)
(uri (cran-uri "mutoss" version))
(sha256
(base32
"1gswlg6n2pz1z8gyap6syggvyv3bfzr5kmxcwimhbixm36xzfkhz"))))
"0hgi9wpy3ai23dk6cdba6r118vvmgw210racsg3n1p24rv6ny3xn"))))
(properties `((upstream-name . "mutoss")))
(build-system r-build-system)
(propagated-inputs
@@ -19028,14 +18981,14 @@ are standardized and usable by the accompanying mutossGUI package.")
(define-public r-metap
(package
(name "r-metap")
(version "1.13")
(version "1.12")
(source
(origin
(method url-fetch)
(uri (cran-uri "metap" version))
(sha256
(base32
"02vn6gb39il341nc10arx81bfhzsqy6gd3sc6la4lyfa5r1ysncl"))))
"0icrk4krmzgawpzf80rm82x2lvxdqlvjz91v0n3p4j4hy041yrbc"))))
(build-system r-build-system)
(propagated-inputs
(list r-lattice
@@ -19380,14 +19333,14 @@ presence of additional sites within the allowed window size.")
(define-public r-fgsea
(package
(name "r-fgsea")
(version "1.36.2")
(version "1.36.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "fgsea" version))
(sha256
(base32
"0njza9d0g7ybzxqmsdbhikl1w7g94amvld5n2yvn7lqh0ksnz6fn"))))
"040z8k28zg9rlvlrywp1ah39pcll74jdmfzhy2r7rijmmvw8ypip"))))
(build-system r-build-system)
(propagated-inputs
(list r-bh
@@ -19482,14 +19435,14 @@ correspondence between different data sources.")
(define-public r-enrichplot
(package
(name "r-enrichplot")
(version "1.30.4")
(version "1.30.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "enrichplot" version))
(sha256
(base32
"080q91ll8rvqf93hcmxc7kjbmmihyh0vrpxck2pqrwglbqxm4xll"))))
"04dyxwlry1nqihi1s6h3j1dxn2wh8sip16s82lk0jrsfjr07c2mz"))))
(build-system r-build-system)
(propagated-inputs
(list r-aplot
@@ -19502,13 +19455,13 @@ correspondence between different data sources.")
r-ggtree
r-gosemsim
r-igraph
r-magrittr
r-plyr
r-purrr
r-rcolorbrewer
r-reshape2
r-rlang
r-scatterpie
r-tidydr
r-yulab-utils))
(native-inputs
(list r-knitr))
@@ -19550,14 +19503,14 @@ attempts to assess their statistical significance.")
(define-public r-clusterprofiler
(package
(name "r-clusterprofiler")
(version "4.18.4")
(version "4.18.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "clusterProfiler" version))
(sha256
(base32
"00kd5zmzd9pm0mxd2r95l7j4mvqgnbbkaqs2rb5fh06r3rk2c14p"))))
"0m26gbiaff72jivvk6ncgrd4mhq5y0asc7mnjn1qqrba4k63x9nr"))))
(properties
'((upstream-name . "clusterProfiler")
(updater-extra-native-inputs . ("r-org-hs-eg-db"))))
@@ -20625,14 +20578,14 @@ decomposition algorithms.")
(define-public r-yapsa
(package
(name "r-yapsa")
(version "1.36.1")
(version "1.36.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "YAPSA" version))
(sha256
(base32
"0anx6jd3vjj4bi3dzaygd6xvb26yfpmssfcl7rfnv4fv1h5hsyl7"))))
"0i6s8vhk8ar62g9fzn5zr76w94i11qy7g7gfbbk3kmvg3g4rrj4c"))))
(properties `((upstream-name . "YAPSA")))
(build-system r-build-system)
(propagated-inputs
@@ -20985,13 +20938,13 @@ data for high-throughput, untargeted analyte profiling.")
(define-public r-wppi
(package
(name "r-wppi")
(version "1.18.0")
(version "1.16.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "wppi" version))
(sha256
(base32
"1q3745vxarns4kp069ga8nilfz21i0rmaxbllxcys3rvwc7jr77d"))))
"17rkfbhy0r22ayca4c7n8gr2kjgbj3r4gk1rh423cp566x0n7pcp"))))
(properties `((upstream-name . "wppi")))
(build-system r-build-system)
;; This is necessary because omnipathr attempts to write a configuration
@@ -21796,13 +21749,13 @@ and to both short and long sequence reads.")
(define-public r-flames
(package
(name "r-flames")
(version "2.4.2")
(version "2.4.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "FLAMES" version))
(sha256
(base32 "1w9z79w3jm6piijyhqfgx7m7zldq9f6q161h92idxn5aw3my1c18"))
(base32 "1ls28dc01bm0bmf304ybgy8w89q2wwccf9krk44cn0bhynm7bsq4"))
(modules '((guix build utils)))
(snippet
'(delete-file-recursively "src/submodule/minimap2"))))
@@ -22053,14 +22006,14 @@ interact with gated cytometry data.")
(define-public r-flowcore
(package
(name "r-flowcore")
(version "2.22.1")
(version "2.22.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "flowCore" version))
(sha256
(base32
"19arbmdhdk41ayd2pyaizcq8w3s125nh5wb71v80g5800jbaqkis"))))
"0rmlff8d36z8d59s9w4va0csdklz6vkl8k0ywyg6rgmg5k327jqd"))))
(properties
'((upstream-name . "flowCore")
(updater-ignored-native-inputs
@@ -22158,14 +22111,14 @@ manipulation of flow cytometry data.")
(define-public r-ggcyto
(package
(name "r-ggcyto")
(version "1.38.1")
(version "1.38.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ggcyto" version))
(sha256
(base32
"13yg17hn6f6gsfr44gkm6rx0p1d0lvhp8rywyhpby4ckqzw6xwxb"))))
"0gpqwg8f2pwb9z9rjdmiy6x60zry2wwlf5xq44scv5dm6l2jfapw"))))
(properties
`((upstream-name . "ggcyto")
;; Avoid dependency cycle.
@@ -22316,14 +22269,14 @@ for other R packages to compile and link against.")
(define-public r-flowworkspace
(package
(name "r-flowworkspace")
(version "4.22.1")
(version "4.22.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "flowWorkspace" version))
(sha256
(base32
"05d2xz9y8w1q4zgfmqm6drlgyfrnl2q2b42x7mgfzsva36dgnv0f"))))
"1hy44nyhgk8z85lis8nz1djsma4wyanixibs7qds0xgimk5r9qqq"))))
(properties
`((upstream-name . "flowWorkspace")
;; Avoid dependency cycles.
@@ -23373,14 +23326,14 @@ populations, splice site strength, conservation, etc.")
(define-public r-variancepartition
(package
(name "r-variancepartition")
(version "1.40.1")
(version "1.40.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "variancePartition" version))
(sha256
(base32
"1xqy4jl8im7i4kd4iwn8hvhy172fzsadyn90kprihmvccmpd5cr3"))))
"0inwnrk6jppjfmsin7zjlfg250y7q7049x5nis2xqn559pfls37s"))))
(properties
'((upstream-name . "variancePartition")
(updater-extra-native-inputs . ("r-rfast"))))
@@ -23403,7 +23356,6 @@ populations, splice site strength, conservation, etc.")
r-matrixstats
r-pbkrtest
r-rdpack
r-reformulas
r-remacor
r-reshape2
r-rhpcblasctl
@@ -23492,13 +23444,13 @@ directly interact with SingleCellExperiment and Seurat objects.")
(define-public r-ucsc-utils
(package
(name "r-ucsc-utils")
(version "1.6.1")
(version "1.6.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "UCSC.utils" version))
(sha256
(base32 "14j337wylpxkx4k1fi3f7p5fs1xy538jmzha2fqcwfx75h3x0v75"))))
(base32 "0ylb4d3bsl859609b4wsclhhv2zrvhkcr25q5mv6ywyvppri3j1y"))))
(properties `((upstream-name . "UCSC.utils")))
(build-system r-build-system)
;; Tests require Internet access.
@@ -24484,13 +24436,13 @@ monograph.")
(define-public r-bioccheck
(package
(name "r-bioccheck")
(version "1.46.3")
(version "1.46.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "BiocCheck" version))
(sha256
(base32
"1ygspnxj1jqx4mk3b26ff4k6h47spdq6y8a4nh1dgdrqk2wrx0ic"))))
"0fb114cdk8xl9r4kgvril4b8zw082f32mdrxwk564byz5r5r41cl"))))
(properties
`((upstream-name . "BiocCheck")))
(build-system r-build-system)
@@ -25015,14 +24967,14 @@ distance measures.")
(define-public r-pcatools
(package
(name "r-pcatools")
(version "2.22.1")
(version "2.20.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "PCAtools" version))
(sha256
(base32
"1ngm3227viafcjmq5c25ihj3lrrs98c1rs5zx2ims6xzv68dbzwz"))))
"0jik25f4rpmr8gjy22i2myjhgsgqgslfjfskhv5bgkmqwbn931ar"))))
(properties `((upstream-name . "PCAtools")))
(build-system r-build-system)
(propagated-inputs
@@ -25298,13 +25250,13 @@ routines.")
(define-public r-s4arrays
(package
(name "r-s4arrays")
(version "1.10.1")
(version "1.10.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "S4Arrays" version))
(sha256
(base32
"0rviwjscy9c4vbdhg080p91jwlavs8agcc3z435z4dijb1syvkm3"))))
"1vbvr0vfwl36i7dv09ibzs7mkfyzlzfl475rrkss377zsz7gbsjh"))))
(properties
'((upstream-name . "S4Arrays")
(updater-ignored-native-inputs . ("r-delayedarray"))))
@@ -25515,13 +25467,13 @@ assays such as Hi-C.")
(define-public r-h5mread
(package
(name "r-h5mread")
(version "1.2.1")
(version "1.2.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "h5mread" version))
(sha256
(base32 "0xdjp5y0wkv2aazj17hi65qmsjaa9jaadim5hx525h5gb0c6p8nw"))))
(base32 "01iykyb36cnzbs7xf3jcgnndnib4pk0w4wg8scy1rnagcy89yp2a"))))
(properties
'((upstream-name . "h5mread")
;; Avoid dependency cycle.
@@ -26339,13 +26291,13 @@ variable and significantly correlated genes.")
(define-public r-sparsearray
(package
(name "r-sparsearray")
(version "1.10.8")
(version "1.10.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "SparseArray" version))
(sha256
(base32 "1bjxljwfrv787ikp61xl29wx3k6624qz75gl1kzfif62vys7vgf0"))))
(base32 "0576063dl9a464ddc86ldpmz4c8g2qibsagw1adzrs30282d1m35"))))
(properties `((upstream-name . "SparseArray")))
(build-system r-build-system)
(propagated-inputs (list r-biocgenerics
@@ -26497,14 +26449,14 @@ memory usage and processing time is minimized.")
(define-public r-mscoreutils
(package
(name "r-mscoreutils")
(version "1.22.1")
(version "1.21.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "MsCoreUtils" version))
(sha256
(base32
"1vrczrj854i0510y91zad51nnai1spl3wwgn2bafgk25fx8f48gl"))))
"1lckbd96589vsmyy6prqijxafwiwx3mnm9c1jlw6dbxivfzmk3n7"))))
(properties
'((upstream-name . "MsCoreUtils")
;; Avoid dependency cycle.
@@ -27162,14 +27114,14 @@ on the plot.")
(define-public r-abn
(package
(name "r-abn")
(version "3.1.13")
(version "3.1.12")
(source
(origin
(method url-fetch)
(uri (cran-uri "abn" version))
(sha256
(base32
"1l1yv2rc4aa3zp5w9qsr4n9mbr7g5n5bgldpvpy9z1wf664lxy8w"))))
"1k0pxan20ldhx4yl6li3bj3darzhbxh7m9kk2r3cpkwsxavvxm7z"))))
(build-system r-build-system)
(arguments
(list
@@ -27981,13 +27933,13 @@ targets. It can also be used for differential expression/2-class data.")
(define-public r-bayesspace
(package
(name "r-bayesspace")
(version "1.20.2")
(version "1.20.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "BayesSpace" version))
(sha256
(base32 "0spymw9hva3q2p8a0a69a0jaix09cw75a6k7sr4wh9bqxjglyccc"))))
(base32 "1mqa0f08ynpplvg7ni8alk0a9w4yy876jslzx3p1kmyb8ncb4zaj"))))
(properties `((upstream-name . "BayesSpace")))
(build-system r-build-system)
(propagated-inputs
@@ -28982,14 +28934,14 @@ embeddings and functions to build new reference.")
(define-public r-tximeta
(package
(name "r-tximeta")
(version "1.28.1")
(version "1.28.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "tximeta" version))
(sha256
(base32
"1152llv077q19zyyzzba0ggy03vlvgqrirrkssa8nk0pi93nh1zv"))))
"0rpka083c8gw3crd1sp2vhlbk9rbyvnc6r5gnr55am73rp7dk3px"))))
(properties `((upstream-name . "tximeta")))
(build-system r-build-system)
;; Two tests fail because data files are not included.
File diff suppressed because it is too large Load Diff
+13
View File
@@ -73,3 +73,16 @@ simple tools through complex programming languages.
Bison also provides an implementation of @command{yacc}, as specified by POSIX.")
(license gpl3+)))
(define-public bison-3.0
(package
(inherit bison)
(version "3.0.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/bison/bison-"
version ".tar.xz"))
(sha256
(base32
"0f7kjygrckkx8vas2nm673592jif0a9mw5g8207f6hj6h4pfyp07"))))))
+2 -1
View File
@@ -64,6 +64,7 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages texlive)
#:use-module (gnu packages version-control)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xml))
@@ -302,7 +303,7 @@ software, with support for multiple texts and languages.")
(build-system cmake-build-system)
(native-inputs (list appstream
appstream-glib
at-spi2-core
atk
biblesync
desktop-file-utils ;for 'desktop-file-validate'
(list glib "bin")
-8
View File
@@ -366,14 +366,6 @@ across a broad spectrum of applications.")
(package
(inherit boost-1.83)
(name "boost-numpy")
(native-inputs
(modify-inputs (package-native-inputs boost)
(append python-numpy-1)))))
(define-public boost-with-numpy
(package
(inherit boost)
(name "boost-with-numpy")
(native-inputs
(modify-inputs (package-native-inputs boost)
(append python-numpy)))))
+8 -18
View File
@@ -853,7 +853,7 @@ tree binary files. These are board description files used by Linux and BSD.")
(define u-boot
(package
(name "u-boot")
(version "2026.01")
(version "2025.01")
(source
(origin
(method git-fetch)
@@ -862,8 +862,9 @@ tree binary files. These are board description files used by Linux and BSD.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ics2b560gjqh7f1b194axy5rdplrgxhpifay61zpa6p5gl4fxsz"))
(patches (search-patches "u-boot-allow-disabling-openssl.patch"))
(base32 "1i1v86bnixh8hyqbwwr5iwdnnadmg2fqxw9g526fvclsbvl8lz0v"))
(patches (search-patches "u-boot-allow-disabling-openssl.patch"
"u-boot-rockchip-inno-usb.patch"))
(snippet
;; Remove non-free binary licenses, blobs and microcode.
#~(begin
@@ -927,8 +928,6 @@ also initializes the boards (RAM etc).")
(append fontconfig
python-sphinx
python-sphinx-prompt
; python-sphinx-rtd-theme ; optional
python-sphinx-reredirects
texinfo
which)))
(synopsis "U-Boot documentation")
@@ -950,16 +949,8 @@ Info manual.")))
(modify-inputs (package-native-inputs u-boot)
(prepend python-filelock
python-pycryptodomex))))
(inputs (list gnutls ncurses/tinfo))
(arguments
`(#:make-flags '("HOSTCC=gcc"
,@(if (%current-target-system)
(list "CROSS_BUILD_TOOLS=y"
(string-append
"CROSS_COMPILE="
(%current-target-system)
"-"))
'()))
`(#:make-flags '("HOSTCC=gcc")
#:test-target "tcheck"
#:phases
(modify-phases %standard-phases
@@ -1009,9 +1000,8 @@ def test_ctrl_c"))
;; to GPL/Openssl license incompatibilities.
;; See https://bugs.gnu.org/34717 for
;; details.
(("CONFIG_FIT=y")
"CONFIG_FIT=y
CONFIG_FIT_SIGNATURE=n
(("CONFIG_FIT_SIGNATURE=y")
"CONFIG_FIT_SIGNATURE=n
CONFIG_UT_LIB_ASN1=n
CONFIG_TOOLS_LIBCRYPTO=n
CONFIG_TOOLS_KWBIMAGE=n")
@@ -1464,7 +1454,7 @@ partition."))
;; These disabled features require OpenSSL, which is
;; incompatible with the GPLv2-only parts of U-boot.
#:configs (map (cut string-append "# CONFIG_" <> " is not set")
'("FIT_CIPHER" "MBEDTLS_LIB" "HKDF_MBEDTLS"))
'("FIT_CIPHER" "MBEDTLS_LIB"))
#:append-description
"The sandbox configuration of U-Boot provides a @command{u-boot}
command that runs as a normal user space application. It can be used to
+61 -78
View File
@@ -62,7 +62,6 @@
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages adns)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
@@ -226,67 +225,47 @@ generate such a compilation database.")
(define-public bmake
(package
(name "bmake")
(version "20251111")
(version "20230723")
(source
(origin
(method url-fetch)
(uri (string-append
"http://www.crufty.net/ftp/pub/sjg/bmake-" version ".tar.gz"))
(sha256
(base32 "0q30a04lg91g4932xgl0hg4c798inr5ky8fq6cwqzfkpar8zi8s5"))
(patches (search-patches "bmake-run-check-separately.patch"))))
(base32 "012rzgjmncdla1l43f9wl8v13h7d46zgn28k6djpcgx23fahsan4"))))
(build-system gnu-build-system)
(inputs
(list bash-minimal))
(native-inputs
(list bc coreutils))
(list coreutils))
(arguments
(list
#:test-target "test"
#:tests? #f ; test during build
#:phases
#~(modify-phases %standard-phases
;; Ensure that a store path to /bin/sh is detected as a POSIX shell by
;; modifying the pattern matching in the use_defshell() function.
;; Without this, the tests won't correctly detect our provided default
;; shell as a POSIX shell and will thus fail.
(add-after 'unpack 'fix-shell-detection
(lambda _
(substitute* "configure"
(("sh\\|/bin/sh\\|\\*/bsh)")
"*/bin/sh)"))))
(add-after 'configure 'fix-test ; fix from nixpkgs
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(substitute* "unit-tests/unexport-env.mk"
(("PATH=\t/bin:/usr/bin:/sbin:/usr/sbin")
"PATH := ${PATH}"))
(substitute* '("unit-tests/varmod-sun-shell1.exp"
"unit-tests/suff.exp")
(("/bin/sh")
(search-input-file (or native-inputs inputs) "/bin/sh")))
(substitute* '("unit-tests/opt-keep-going-indirect.mk"
"unit-tests/opt-keep-going-indirect.exp")
(("false")
(search-input-file (or native-inputs inputs) "/bin/false"))))))
(search-input-file (or native-inputs inputs) "/bin/false")))))
(add-after 'configure 'remove-fail-tests
(lambda _
(substitute* "unit-tests/Makefile"
(("cmd-interrupt") "")
(("deptgt-interrupt") "")
(("varmod-localtime") "")))))
#:configure-flags
#~(list
(string-append
"--with-defshell=" #$(this-package-input "bash-minimal") "/bin/sh")
"--with-defshell=" #$(this-package-input "bash-minimal") "/bin/bash")
(string-append
"--with-default-sys-path=" #$output "/share/mk"))
#:make-flags
#~(list
"INSTALL=install" ; use coreutils' install
(string-append
"BROKEN_TESTS="
(string-join
(list "cmd-interrupt"
"deptgt-interrupt"
"varmod-localtime"
;; directive-export failures are related to TZ env.
;; these tests are also disabled by nixpkgs.
"directive-export"
"directive-export-gmake"
" "))))))
#~(list "INSTALL=install"))) ; use coreutils' install
(home-page "http://www.crufty.net/help/sjg/bmake.htm")
(synopsis "BSD's make")
(description
@@ -447,51 +426,55 @@ resembles Python.")
(license license:expat)))
(define-public muon
(package
(name "muon")
(version "0.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/muon-build/muon")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1w0vkishj7r3swzg4m1fl3hacs8mycwhsrr5vw8sy67y81cihqbd"))))
(build-system meson-build-system)
(arguments
(list #:meson (computed-file "null-package" #~(mkdir #$output))
#:ninja samu-as-ninja-wrapper
#:configure-flags #~(list "-Dsamurai=disabled")
#:tests? #f ;to avoid extra dependencies
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-/bin/sh
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "tools/generate_test_check_script.py"
(("#!/bin/sh")
(string-append "#!" (search-input-file inputs
"bin/sh"))))))
(add-after 'patch-source-shebangs 'build-muon-bootstrap
(lambda _
(setenv "CC" #$(cc-for-target))
(setenv "CFLAGS" "-DBOOTSTRAP_NO_SAMU")
(invoke "./bootstrap.sh" "build")))
(add-after 'build-muon-bootstrap 'setup-muon-bootstrap-as-meson
(lambda _
(mkdir "bin")
(symlink "../build/muon-bootstrap" "bin/meson")
(setenv "PATH" (string-append (getcwd) "/bin:"
(getenv "PATH"))))))))
(native-inputs (list samurai))
(inputs (list bash-minimal pkgconf))
(native-search-paths (list $PKG_CONFIG_PATH))
(home-page "https://muon.build/")
(synopsis "Meson build system alternative implementation in C99")
(description "Muon is an implementation of the meson build system in c99
;; Use the latest commit, as there hasn't yet been a new release including
;; recent changes (see: https://github.com/muon-build/muon/issues/146).
(let ((commit "55b7285a92779bd8b8870482e5535ce878f3e09f")
(revision "0"))
(package
(name "muon")
(version (git-version "0.4.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/muon-build/muon")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0kpk1h82djb0brxkwy5ylpvdpp2l1489bq822dmryhmsd573ii48"))))
(build-system meson-build-system)
(arguments
(list #:meson (computed-file "null-package" #~(mkdir #$output))
#:ninja samu-as-ninja-wrapper
#:configure-flags #~(list "-Dsamurai=disabled")
#:tests? #f ;to avoid extra dependencies
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-/bin/sh
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "tools/generate_test_check_script.py"
(("#!/bin/sh")
(string-append "#!" (search-input-file inputs
"bin/sh"))))))
(add-after 'patch-source-shebangs 'build-muon-bootstrap
(lambda _
(setenv "CC" #$(cc-for-target))
(setenv "CFLAGS" "-DBOOTSTRAP_NO_SAMU")
(invoke "./bootstrap.sh" "build")))
(add-after 'build-muon-bootstrap 'setup-muon-bootstrap-as-meson
(lambda _
(mkdir "bin")
(symlink "../build/muon-bootstrap" "bin/meson")
(setenv "PATH" (string-append (getcwd) "/bin:"
(getenv "PATH"))))))))
(native-inputs (list samurai))
(inputs (list bash-minimal pkgconf))
(native-search-paths (list $PKG_CONFIG_PATH))
(home-page "https://muon.build/")
(synopsis "Meson build system alternative implementation in C99")
(description "Muon is an implementation of the meson build system in c99
with minimal dependencies.")
(license license:gpl3))) ;for the combined work
(license license:gpl3)))) ;for the combined work
(define-public muon-as-meson-wrapper
(package/inherit muon
+46 -104
View File
@@ -9,7 +9,7 @@
;;; Copyright © 2020, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2020, 2022, 2023, 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2020, 2022, 2023 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 David Dashyan <mail@davie.li>
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
@@ -24,8 +24,6 @@
;;; Copyright @ 2022, Kitzman <kitzman@disroot.org>
;;; Copyright @ 2025 Dariqq <dariqq@posteo.net>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2026 Sharlatan Hellseher <sharlatanus@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -73,7 +71,6 @@
#:use-module (gnu packages m4)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages oneapi)
#:use-module (gnu packages pcre)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
@@ -153,59 +150,6 @@ data structure with good performance characteristics for concatenation and
slicing.")
(license license:boost1.0))))
(define-public c-siphash
(package
(name "c-siphash")
(version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/c-util/c-siphash")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1igz5nbdm8l0hir5azmjcc46qz9qhrhkr656fzll99vsnja815sb"))))
(build-system meson-build-system)
(native-inputs
(list pkg-config))
(propagated-inputs
(list c-stdaux))
(home-page "https://c-util.github.io/c-siphash/")
(synopsis "Streaming-capable SipHash")
(description
"The c-siphash project is a standalone implementation of SipHash in
Standard ISO-C11. It provides a streaming-capable API to compute data hashes
according to the SipHash algorithm. For API documentation, see the
@code{c-siphash.h} header file, as well as the docbook comments for each function.")
(license (list license:asl2.0
license:lgpl2.1+))))
(define-public c-stdaux
(package
(name "c-stdaux")
(version "1.6.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/c-util/c-stdaux")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0kj03iw2sfy3ni6s4p810wkaj561bl8fqqgzyvb48llnkyi6appz"))))
(build-system meson-build-system)
(home-page "https://c-util.github.io/c-stdaux/")
(synopsis "Auxiliary macros and functions for the C standard library")
(description
"This package provides support macros and auxiliary functions around
the functionality of common C standard libraries. This includes helpers for
the ISO C Standard Library, but also other common specifications like POSIX or
common extended features of widespread compilers like @code{gcc} and
@code{clang}.")
(license (list license:asl2.0
license:lgpl2.1+))))
(define-public cproc
(let ((commit "14a8916e23bc6daebcb54f1384fa0eb2455072e3")
(revision "3"))
@@ -1522,8 +1466,8 @@ Telemetry Transport (MQTT) publish-subscribe messaging protocol.")
;;; The package is named orangeduck-mpc to differentiate it from GNU mpc.
(define-public orangeduck-mpc
;; The last release lacks an 'install' target.
(let ((commit "1049534fc56b1971345c7aaa792dea55d6f9b7bc")
(revision "1"))
(let ((commit "7c910e9303833c349f7432188ff77f2745254df2")
(revision "0"))
(package
(name "orangeduck-mpc")
(version (git-version "0.9.0" revision commit))
@@ -1535,7 +1479,9 @@ Telemetry Transport (MQTT) publish-subscribe messaging protocol.")
(file-name (git-file-name name version))
(sha256
(base32
"1wpxchbjxsyksr8il9pvg195nvqzsjdshzyzwikxda0fss0p7aap"))))
"01a4vcxdnz0fbn90c9zc3jzklyqqvp9sfjpjwpq0f5r0l2pp37ad"))
(patches
(search-patches "orangeduck-mpc-fix-pkg-config.patch"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
@@ -1762,7 +1708,7 @@ string.h, but with a utf8* prefix instead of the str* prefix.")
(define-public simdutf
(package
(name "simdutf")
(version "7.7.1")
(version "7.2.0")
(source
(origin
(method git-fetch)
@@ -1771,9 +1717,8 @@ string.h, but with a utf8* prefix instead of the str* prefix.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0kw4j4qqcfjaii667xa745pklj50m70nqq8cj5agj714acczbk7y"))))
(base32 "1kw4k3mhkj3bcmfmwwzq76hs2ypg5lrjl4vnp2dfg73vas9v9w35"))))
(build-system cmake-build-system)
(arguments (list #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON")))
(synopsis "SIMD Unicode validation and transcoding")
(description
"simdutf is a C++ library providing Unicode routines (UTF8, UTF16,
@@ -1851,7 +1796,7 @@ SIMD (Single Instruction, Multiple Data) instructions.")
(define-public ispc
(package
(name "ispc")
(version "1.29.1")
(version "1.19.0")
(source
(origin
(method git-fetch)
@@ -1860,49 +1805,46 @@ SIMD (Single Instruction, Multiple Data) instructions.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "02n14684nqbp1sxpnjkg6r9vwpdzqiwwaqxlp9bjykd125834ip2"))))
(base32 "0yhcgyzjlrgs920lm0l6kygj2skanfb6qkxbdgm69r8c2xkzkaa3"))))
(inputs (list ncurses))
(native-inputs (list bison clang flex m4 python))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f
#:configure-flags
#~(list (string-append "-DCMAKE_C_COMPILER=" #$(cc-for-target))
(string-append "-DCMAKE_CXX_COMPILER=" #$(cxx-for-target))
(string-append "-DCLANG_EXECUTABLE="
(assoc-ref %build-inputs "clang")
"/bin/clang")
(string-append "-DCLANGPP_EXECUTABLE="
(assoc-ref %build-inputs "clang")
"/bin/clang++"))
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'patch-curses-requirement
(lambda _
(substitute* "CMakeLists.txt"
(("\\bCURSES_CURSES_LIBRARY\\b")
"CURSES_LIBRARY"))))
;; Note: This works around the following issue:
;; <https://github.com/ispc/ispc/issues/1865>
;; Because GCC in Guix does not have multilib support.
(add-before 'configure 'patch-target-archs
(lambda _
(substitute* "cmake/GenerateBuiltins.cmake"
(("\\bforeach \\(bit 32 64\\)")
#$@(if (target-64bit?)
'("foreach (bit 64)")
'("foreach (bit 32)")))
(("\\bforeach \\(arch .*?\\)")
#$@(if (target-x86?)
'("foreach (arch \"x86\")")
'("foreach (arch \"arm\")")))
(("\\bforeach \\(os_name \"windows\" .*?\\)")
"foreach (os_name \"linux\")")))))))
(inputs
(list ncurses onetbb))
(native-inputs
(list bison clang-19 flex m4 python-minimal-wrapper))
(supported-systems
'("x86_64-linux" "i686-linux" "aarch64-linux" "armhf-linux"))
(arguments
`(#:tests? #f
#:configure-flags
`(,,(string-append "-DCMAKE_C_COMPILER=" (cc-for-target))
,,(string-append "-DCMAKE_CXX_COMPILER=" (cxx-for-target))
,(string-append "-DCLANG_EXECUTABLE="
(assoc-ref %build-inputs "clang")
"/bin/clang")
,(string-append "-DCLANGPP_EXECUTABLE="
(assoc-ref %build-inputs "clang")
"/bin/clang++"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-curses-requirement
(lambda _
(substitute* "CMakeLists.txt"
(("\\bCURSES_CURSES_LIBRARY\\b")
"CURSES_LIBRARY"))))
;; Note: This works around the following issue:
;; <https://github.com/ispc/ispc/issues/1865>
;; Because GCC in Guix does not have multilib support.
(add-before 'configure 'patch-target-archs
(lambda _
(substitute* "cmake/GenerateBuiltins.cmake"
(("\\bforeach \\(bit 32 64\\)")
,(if (target-64bit?)
"foreach (bit 64)"
"foreach (bit 32)"))
(("\\bforeach \\(arch .*?\\)")
,(if (target-x86?)
"foreach (arch \"x86\")"
"foreach (arch \"arm\")"))
(("\\bforeach \\(os_name \"windows\" .*?\\)")
"foreach (os_name \"linux\")")))))))
(synopsis "Implicit SPMD Program Compiler")
(description
"ISPC is a compiler for a variant of the C programming language, with
+71 -50
View File
@@ -58,7 +58,6 @@
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 nomike Postmann <nomike@nomike.com>
;;; Copyright © 2025 Josep Bigorra <jjbigorra@gmail.com>
;;; Copyright © 2025 Murilo <murilo@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -110,7 +109,6 @@
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages python-science)
#:use-module (gnu packages ruby)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages time)
@@ -671,7 +669,7 @@ a multi-paradigm automated test framework for C++ and Objective-C.")
(define-public catch2
(package
(name "catch2")
(version "2.13.10")
(version "2.13.8")
(home-page "https://github.com/catchorg/Catch2")
(source (origin
(method git-fetch)
@@ -681,7 +679,7 @@ a multi-paradigm automated test framework for C++ and Objective-C.")
(file-name (git-file-name name version))
(sha256
(base32
"1dcwp41963vga22hm32hj609wxgfn0a6p9impcw8dxqj477gcx2y"))))
"18a6d7rcb6ilhxd5dff32jkfdf2ik58pbywrv04ras70217kdq4c"))))
(build-system cmake-build-system)
(inputs
(list python-wrapper))
@@ -1913,6 +1911,41 @@ tests. Tests can be rerun in a specific order by passing a seed value
reported in a previous test run.")
(license license:expat)))
(define-public python-pytest-randomly
(package
(name "python-pytest-randomly")
(version "3.16.0")
(source (origin
(method git-fetch) ;no tests in pypi archive
(uri (git-reference
(url "https://github.com/pytest-dev/pytest-randomly")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1ai6gn811wm1ixjimgpsi5nwlcpxaj4kmil69vf2s2ph0c2zw93s"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "-p" "no:randomly"
;; The tests validating ordering fail, as well as as two others,
;; for unknown reasons (see:
;; https://github.com/pytest-dev/pytest-randomly/issues/454).
"-k" "not test_it_runs_before_stepwise and not test_model_bakery")))
(native-inputs
(list python-factory-boy
python-faker
python-numpy
python-pytest-bootstrap
python-pytest-xdist
python-setuptools))
(home-page "https://github.com/pytest-dev/pytest-randomly")
(synopsis "Pytest plugin to randomly order tests")
(description "This is a Pytest plugin to randomly order tests and control
Python's @code{random.seed}.")
(license license:expat)))
(define-public python-pytest-runner
(package
(name "python-pytest-runner")
@@ -3398,52 +3431,6 @@ of advanced library and language features, which means it should be easily
portable to just about any platform.")
(license license:expat)))
(define-public unity-test
(package
(name "unity-test")
(version "2.6.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ThrowTheSwitch/Unity")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1s0jj9f2zav49mn9ib90idcmb6hq93aczbqysn5hj6binjmrnjw3"))
(patches (search-patches "unity-test-set-subdir-correctly.patch"
"unity-test-support-int64.patch"))))
(build-system meson-build-system)
(arguments
(list #:configure-flags
#~(list "-Dsupport_double=true"
"-Dsupport_int64=true")
#:phases
#~(modify-phases %standard-phases
(add-after 'patch-source-shebangs 'patch-more-shebangs
(lambda _
(substitute* '("auto/unity_test_summary.rb")
(("/usr/bin/ruby")
(string-append #$(this-package-input "ruby")
"/bin/ruby")))
(substitute* '("auto/stylize_as_junit.py"
"auto/unity_test_summary.py")
(("#! python3")
(string-append #$(this-package-input "python")
"/bin/python3")))))
(add-after 'install 'install-extra
(lambda _
(for-each (lambda (x)
(install-file x
(string-append #$output "/share/unity-test")))
(find-files "../source/auto")))))))
(native-inputs (list pkg-config))
(inputs (list python ruby))
(home-page "https://github.com/ThrowTheSwitch/Unity")
(synopsis "Simple unit testing for C")
(description "This package provides a unit testing framework built for C,
with a focus on working with embedded toolchains.")
(license license:expat)))
(define-public libfaketime
(package
(name "libfaketime")
@@ -3758,6 +3745,40 @@ asynchronous code in Python (asyncio).")
directories and files.")
(license license:expat)))
(define-public python-pytest-regressions
(package
(name "python-pytest-regressions")
(version "2.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest_regressions" version))
(sha256
(base32 "0pph1935rq180ax0szwwf3c6zq2v40snypagr49914i31570cc2c"))))
(build-system pyproject-build-system)
(arguments
(list
;; Do not fail on warning.
;; DeprecationWarning: module 'sre_constants' is deprecated
#:test-flags #~(list "-W" "ignore::DeprecationWarning")))
(native-inputs
(list python-numpy
python-pandas
python-pytest
python-setuptools
python-setuptools-scm))
(propagated-inputs
(list python-pytest-datadir
python-pyyaml))
(home-page "https://github.com/ESSS/pytest-regressions")
(synopsis "Easy to use fixtures to write regression tests")
(description
"This plugin makes it simple to test general data, images, files, and
numeric tables by saving expected data in a data directory (courtesy of
pytest-datadir) that can be used to verify that future runs produce the same
data.")
(license license:expat)))
(define-public python-pytest-tornado5
(package
(name "python-pytest-tornado5")
+157 -158
View File
@@ -194,8 +194,7 @@ bioinformatics, materials science, and related areas.")
(sha256
(base32
"1vhjh0gilmm90269isrkvyzwwh1cj3bwcxls394psadw1a89mk14"))))))
(inputs (list avogadrolibs hdf5 molequeue openbabel qtbase-5 qtsvg-5
qtwayland-5))
(inputs (list avogadrolibs hdf5 molequeue openbabel qtbase-5 qtsvg-5))
;; TODO: Enable tests with "-DENABLE_TESTING" configure flag.
(arguments
(list
@@ -217,8 +216,7 @@ bioinformatics, materials science, and related areas.")
(list
"QT_PLUGIN_PATH"
'suffix
(list (string-append #$qtsvg-5 "/lib/qt5/plugins")
(string-append #$qtwayland-5 "/lib/qt5/plugins")))))))))
(list (string-append #$qtsvg-5 "/lib/qt5/plugins")))))))))
(home-page "https://www.openchemistry.org/projects/avogadro2/")
(synopsis "Advanced molecule editor")
(description
@@ -814,7 +812,7 @@ quantum chemistry (and molecular mechanics) softwares.")
glm
netcdf))
(native-inputs (list cmake-minimal catch2 python-pytest python-setuptools))
(propagated-inputs (list python-numpy-1))
(propagated-inputs (list python-numpy))
(home-page "https://pymol.org")
(synopsis "Molecular visualization system")
(description
@@ -1051,57 +1049,56 @@ integrals for Gaussian type functions.")
(build-system cmake-build-system)
(arguments
(list
#:modules '((guix build cmake-build-system)
(guix build utils)
((guix build python-build-system)
#:select (site-packages)))
#:imported-modules (append %cmake-build-system-modules
%pyproject-build-system-modules)
#:modules
'((guix build cmake-build-system)
(guix build utils)
((guix build pyproject-build-system) #:select (site-packages)))
'((guix build python-build-system)))
#:configure-flags
#~(list "-DUSE_PYTHON=ON"
(string-append "-DPYTHON_INSTALL_DIR="
(site-packages %build-inputs %outputs)))
#:phases
(with-extensions (list (pyproject-guile-json))
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-includes
(lambda _
(substitute* (list "src/json.cpp"
"src/sprintf.cpp"
"include/gemmi/dirwalk.hpp"
"include/gemmi/cif.hpp"
"include/gemmi/json.hpp"
"python/gemmi.cpp"
"python/serial.h"
"include/gemmi/atof.hpp"
"include/gemmi/numb.hpp"
"include/gemmi/fourier.hpp")
(("<stb/stb_sprintf.h>") "<stb_sprintf.h>")
(("\"third_party/tinydir.h\"") "<tinydir.h>")
(("\"third_party/tao/pegtl.hpp\"") "<tao/pegtl.hpp>")
(("\"\\.\\./third_party/sajson.h\"") "<sajson.h>")
(("\"gemmi/third_party/tao/pegtl/parse_error.hpp\"")
"<tao/pegtl/parse_error.hpp>")
(("\"third_party/fast_float.h\"")
"<fast_float/fast_float.h>")
(("\"third_party/pocketfft_hdronly.h\"")
"<pocketfft_hdronly.h>")
(("\"\\.\\./third_party/serializer.h\"")
"<zpp/serializer.h>"))))
(add-after 'unpack 'change-bin-prefix
(lambda _
(substitute* "CMakeLists.txt"
(("install\\(TARGETS program DESTINATION bin\\)")
(string-append
"install(TARGETS program DESTINATION "
#$output:bin "/bin)")))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-directory-excursion "../source"
(setenv "PYTHONPATH" "../build/py")
(invoke "python3" "-m" "unittest" "discover" "-v"
"-s" "tests")))))))))
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-includes
(lambda _
(substitute* (list "src/json.cpp"
"src/sprintf.cpp"
"include/gemmi/dirwalk.hpp"
"include/gemmi/cif.hpp"
"include/gemmi/json.hpp"
"python/gemmi.cpp"
"python/serial.h"
"include/gemmi/atof.hpp"
"include/gemmi/numb.hpp"
"include/gemmi/fourier.hpp")
(("<stb/stb_sprintf.h>") "<stb_sprintf.h>")
(("\"third_party/tinydir.h\"") "<tinydir.h>")
(("\"third_party/tao/pegtl.hpp\"") "<tao/pegtl.hpp>")
(("\"\\.\\./third_party/sajson.h\"") "<sajson.h>")
(("\"gemmi/third_party/tao/pegtl/parse_error.hpp\"")
"<tao/pegtl/parse_error.hpp>")
(("\"third_party/fast_float.h\"")
"<fast_float/fast_float.h>")
(("\"third_party/pocketfft_hdronly.h\"")
"<pocketfft_hdronly.h>")
(("\"\\.\\./third_party/serializer.h\"")
"<zpp/serializer.h>"))))
(add-after 'unpack 'change-bin-prefix
(lambda _
(substitute* "CMakeLists.txt"
(("install\\(TARGETS program DESTINATION bin\\)")
(string-append
"install(TARGETS program DESTINATION "
#$output:bin "/bin)")))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-directory-excursion "../source"
(setenv "PYTHONPATH" "../build/py")
(invoke "python3" "-m" "unittest" "discover" "-v"
"-s" "tests"))))))))
(inputs (list python zlib))
(native-inputs
(list fast-float
@@ -1466,55 +1463,56 @@ and rendering molecules.")
"-DPYTHON_EXECUTABLE=python3"
(string-append "-DPYTHON_FLAGS=;--prefix=" #$output ";--root=/"))
#:imported-modules (append %cmake-build-system-modules
%pyproject-build-system-modules)
'((guix build python-build-system)))
#:modules '((guix build cmake-build-system)
(guix build utils)
((guix build pyproject-build-system) #:prefix py:))
((guix build python-build-system)
#:select (add-installed-pythonpath)))
#:phases
(with-extensions (list (pyproject-guile-json))
#~(modify-phases %standard-phases
(add-before 'configure 'patch-cmake
(lambda _
(substitute* (list "src/Test/CMakeLists.txt"
"src/RingDecomposerLib/CMakeLists.txt")
(("build_.*STATIC") "#"))
(substitute* "test/CMakeLists.txt"
(("STATIC_TEST") "SHARED_TEST"))
;; Link Python library against shared library
(substitute* "src/python/CMakeLists.txt"
(("RingDecomposerLibStatic") "RingDecomposerLib"))
(substitute* "src/python/setup.py.in"
(("static_libs =.*") "static_libs = []\n")
(("shared_libs\\s*=.*")
(string-append
"shared_libs = ['RingDecomposerLib']"))
(("library_dirs\\s*=\\s*\\[\\]")
"library_dirs = ['${CMAKE_BINARY_DIR}/src/RingDecomposerLib']")
(("extra_objects=.*")
(string-append
"extra_link_args=['-Wl,-rpath=" #$output "/lib'],\n")))))
(add-after 'build 'build-doc
(lambda _
;; Disable redundant LaTeX documentation
(substitute* "../source/documentation/sphinx/conf.py"
(("^(subprocess.*latex|shutil).*") ""))
(substitute* "../source/documentation/doxygen.cfg"
(("GENERATE_LATEX.*YES") "GENERATE_LATEX = NO"))
;; Build HTML documentation
(invoke "sphinx-build" "-b" "html"
"../source/documentation/sphinx" "html")))
(add-after 'install 'install-doc
(lambda _
;; Not reproducible
(delete-file-recursively "html/.doctrees")
(copy-recursively "html"
(string-append #$output "/share/doc/"
#$name "-" #$version "/html"))))
(delete 'check)
(add-after 'install 'check
(assoc-ref %standard-phases 'check))
(add-before 'check 'add-install-to-pythonpath
(assoc-ref py:%standard-phases 'add-install-to-pythonpath))))))
#~(modify-phases %standard-phases
(add-before 'configure 'patch-cmake
(lambda _
(substitute* (list "src/Test/CMakeLists.txt"
"src/RingDecomposerLib/CMakeLists.txt")
(("build_.*STATIC") "#"))
(substitute* "test/CMakeLists.txt"
(("STATIC_TEST") "SHARED_TEST"))
;; Link Python library against shared library
(substitute* "src/python/CMakeLists.txt"
(("RingDecomposerLibStatic") "RingDecomposerLib"))
(substitute* "src/python/setup.py.in"
(("static_libs =.*") "static_libs = []\n")
(("shared_libs\\s*=.*")
(string-append
"shared_libs = ['RingDecomposerLib']"))
(("library_dirs\\s*=\\s*\\[\\]")
"library_dirs = ['${CMAKE_BINARY_DIR}/src/RingDecomposerLib']")
(("extra_objects=.*")
(string-append
"extra_link_args=['-Wl,-rpath=" #$output "/lib'],\n")))))
(add-after 'build 'build-doc
(lambda _
;; Disable redundant LaTeX documentation
(substitute* "../source/documentation/sphinx/conf.py"
(("^(subprocess.*latex|shutil).*") ""))
(substitute* "../source/documentation/doxygen.cfg"
(("GENERATE_LATEX.*YES") "GENERATE_LATEX = NO"))
;; Build HTML documentation
(invoke "sphinx-build" "-b" "html"
"../source/documentation/sphinx" "html")))
(add-after 'install 'install-doc
(lambda _
;; Not reproducible
(delete-file-recursively "html/.doctrees")
(copy-recursively "html"
(string-append #$output "/share/doc/"
#$name "-" #$version "/html"))))
(delete 'check)
(add-after 'install 'check
(assoc-ref %standard-phases 'check))
(add-before 'check 'set-pythonpath
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs))))))
(inputs (list python))
(native-inputs (list doxygen python python-cython-0 python-sphinx))
(home-page "https://github.com/rareylab/RingDecomposerLib")
@@ -1604,10 +1602,11 @@ Tanimoto scoring.")
(arguments
(list
#:imported-modules (append %cmake-build-system-modules
%pyproject-build-system-modules)
'((guix build python-build-system)))
#:modules '((guix build cmake-build-system)
(guix build utils)
((guix build pyproject-build-system) #:prefix py:))
((guix build python-build-system)
#:select (add-installed-pythonpath)))
#:configure-flags
#~(list "-DRDK_BUILD_AVALON_SUPPORT=ON"
"-DRDK_BUILD_CAIRO_SUPPORT=ON"
@@ -1632,67 +1631,67 @@ Tanimoto scoring.")
"-DCMAKE_INCLUDE_PATH="
(search-input-directory %build-inputs "/include/avalontoolkit")))
#:phases
(with-extensions (list (pyproject-guile-json))
#~(modify-phases %standard-phases
(add-after 'unpack 'copy-external-dependencies
(lambda _
(symlink
#~(modify-phases %standard-phases
(add-after 'unpack 'copy-external-dependencies
(lambda _
(symlink
(string-append
(search-input-file
%build-inputs "/share/fonts/truetype/ComicNeue-Regular.ttf"))
"Data/Fonts/ComicNeue-Regular.ttf")))
(add-after 'unpack 'fix-inchi-include
(lambda _
(substitute* "Code/cmake/Modules/FindInchi.cmake"
(("inchi_api.h.*\\)") "inchi/inchi_api.h)")
(("INCHI_LIBRARY NAMES.*\\)")
"INCHI_LIBRARY NAMES inchi PATH_SUFFIXES inchi)")
(("find_library" prev)
(string-append
(search-input-file
%build-inputs "/share/fonts/truetype/ComicNeue-Regular.ttf"))
"Data/Fonts/ComicNeue-Regular.ttf")))
(add-after 'unpack 'fix-inchi-include
"list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES .so.1)\n"
prev)))
(substitute* "External/INCHI-API/inchi.cpp"
(("<inchi_api.h>") "<inchi/inchi_api.h>"))))
(add-before 'build 'enable-bytecode-determinism
(lambda _
(substitute* "Code/cmake/Modules/FindInchi.cmake"
(("inchi_api.h.*\\)") "inchi/inchi_api.h)")
(("INCHI_LIBRARY NAMES.*\\)")
"INCHI_LIBRARY NAMES inchi PATH_SUFFIXES inchi)")
(("find_library" prev)
(string-append
"list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES .so.1)\n"
prev)))
(substitute* "External/INCHI-API/inchi.cpp"
(("<inchi_api.h>") "<inchi/inchi_api.h>"))))
(add-before 'build 'enable-bytecode-determinism
(assoc-ref py:%standard-phases 'enable-bytecode-determinism))
(add-after 'install 'pre-check
(lambda* (#:key inputs outputs #:allow-other-keys)
(with-directory-excursion "../source"
(invoke "sqlite3" "Data/RDData.sqlt"
".read rdkit/Dbase/test_data/RDData.sqlite")
(invoke "sqlite3" "Data/RDTests.sqlt"
".read rdkit/Dbase/test_data/RDTests.sqlite")
(setenv "RDBASE" (canonicalize-path ".")))))
(add-after 'install 'add-install-to-pythonpath
(assoc-ref py:%standard-phases 'add-install-to-pythonpath))
(delete 'check)
(add-after 'pre-check 'check
(lambda* (#:key tests? parallel-tests? #:allow-other-keys)
(when tests?
(let ((job-count (number->string
(if parallel-tests? (parallel-job-count) 1))))
(invoke
"ctest" "-j" job-count
"-E" (string-append
"("
(string-join
'(;; need pickled data
"pyDiscreteValueVect" "pySparseIntVect"
"graphmoltestPickler" "pyPartialCharges"
"substructLibraryTest" "pyFeatures"
"pythonTestDirML" "pythonTestDirChem"
"pyRealValueVect" "pyDiscreteValueVect"
"pickleTestsCatch"
;; Catching Python exception fails
"pyRanker"
;; Flaky test depending on floating point rounding
"testConrec"
;; Expensive test which may time out
"pySynthonSpaceSearch"
;; Circular import
"pythonSourceTests"
) "|")
")"))))))))))
(setenv "PYTHONHASHSEED" "0")
(setenv "PYTHONDONTWRITEBYTECODE" "1")))
(add-after 'install 'pre-check
(lambda* (#:key inputs outputs #:allow-other-keys)
(with-directory-excursion "../source"
(invoke "sqlite3" "Data/RDData.sqlt"
".read rdkit/Dbase/test_data/RDData.sqlite")
(invoke "sqlite3" "Data/RDTests.sqlt"
".read rdkit/Dbase/test_data/RDTests.sqlite")
(setenv "RDBASE" (canonicalize-path ".")))
(add-installed-pythonpath inputs outputs)))
(delete 'check)
(add-after 'pre-check 'check
(lambda* (#:key tests? parallel-tests? #:allow-other-keys)
(when tests?
(let ((job-count (number->string
(if parallel-tests? (parallel-job-count) 1))))
(invoke
"ctest" "-j" job-count
"-E" (string-append
"("
(string-join
'(;; need pickled data
"pyDiscreteValueVect" "pySparseIntVect"
"graphmoltestPickler" "pyPartialCharges"
"substructLibraryTest" "pyFeatures"
"pythonTestDirML" "pythonTestDirChem"
"pyRealValueVect" "pyDiscreteValueVect"
"pickleTestsCatch"
;; Catching Python exception fails
"pyRanker"
;; Flaky test depending on floating point rounding
"testConrec"
;; Expensive test which may time out
"pySynthonSpaceSearch"
;; Circular import
"pythonSourceTests"
) "|")
")")))))))))
(inputs
(list avalon-toolkit
cairo
@@ -1718,7 +1717,7 @@ Tanimoto scoring.")
rapidjson
tar))
(propagated-inputs
(list python-numpy-1 python-cairocffi python-pillow))
(list python-numpy python-cairocffi python-pillow))
(home-page "https://rdkit.org/")
(synopsis "Collection of cheminformatics software")
(description "RDKit is a C++ and Python library for cheminformatics, which
+2 -2
View File
@@ -72,7 +72,7 @@
(define-public cuirass
(package
(name "cuirass")
(version "1.3.4")
(version "1.3.3")
(source
(origin
(method git-fetch)
@@ -82,7 +82,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"0apzyda8hfnvq07lylvlz7kifkmnvhsc538jjwmzjl60af9f634a"))))
"0zq56wdjyxnmhr93358db95cc9i7qkffk98vscjr26pb4ab3ym21"))))
(build-system gnu-build-system)
(arguments
(list #:modules `((guix build utils)
+38 -26
View File
@@ -29,7 +29,6 @@
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
@@ -73,36 +72,41 @@
#:modules
`((guix build meson-build-system)
(guix build utils)
((guix build pyproject-build-system) #:prefix py:))
((guix build python-build-system) #:prefix python:))
#:imported-modules
(append %meson-build-system-modules
%pyproject-build-system-modules)
`(,@%meson-build-system-modules
(guix build python-build-system))
#:configure-flags
#~(list (string-append
"-Dpy-overrides-dir="
(py:site-packages %build-inputs %outputs) "/gi/overrides"))
(python:site-packages %build-inputs %outputs) "/gi/overrides"))
#:phases
(with-extensions (list (pyproject-guile-json))
#~(modify-phases %standard-phases
(add-before 'configure 'set-gtk-module-path
(lambda* (#:key inputs outputs #:allow-other-keys)
(define (string-quote str)
(format #f "'~a'" str))
(substitute* "libxapp/meson.build"
(("gtk3_dep\\.get_pkgconfig_variable[(]'libdir'[)]")
(string-quote (string-append #$output "/lib"))))
#~(modify-phases %standard-phases
(add-before 'configure 'set-gtk-module-path
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "libxapp/meson.build"
(("gtk3_dep\\.get_pkgconfig_variable[(]'libdir'[)]")
(string-append "'" (assoc-ref outputs "out") "/lib'")))
(substitute* "scripts/pastebin"
(("'nc'")
(string-quote (search-input-file inputs "/bin/nc"))))
(substitute* "scripts/upload-system-info"
(("'inxi'")
(string-quote (search-input-file inputs "/bin/inxi")))
(("'/usr/bin/pastebin'")
(string-quote (string-append #$output "/bin/pastebin")))
(("'xdg-open'")
(string-quote (search-input-file inputs
"/bin/xdg-open"))))))))))
(substitute* "scripts/pastebin"
(("'nc'")
(string-append "'"
(search-input-file inputs "/bin/nc")
"'")))
(substitute* "scripts/upload-system-info"
(("'inxi'")
(string-append "'"
(search-input-file inputs "/bin/inxi")
"'"))
(("'/usr/bin/pastebin'")
(string-append "'"
(assoc-ref outputs "out")
"/bin/pastebin'"))
(("'xdg-open'")
(string-append "'"
(search-input-file inputs "/bin/xdg-open")
"'"))))))))
(inputs
(list dbus
glib ; for gio
@@ -143,7 +147,15 @@ cross-DE solutions.")
(sha256
(base32 "06v84bvhhhx7lf7bsl2wdxh7vlkpb2fczjh6717b9jjr7xhvif8r"))))
(build-system meson-build-system)
(arguments (list #:tests? #f)) ; no tests provided
(arguments
(list
#:tests? #f ; no tests provided
#:imported-modules `((guix build python-build-system)
,@%meson-build-system-modules)
#:modules '((guix build utils)
(guix build meson-build-system)
((guix build python-build-system)
#:prefix python:))))
(native-inputs
(list gobject-introspection
intltool
+2 -2
View File
@@ -31,7 +31,7 @@
(define-public clifm
(package
(name "clifm")
(version "1.26.3")
(version "1.26")
(source
(origin
(method git-fetch)
@@ -40,7 +40,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xzpkiid5c51jkmxx4f9iyc6qsir7byp7zyjlskr6hnyah99i1wm"))))
(base32 "0mdh24qjx4cghghrl6sbp49a6kv8birxa5vxrsmj8ddnya2j1n3q"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "CC="
+215 -381
View File
@@ -5,7 +5,6 @@
;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
;;; Copyright © 2025, 2026 Mathieu Lirzin <mthl@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,269 +35,102 @@
#:use-module (guix build-system clojure)
#:use-module (ice-9 match))
(define-public clojure-spec-alpha
(package
(name "clojure-spec-alpha")
(version "0.6.249")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/spec.alpha")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1rzy7mjzchsjpwkn3b5vg5hnmsj5h9ljxdjn48j92bgh7vl3k2r5"))))
(build-system clojure-build-system)
(arguments '(#:source-dirs '("src/main/clojure")
#:test-dirs '("src/test/clojure")
#:doc-dirs '()))
(native-inputs (list clojure-test-check))
(synopsis
"Clojure library to describe the structure of data and functions")
(description
"This package can be used to validate data, conform (destructure) data, explain
invalid data, generate examples that conform to the specs, and automatically
use generative testing to test functions.
Clojure depends on this library and provides it. Thus it is not recommended
to add a direct dependency on this package.")
(home-page "https://github.com/clojure/spec.alpha")
(license license:epl1.0)))
(define-public clojure-core-specs-alpha
(package
(name "clojure-core-specs-alpha")
(version "0.5.81")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/core.specs.alpha")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1hy060mb2hxirynkk36plx1rvpj6i2ldn8mvnwfd02wvjvh57dad"))))
(build-system clojure-build-system)
(arguments '(#:source-dirs '("src/main/clojure")
#:test-dirs '()
#:doc-dirs '()))
(synopsis "Describe clojure.core macros and functions")
(description
"This package contains specs to describe Clojure core macros and functions.
Clojure depends on this library and provides it. Thus it is not recommended
to add a direct dependency on this package.")
(home-page "https://github.com/clojure/core.specs.alpha")
(license license:epl1.0)))
(define-public clojure-java-classpath
(package
(name "clojure-java-classpath")
(version "1.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/java.classpath")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1k34yrx3gmvf46984zdgn2vb98ixf47q1vgh9p78bgmpyhrwzx2z"))))
(build-system clojure-build-system)
(arguments '(#:source-dirs '("src/main/clojure")
#:test-dirs '("src/test/clojure")
#:doc-dirs '()))
(synopsis "Examine the Java classpath from Clojure programs")
(description
"This package provides utilities for dealing with the JVM's classpath from
Clojure.")
(home-page "https://github.com/clojure/java.classpath")
(license license:epl1.0)))
(define-public clojure-data-generators
(package
(name "clojure-data-generators")
(version "1.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/data.generators")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1ynazp55v15zv5jwz1wh2p8cawjcmn0bwzgfs2dwrp6aq231jafm"))))
(build-system clojure-build-system)
(arguments '(#:source-dirs '("src/main/clojure")
#:test-dirs '("src/test/clojure")
#:doc-dirs '()))
(synopsis "Generators for random Clojure data")
(description
"This package contains various functions to generate random clojure data.")
(home-page "https://github.com/clojure/data.generators")
(license license:epl1.0)))
(define-public clojure-tools-namespace
(package
(name "clojure-tools-namespace")
(version "1.5.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/tools.namespace")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0j1lz3xnpgvyi0mcg9mjz7hrchf3hwhbhxi2163d739dxdx60s22"))))
(build-system clojure-build-system)
(arguments '(#:source-dirs '("src/main/clojure")
#:test-dirs '("src/test/clojure")
#:doc-dirs '()))
(propagated-inputs (list clojure-java-classpath
clojure-tools-reader))
(synopsis "Tools for managing namespaces in Clojure")
(description
"This package parses ns declarations from source files, extract their
dependencies, build a graph of namespace dependencies within a project, update
that graph as files change, and reload files in the correct order.
This is only about namespace dependencies within a single project. It has
nothing to do with Leiningen, Maven, JAR files, or repositories.")
(home-page "https://github.com/clojure/tools.namespace")
(license license:epl1.0)))
(define-public clojure-test-generative
(package
(name "clojure-test-generative")
(version "1.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/test.generative")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0lb72cr4s6rgpg18v3jr67ps6wx4p7j7mfzwnfgmm0v8rldlcycf"))))
(build-system clojure-build-system)
(arguments '(#:source-dirs '("src/main/clojure")
#:test-dirs '("src/examples/clojure")
#:doc-dirs '()))
(propagated-inputs (list clojure-tools-namespace
clojure-data-generators))
(synopsis "Generative test runner")
(description
"This package defines generators functions and property based testing macros.")
(home-page "https://github.com/clojure/test.generative")
(license license:epl1.0)))
(define-public clojure-test-check
(package
(name "clojure-test-check")
(version "1.1.3")
(home-page "https://github.com/clojure/test.check")
(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
"1j1x80rv0pli3g91wy01panlqbhgf7zqm7jdr2rzjqf2yyksc70n"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
#:test-dirs '("src/test/clojure")
#:doc-dirs '()))
(synopsis "QuickCheck for Clojure")
(description "@code{test.check} is a Clojure property-based testing tool
inspired by QuickCheck. The core idea of @code{test.check} is that instead of
enumerating expected input and output for unit tests, you write properties
about your function that should hold true for all inputs. This lets you write
concise, powerful tests.")
(license license:epl1.0)))
(define-public clojure-tools-reader
(package
(name "clojure-tools-reader")
(version "1.6.0")
(home-page "https://github.com/clojure/tools.reader")
(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
"006zy7dpk678rzawqyqcypccw48bl4b9s4xjrwzhgq8z5s8v6lnd"))))
(build-system clojure-build-system)
(arguments
'(#:doc-dirs '()
#:source-dirs '("src/main/clojure")
#:test-dirs '("src/test/clojure")
#:test-exclude '(clojure.tools.common-tests))) ; Loaded by other tests.
(synopsis "Clojure reader written in Clojure")
(description "The clojure.tools.reader library offers all functionality
provided by the Clojure Core reader and more. It adds metadata such as column
and line numbers not only to lists, but also to symbols, vectors and maps.")
(license license:epl1.0)))
(define (package-sources . packages)
(map package-source packages))
(define-public clojure
(let ((provided-libraries (package-sources clojure-core-specs-alpha
clojure-spec-alpha))
(test-libraries (package-sources clojure-data-generators
clojure-java-classpath
clojure-test-check
clojure-test-generative
clojure-tools-namespace
clojure-tools-reader)))
(let* ((lib (lambda (prefix version hash)
(origin (method url-fetch)
(uri (string-append "https://github.com/clojure/"
prefix version ".tar.gz"))
(sha256 (base32 hash)))))
;; The libraries below are needed to run the tests.
(libraries
`(("core-specs-alpha-src"
,(lib "core.specs.alpha/archive/v"
"0.4.74"
"1hgl3222381349s4w5bnz02gghxfc8jjsqxhrvgadvn8ybh3dcsp"))
("data-generators-src"
,(lib "data.generators/archive/data.generators-"
"1.0.0"
"0s3hf1njvs68b8igasikvzagzqxl0gbri7w2qhzsypkhfh60v2cp"))
("java-classpath-src"
,(lib "java.classpath/archive/java.classpath-"
"1.0.0"
"178zajjsc9phk5l61r8w9hcpk0wgc9a811pl7kjgvn7rg4l7fh7j"))
("spec-alpha-src"
,(lib "spec.alpha/archive/v"
"0.5.238"
"0h15q9cmxaa7l2pqwwcykfyql8vbw6ns2a4lqfchik1mpfpr9jrb"))
("test-check-src"
,(lib "test.check/archive/v"
"1.1.1"
"0kx8l79mhpnn94rpsgc7nac7gb222g7a47mzrycj8crfc54wf0c1"))
("test-generative-src"
,(lib "test.generative/archive/v"
"1.1.0"
"0sm3q4jkcn06b3r0m0p29z159zqc8jk3k02yz92xwvdbnywaqnfz"))
("tools-namespace-src"
,(lib "tools.namespace/archive/tools.namespace-"
"1.0.0"
"1ifpk93m33rj2xm1qnnninlsdvm1liqmsp9igr63pjjwwwjw1cnn"))
("tools-reader-src"
,(lib "tools.reader/archive/tools.reader-"
"1.3.2"
"1n4dhg61iyypnjbxmihhqjb7lfpc0lzfvlk4jd8w0yr6za414f3a"))))
(library-names (match libraries
(((library-name _) ...)
library-name))))
(package
(name "clojure")
(version "1.12.4")
(version "1.12.0")
(source (let ((name+version (string-append name "-" version)))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/clojure")
(commit name+version)))
(url "https://github.com/clojure/clojure")
(commit name+version)))
(file-name (string-append name+version "-checkout"))
(sha256
(base32
"072dv6s2gxcg8snlgkpjk6bp1cb17bgfshdq6ijsa4yslpqbf9wc")))))
(base32 "17f62x9qq71yhcfpg2npv19xi9wcpgqj255nmvpfy1z2md64gawz")))))
(build-system ant-build-system)
(inputs (list icedtea))
(inputs
`(("jre" ,icedtea)))
(arguments
`(#:imported-modules ((guix build clojure-utils)
(guix build clojure-build-system)
(guix build guile-build-system)
,@%ant-build-system-modules)
#:modules ((guix build ant-build-system)
((guix build clojure-build-system) #:prefix clj:)
(guix build clojure-utils)
(guix build java-utils)
(guix build utils)
(ice-9 match)
(ice-9 regex)
(srfi srfi-26))
#:test-target "test"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unpack-library-sources
(lambda* (#:key inputs #:allow-other-keys)
(define (extract-provided-library name)
(copy-recursively
(string-append (assoc-ref inputs name) "/src/main/clojure")
"src/clj/"))
(for-each extract-provided-library
',(map origin-actual-file-name provided-libraries))))
(define (extract-library name)
(mkdir-p name)
(with-directory-excursion name
(invoke "tar"
"--extract"
"--verbose"
"--file" (assoc-ref inputs name)
"--strip-components=1")))
(for-each extract-library ',library-names)
(copy-recursively "core-specs-alpha-src/src/main/clojure"
"src/clj/")
(copy-recursively "spec-alpha-src/src/main/clojure"
"src/clj/")
#t))
(add-after 'unpack-library-sources 'fix-manifest-classpath
(lambda _
(substitute* "build.xml"
(("<attribute name=\"Class-Path\" value=\".\"/>") ""))))
(("<attribute name=\"Class-Path\" value=\".\"/>") ""))
#t))
(add-after 'unpack-library-sources 'clojure-spec-skip-macros
;; Disable spec macro instrumentation when compiling clojure.spec
;; See: https://clojure.atlassian.net/browse/CLJ-2254
@@ -308,7 +140,8 @@ and line numbers not only to lists, but also to symbols, vectors and maps.")
,(string-join
'("<sysproperty key=\"java.awt.headless\" value=\"true\"/>"
"<sysproperty key=\"clojure.spec.skip-macros\" value=\"true\"/>\n")
"\n")))))
"\n")))
#t))
(add-after 'unpack-library-sources 'clojure-spec-compile
;; Compile and include clojure.spec.alpha & clojure.core.specs.alpha
(lambda _
@@ -319,34 +152,28 @@ and line numbers not only to lists, but also to symbols, vectors and maps.")
"<arg value=\"clojure.spec.alpha\"/>"
"<arg value=\"clojure.spec.gen.alpha\"/>"
"<arg value=\"clojure.spec.test.alpha\"/>"
"<arg value=\"clojure.core.specs.alpha\"/>"))))))
"<arg value=\"clojure.core.specs.alpha\"/>"))))
#t))
(add-before 'build 'maven-classpath-properties
(lambda* (#:key inputs #:allow-other-keys)
(define (source-dir library)
(string-append (assoc-ref inputs library) "/src/main/clojure"))
(let* ((libraries ',(map origin-actual-file-name test-libraries))
(test-classpath (map source-dir libraries)))
(with-output-to-file "maven-classpath.properties"
(lambda _
(display "maven.compile.classpath=\n")
(display (string-append "maven.test.classpath="
(string-join test-classpath ":")
"\n")))))))
(add-before 'check 'fix-test-classpath
;; Some java test files need access to compiled classes.
(lambda _
(substitute* "build.xml"
(("javac srcdir=\"\\$\\{jtestsrc\\}\"" cmd)
(string-append cmd " classpath=\"${build}\"")))))
(define (make-classpath libraries)
(string-join (map (lambda (library)
(string-append library "/src/main/clojure"))
libraries) ":"))
(with-output-to-file "maven-classpath.properties"
(lambda ()
(let ((classpath (make-classpath ',library-names)))
(display (string-append "maven.compile.classpath=" classpath "\n"))
(display (string-append "maven.test.classpath=" classpath "\n")))))
#t))
(add-after 'build 'build-javadoc ant-build-javadoc)
(replace 'install (install-jars "./"))
(add-after 'install-license-files 'install-doc
(cut install-doc #:doc-dirs '("doc/clojure/") <...>))
(add-after 'install-doc 'install-javadoc
(install-javadoc "target/javadoc/"))
(add-after 'reset-gzip-timestamps 'reset-class-timestamps
clj:reset-class-timestamps))))
(native-inputs (append provided-libraries test-libraries))
(add-after 'reset-gzip-timestamps 'reset-class-timestamps clj:reset-class-timestamps))))
(native-inputs libraries)
(home-page "https://clojure.org/")
(synopsis "Lisp dialect running on the JVM")
(description "Clojure is a dynamic, general-purpose programming language,
@@ -377,14 +204,14 @@ designs.")
(define-public clojure-tools
(package
(name "clojure-tools")
(version "1.12.4.1582")
(version "1.11.1.1413")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.clojure.org/install/clojure-tools-"
version
".tar.gz"))
(sha256 (base32 "08gzfblnz0zhnk6pwr9vcm6y168psgrwmqww3wqk1v7j5gr68n7x"))
(sha256 (base32 "1q0z71ifdxwvyy9gvq8mx8jbygf8cszrlhb3h22walfamnisbhwk"))
;; Remove AOT compiled JAR. The other JAR only contains uncompiled
;; Clojure source code.
(snippet
@@ -424,8 +251,7 @@ designs.")
(inputs (list rlwrap
clojure
clojure-tools-deps
java-commons-logging-minimal
java-slf4j-nop))
java-commons-logging-minimal))
(home-page "https://clojure.org/releases/tools")
(synopsis "CLI tools for the Clojure programming language")
(description "The Clojure command line tools can be used to start a
@@ -435,16 +261,16 @@ Clojure repl, use Clojure and Java libraries, and start Clojure programs.")
(define-public clojure-algo-generic
(package
(name "clojure-algo-generic")
(version "1.0.1")
(version "0.1.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/algo.generic")
(commit (string-append "v" version))))
(commit (string-append "algo.generic-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0i10rxk5jxsw1cm2a8rsq9zgl04173cbpaj02vvc9nb4ig219a8y"))))
(base32 "1s6q10qp276dcpzv06bq1q3bvkvlw03qhmncqcs9cc6p9lc0w4p4"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure/")
@@ -468,16 +294,16 @@ that can be implemented for any data type.")
(define-public clojure-algo-monads
(package
(name "clojure-algo-monads")
(version "0.2.1")
(version "0.1.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/algo.monads")
(commit (string-append "v" version))))
(commit (string-append "algo.monads-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1l420fzqr1mw45w1lz6iqx0s61m8w3r3ad8zmsg17cqahnfakh00"))))
(base32 "0mv3ba72hyhgasg2k3zy83ij61gak6cs4d6qgh8123z3j02mbh8p"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure/")
@@ -496,7 +322,7 @@ defining and using monads and useful monadic functions.")
(define-public clojure-core-async
(package
(name "clojure-core-async")
(version "1.8.741")
(version "1.6.681")
(home-page "https://github.com/clojure/core.async")
(source (origin
(method git-fetch)
@@ -506,7 +332,7 @@ defining and using monads and useful monadic functions.")
(file-name (git-file-name name version))
(sha256
(base32
"1m6lir2xr119yxz483cz0rfw4k3a40qmmsiwl2y7kyxy65vab60z"))))
"1j9yz14hy2qs8g3flsqkn1sx9c0qlr5mmpy6ab1zml9yhbw5arzg"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -530,7 +356,7 @@ work on Communicating Sequential Processes (CSP).")
(define-public clojure-core-cache
(package
(name "clojure-core-cache")
(version "1.2.249")
(version "1.1.234")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -539,7 +365,7 @@ work on Communicating Sequential Processes (CSP).")
(file-name (git-file-name name version))
(sha256
(base32
"0hdwv5dsx49i12riz3frzshwkgw26ah43667lzga2n6zgpmrh8ii"))))
"0jiq022kd5jdpmxz884rvg5317xmx7g3gnidkpcfsamchyfh5qxq"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -557,16 +383,16 @@ cache and Naive cache backed with soft references.")
(define-public clojure-core-match
(package
(name "clojure-core-match")
(version "1.1.1")
(version "1.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/core.match")
(commit (string-append "v" version))))
(commit (string-append "core.match-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"09kijs81js7iy810qkzn7fi996gmf7bmlm2ax571zy0yr38i2hbr"))))
"0ajpxjv4yc282cm0jw8819fay2j6jqp9nfy69k7vll09q7vqsd22"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -582,7 +408,7 @@ It supports Clojure 1.5.1 and later as well as ClojureScript.")
(define-public clojure-core-memoize
(package
(name "clojure-core-memoize")
(version "1.2.273")
(version "1.1.266")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -591,7 +417,7 @@ It supports Clojure 1.5.1 and later as well as ClojureScript.")
(file-name (git-file-name name version))
(sha256
(base32
"009fj19y464an66pryygmqbnx2dqk5wkp40rbkbgkir0ax0k6j3y"))))
"0nys79zrvcnwgyxb91zlyl3nb4p6r6y4n5rbdvzqkvsxxazi9ji0"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -609,17 +435,17 @@ Least-recently-used, Least-used and Time-to-live.")
(define-public clojure-data-codec
(package
(name "clojure-data-codec")
(version "0.2.1")
(version "0.1.1")
(home-page "https://github.com/clojure/data.codec")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(commit (string-append "data.codec-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1wxqwkbpaxjchh03lwy3ngyx6dwv7x7l1qhac42dl6bg213izil5"))))
"192df1dmbwvf1x837mi731n9x94bdypaz18va45plzgdsh4xx6dr"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -638,7 +464,7 @@ is on par with Java implementations, e.g., Apache commons-codec.")
(define-public clojure-data-csv
(package
(name "clojure-data-csv")
(version "1.1.1")
(version "1.0.1")
(home-page "https://github.com/clojure/data.csv")
(source (origin
(method git-fetch)
@@ -648,7 +474,7 @@ is on par with Java implementations, e.g., Apache commons-codec.")
(file-name (git-file-name name version))
(sha256
(base32
"1i43qzjn29a0xb3q54sfrn8f77nmxd0v0fn9361as07yclh8jzif"))))
"1mh1qli6xrw4s3yj9cxxh50z4m7z08indj3ya30znkhi4xsphii2"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -663,7 +489,7 @@ relaxed.")
(define-public clojure-data-json
(package
(name "clojure-data-json")
(version "2.5.2")
(version "2.5.0")
(home-page "https://github.com/clojure/data.json")
(source (origin
(method git-fetch)
@@ -673,7 +499,7 @@ relaxed.")
(file-name (git-file-name name version))
(sha256
(base32
"0xkcd6h5g7yhr839wci6dsynmbijj9r5mrrj70gx849mkhj98411"))))
"04k3fr9y1gp337h0d2zxam3aa3hl046r2g2qiizn7aq0rq6311p9"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -689,7 +515,7 @@ external dependencies")
(define-public clojure-data-priority-map
(package
(name "clojure-data-priority-map")
(version "1.2.1")
(version "1.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -698,7 +524,7 @@ external dependencies")
(file-name (git-file-name name version))
(sha256
(base32
"0yswqr6855n0rg0mfmjfdx0npzasm654m7sz4x0wl13grwgg220k"))))
"0aynzrdl0w08q89nd069lcx8s6msqmwrpqnya63jv1l2pn3w6ij4"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -718,17 +544,17 @@ maps also support conj/peek/pop operations.")
(define-public clojure-data-xml
(package
(name "clojure-data-xml")
(version "0.2.0-alpha10")
(version "0.2.0-alpha6")
(home-page "https://github.com/clojure/data.xml")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(commit (string-append "data.xml-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0mnhgrh20p2wwmq8a4631dkpxbgbijwi6sfhw5v784hzkjkfgkh6"))))
"08vglcapq7sd9zhw8dw1y7dcdks7f21w1pw9p05i475i3bw4cf94"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -737,10 +563,9 @@ maps also support conj/peek/pop operations.")
#:phases
(modify-phases %standard-phases
(add-before 'build 'delete-cljs-tests
(lambda _
(delete-file "src/test/resources/clojure/data/xml/cljs_repl_nashorn.clj")
(delete-file "src/test/resources/clojure/data/xml/cljs_testsuite.clj")
(delete-file "src/test/clojure/clojure/data/xml/test_cljs.clj"))))))
(lambda _
(delete-file "src/test/resources/clojure/data/xml/cljs_testsuite.clj")
(delete-file "src/test/clojure/clojure/data/xml/test_cljs.clj"))))))
(propagated-inputs (list clojure-data-codec))
(synopsis "Clojure library for reading and writing XML data")
(description "@code{data.xml} is a Clojure library for reading and writing
@@ -817,10 +642,37 @@ tree.
(home-page "https://github.com/Engelberg/instaparse")
(license license:epl1.0))))
(define-public clojure-test-check
(package
(name "clojure-test-check")
(version "1.1.1")
(home-page "https://github.com/clojure/test.check")
(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
"09jvlibnxhjv0l57y0sa7yy5in67gq4sssag77hv2d980mwdnls6"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
#:test-dirs '("src/test/clojure")
#:doc-dirs '()))
(synopsis "QuickCheck for Clojure")
(description "@code{test.check} is a Clojure property-based testing tool
inspired by QuickCheck. The core idea of @code{test.check} is that instead of
enumerating expected input and output for unit tests, you write properties
about your function that should hold true for all inputs. This lets you write
concise, powerful tests.")
(license license:epl1.0)))
(define-public clojure-tools-analyzer
(package
(name "clojure-tools-analyzer")
(version "1.2.1")
(version "1.2.0")
(home-page "https://github.com/clojure/tools.analyzer")
(source (origin
(method git-fetch)
@@ -830,7 +682,7 @@ tree.
(file-name (git-file-name name version))
(sha256
(base32
"0apa3gc45rmdj19plbvglpj6i9dadkgvvidj5mcnkzi9y3h0nr27"))))
"05v4i8qs5d51lh113phib0brkysphxa2d71khm840586432knyaa"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -845,7 +697,7 @@ format.")
(define-public clojure-tools-analyzer-jvm
(package
(name "clojure-tools-analyzer-jvm")
(version "1.3.4")
(version "1.3.0")
(home-page "https://github.com/clojure/tools.analyzer.jvm")
(source (origin
(method git-fetch)
@@ -855,7 +707,7 @@ format.")
(file-name (git-file-name name version))
(sha256
(base32
"0pk9z8zf9bgzj0wi98yx130l7570arnxfsg9508g1jvq83djpn21"))))
"13nxzdp15772hzl3jmi5014jkwldkm1qccfycwkk2pn64hycmnxl"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -873,16 +725,16 @@ tools.analyzer, providing additional JVM-specific passes.")
(define-public clojure-tools-macro
(package
(name "clojure-tools-macro")
(version "0.2.2")
(version "0.1.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/tools.macro")
(commit (string-append "v" version))))
(commit (string-append "tools.macro-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "09xxp5vpf86akmn95mvjmd34a1pc48cjxbp6q4lvi3q8rhpkjfd5"))))
(base32 "14mdxqkwja0cffmyfav5pbcli2qvw1mjdgz0n619a2z2036andx8"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure/")
@@ -896,16 +748,16 @@ tools.analyzer, providing additional JVM-specific passes.")
(define-public clojure-tools-cli
(package
(name "clojure-tools-cli")
(version "1.3.250")
(version "1.0.206")
(home-page "https://github.com/clojure/tools.cli")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(commit (string-append "tools.cli-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1nyw33w83gd7xlbpma03p4jwcdcp38h8y99x2rqw4zcnw19gsz4p"))))
(base32 "1hvk5zacl3fr8lfcbfgckaicqjx697j0kzw2x5hwj8j5xlr8ri2r"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure/")
@@ -920,7 +772,7 @@ work with command-line arguments.")
(define-public clojure-tools-deps
(package
(name "clojure-tools-deps")
(version "0.28.1569")
(version "0.18.1354")
(home-page "https://github.com/clojure/tools.deps")
(source (origin
(method git-fetch)
@@ -930,26 +782,38 @@ work with command-line arguments.")
(file-name (git-file-name name version))
(sha256
(base32
"04s8cishxm1y4vnx8mpdk1qma6j0khmb356j69fsy14s615yjgfg"))))
"0ls5nixhsjjhf3qz8kbyhmks5lw7a25zxl46yrizbw7vba3mzrpl"))))
(build-system clojure-build-system)
(arguments
`(#:source-dirs '("src/main/clojure" "src/main/resources")
#:java-source-dirs '("src/main/java")
#:test-dirs '("src/test/clojure")
#:doc-dirs '()
;; FIXME: Could not initialize class
;; org.eclipse.aether.transport.http.SslSocketFactory
;; FIXME: Could not initialize class org.eclipse.aether.transport.http.SslSocketFactory
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'build 'reference-clojure-jar-input
;; Use static clojure jar from build input at runtime by default.
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/main/resources/clojure/tools/deps/deps.edn"
(("org\\.clojure/clojure.*$")
(string-append "org.clojure/clojure {:local/root \""
(assoc-ref inputs "clojure")
"/share/java/clojure.jar\"}"))))))))
;; FIXME: Currently, the S3 transporter depends on ClojureScript,
;; which is very difficult to package due to dependencies on Java
;; libraries with non-standard build systems. Instead of actually
;; packaging these libraries, we just remove the S3 transporter that
;; depends on them.
(add-after 'unpack 'remove-s3-transporter
(lambda _
(for-each delete-file
(list
(string-append
"src/main/clojure/clojure/"
"tools/deps/util/s3_aws_client.clj")
(string-append
"src/main/clojure/clojure/"
"tools/deps/util/s3_transporter.clj")
(string-append
"src/test/clojure/clojure/"
"tools/deps/util/test_s3_transporter.clj")))
(substitute*
"src/main/clojure/clojure/tools/deps/util/maven.clj"
(("clojure.tools.deps.util.s3-transporter")
"")))))))
(propagated-inputs (list maven-resolver-api
maven-resolver-spi
maven-resolver-impl
@@ -961,8 +825,7 @@ work with command-line arguments.")
maven-resolver-transport-file
clojure-tools-gitlibs
clojure-tools-cli
clojure-data-xml
cognitect-aws-api))
clojure-data-xml))
(synopsis "Clojure library supporting clojure-tools")
(description "This package provides a functional API for transitive
dependency graph expansion and the creation of classpaths.")
@@ -974,7 +837,7 @@ dependency graph expansion and the creation of classpaths.")
;; Keeping it to give downstream packages a chance to upgrade
(package
(name "clojure-tools-deps-alpha")
(version "0.15.1254")
(version "0.14.1212")
(home-page "https://github.com/clojure/tools.deps.alpha")
(source (origin
(method git-fetch)
@@ -984,7 +847,7 @@ dependency graph expansion and the creation of classpaths.")
(file-name (git-file-name name version))
(sha256
(base32
"17zvizzw637az7facwipsrg9b1kjci03aycg6w5pnjpg6b6nd5m6"))))
"0r8qfihii6cf95kl86x6zfldnm7wlkgda2qmq3340j1x03v244dd"))))
(build-system clojure-build-system)
(arguments
`(#:source-dirs '("src/main/clojure" "src/main/resources")
@@ -992,6 +855,7 @@ dependency graph expansion and the creation of classpaths.")
#:doc-dirs '()
;; FIXME: Could not initialize class org.eclipse.aether.transport.http.SslSocketFactory
#:tests? #f
#:jdk ,openjdk11
#:phases
(modify-phases %standard-phases
;; FIXME: Currently, the S3 transporter depends on ClojureScript,
@@ -1036,7 +900,7 @@ dependency graph expansion and the creation of classpaths.")
(define-public clojure-tools-gitlibs
(package
(name "clojure-tools-gitlibs")
(version "2.6.212")
(version "2.4.181")
(home-page "https://github.com/clojure/tools.gitlibs")
(source (origin
(method git-fetch)
@@ -1046,7 +910,7 @@ dependency graph expansion and the creation of classpaths.")
(file-name (git-file-name name version))
(sha256
(base32
"199n58dwh44rlb0m514swh6zx3flckq3lccxv9dwbypbv29n9ghq"))))
"1d8c79f33axghadwqa955yjfsxa6fgl8jq4nfll2zrp6sjw0597k"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -1064,7 +928,7 @@ keeps a cache of git directories and working trees that can be reused.")
(define-public clojure-tools-logging
(package
(name "clojure-tools-logging")
(version "1.3.1")
(version "1.3.0")
(home-page "https://github.com/clojure/tools.logging")
(source (origin
(method git-fetch)
@@ -1074,7 +938,7 @@ keeps a cache of git directories and working trees that can be reused.")
(file-name (git-file-name name version))
(sha256
(base32
"1jdk7b6zm73m7nki76123ik6px9rl5g5wb06298v34h56qyck8lr"))))
"106n4cxsxzs0hvpsfi1h14b09xm6klrvj1g5fbd5nw8fj3mpkdac"))))
(build-system clojure-build-system)
(arguments
'(#:doc-dirs '()
@@ -1108,10 +972,36 @@ implementation, selected at runtime when the clojure.tools.logging namespace
is first loaded.")
(license license:epl1.0)))
(define-public clojure-tools-reader
(package
(name "clojure-tools-reader")
(version "1.5.0")
(home-page "https://github.com/clojure/tools.reader")
(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
"1jf05q4ym8z16qaxidx47g2gjv04qcf1wvkca3wqyiaszpvym4zz"))))
(build-system clojure-build-system)
(arguments
'(#:doc-dirs '()
#:source-dirs '("src/main/clojure")
#:test-dirs '("src/test/clojure")
#:test-exclude '(clojure.tools.common-tests))) ; Loaded by other tests.
(synopsis "Clojure reader written in Clojure")
(description "The clojure.tools.reader library offers all functionality
provided by the Clojure Core reader and more. It adds metadata such as column
and line numbers not only to lists, but also to symbols, vectors and maps.")
(license license:epl1.0)))
(define-public http-kit
(package
(name "http-kit")
(version "2.8.1")
(version "2.8.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1120,7 +1010,7 @@ is first loaded.")
(file-name (git-file-name name version))
(sha256
(base32
"1fqfl7a7ygfw43xjmmlwrl55xbz34qxpzc8230bpqvjh9n417h74"))))
"1361bpb4sn3dbp215s7gf1bcrb45lgx3lk6lix7bndw9lahr5ank"))))
(build-system clojure-build-system)
(arguments
'(#:java-source-dirs '("src/java")
@@ -1134,59 +1024,3 @@ high-performance Clojure HTTP client and server library with WebSocket and
asynchronous support.")
(home-page "https://github.com/http-kit/http-kit")
(license license:asl2.0)))
(define-public cognitect-aws-api
(package
(name "cognitect-aws-api")
(version "0.8.774")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cognitect-labs/aws-api")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1y3impishicd8niy1vddx6c80pnbpz24zfr7vysi4r56p1vqnwmb"))
(modules '((guix build utils)))
(snippet
'(begin
(for-each delete-file
(list
;; Require Cognitect http client
"src/cognitect/aws/http/cognitect.clj"
;; Requires Babashka.
"test/src/bb_test_runner.clj"
;; Requires AWS Java SDK v2.
"test/src/cognitect/aws/jdk_v2.clj"
"test/src/cognitect/aws/signers_test.clj"
;; Remove integration tests.
"test/src/cognitect/aws/client/shared_test.clj"
"test/src/cognitect/aws/api_test.clj"
"test/src/cognitect/client/impl_test.clj"
"test/src/cognitect/client/test_double_test.clj"))
;; Remove integration tests
(delete-file-recursively "test/src/cognitect/aws/integration")))))
(build-system clojure-build-system)
(propagated-inputs (list clojure-core-async
clojure-tools-logging
clojure-data-json
clojure-data-xml))
(native-inputs (list clojure-test-check
http-kit))
(arguments `(#:source-dirs '("src")
#:doc-dirs '()
#:test-dirs '("test/src" "test/resources")
;; Allow using java.net.http client.
#:jdk ,openjdk11))
(synopsis
"Programmatic access to AWS services from Clojure programs")
(description
"This package is an idiomatic, data-oriented Clojure library for invoking AWS
APIs. While the library offers some helper and documentation functions you'll
use at development time, the only functions you ever need at runtime are
client, which creates a client for a given service and invoke, which invokes
an operation on the service. invoke takes a map and returns a map, and works
the same way for every operation on every service.")
(home-page "https://github.com/cognitect-labs/aws-api")
(license license:asl2.0)))
+32 -29
View File
@@ -8,7 +8,7 @@
;;; Copyright © 2017, 2018, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019-2026 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2019-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>
;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
@@ -571,33 +571,36 @@ Cmake files. It supports syntax highlighting, indenting and refilling of
comments.")))
(define-public qmsetup
(package
(name "qmsetup")
(version "1.0.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stdware/qmsetup")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0cfl26ff8y384cbgi340l1znxvdjmc4f5s86kl20gkkwlkc11zdy"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ;no test suite
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/corecmd/utils_unix.cpp"
(("\"patchelf\"")
(format #f "~s" (search-input-file
inputs "bin/patchelf")))))))))
(inputs (list patchelf syscmdline))
(home-page "https://github.com/stdware/qmsetup")
(synopsis "CMake modules and basic libraries for C/C++ projects")
(description "QMSetup is a set of CMake Modules and Basic Libraries for
(let ((commit "89fa57046241c26dfcfd97ceba174728b24bdd27")
(revision "0"))
(package
(name "qmsetup")
;; The base version string is retrieved from the CMakeLists.txt file.
(version (git-version "0.0.1.5" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stdware/qmsetup")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0nqpblv08yqv97vjv7cxkpf160s3877gnd7jjqxnfrrknm2396r1"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ;no test suite
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/corecmd/utils_unix.cpp"
(("\"patchelf\"")
(format #f "~s" (search-input-file
inputs "bin/patchelf")))))))))
(inputs (list patchelf syscmdline))
(home-page "https://github.com/stdware/qmsetup")
(synopsis "CMake modules and basic libraries for C/C++ projects")
(description "QMSetup is a set of CMake Modules and Basic Libraries for
C/C++ projects. It features:
@itemize
@item Helpful CMake utilities
@@ -607,7 +610,7 @@ C/C++ projects. It features:
@item Support calling Doxygen via CMake conveniently
@item Support calling Qt Linguist Tools via CMake conveniently
@end itemize")
(license license:expat)))
(license license:expat))))
(define-public tinycmmc
;; XXX: Does not release anymore.
+2 -2
View File
@@ -424,7 +424,7 @@ COCOMO model or user-provided parameters.")
(define-public cloc
(package
(name "cloc")
(version "2.08")
(version "2.06")
(source
(origin
(method git-fetch)
@@ -433,7 +433,7 @@ COCOMO model or user-provided parameters.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1pk4v9w2c8wzdjimk23gndrcrd3y6cxi0avds3a36yasd3mg45hm"))))
(base32 "02l56ks3p3344nf6lz9s3aym9f0xslkns8q8d8zm1i3whf98iymv"))))
(build-system gnu-build-system)
(inputs
(list bash-minimal
+17 -2
View File
@@ -599,6 +599,21 @@ than gzip and 15 % smaller output than bzip2.")
(license (list license:gpl2+ license:lgpl2.1+)) ; bits of both
(home-page "https://tukaani.org/xz/")))
(define-public xz-for-graal-truffle
(package
(inherit xz)
(name "xz-for-graal-truffle")
(version "5.6.2")
(source (origin
(method url-fetch)
(uri (list (string-append "http://tukaani.org/xz/xz-" version
".tar.gz")
(string-append "http://multiprecision.org/guix/xz-"
version ".tar.gz")))
(sha256
(base32
"06a585qzn2qlwdv44w7x6p6x8qmbqrqzlz29y8108vyqw7021zcb"))))))
(define-public heatshrink
(package
(name "heatshrink")
@@ -2876,7 +2891,7 @@ computations.")
(define-public c-blosc2
(package
(name "c-blosc2")
(version "2.22.0")
(version "2.15.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2885,7 +2900,7 @@ computations.")
(file-name (git-file-name name version))
(sha256
(base32
"147gkmdrqbw3knqmsj8pc2x0jqcrai81wxjj5f3jna556krpxq6i"))))
"17kqwvw2n6bgzidi8f5906s5hc9wm1lbfbpd491gf7csxjck99sx"))))
(build-system cmake-build-system)
(arguments
(list #:parallel-tests? #f
+91
View File
@@ -0,0 +1,91 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;;
;;; 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 cook)
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix download)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages groff)
#:use-module (gnu packages text-editors)
#:use-module (guix build-system gnu))
(define-public cook
(package
(name "cook")
(version "2.34")
(source
(origin
(method url-fetch)
(uri "http://fossies.org/linux/misc/old/cook-2.34.tar.gz")
(sha256
(base32
"104saqnqql1l7zr2pm3f718fdky3ds8j07c6xvwrs1rfkhrw58yw"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; There are some nasty racy rules in the Makefile.
#:phases
(modify-phases %standard-phases
(add-before 'configure 'pre-conf
(lambda _
(substitute* (append '("common/env.c")
(find-files "test" "\\.sh"))
(("/bin/sh") (which "sh")))
;; Guix's binutils (because it wants bit-reproducable builds) is
;; is configured with the --enable-deterministic-archives flag.
;; This means the timestamp of files appended to an ar archive
;; are automatically and silently mutated to 00:00 1 Jan 1970
;; which plays havoc with this test, for which correct timestamps
;; are very important. Adding the U flag undoes the effect of
;; --enable-deterministic-archives and allows this test to work
;; again.
(substitute* "test/00/t0077a.sh"
(("ar qc") "ar qcU"))
;; Guix builds have LC_ALL set to "en_US.utf8", which causes
;; `date` to use a 12-hour clock instead of 24h, which in turn
;; makes t0217a.sh fail because of unexpected date output.
(substitute* "test/02/t0217a.sh"
(("export TZ")
"export TZ\nLC_ALL=POSIX\nexport LC_ALL"))
(setenv "SH" (which "sh"))
#t)))))
(native-inputs (list bison-3.0
;; For building the documentation:
groff
;; For the tests:
sharutils
;; One test wants rsh. However there is no rsh server
;; running in the build environment and so far as I'm
;; aware, it cannot be started without root.
;; This test is therefore just skipped.
;; ("inetutils" ,inetutils)
ed))
(home-page (string-append "https://web.archive.org/web/20140727122520/"
"http://miller.emu.id.au/pmiller/software/cook/"))
(synopsis "Tool for constructing files")
(description "Cook is a tool for constructing files. It is given a set of
files to create, and recipes of how to create them. In any non-trivial program
there will be prerequisites to performing the actions necessary to creating
any file, such as include files. Cook provides a mechanism to define these.")
(license gpl3+)))
+54 -209
View File
@@ -8,7 +8,7 @@
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
;;; Copyright © 2020, 2021, 2023-2026 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020, 2021, 2023, 2024, 2025 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020, 2021, 2022, 2024, 2025 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
@@ -31,7 +31,7 @@
;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2022-2025 David Elsing <david.elsing@posteo.net>
;;; Copyright © 2022-2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2022-2024, 2026 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2022, 2023, 2024 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;; Copyright © 2023, 2025 Sughosha <Sughosha@disroot.org>
;;; Copyright © 2023, 2024, 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
@@ -50,7 +50,6 @@
;;; Copyright © 2024, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2025 Philippe Swartvagher <phil.swart@gmx.fr>
;;; Copyright © 2025 Murilo <murilo@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -103,7 +102,6 @@
#:use-module (gnu packages disk)
#:use-module (gnu packages documentation)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
@@ -123,12 +121,10 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages samba)
#:use-module (gnu packages sdl)
#:use-module (gnu packages tls)
#:use-module (gnu packages tex)
@@ -333,31 +329,6 @@ This project is maintained by Kitware in support of ITK, the Insight
Segmentation and Registration Toolkit.")
(license license:asl2.0)))
(define-public collada-dom
(package
(name "collada-dom")
(version "2.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rdiankov/collada-dom.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1npz3yynv02g7w70c39zqn5w0g4sb438bmkkw0x7gj8cknjnwv9z"))
(patches (search-patches "collada-dom-boost.patch"))))
(build-system cmake-build-system)
(arguments (list #:tests? #f)) ; No tests present
(native-inputs (list pkg-config))
(inputs (list boost libxml2 minizip zlib))
(home-page "https://github.com/rdiankov/collada-dom")
(synopsis "COLLADA DOM C++ library")
(description "COLLADA-DOM is a C++ library for loading
and saving COLLADA documents that can contain 2D, 3D, physics
and other types of content.")
(license license:expat)))
(define-public cpp-utilities
(package
(name "cpp-utilities")
@@ -976,7 +947,7 @@ library for SIMD (Single Instruction, Multiple Data) with runtime dispatch.")
(define-public hyprgraphics
(package
(name "hyprgraphics")
(version "0.5.0")
(version "0.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -987,7 +958,7 @@ library for SIMD (Single Instruction, Multiple Data) with runtime dispatch.")
(snippet #~(substitute* "CMakeLists.txt" (("libjxl_cms") "")))
(sha256
(base32
"1l8yfnv1vs6iqnh7r73yyfkbl8l61mqpmpyhri65sqwvplkgw41i"))))
"1jii9l9qbksp6x1vwbm84a985hy9q9xcpl703bliprd5rkpi6w96"))))
(build-system cmake-build-system)
(native-inputs (list gcc-15 pkg-config))
(inputs (list cairo
@@ -1011,7 +982,7 @@ utilities used across the hypr* ecosystem.")
(define-public hyprlang
(package
(name "hyprlang")
(version "0.6.8")
(version "0.6.7")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1020,7 +991,7 @@ utilities used across the hypr* ecosystem.")
(file-name (git-file-name name version))
(sha256
(base32
"06wiizy73f0x6zj1ar878gm1w9zam1gmgjw0ybixj3qag0gxqv34"))))
"0n64jq9jdabyx76sax0fb45jg92708488733c2m6zsf84r6nv2g7"))))
(build-system cmake-build-system)
(arguments
(list
@@ -1045,7 +1016,7 @@ language used in Hyprland.")
(define-public hyprutils
(package
(name "hyprutils")
(version "0.11.0")
(version "0.10.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1054,7 +1025,7 @@ language used in Hyprland.")
(file-name (git-file-name name version))
(sha256
(base32
"1ymiqzncppdik8lw3ad7xaqig6c7bjcy7crcwbq3rjfk2hrc8rmc"))))
"08b65pssaci780rgb5qgqc61zvbxmb9qda4gb58j8nh9yi3ya0jx"))))
(build-system cmake-build-system)
(arguments
(list
@@ -1077,102 +1048,6 @@ language used in Hyprland.")
ecosystem.")
(license license:bsd-3)))
(define-public hyprtoolkit
(package
(name "hyprtoolkit")
(version "0.5.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hyprwm/hyprtoolkit")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0jjb1bf55270r3qc3fzxd1l3ahqsbgs948z46qi9niapa3gx1zli"))))
(build-system cmake-build-system)
(arguments (list #:tests? #f)) ; No tests in Release build type
(native-inputs (list pkg-config hyprwayland-scanner))
(inputs
(list aquamarine
cairo
googletest
hyprgraphics
hyprlang
hyprutils
iniparser
mesa
libglvnd
libxkbcommon
pango
pixman
wayland
wayland-protocols))
(home-page "https://github.com/hyprwm/hyprtoolkit")
(synopsis "Modern C++ Wayland-native GUI toolkit")
(description "This package provides a C++ toolkit for making wayland GUI
apps.")
(license license:bsd-3)))
(define-public hyprwire
(package
(name "hyprwire")
(version "0.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hyprwm/hyprwire")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0rzclhk42x9im9n6fz2bj98l9lb7jhl3vijvck4rj6yhb80kvli0"))))
(build-system cmake-build-system)
(arguments (list #:tests? #f)) ; There are no tests
(native-inputs (list pkg-config gcc-15))
(inputs
(list hyprutils
libffi
pugixml))
(home-page "https://github.com/hyprwm/hyprwire")
(synopsis "Fast and consistent wire protocol for IPC")
(description "This package provides a fast and consistent wire protocol,
and its implementation. This is essentially a method for processes to talk to
each other.")
(license license:bsd-3)))
(define-public hyprland-guiutils
(package
(name "hyprland-guiutils")
(version "0.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hyprwm/hyprland-guiutils")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0x5757ch8rvgbph66fkf5cg39r37isvfy450429746xmajsy0qa7"))))
(build-system cmake-build-system)
(arguments (list #:tests? #f)) ; There are no tests
(native-inputs (list pkg-config gcc-15))
(inputs
(list aquamarine
cairo
hyprgraphics
hyprlang
hyprtoolkit
hyprutils
mesa
libxkbcommon
pixman))
(home-page "https://github.com/hyprwm/hyprland-guiutils")
(synopsis "Hyprland GUI utilities")
(description "This package provides GUI utilities for hyprland. It is the
successor of hyprland-qtutils.")
(license license:bsd-3)))
(define-public xsimd-benchmark
(package
(inherit xsimd)
@@ -1318,32 +1193,6 @@ collision) and the extra storage is linear with respect to the number of
keys.")
(license license:asl2.0))))
(define-public glaze
(package
(name "glaze")
(version "7.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stephenberry/glaze")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1plzxrpk470yqm0pzdw5ghc39jvcafn2xj90hk4gpy7r82wvwfhs"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f
#:configure-flags
;; Building tests require fetching external libraries
#~(list "-DBUILD_TESTING=OFF")))
(home-page "https://github.com/stephenberry/glaze")
(synopsis "Fast, in memory, JSON and reflection library for modern C++")
(description "Glaze is an in-memory JSON and reflection library for modern
C++. It also provides support for BEVE, CBOR, CSV, MessagePack, TOML, YAML,
and EETF.")
(license license:expat)))
(define-public json-dto
(package
(name "json-dto")
@@ -1718,36 +1567,32 @@ lock-free fixed size queue written in C++11.")
(license license:expat)))
(define-public syscmdline
(let ((commit "0c9f3de8b11bd2f33b03bea5521bf446af4ead69")
(revision "0"))
(package
(name "syscmdline")
;; The version string is taken from
;; <https://raw.githubusercontent.com/SineStriker/syscmdline/refs/heads/main/CMakeLists.txt>.
(version (git-version "1.0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/SineStriker/syscmdline")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"168dij7p2kjl0qs3k5lzrnbzf2s2mbfpm83jimk028whx8cbv4jh"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags
#~(list "-DSYSCMDLINE_BUILD_STATIC=OFF" ;build a shared library
"-DSYSCMDLINE_BUILD_TESTS=ON")
#:phases #~(modify-phases %standard-phases
(replace 'check
;; There isn't currently any exposed test target.
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "bin/tst_basic")))))))
(home-page "https://github.com/SineStriker/syscmdline")
(synopsis "C++ advanced command line parser")
(description "SysCmdLine is a C++ command line parser that is inspired by
(package
(name "syscmdline")
(version "0.0.1.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/SineStriker/syscmdline")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"00n9vkyymp1dzixxl93f6pkpd3ndsk1vib7shhlxv4zvy5hjqhqw"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags
#~(list "-DSYSCMDLINE_BUILD_STATIC=OFF" ;build a shared library
"-DSYSCMDLINE_BUILD_TESTS=ON")
#:phases #~(modify-phases %standard-phases
(replace 'check
;; There isn't currently any exposed test target.
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "bin/tst_basic")))))))
(home-page "https://github.com/SineStriker/syscmdline")
(synopsis "C++ advanced command line parser")
(description "SysCmdLine is a C++ command line parser that is inspired by
@code{QCommandLineParser} from Qt and @code{System.CommandLine} from C#. It
has features such as:
@itemize
@@ -1762,7 +1607,7 @@ has features such as:
@item Highly configurable
@item Friendly interface
@end itemize")
(license license:expat))))
(license license:expat)))
(define-public gperftools
(package
@@ -3377,11 +3222,8 @@ syntax with variables, conditions, functions and more.")
(package
(inherit jsonnet)
(name "python-jsonnet")
(build-system pyproject-build-system)
(arguments
(list #:test-flags #~(list "--ignore=case_studies/")))
(native-inputs (modify-inputs (package-native-inputs jsonnet)
(append python-pyyaml python-pytest python-setuptools)))
(build-system python-build-system)
(arguments '())
(synopsis "Python bindings for Jsonnet, the data templating language")
(description "This package provides a Python library named @code{_jsonnet}
which can evaluate Jsonnet files and expressions.")))
@@ -3700,9 +3542,9 @@ different floating point sizes and complex transformations.")
(license license:bsd-3))))
(define-public priocpp
;; Latest release is from 2022-08-14.
(let ((commit "ea15402adcd0d9191dc29ca6f7e4dd0bff67b9b5")
(revision "1"))
;; XXX: No releases.
(let ((commit "214a0ff789d5c58e76d870fe2e75f98857991855")
(revision "0"))
(package
(name "priocpp")
(version (git-version "0.0.0" revision commit))
@@ -3714,15 +3556,15 @@ different floating point sizes and complex transformations.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0x4cgivaprj5c74yyyzny5dsg288w9y8sf21h79sl9r303ins867"))))
(base32 "0ksrgajcwqvim5ymxikj26akza3sbhvx3kn4n9xib6r57131kq2m"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(list "-DBUILD_TESTS=ON")))
(inputs (list fmt-10 logmich))
(inputs (list fmt-8 logmich))
(native-inputs (list googletest pkg-config tinycmmc))
;; TODO: cmake-built dependents currently require propagation -- why?
;; XXX: CMake-built dependents currently require propagation.
(propagated-inputs (list jsoncpp sexp-cpp))
(home-page "https://github.com/Grumbel/priocpp")
(synopsis "Property input/output for C++")
@@ -4152,16 +3994,16 @@ features:
(define-public juce
(package
(name "juce")
(version "8.0.12")
(version "8.0.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/juce-framework/JUCE")
(commit version)))
(url "https://github.com/juce-framework/JUCE")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0m4kbpwg2gblnilly0h2a3rr7f7lb13gsx4fvs2mnvyvy6jfbbls"))))
"1n2w571wc7fl178x5ynxiaxvhjvqskfwnd0x295yzr6vpc35a1mv"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ;no test suite
@@ -4171,17 +4013,20 @@ features:
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute*
(find-files "." "juce_Fonts_linux.cpp$")
(find-files "." "jucer_ProjectExport_CodeBlocks.h$")
(("/usr/include/freetype2")
(search-input-directory inputs "/include/freetype2")))
(substitute*
(find-files "." "juce_linux_Fonts.cpp$")
(("fonts\\.conf\" };")
(string-append
"fonts.conf\",\n\""
"fonts.conf\"\n\""
(search-input-file inputs "/etc/fonts/fonts.conf")
"\"\n};"))))))))
(native-inputs
(list alsa-lib
curl
jack-2
ladspa
jack-1
libx11
pkg-config
webkitgtk-with-libsoup2))
+564 -727
View File
File diff suppressed because it is too large Load Diff
+29 -81
View File
@@ -21,7 +21,7 @@
;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net>
;;; Copyright © 2021 Ellis Kenyő <me@elken.dev>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021, 2022, 2025 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021, 2022 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2022 Allan Adair <allan@adair.no>
;;; Copyright © 2022, 2024-2025 Maxim Cournoyer <maxim@guixoic.coop>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
@@ -30,7 +30,6 @@
;;; Copyright © 2024, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Robin Templeton <robin@guixotic.coop>
;;; Copyright © 2026 Hennadii Stepanov <hebasto@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1582,7 +1581,7 @@ non-encrypted files.")
(define-public cryfs
(package
(name "cryfs")
(version "1.0.1")
(version "0.11.4")
(source
(origin
(method url-fetch)
@@ -1590,53 +1589,52 @@ non-encrypted files.")
"https://github.com/cryfs/cryfs/releases/download/"
version "/cryfs-" version ".tar.xz"))
(sha256
(base32 "1va8l8yfyi895604i8npq2b5ha0ixiqydlrq2nck2106w52wrm3s"))
(patches (search-patches
;; https://github.com/cryfs/cryfs/pull/494
"cryfs-boost-1.88-fix.patch"
;; https://github.com/cryfs/cryfs/pull/500
"cryfs-boost-1.89-fix.patch"))))
(base32 "0a48qijfrd02ianp19x3kz24w1pgigmlxdr5nks0gag7z5b2s7m7"))))
(build-system cmake-build-system)
(arguments
'(#:modules ((guix build cmake-build-system)
(guix build utils)
(srfi srfi-1))
#:configure-flags
;; Note: This also disables checking for security issues.
'("-DCRYFS_UPDATE_CHECKS=OFF"
"-DBUILD_TESTING=ON")
;; crypto++ is still bundled: https://github.com/cryfs/cryfs/issues/369
;; Note: This also disables checking for security issues.
`("-DCRYFS_UPDATE_CHECKS=OFF"
;; This helps us use some dependencies from Guix instead of conan.
;; crypto++ is still bundled: https://github.com/cryfs/cryfs/issues/369
;; Googletest is also since I wasn't sure how to unbundle that.
,(string-append "-DDEPENDENCY_CONFIG=" (getcwd)
"/cmake-utils/DependenciesFromLocalSystem.cmake"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-up
(lambda* (#:key tests? #:allow-other-keys)
(chdir "..") ; We end up in .github somehow
;; Remove junk directory that breaks the build
(chdir "..") (delete-file-recursively ".circleci")
;; Install documentation with Guix defaults.
(substitute* "doc/CMakeLists.txt"
(("CONFIGURATIONS Release")
"CONFIGURATIONS Release RelWithDebInfo"))
;; Disable Fuse tests.
(substitute* "test/cryfs-cli/CMakeLists.txt"
(("CliTest_IntegrityCheck.cpp") "")
(("CliTest_Setup.cpp") "")
(("CliTest_WrongEnvironment.cpp") "")
(("CryfsUnmountTest.cpp") ""))))
(when tests?
(substitute* "CMakeLists.txt"
(("option.BUILD_TESTING .build test cases. OFF.")
"option(BUILD_TESTING \"build test cases\" ON)")))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "HOME" "/tmp")
(let ((tests (find-files "test/" "-test$")))
;; SignalHandler/SignalCatcher tests fails
;; Fuse tests can't run in build env.
(let ((tests (find-files "." "-test$")))
;; XXX: Disable failing tests. Unfortunately there are a
;; few. Some only fail in the build environment due to
;; FUSE not being available.
(for-each invoke
(lset-difference string-contains
tests
'("cpp-utils-test"
"cryfs-cli-test"
"blobstore-test"
"fspp-test"))))))))))
(native-inputs
(list googletest pkg-config python-wrapper))
(list pkg-config python-wrapper))
(inputs
(list boost curl fuse-2 range-v3 spdlog))
(list boost-1.83 curl fuse-2 range-v3 spdlog))
(home-page "https://www.cryfs.org/")
(synopsis "Encrypted FUSE filesystem for the cloud")
(description "CryFS encrypts your files, so you can safely store them anywhere.
@@ -1645,8 +1643,7 @@ others. CryFS creates an encrypted userspace filesystem that can be mounted
via FUSE without root permissions. It is similar to EncFS, but provides
additional security and privacy measures such as hiding file sizes and directory
structure. However CryFS is not considered stable yet by the developers.")
(license license:lgpl3+)
(properties `((tunable? . #t)))))
(license license:lgpl3+)))
(define-public b3sum
(package
@@ -1715,40 +1712,19 @@ 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")
(version "2.9.8")
(version "2.9.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/danielrobbins/keychain")
(url "https://github.com/funtoo/keychain")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1ps1hm6xf12agbrgw3jpja28q6b52cpa0fgsvkyhp4j1b2hfhkf6"))))
"0nj5rq9vzvf5g8axmicy5zfcjir7a6fr1ai4ha3cpqj4zgridga7"))))
(build-system gnu-build-system)
(arguments
(list
@@ -1775,7 +1751,7 @@ with various operating systems (including GNU/Linux and HURD) and
shells (like bourne-compatible, csh-compatible and fish shells). By
default Keychain will only start ssh-agent, but it can also be
configured to start gpg-agent.")
(home-page "https://github.com/danielrobbins/keychain")
(home-page "https://www.funtoo.org/Keychain")
(license license:gpl2)))
(define-public libdigidocpp
@@ -1810,31 +1786,3 @@ configured to start gpg-agent.")
signatures used by the Estonian ID card infrastructure. This library allows
for creation and reading of DigiDoc files.")
(license license:lgpl2.1+)))
(define-public osslsigncode
(package
(name "osslsigncode")
(version "2.12")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mtrojnar/osslsigncode")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "000balq0cw49jra9gvr8dk8x7ns9gd77qim3z8qci5rrkjbb8nai"))))
(build-system cmake-build-system)
(arguments
(list
#:parallel-tests? #f))
(inputs (list openssl zlib))
(native-inputs (list python-cryptography python-minimal-wrapper))
(home-page "https://github.com/mtrojnar/osslsigncode")
(synopsis
"Authenticode signing for PE, CAB, CAT, MSI, APPX and script files")
(description
"osslsigncode is a small tool that implements part of the
functionality of the Microsoft tool signtool.exe - more exactly the Authenticode
signing and timestamping. It is based on OpenSSL.")
(license license:gpl3+)))
+95 -95
View File
@@ -623,10 +623,11 @@ should only be used as part of the Guix cups-pk-helper service.")
(build-system gnu-build-system)
(arguments
(list
#:imported-modules %pyproject-build-system-modules
#:imported-modules `((guix build python-build-system)
,@%default-gnu-imported-modules)
#:modules '((guix build gnu-build-system)
(guix build utils)
((guix build pyproject-build-system) #:prefix py:))
((guix build python-build-system) #:prefix python:))
#:configure-flags
#~(list "--disable-imageProcessor-build"
(string-append "--prefix=" #$output)
@@ -647,103 +648,102 @@ should only be used as part of the Guix cups-pk-helper service.")
"--enable-qt5"
"--disable-qt4")
#:phases
(with-extensions (list (pyproject-guile-json))
#~(modify-phases %standard-phases
(add-after 'unpack 'set-gcc-14-cflags
;; We set CFLAGS here because adding setting it in
;; #:configure-flags or #:make-flags does not work.
(lambda _
(substitute* "Makefile.in"
(("CFLAGS = @CFLAGS@" all)
(string-append all
" -Wno-error=attributes"
" -Wno-error=implicit-function-declaration"
" -Wno-error=implicit-int"
" -Wno-error=incompatible-pointer-types"
" -Wno-error=int-conversion"
" -Wno-error=return-mismatch")))))
(add-after 'unpack 'fix-hard-coded-file-names
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out #$output)
;; FIXME: use merged ppds (I think actually only
;; drvs need to be merged).
(cupsdir #$(this-package-input "cups-minimal")))
(substitute* (find-files "." "\\.py$")
;; Refer to the correct default configuration file name.
(("/etc/hp/hplip.conf")
(string-append out "/etc/hp/hplip.conf")))
(substitute* "base/g.py"
(("'/usr/share;[^']*'")
(string-append "'" cupsdir "/share'"))
(("'/etc/hp/hplip.conf'")
(string-append "'" out "/etc/hp/hplip.conf" "'")))
#~(modify-phases %standard-phases
(add-after 'unpack 'set-gcc-14-cflags
;; We set CFLAGS here because adding setting it in
;; #:configure-flags or #:make-flags does not work.
(lambda _
(substitute* "Makefile.in"
(("CFLAGS = @CFLAGS@" all)
(string-append all
" -Wno-error=attributes"
" -Wno-error=implicit-function-declaration"
" -Wno-error=implicit-int"
" -Wno-error=incompatible-pointer-types"
" -Wno-error=int-conversion"
" -Wno-error=return-mismatch")))))
(add-after 'unpack 'fix-hard-coded-file-names
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out #$output)
;; FIXME: use merged ppds (I think actually only
;; drvs need to be merged).
(cupsdir #$(this-package-input "cups-minimal")))
(substitute* (find-files "." "\\.py$")
;; Refer to the correct default configuration file name.
(("/etc/hp/hplip.conf")
(string-append out "/etc/hp/hplip.conf")))
(substitute* "base/g.py"
(("'/usr/share;[^']*'")
(string-append "'" cupsdir "/share'"))
(("'/etc/hp/hplip.conf'")
(string-append "'" out "/etc/hp/hplip.conf" "'")))
(substitute* "Makefile.in"
(("[[:blank:]]check-plugin\\.py[[:blank:]]") " ")
;; FIXME Use beginning-of-word in regexp.
(("[[:blank:]]plugin\\.py[[:blank:]]") " ")
(("/usr/include/libusb-1.0")
(search-input-directory inputs "/include/libusb-1.0"))
(("hplip_statedir =.*$")
;; Don't bail out while trying to create
;; /var/lib/hplip. We can safely change its value
;; here because it's hard-coded in the code anyway.
"hplip_statedir = $(prefix)\n")
(("hplip_confdir = /etc/hp")
;; This is only used for installing the default config.
(string-append "hplip_confdir = " out "/etc/hp"))
(("halpredir = /usr/share/hal/fdi/preprobe/10osvendor")
;; We don't use hal.
(string-append "halpredir = " out
"/share/hal/fdi/preprobe/10osvendor"))
(("rulesdir = /etc/udev/rules.d")
;; udev rules will be merged by base service.
(string-append "rulesdir = " out "/lib/udev/rules.d"))
(("rulessystemdir = /usr/lib/systemd/system")
;; We don't use systemd.
(string-append "rulessystemdir = " out "/lib/systemd/system"))
(("/etc/sane.d")
(string-append out "/etc/sane.d"))))))
(add-after 'install 'move-sane-config-to-dll.d
(lambda _
;; move dll.conf to dll.d - the directory intended for 3rd-party
;; backend configurations.
(let ((dll.d (string-append #$output "/etc/sane.d/dll.d"))
(dll.conf (string-append #$output "/etc/sane.d/dll.conf")))
(mkdir-p dll.d)
(rename-file dll.conf (string-append dll.d "/hpaio")))))
(add-after 'install 'install-models-dat
(lambda* (#:key outputs #:allow-other-keys)
(install-file "data/models/models.dat"
(string-append #$output "/share/hplip/data/models"))))
(substitute* "Makefile.in"
(("[[:blank:]]check-plugin\\.py[[:blank:]]") " ")
;; FIXME Use beginning-of-word in regexp.
(("[[:blank:]]plugin\\.py[[:blank:]]") " ")
(("/usr/include/libusb-1.0")
(search-input-directory inputs "/include/libusb-1.0"))
(("hplip_statedir =.*$")
;; Don't bail out while trying to create
;; /var/lib/hplip. We can safely change its value
;; here because it's hard-coded in the code anyway.
"hplip_statedir = $(prefix)\n")
(("hplip_confdir = /etc/hp")
;; This is only used for installing the default config.
(string-append "hplip_confdir = " out "/etc/hp"))
(("halpredir = /usr/share/hal/fdi/preprobe/10osvendor")
;; We don't use hal.
(string-append "halpredir = " out
"/share/hal/fdi/preprobe/10osvendor"))
(("rulesdir = /etc/udev/rules.d")
;; udev rules will be merged by base service.
(string-append "rulesdir = " out "/lib/udev/rules.d"))
(("rulessystemdir = /usr/lib/systemd/system")
;; We don't use systemd.
(string-append "rulessystemdir = " out "/lib/systemd/system"))
(("/etc/sane.d")
(string-append out "/etc/sane.d"))))))
(add-after 'install 'move-sane-config-to-dll.d
(lambda _
;; move dll.conf to dll.d - the directory intended for 3rd-party
;; backend configurations.
(let ((dll.d (string-append #$output "/etc/sane.d/dll.d"))
(dll.conf (string-append #$output "/etc/sane.d/dll.conf")))
(mkdir-p dll.d)
(rename-file dll.conf (string-append dll.d "/hpaio")))))
(add-after 'install 'install-models-dat
(lambda* (#:key outputs #:allow-other-keys)
(install-file "data/models/models.dat"
(string-append #$output "/share/hplip/data/models"))))
(add-after 'install 'wrap-binaries
;; Scripts in /bin are all symlinks to .py files in /share/hplip.
;; Symlinks are immune to the Python build system's 'WRAP phase,
;; and the .py files can't be wrapped because they are reused as
;; modules. Replacing the symlinks in /bin with copies and
;; wrapping them also doesn't work (“ModuleNotFoundError:
;; No module named 'base'”). Behold: a custom WRAP-PROGRAM.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((bin (string-append #$output "/bin"))
(site (py:site-packages inputs outputs)))
(with-directory-excursion bin
(for-each
(lambda (file)
(let ((target (readlink file)))
(delete-file file)
(with-output-to-file file
(lambda _
(format #t
"#!~a~@
;; Scripts in /bin are all symlinks to .py files in /share/hplip.
;; Symlinks are immune to the Python build system's 'WRAP phase,
;; and the .py files can't be wrapped because they are reused as
;; modules. Replacing the symlinks in /bin with copies and
;; wrapping them also doesn't work (“ModuleNotFoundError:
;; No module named 'base'”). Behold: a custom WRAP-PROGRAM.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(site (python:site-packages inputs outputs)))
(with-directory-excursion bin
(for-each (lambda (file)
(let ((target (readlink file)))
(delete-file file)
(with-output-to-file file
(lambda _
(format #t
"#!~a~@
export GUIX_PYTHONPATH=\"~a:~a\"~@
exec -a \"$0\" \"~a/~a\" \"$@\"~%"
(which "bash")
site
(getenv "GUIX_PYTHONPATH")
bin target)))
(chmod file #o755)))
(find-files "." (lambda (file stat)
(eq? 'symlink (stat:type stat)))))))))))))
(which "bash")
site
(getenv "GUIX_PYTHONPATH")
bin target)))
(chmod file #o755)))
(find-files "." (lambda (file stat)
(eq? 'symlink (stat:type stat))))))))))))
;; Note that the error messages printed by the tools in the case of
;; missing dependencies are often downright misleading.
;; TODO: hp-toolbox still fails to start with:
+1 -1
View File
@@ -147,7 +147,7 @@ Refresh}in-DRAM mitigations effectively and as such can trigger bit flips.")
python-msgspec
python-platformdirs
python-psutil
python-pydantic
python-pydantic-2
python-pygit2
python-tabulate
python-zstandard))
+1 -5
View File
@@ -1,7 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;; Copyright © 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2025 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,7 +21,6 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
@@ -68,6 +66,7 @@
glpk
graphicsmagick
gsl
hdf4-alt
hdf5
libgeotiff
libjpeg-turbo
@@ -84,9 +83,6 @@
udunits
wxwidgets
zlib))
(arguments
(list
#:configure-flags #~(list "-DHDF=OFF"))) ; keep default "-DHDF5=ON"
(home-page "https://gnudatalanguage.github.io/")
(synopsis "Compiler for GDL, an IDL-compatible programming language")
(description
+250 -78
View File
@@ -837,7 +837,7 @@ they exist.")
python-httpx
python-jinja2
python-nodeenv
python-pydantic
python-pydantic-2
python-tomlkit
python-typing-extensions))
(home-page "https://github.com/RobertCraigie/prisma-client-py")
@@ -1326,9 +1326,8 @@ Language.")
"--testcase-timeout=40"
"--suite-timeout=600"
"--parallel" (number->string (if parallel-tests?
;; See guix/guix#5680.
(min 64 (parallel-job-count))
1))
(parallel-job-count)
1))
;; Skip the replication tests: they are very I/O
;; intensive and frequently causes indeterministic
;; failures even on powerful hardware.
@@ -1406,7 +1405,6 @@ as a drop-in replacement of MySQL.")
(define-public mariadb-embedded
(package/inherit mariadb
(name "mariadb-embedded")
(arguments
(substitute-keyword-arguments (package-arguments mariadb)
((#:configure-flags flags)
@@ -2325,6 +2323,34 @@ for example from a shell script.")
which uses SQL to describe changes.")
(license license:x11)))
(define-public sqlcrush
;; Unfortunately, there is no proper upstream release and may never be.
(let ((commit "502a583e97a84efdeb48e59f1bfe403daa9681ee")
(revision "2"))
(package
(name "sqlcrush")
(version (git-version "0.1.5" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/coffeeandscripts/sqlcrush")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0x2q4m9ryw68kifalnm3x4bv9v2xrc2ffsiap8m9wnw6lf1h05la"))))
(build-system python-build-system)
(inputs
(list python-psycopg2 python-pymysql python-sqlalchemy))
(home-page "https://github.com/coffeeandscripts/sqlcrush")
(synopsis "Text console-based database viewer and editor")
(description
"SQLcrush lets you view and edit a database directly from the text
console through an ncurses interface. You can explore each table's structure,
browse and edit the contents, add and delete entries, all while tracking your
changes.")
(license license:gpl3+)))) ; no headers, see README.md
(define-public tdb
(package
(name "tdb")
@@ -3687,7 +3713,7 @@ can autogenerate peewee models using @code{pwiz}, a model generator.")
(define-public python-pypika-tortoise
(package
(name "python-pypika-tortoise")
(version "0.6.3")
(version "0.3.2")
(source
(origin
(method git-fetch)
@@ -3696,17 +3722,10 @@ can autogenerate peewee models using @code{pwiz}, a model generator.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0czxc4im7iik9igqzwvxfjbyn66avmr8a1bcvcsxpzd22ywiycis"))))
(base32 "1pz7i9vgjwzzvacjjkvr5xbcmphn52xv993zbks602is844k0pp0"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 904 passed, 1 deselected
#:test-flags
;; FileNotFoundError: [Errno 2] No such file or directory: 'uvx'
#~(list "--deselect=tests/test_poetry_add.py::test_added_by_poetry_v2")))
(native-inputs
(list python-pdm-backend
python-pytest))
(list python-poetry-core python-pytest))
(home-page "https://github.com/tortoise/pypika-tortoise")
(synopsis "Pypika fork for tortoise-orm")
(description "Pypika-tortoise is a fork of pypika which has been
@@ -3871,47 +3890,47 @@ of PyMySQL. @code{aiomysql} tries to preserve the same API as the
(define-public python-tortoise-orm
(package
(name "python-tortoise-orm")
(version "0.25.3")
(version "0.22.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tortoise/tortoise-orm")
(commit version)))
(url "https://github.com/tortoise/tortoise-orm")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1b1a20cnhaj7rcdp5l1r5nvd6x1amybgynwpd3cnskpvzqjinsyl"))))
(base32 "1xzwywvb3898hm41vwkzn785ziqprxh6lcf0lpmrgfcsc9qnnhzk"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 1280 passed, 104 skipped, 4 xfailed, 9 warnings
#:test-flags
#~(list "--numprocesses" (number->string (min 8 (parallel-job-count)))
"--ignore=tests/benchmarks/"
;; FileNotFoundError: [Errno 2] No such file or directory: 'uvx'
"--deselect=tests/test_version.py::test_added_by_poetry_v2")))
#~(list "-k" (string-join
(list "not test_enum" ; Fixed in the next release.
;; tortoise.exceptions.OperationalError
"test_delete"
"test_delete_limit"
"test_delete_limit_order_by"
"test_update_with_limit_ordering")
" and not "))))
(native-inputs
(list python-cython
(list python-asyncodbc
python-fastapi
python-pdm-backend
python-pydantic
python-pytest
python-pytest-xdist))
python-poetry-core
python-psycopg
python-psycopg-pool
python-pydantic-2
python-pyodbc
python-pytest))
(propagated-inputs
(list python-aiosqlite
python-anyio
(list python-aiomysql
python-aiosqlite
python-asyncmy
python-asyncpg
python-ciso8601
python-iso8601
python-pypika-tortoise
python-pytz
;; [optional]
python-aiomysql ;tortoise/backends/mysql/client.py
python-asyncodbc ;tortoise/backends/odbc/client.py
python-asyncpg ;tortoise/backends/asyncpg/client.py
python-ciso8601
python-orjson
python-psycopg ;tortoise/backends/psycopg/client.py
python-psycopg-pool ;
python-pyodbc ;tortoise/backends/oracle/client.py
python-rapidjson
python-uvloop))
(home-page "https://github.com/tortoise/tortoise-orm")
(synopsis "Asynchronous Object Relational Mapper (ORM) for Python")
@@ -3971,7 +3990,7 @@ similarity distances for scementic search using embeddings.")
(native-inputs
(list python-cryptography
python-pdm-backend
python-pydantic
python-pydantic-2
python-pydantic-settings
python-pytest
python-pytest-asyncio
@@ -4323,6 +4342,27 @@ patterns, designed for efficient and high-performing database access, adapted
into a simple and Pythonic domain language.")
(license license:expat)))
(define-public python-sqlalchemy-stubs
(package
(name "python-sqlalchemy-stubs")
(version "0.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sqlalchemy-stubs" version))
(sha256
(base32
"1bppjmv7v7m0q8gwg791pgxbx4ay7mna0zq204pn9vw28kfxcrf6"))))
(build-system python-build-system)
(propagated-inputs
(list python-mypy python-typing-extensions))
(home-page "https://github.com/dropbox/sqlalchemy-stubs")
(synopsis "SQLAlchemy stubs and mypy plugin")
(description "This package contains type stubs and a mypy plugin to
provide more precise static types and type inference for SQLAlchemy
framework.")
(license license:asl2.0)))
(define-public python-sqlalchemy-utils
(package
(name "python-sqlalchemy-utils")
@@ -5097,6 +5137,9 @@ reasonable substitute.")
"This package provides a Python interface to the Redis key-value store.")
(license license:expat)))
(define-deprecated-package python-aioredis
python-redis)
(define-public python-rq
(package
(name "python-rq")
@@ -5181,13 +5224,13 @@ is designed to have a low barrier to entry.")
(define-public python-sqlparse
(package
(name "python-sqlparse")
(version "0.5.5")
(version "0.5.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sqlparse" version))
(sha256
(base32 "13pj7ylwm8w35nd8hz64grx5sk69qxk01lqh7gvgv1c51fdll3g2"))))
(base32 "0wljxh3lh2zndy7amziwd3572cwwbmzzq6yyvgn1c2vayn3pgxh9"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
@@ -5455,6 +5498,138 @@ language-bindings for structure manipulation. It also provides IPC and common
algorithm implementations.")
(license license:asl2.0)))
(define-public apache-arrow-for-ceph
(package
(name "apache-arrow")
(version "6.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/apache/arrow")
(commit (string-append "apache-arrow-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0mcw361akqw4sxnnpnr9c9v1zk4hphk6gcq763pcb19yzljh88ig"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'configure 'enter-source-directory
(lambda _ (chdir "cpp")))
(add-after 'unpack 'set-env
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "cpp/src/parquet/parquet.pc.in"
(("includedir=\\$\\{prefix\\}/")
"includedir="))
(substitute* "cpp/cmake_modules/ThirdpartyToolchain.cmake"
(("set\\(xsimd_SOURCE.*") ""))
(setenv "BOOST_ROOT" (assoc-ref inputs "boost"))
(setenv "BROTLI_HOME" (assoc-ref inputs "brotli"))
(setenv "FLATBUFFERS_HOME" (assoc-ref inputs "flatbuffers"))
(setenv "RAPIDJSON_HOME" (assoc-ref inputs "rapidjson")))))
#:build-type "Release"
#:configure-flags
(list "-DARROW_PYTHON=ON"
"-DARROW_GLOG=ON"
;; Parquet options
"-DARROW_PARQUET=ON"
"-DPARQUET_BUILD_EXECUTABLES=ON"
;; The maintainers disallow using system versions of
;; jemalloc:
;; https://issues.apache.org/jira/browse/ARROW-3507. This
;; is unfortunate because jemalloc increases performance:
;; https://arrow.apache.org/blog/2018/07/20/jemalloc/.
"-DARROW_JEMALLOC=OFF"
;; The CMake option ARROW_DEPENDENCY_SOURCE is a global
;; option that instructs the build system how to resolve
;; each dependency. SYSTEM = Finding the dependency in
;; system paths using CMake's built-in find_package
;; function, or using pkg-config for packages that do not
;; have this feature
"-DARROW_DEPENDENCY_SOURCE=SYSTEM"
"-Dxsimd_SOURCE=SYSTEM"
"-DARROW_RUNTIME_SIMD_LEVEL=NONE"
"-DARROW_SIMD_LEVEL=NONE"
"-DARROW_PACKAGE_KIND=Guix"
;; Split output into its component packages.
(string-append "-DCMAKE_INSTALL_PREFIX="
(assoc-ref %outputs "lib"))
(string-append "-DCMAKE_INSTALL_RPATH="
(assoc-ref %outputs "lib")
"/lib")
(string-append "-DCMAKE_INSTALL_BINDIR="
(assoc-ref %outputs "out")
"/bin")
(string-append "-DCMAKE_INSTALL_INCLUDEDIR="
(assoc-ref %outputs "include")
"/share/include")
"-DARROW_WITH_SNAPPY=ON"
"-DARROW_WITH_ZLIB=ON"
"-DARROW_WITH_ZSTD=ON"
"-DARROW_WITH_LZ4=ON"
"-DARROW_COMPUTE=ON"
"-DARROW_CSV=ON"
"-DARROW_DATASET=ON"
"-DARROW_FILESYSTEM=ON"
"-DARROW_HDFS=ON"
"-DARROW_JSON=ON"
;; Arrow Python C++ integration library (required for
;; building pyarrow). This library must be built against
;; the same Python version for which you are building
;; pyarrow. NumPy must also be installed. Enabling this
;; option also enables ARROW_COMPUTE, ARROW_CSV,
;; ARROW_DATASET, ARROW_FILESYSTEM, ARROW_HDFS, and
;; ARROW_JSON.
"-DARROW_PYTHON=ON"
;; Building the tests forces on all the
;; optional features and the use of static
;; libraries.
"-DARROW_BUILD_TESTS=OFF"
"-DBENCHMARK_ENABLE_GTEST_TESTS=OFF"
;;"-DBENCHMARK_ENABLE_TESTING=OFF"
"-DARROW_BUILD_STATIC=OFF")))
(inputs
(list boost
brotli
bzip2
double-conversion
gflags
glog
grpc
protobuf
python
python-numpy
rapidjson
re2
snappy
xsimd))
;; These are all listed under Requires.private in arrow.pc
(propagated-inputs
(list (list apache-thrift "lib")
lz4
utf8proc
zlib
(list zstd "lib")))
(native-inputs
(list pkg-config))
(outputs '("out" "lib" "include"))
(home-page "https://arrow.apache.org/")
(synopsis "Columnar in-memory analytics")
(description "Apache Arrow is a columnar in-memory analytics layer
designed to accelerate big data. It houses a set of canonical in-memory
representations of flat and hierarchical data along with multiple
language-bindings for structure manipulation. It also provides IPC and common
algorithm implementations.")
(license license:asl2.0)))
(define-public python-pyarrow
(package
(inherit apache-arrow)
@@ -5526,41 +5701,52 @@ other traditional Python scientific computing packages.")
(define-public python-fastparquet
(package
(name "python-fastparquet")
(version "2025.12.0")
(version "2024.11.0")
(source
(origin
;; Fastparquet uses setuptools-scm to find the current version. This
;; only works when we use the PyPI tarball, which does not contain
;; tests. Instead, we use the git-fetch method and set the version via
;; envar.
(method git-fetch)
(uri (git-reference
(url "https://github.com/dask/fastparquet")
(commit version)))
(url "https://github.com/dask/fastparquet")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "15zd2khsazrbi6p4lzbwp2x96sk2zk2adxj3905wac9xzwlkbvrc"))))
(base32 "0dhmyag06d073g1q58npbcikr9hjd6jgf05721gkl6m1gsprv7hq"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 382 passed, 124 skipped, 2 warnings
#:test-flags
#~(list "--numprocesses" (number->string (parallel-job-count)))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-dependencies-on-git
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "setup.py"
(("^.*\"git\", \"status\".*$") ""))))
(add-before 'build 'set-version
;; Remove dependencies on git.
(("^.*\"git\", \"status\".*$") "")
;; Guix is only compatible with a single version of numpy
;; at a time. We can safely remove this dependency.
(("'oldest-supported-numpy'") ""))))
(add-before 'build 'pretend-version
;; The version string is usually derived via setuptools-scm, but
;; without the git metadata available, the version string is set
;; to '0.0.0'.
(lambda _
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))
(add-before 'check 'remove-local-source
(add-before 'check 'build-cython-extensions
;; Cython extensions need to be built for the check phase.
(lambda _
(copy-recursively "fastparquet/test" "test")
(delete-file-recursively "fastparquet"))))))
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
(native-inputs
(list python-cython
python-pytest
python-pytest-xdist
python-setuptools
python-setuptools-scm))
python-setuptools-scm
python-wheel))
(propagated-inputs
(list python-cramjam
python-fsspec
@@ -5900,7 +6086,7 @@ a Gtk.Grid Widget.")
(define-public sqlitebrowser
(package
(name "sqlitebrowser")
(version "3.13.1")
(version "3.13.0")
(source
(origin
(method git-fetch)
@@ -5909,30 +6095,17 @@ a Gtk.Grid Widget.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0615yks1krwjw4l1xxahn9j6qbd7cs8dxza7kc73hc5wr0xng5kf"))
(base32 "0v4a59lgqng9hqvbc2k504aclinpwpk8hi6ckirbr6m1pnf26kfr"))
(modules '((guix build utils)))
(snippet
'(begin
;; Delete bundled dependencies, available as Guix packages.
(for-each delete-file-recursively
(list "libs/json"
"libs/qcustomplot-source"
"libs/qhexedit"
"libs/qscintilla"))
;; Patch #includes to be able to use Guix's nlohmann-json
(with-directory-excursion "src"
(substitute* (list "RemoteCommitsModel.h"
"RemoteLocalFilesModel.h"
"RemoteModel.h"
"RemotePushDialog.cpp"
"RemoteNetwork.cpp"
"RemoteDock.cpp"
"ExportDataDialog.cpp"
"EditDialog.cpp")
(("json\\.hpp") "nlohmann/json.hpp")))))))
(delete-file-recursively "libs/qcustomplot-source/")
(delete-file-recursively "libs/qhexedit/")
(delete-file-recursively "libs/qscintilla")))))
(build-system qt-build-system)
(arguments
(list #:configure-flags
;; TODO: Unbundle json (nlohmann-json).
#~(list (string-append "-DQSCINTILLA_INCLUDE_DIR="
#$(this-package-input "qscintilla")
"/include/Qsci")
@@ -5944,9 +6117,8 @@ a Gtk.Grid Widget.")
qhexedit
qscintilla
qtbase-5
qtwayland-5
sqlite))
(native-inputs (list nlohmann-json qttools-5))
(native-inputs (list qttools-5))
(home-page "https://sqlitebrowser.org/")
(synopsis "Visual database browser and editor for SQLite")
(description "Sqlitebrowser lets you create, design, and edit database files
@@ -5959,7 +6131,7 @@ compatible with SQLite using a graphical user interface.")
(define-public sqlitestudio
(package
(name "sqlitestudio")
(version "3.4.19")
(version "3.4.18")
(source
(origin
(method git-fetch)
@@ -5968,7 +6140,7 @@ compatible with SQLite using a graphical user interface.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1fvyd2l1pbpl4jgn7vp8j2gsmw0sbfzidyv3k87xm6a2d7i680yc"))))
(base32 "1chsm4hxy483hz569ywacysg4dh9ijis060s4rgydkgk49bbb2si"))))
(build-system gnu-build-system)
(arguments
(list
-73
View File
@@ -27,7 +27,6 @@
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages gcc)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -170,78 +169,6 @@ and time-efficient for good hash functions.")
(home-page "https://github.com/sparsehash/sparsehash")
(license license:bsd-3)))
(define-public parallel-hashmap
(package
(name "parallel-hashmap")
(version "2.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/greg7mdp/parallel-hashmap")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "167pvbd3bwyn69i1s4vp3badcr97xy10sga63bbj7jqhj09f2816"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(list "-DPHMAP_BUILD_EXAMPLES=OFF")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'respect-tests?
(lambda* (#:key tests? #:allow-other-keys)
;; fix parallel-hashmap's build script not respecting #:tests?
(unless tests?
(substitute* "CMakeLists.txt"
(("option\\(PHMAP_BUILD_TESTS.+$")
"set(PHMAP_BUILD_TESTS OFF)\n")))))
(add-after 'unpack 'disable-gtest-download
(lambda _
;; don't download googletest
(substitute* "CMakeLists.txt"
(("include\\(cmake/DownloadGTest.cmake\\)")
(format #f
"add_subdirectory(~a ./googletest-build EXCLUDE_FROM_ALL)"
#+(package-source (this-package-native-input "googletest"))))))))))
;; FIXME: specify that we depend on the gtest source, not the package itself
(native-inputs (list googletest))
(home-page "https://greg7mdp.github.io/parallel-hashmap/")
(synopsis "C++ implementation of efficient and concurrent hash maps")
(description
"parallel-hashmap provides a family of header-only, very fast and
memory-friendly hashmap and btree containers for C++11 and above.
It has the following characteristics:
@itemize
@item Drop-in replacement for std::unordered_map, std::unordered_set, std::map,
and std::set with better performance.
@item Requires C++11 compiler support and provides C++14 and C++17 APIs,
including features like try_emplace.
@item Highly efficent and faster than standard unordered containers,
Boost implementations, or sparsepp alternatives.
@item Memory-friendly: maintains low memory usage with a slight increase compared
to sparsepp.
@item Heterogeneous lookup support.
@item Dump/load feature: for flat hash maps storing std::trivially_copyable data,
the entire table can be dumped to disk and restored as a single array efficiently
without hash computations. This is about 10 times faster than element-wise
serialization but uses 10% to 60% extra disk space.
@item Automatic support for boost::hash_value() and default hash functions for
std::pair and std::tuple.
@end itemize")
(license license:asl2.0)))
(define-public ssdeep
(package
(name "ssdeep")
-17
View File
@@ -7,7 +7,6 @@
;;; Copyright © 2022, 2024 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 Junker <dk@junkeria.club>
;;; Copyright © 2026 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -130,22 +129,6 @@ clients.")
#:test-backend #~'unittest
#:phases
#~(modify-phases %standard-phases
(replace 'create-entrypoints
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((sitedir (site-packages inputs outputs))
(interpreter (which "python"))
(file-path (string-append #$output "/bin/xandikos")))
(mkdir-p (string-append #$output "/bin"))
(call-with-output-file file-path
(lambda (port)
(format port "#!~a -sP
# Auto-generated entry point script.
import sys
import asyncio
from xandikos.__main__ import main
if __name__ == '__main__':
sys.exit(asyncio.run(main(sys.argv[1:])))~%" interpreter)))
(chmod file-path #o755))))
(add-before 'check 'check-setup
(lambda _
(setenv "XANDIKOSPATH" (mkdtemp "/tmp/xandikospath-XXXXXX")))))))
+2 -2
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018, 2020-2026 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2020-2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2023, 2024 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
@@ -607,7 +607,7 @@ unpacking them into a directory which can eventually be chrooted into.")
"0hw407fm5ylsf28b0vrwz7rm2r2rsgfwzajbkbn6n2b6kqhdjyy9"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake gettext-minimal po4a-minimal))
(list autoconf automake gettext-minimal po4a))
(home-page "https://packages.debian.org/unstable/debianutils")
(synopsis "Miscellaneous shell utilities")
(description
+5 -5
View File
@@ -531,8 +531,8 @@ server and embedded PowerPC, and S390 guests.")
(define-public qemu-for-aflplusplus
(let ((base qemu-minimal)
(commit "60ebd5624c60589e276cf287516b925a9ee35b87")
(revision "1"))
(commit "790d2124fd054621d3c0d3ec31bea114b60601f9")
(revision "0"))
(hidden-package
(package
(inherit base)
@@ -546,7 +546,7 @@ server and embedded PowerPC, and S390 guests.")
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "1vz7k1ssfnlimkpc01fqin27r2k4a23cwpxj2bbmsp7d3175bjbz"))))
(base32 "1l2kl8768l4mbkiaj63zn6gsdn3qpl3rg7s6h62rmd7599ar3xn3"))))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:configure-flags _ #~'())
@@ -610,7 +610,7 @@ server and embedded PowerPC, and S390 guests.")
(package
(inherit american-fuzzy-lop)
(name "aflplusplus")
(version "4.35c")
(version "4.34c")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -619,7 +619,7 @@ server and embedded PowerPC, and S390 guests.")
(file-name (git-file-name name version))
(sha256
(base32
"0mwamvyv2ckfxrrns4cnhx9gf2dn9jjgi9dc1qp3cwjasbghg5lg"))))
"14pllv986zwzbqarbsif02k618yns4fvqd3br6irzfcwivpysqfa"))))
(arguments
(substitute-keyword-arguments (package-arguments american-fuzzy-lop)
((#:make-flags _ ''())
+2 -3
View File
@@ -79,8 +79,7 @@
(define-public diffoscope
(package
(name "diffoscope")
;; Use git snapshot to fix tests using u-boot-tools 2026.01
(version "311-2-ge4ec97f7")
(version "308")
(source
(origin
(method git-fetch)
@@ -89,7 +88,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1nk8di19r5x5jwb2jh1m7mzj109z2a2axikysijz2hm7m30wjkq7"))))
(base32 "0g4kac0r2plhcl3drpihp2z99yfqlz36xvvfr4v6sn49zj103kny"))))
(build-system pyproject-build-system)
(arguments
(list
+8 -14
View File
@@ -522,14 +522,14 @@ scheme.")
(define-public ddrescue
(package
(name "ddrescue")
(version "1.30")
(version "1.29.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/ddrescue/ddrescue-"
version ".tar.lz"))
(sha256
(base32 "0hjmfj4g5m2w5xqd80mwx64acnc85clli4f1ryhqfv4x60nn4r12"))))
(base32 "0xfx0hg3kkc6d3z0z9g1ingg2bnzcp1vjspcl8spi016y1fx9myx"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list (string-append "CXX=" ,(cxx-for-target)))))
@@ -999,7 +999,7 @@ format is completely customizable.")
(define-public f3
(package
(name "f3")
(version "9.0")
(version "8.0")
(source
(origin
(method git-fetch)
@@ -1008,7 +1008,7 @@ format is completely customizable.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0k9299phdxp0yag0mm58sfrbqmb19zvia57wgcaqawf9clafba35"))))
(base32 "17l5vspfcgfbkqg7bakp3gql29yb05gzawm8n3im30ilzdr53678"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ; no check target
@@ -1114,7 +1114,8 @@ Duperemove can also take input from the @command{fdupes} program.")
(source
(origin
(method url-fetch)
(uri (string-append "https://ranger.fm/ranger-" version ".tar.gz"))
(uri (string-append "https://ranger.github.io/" "ranger-" version
".tar.gz"))
(sha256
(base32 "128ggxfhfmckl7x89flwxks7gxq0m02insdizcsp62193c6mxmvs"))))
(build-system pyproject-build-system)
@@ -1122,13 +1123,6 @@ Duperemove can also take input from the @command{fdupes} program.")
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-paths
(lambda _
(substitute* (find-files "ranger" "\\.py$")
(("\"file\"")
(simple-format #f "~s"
#$(file-append (this-package-input "file")
"/bin/file"))))))
(add-after 'install 'wrap-program
;; Tell 'ranger' where 'w3mimgdisplay' is.
(lambda _
@@ -1140,8 +1134,8 @@ Duperemove can also take input from the @command{fdupes} program.")
`("W3MIMGDISPLAY_PATH" ":" prefix
(,w3mimgdisplay)))))))))
(native-inputs (list python-pytest python-setuptools python-wheel))
(inputs (list bash-minimal file w3m))
(home-page "https://ranger.fm")
(inputs (list bash-minimal w3m))
(home-page "https://ranger.github.io/")
(synopsis "Console file manager")
(description
"ranger is a console file manager with Vi key bindings. It provides a
+12 -23
View File
@@ -203,13 +203,13 @@ your project into different processes.")
(define-public python-django
(package
(name "python-django")
(version "5.2.9")
(version "5.2.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "django" version))
(sha256
(base32 "15d45imlysz7wcm4azf6a9rjv19jxb953x8sav0fc9wcbvycrd8n"))))
(base32 "0zvc8p4brwbj4yy8jxcannjfnik2xh4vis04c3x2r6mvlmk4h993"))))
(build-system pyproject-build-system)
(arguments
'(#:test-flags
@@ -295,8 +295,8 @@ any Web site. Django focuses on automating as much as possible and adhering
to the @dfn{don't repeat yourself} (DRY) principle.")
(license license:bsd-3)
(properties `((cpe-name . "django")
;; This CVE seems fixed since 5.2.1.
(lint-hidden-cve . ("CVE-2025-32873"))))))
;; This CVE seems fixed since 4.2.1.
(lint-hidden-cve . ("CVE-2023-31047"))))))
(define-public python-django-4
(package
@@ -695,7 +695,7 @@ them do this.")
(define-public python-django-allauth
(package
(name "python-django-allauth")
(version "65.13.1")
(version "65.9.0")
(source
(origin
(method git-fetch)
@@ -704,18 +704,16 @@ them do this.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1w98sd0hj96qgxqa6q7a80h5w800yshqlhli2pplkwb5bqkqwq5n"))))
(base32 "03a7175748533rw6h3grfpv86i3qb31ixw0kb2kj90gc77sh1sw2"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 1812 passed, 9 warnings
#:test-flags
;; XXX: KeyError: location
#~(list "--ignore=allauth/socialaccount/providers/openid/tests.py")
#:phases
#~(modify-phases %standard-phases
;; FIXME: This should be fixed in python-xmlsec
;; E xmlsec.Error: (1, 'cannot load crypto library for xmlsec.')
(add-before 'check 'pre-check
(lambda* (#:key inputs #:allow-other-keys)
(let ((lib (search-input-file inputs "lib/libxmlsec1-openssl.so")))
@@ -724,15 +722,13 @@ them do this.")
(propagated-inputs
(list python-asgiref
python-django
;; [optional]
python-fido2
python-oauthlib
python-openid
python-pyjwt
python-python3-saml ;TODO: rename to Guix name format
python-pyyaml
python-qrcode
python-requests))
python-requests
python-requests-oauthlib
python-python3-saml))
(inputs (list xmlsec-openssl))
(native-inputs
(list tzdata-for-tests
@@ -1092,17 +1088,16 @@ entries, photos, book chapters, or anything else.")
(define-public python-django-ninja
(package
(name "python-django-ninja")
(version "1.5.1")
(version "1.4.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "django_ninja" version))
(sha256
(base32
"1iqp3c4gxvskw1xdi9bqzpz2rw6779ydkd6czp3382fncj5adkba"))))
"0f5hgjkavvk1csb1yl34scqai3ljjhh93k5kbqm8s8hclry4fvg4"))))
(build-system pyproject-build-system)
;; tests: 670 passed, 1 skipped, 53 warnings
(propagated-inputs
(list python-django python-pydantic))
(list python-django python-pydantic-2))
(native-inputs
(list python-flit-core
python-psycopg2
@@ -2066,12 +2061,6 @@ image files already supported by it.")
(sha256
(base32 "06h4g50qy1h77b4n28xbyzl2wvsblzs9qi63d7kvvm9x8n8whz92"))))
(build-system pyproject-build-system)
(arguments
(list
;; Skip test that fails on later Python versions; code itself seems fine.
;; See: <https://github.com/joke2k/django-environ/issues/574>.
#:test-flags
#~(list "-k" "not test_db_parsing")))
(native-inputs (list python-pytest
python-setuptools
python-wheel))
+22 -25
View File
@@ -33,7 +33,6 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages gawk)
@@ -51,7 +50,6 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-graphics)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
@@ -297,50 +295,50 @@ and white.")
(license license:gpl2)))
(define-public didjvu
(let ((revision "0")
(commit "43e2735d0b3575ca04e82a427dca88bc68fa4931"))
(package
(name "didjvu")
(version "0.11.0")
(version (git-version "0.10.2" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
;; It's a fork of https://github.com/jwilk/didjvu, see:
;; <https://github.com/FriedrichFroebel/didjvu/issues/47>.
(url "https://github.com/FriedrichFroebel/didjvu")
(commit version)))
(url "https://github.com/FriedrichFroebel/didjvu")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "11z9daa5qfm8cqaxdywfvrnaxid33p7lidj7i8xzv30wyzxdr6zg"))))
(base32 "0ippf3hsjy13xj6pqnqr30dz8lsncsfcan2r1vbxfk1g602m3p4c"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-backend #~'unittest
#:test-flags
#~(list "discover" "--verbose" "--start-directory" "tests/")
;; FIXME: Tests fail because they try to load the libxmp and pyexiv2
;; modules that should not be enabled, as we only enable the gexiv2
;; module.
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(add-before 'check 'disable-failing-test
(lambda _
(substitute* "tests/test_ipc.py"
;; test_wait_signal gets stuck forever
(("self\\._test_signal\\(name\\)")
"return True")
;; test_path fails to find a file it should have created
(("path = os\\.getenv\\('PATH'\\)")
"return True"))
(substitute* (list "tests/test_ipc.py" "tests/test_cli.py")
;; XXX: See:
;; <https://github.com/FriedrichFroebel/didjvu/issues/48>.
(((string-append "(test_action_no_args|test_bad_action|"
"test_no_args|test_wait_signal)")
all)
(string-append "__off_" all)))))
(substitute* "tests/test_timestamp.py"
;; test_timezones fails with:
;; '2009-12-18T21:25:14Z' != '2009-12-18T22:25:14+01:00'
(("samples = \\[" all)
(string-append "return True\n " all)))))
(add-after 'wrap 'wrap-path
(lambda* (#:key inputs #:allow-other-keys)
(wrap-program (string-append #$output "/bin/didjvu")
`("PATH" ":" prefix
(,(dirname (search-input-file inputs "bin/ddjvu"))))))))))
(native-inputs
(list boost
tzdata-for-tests
python-setuptools))
(native-inputs (list python-setuptools))
(inputs
(list bash-minimal
djvulibre
@@ -348,15 +346,14 @@ and white.")
minidjvu
python-gamera
python-pillow
python-py3exiv2
python-pygobject
python-xmp-toolkit))
python-wrapper))
(synopsis "DjVu encoder with foreground/background separation")
(description
"@code{didjvu} uses the @code{Gamera} framework to separate the foreground
and background layers of images, which can then be encoded into a DjVu file.")
(home-page "https://jwilk.net/software/didjvu")
(license license:gpl2)))
(license license:gpl2))))
(define-public ocrodjvu
(let ((revision "0")
+2 -2
View File
@@ -852,7 +852,7 @@ Extensions} (DNSSEC).")
(define-public knot
(package
(name "knot")
(version "3.5.3")
(version "3.5.2")
(source
(origin
(method git-fetch)
@@ -861,7 +861,7 @@ Extensions} (DNSSEC).")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "19nasxzkv805am7skkzs0vnqxjrdc4dqm67crdgqj36jli24zs3s"))
(base32 "0z1h22qjhjvjlli66nq3bl5nskdid6g86jk7v37y02vwy5xq93rm"))
(patches
(search-patches "knot-remove-runtime-deps.patch"))
(modules '((guix build utils)))
+1
View File
@@ -435,6 +435,7 @@ the Net to search for documents which are not on the local system.")
qtwayland
qtwebchannel
qtwebengine
qtx11extras
xcb-util-keysyms))
(home-page "https://zealdocs.org/")
(synopsis "Offline documentation browser inspired by Dash")
+3 -3
View File
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023, 2024 Greg Hogan <code@greghogan.com>
;;; Copyright © 2023, 2025, 2026 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2023, 2025 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2024 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2024, 2025 Ekaitz Zarraga <ekaitz@elenq.tech>
@@ -148,13 +148,13 @@ system.")
(define-public r-duckdb
(package
(name "r-duckdb")
(version "1.4.3")
(version "1.4.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "duckdb" version))
(sha256
(base32 "0br7d7gadi0gbpd45syvig6zs1b0sl3vpn8wa272hs8jv4d73ar3"))
(base32 "1k2ks40mw7qviwwa53jv76bb48jxk9cfp6lrc06ripfifabd2pix"))
;; This package bundles the duckdb sources and builds a custom variant
;; of duckdb. I'd be happy to link it with our duckdb library instead,
;; but it does not seem possible to do that.
+16 -36
View File
@@ -143,14 +143,14 @@ with Microsoft Compiled HTML (CHM) files.")
(define-public calibre
(package
(name "calibre")
(version "8.16.2")
(version "8.15.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.calibre-ebook.com/" version
"/calibre-" version ".tar.xz"))
(sha256
(base32 "0v0w5hi8h1fykf1v2dqcz9zafc7ffxlh5nj125sc0g7mai1x11q1"))
(base32 "1d2ygxf5srzdxc3jpngmq3zbz9plxnbzm4dzygpfd38szr5zwyss"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -168,18 +168,15 @@ with Microsoft Compiled HTML (CHM) files.")
"calibre-remove-test-unrar.patch"
"calibre-remove-test-import-modules.patch" ; TODO: fix test
))))
(build-system pyproject-build-system)
(build-system python-build-system)
(native-inputs
(list bash-minimal
cmake
pkg-config
python-flake8
python-pyqt-builder
qtbase ; for qmake
xdg-utils
python-setuptools
python-tzdata
python-tzlocal))
qtbase ; for qmake
xdg-utils))
(inputs
(list bash-minimal
espeak-ng
@@ -240,6 +237,9 @@ with Microsoft Compiled HTML (CHM) files.")
uchardet))
(arguments
(list
;; Calibre is using setuptools by itself, but the setup.py is not
;; compatible with the shim wrapper (taken from pip) we are using.
#:use-setuptools? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-source
@@ -346,19 +346,6 @@ sip-include-dirs = [\""
(lambda _
(copy-recursively "man-pages"
(string-append #$output "/share/man"))))
;; Calibre is using setuptools but the setup.py is not
;; compatible with the shim wrapper (taken from pip) we are using.
(replace 'build
(lambda _
(invoke "python" "setup.py" "build")))
(replace 'install
(lambda _
(invoke "python" "setup.py" "install"
(string-append "--prefix=" #$output))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "python" "setup.py" "test"))))
;; The font TTF files are used in some miscellaneous tests, so we
;; unbundle them here to avoid patching the tests.
(add-after 'install 'unbundle-font-liberation
@@ -454,8 +441,6 @@ accessing and converting various ebook file formats.")
(replace 'install (assoc-ref gnu:%standard-phases 'install)))))
(native-inputs
(list qtbase-5))
(inputs
(list qtwayland-5))
(synopsis "EBook reader")
(description "This package provides InkBox eBook reader.")
(license license:gpl3)))
@@ -748,18 +733,13 @@ format documents, with the following features:
(package
(name "shirah")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hallicopter/shirah-reader")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0df59bq71b9i78cws5z4cdgjdxj59dvz0x4wpnjpxz0g4wvvc55d"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ; No tests.
(native-inputs (list python-setuptools))
(source (origin
(method url-fetch)
(uri (pypi-uri "shirah_reader" version))
(sha256
(base32
"0j15v435lz68c1mj5clfx5dmfyjc6jvvz2q8hqvv799mb2faj42y"))))
(build-system python-build-system)
(propagated-inputs (list python-beautifulsoup4 python-ebooklib
python-syllables python-termcolor))
(home-page "https://github.com/hallicopter/shirah-reader")
@@ -769,4 +749,4 @@ format documents, with the following features:
display ebooks in the usual way or with Rapid Serial Visual Presentation, a
method to enable speedreading by showing the text word by word at configurable
speeds.")
(license license:gpl2+)))
(license license:gpl2+)))
+226 -2
View File
@@ -295,7 +295,7 @@ frequently used words in American English.")
(build-system qt-build-system)
(arguments (list #:qtbase qtbase ;qtbase 6
#:tests? #f)) ;packages has no tests
(inputs (list qtbase qtmultimedia qtwayland))
(inputs (list qtbase qtmultimedia))
(home-page "https://www.tipp10.com/en/")
(synopsis "Touch typing tutor")
(description "Tipp10 is a touch typing tutor. The ingenious thing about
@@ -603,6 +603,231 @@ about drilling time and correctness ratio is displayed. The results are
stored and user can review his performance in any time.")
(license license:gpl2+))))
(define-public anki
(package
(name "anki")
;; Later versions have dependencies on npm packages not yet in Guix.
(version "2.1.16")
(source
(origin
(method url-fetch)
(uri (string-append "https://apps.ankiweb.net/downloads/archive/anki-"
version "-source.tgz"))
(sha256
(base32 "1gfr51rnllkyzli73p4r51h5ypzfa3m7lic3m3rzpywmqwrxs07k"))
(modules '((guix build utils)))
;; Fix preferences error: <https://issues.guix.gnu.org/65506>.
(snippet '(substitute* "aqt/preferences.py"
(("qc\\['collapseTime']/60\\.0" x)
(format #f "int(~a)" x))
(("qc\\['timeLim']/60\\.0" x)
(format #f "int(~a)" x))))
(patches (search-patches "anki-mpv-args.patch"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "PREFIX=" %output))
#:tests? #f ;no check target
#:modules ((guix build gnu-build-system)
(guix build utils)
(ice-9 match))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-update-check
;; Don't phone home unasked to check for updates.
(lambda _
(substitute* "aqt/update.py"
(("requests\\.post")
"throw.an.exception.instead"))
#t))
(delete 'configure) ;no configure script
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin"))
;; List of paths to the site-packages directories of Python
;; library inputs.
(site-packages
(map (lambda (pyinput)
(string-append
(cdr pyinput)
"/lib/python"
;; Calculate the python version to avoid breaking
;; with future 3.X releases.
,(version-major+minor
(package-version python-wrapper))
"/site-packages"))
(filter (match-lambda
((label . _)
(string-prefix? "python-" label)))
inputs))))
;; PYTHONPATH is wrapped to avoid declaring Python libraries as
;; propagated inputs.
(for-each (lambda (program)
(wrap-program program
`("PATH" prefix (,(string-append
(assoc-ref inputs "mpv")
"/bin")))
`("GUIX_PYTHONPATH" = ,site-packages)))
(find-files bin ".")))
#t)))))
(native-inputs
(list xdg-utils))
(inputs
`(("lame" ,lame)
("mpv" ,mpv)
("python" ,python-wrapper)
("python-beautifulsoup4" ,python-beautifulsoup4)
("python-decorator" ,python-decorator)
("python-distro" ,python-distro)
("python-jsonschema" ,python-jsonschema)
("python-markdown" ,python-markdown)
("python-pyaudio" ,python-pyaudio)
;; `python-pyqtwebengine' must precede `python-pyqt' in PYTHONPATH.
("python-pyqtwebengine" ,python-pyqtwebengine)
("python-pyqt" ,python-pyqt)
("python-requests" ,python-requests)
("python-send2trash" ,python-send2trash)
("python-sip" ,python-sip)
;; `qtwebengine-5' is included in `pyqtwebengine', included here for easy
;; wrapping.
("qtwebengine-5" ,qtwebengine-5)))
(home-page "https://apps.ankiweb.net/")
(synopsis "Powerful, intelligent flash cards")
(description "Anki is a program which makes remembering things
easy. Because it's a lot more efficient than traditional study
methods, you can either greatly decrease your time spent studying, or
greatly increase the amount you learn.
Anyone who needs to remember things in their daily life can benefit
from Anki. Since it is content-agnostic and supports images, audio,
videos and scientific markup (via LaTeX), the possibilities are
endless. For example:
@itemize
@item Learning a language
@item Studying for medical and law exams
@item Memorizing people's names and faces
@item Brushing up on geography
@item Mastering long poems
@item Even practicing guitar chords!
@end itemize")
(license license:agpl3+)))
(define-public t4k-common
(package
(name "t4k-common")
(version "0.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tux4kids/t4kcommon")
(commit (string-append "upstream/" version))))
(file-name (git-file-name name version))
(sha256
(base32 "13q02xpmps9qg8zrzzy2gzv4a6afgi28lxk4z242j780v0gphchp"))
(patches (search-patches "t4k-common-libpng16.patch"))
(modules '((guix build utils)))
(snippet
`(begin
(substitute* "src/t4k_common.h"
(("char wrapped_lines") "extern char wrapped_lines"))
#t))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;FIXME: cannot find how to run tests
#:phases
(modify-phases %standard-phases
(add-after 'set-paths 'set-sdl-paths
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPATH"
(string-append
(search-input-directory inputs "/include/SDL")
":" (or (getenv "CPATH") "")))))
(add-after 'unpack 'fix-andika-font-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/t4k_sdl.c"
(("(/usr/share/.*?)/AndikaDesRevG\\.ttf")
(string-append (assoc-ref inputs "font-andika")
"/share/fonts/truetype")))
#t)))))
(native-inputs
(list pkg-config))
(inputs
`(("font-andika" ,font-sil-andika)
("libpng" ,libpng)
("librsvg" ,(librsvg-for-system))
("libxml2" ,libxml2)
("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-net sdl-pango)))))
(home-page "https://github.com/tux4kids/t4kcommon")
(synopsis "Library of code shared between TuxMath and TuxType")
(description "Tux4Kids-Common is a library of code shared between
TuxMath and TuxType.")
(license license:gpl3+)))
(define-public tuxmath
(package
(name "tuxmath")
(version "2.0.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tux4kids/tuxmath")
(commit (string-append "upstream/" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1f1pz83w6d3mbik2h6xavfxmk5apxlngxbkh80x0m55lhniwkdxv"))
(modules '((guix build utils)))
;; Unbundle fonts.
(snippet
`(begin
;; Remove duplicate definition.
(substitute* "src/menu_lan.c"
(("lan_player_type.*MAX_CLIENTS\\];") ""))
(for-each delete-file (find-files "data/fonts" "\\.ttf$"))
#t))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no test
#:phases
(modify-phases %standard-phases
(add-after 'set-paths 'set-sdl-paths
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPATH"
(string-append
(search-input-directory inputs "/include/SDL")
":"
(or (getenv "CPATH") "")))))
(add-after 'install 'install-desktop-file
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(apps (string-append out "/share/applications"))
(pixmaps (string-append out "/share/pixmaps")))
(install-file "tuxmath.desktop" apps)
(for-each (lambda (f) (install-file f pixmaps))
(find-files "data/images/icons/"
"tuxmath\\.(png|ico|svg)$"))
#t))))))
(native-inputs
(list pkg-config))
(inputs
`(("librsvg" ,(librsvg-for-system))
("libxml2" ,libxml2)
("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-net sdl-pango)))
("t4k-common" ,t4k-common)))
(home-page "https://github.com/tux4kids/tuxmath")
(synopsis "Educational math tutorial game")
(description "@emph{Tux, of Math Command} is an educational math
tutorial game starring Tux, the Linux penguin, in which you play the
part of Commander Tux, as he defends his friends from an attack of
math equations. Comets are crashing towards the friendly penguins in
their igloos, and you must destroy the comets by solving their
equations.
TuxMath also includes Factoroids, a game that gives practice in
factoring numbers and simplifying fractions, as well as zapping rocks
floating through space.")
(license license:gpl3+)))
(define-public libeb
(package
(name "libeb")
@@ -655,7 +880,6 @@ formats.")
qtmultimedia-5
qtquickcontrols2-5
qtdeclarative-5
qtwayland-5
qtwebchannel-5
qtwebengine-5
zlib))
File diff suppressed because it is too large Load Diff
+947 -1361
View File
File diff suppressed because it is too large Load Diff
+35 -37
View File
@@ -1779,43 +1779,41 @@ STC89, STC90, STC10, STC11, STC12, STC15, STC8 and STC32 series.")
(license license:expat)))
(define-public stlink
(let ((commit "6a6718b3342b6c5e282a4e33325b9f97908a0692")
(revision "0"))
(package
(name "stlink")
(version (git-version "1.8.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stlink-org/stlink")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1sk9qr3f8v1rm735vq6pxckgwzsgr4k2kl6skh79f4v2qm0hc4qd"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ;no tests
#:configure-flags
#~(let* ((etc (in-vicinity #$output "etc"))
(modprobe (in-vicinity etc "modprobe.d"))
(udev-rules (in-vicinity etc "udev/rules.d")))
(list (string-append "-DSTLINK_UDEV_RULES_DIR=" udev-rules)
(string-append "-DSTLINK_MODPROBED_DIR=" modprobe)))))
(inputs
(list libusb))
(synopsis "Programmer for STM32 Discovery boards")
(description "This package provides a firmware programmer for the STM32
Discovery boards. It supports two versions of the chip: ST-LINK/V1 (on
STM32VL discovery kits) and ST-LINK/V2 (on STM32L discovery and later kits).
Two different transport layers are used: ST-LINK/V1 uses SCSI passthru
commands over USB, and ST-LINK/V2 and ST-LINK/V2-1 (seen on Nucleo boards) use
raw USB commands.")
(home-page "https://github.com/stlink-org/stlink")
;; The flashloaders/stm32l0x.s and flashloaders/stm32lx.s source files are
;; licensed under the GPLv2+.
(license (list license:bsd-3 license:gpl2+)))))
(package
(name "stlink")
(version "1.8.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stlink-org/stlink")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1g5ahnj400sdf75k3xafawa6x0pzz7s86nqnfd65gqjr3bdlhlc6"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ;no tests
#:configure-flags
#~(let* ((etc (in-vicinity #$output "etc"))
(modprobe (in-vicinity etc "modprobe.d"))
(udev-rules (in-vicinity etc "udev/rules.d")))
(list (string-append "-DSTLINK_UDEV_RULES_DIR=" udev-rules)
(string-append "-DSTLINK_MODPROBED_DIR=" modprobe)))))
(inputs
(list libusb))
(synopsis "Programmer for STM32 Discovery boards")
(description "This package provides a firmware programmer for the STM32
Discovery boards. It supports two versions of the chip: ST-LINK/V1 (on
STM32VL discovery kits) and ST-LINK/V2 (on STM32L discovery and later kits).
Two different transport layers are used: ST-LINK/V1 uses SCSI passthru
commands over USB, and ST-LINK/V2 and ST-LINK/V2-1 (seen on Nucleo boards) use
raw USB commands.")
(home-page "https://github.com/stlink-org/stlink")
;; The flashloaders/stm32l0x.s and flashloaders/stm32lx.s source files are
;; licensed under the GPLv2+.
(license (list license:bsd-3 license:gpl2+))))
(define-public west
(package
+51 -168
View File
@@ -26,7 +26,6 @@
;;; Copyright © 2025 Andrew Wong <wongandj@icloud.comg>
;;; Copyright © 2025 Anderson Torres <anderson.torres.8519@gmail.com>
;;; Copyright © 2025 Laura Kirsch <laurakirsch240406@gmail.com>
;;; Copyright © 2026 Nikita Alkhovik <forgoty13@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -105,7 +104,6 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages ninja)
#:use-module (gnu packages parallel)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages pulseaudio)
@@ -563,7 +561,7 @@ It aims to support Nintendo DSi and 3DS as well.")
googletest
pkg-config
python-minimal
python-numpy-1))
python-numpy))
(inputs
(list alsa-lib
ao
@@ -1112,7 +1110,6 @@ The following systems are supported:
ncurses
qtbase
qtmultimedia
qtwayland
sdl2
sqlite
zlib))
@@ -2007,7 +2004,7 @@ libretro API, based on Mupen64Plus. It incorporates the following projects:
(define-public retroarch-assets
(package
(name "retroarch-assets")
(version "1.22.0")
(version "1.20.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2016,7 +2013,7 @@ libretro API, based on Mupen64Plus. It incorporates the following projects:
(file-name (git-file-name name version))
(sha256
(base32
"04gbsn5lwc9ampyssl898v4p9myhwfqy3x7hyx9si8l1x9z60k6j"))))
"0ngbc2wmqgz5davan7rnvqapai5wc8j9afylff1yzlk3lgsjlv1x"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;no test suite
@@ -2032,7 +2029,7 @@ generate the various User Experience (UX) environments.")
(define-public libretro-core-info
(package
(name "libretro-core-info")
(version "1.22.2")
(version "1.21.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2041,7 +2038,7 @@ generate the various User Experience (UX) environments.")
(file-name (git-file-name name version))
(sha256
(base32
"1csx200ajl6ncrhi20l9f9qjv73402w28lyi88lsly0j65rknz4v"))))
"12yramra6hd33g094krygq2a5h7mjkh0nh5d8qny4b6f61fxaxwk"))))
(build-system copy-build-system)
(arguments
(list #:install-plan #~'(("." "lib/libretro/"
@@ -2059,7 +2056,7 @@ metadata about each known libretro core. The snapshot is taken from the
(define-public libretro-database
(package
(name "libretro-database")
(version "1.22.1")
(version "1.21.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2068,7 +2065,7 @@ metadata about each known libretro core. The snapshot is taken from the
(file-name (git-file-name name version))
(sha256
(base32
"03jb9gr11xiphnnwdqqk8k5g8s9s026k46dv94h67cshlbl59n52"))))
"1grkdg6k6dclwrh286dins4k50mp0wf3bvddikaspl309dldjrgw"))))
(build-system gnu-build-system)
(arguments (list #:tests? #f
#:make-flags #~(list (string-append "PREFIX=" #$output))))
@@ -2097,7 +2094,7 @@ Various scripts that are used to maintain the database files.
(define-public retroarch-joypad-autoconfig
(package
(name "retroarch-joypad-autoconfig")
(version "1.22.0")
(version "1.21.1")
(source
(origin
(method git-fetch)
@@ -2107,7 +2104,7 @@ Various scripts that are used to maintain the database files.
(file-name (git-file-name name version))
(sha256
(base32
"0fcc15j6lblngkx0n85x68x01c4qc24xc0pw05gc5pg2xgg4m3wg"))))
"06mii4zpkrwxiw9qhfvjzri8q8fps1b96nkxp7px2w7cgdl4kg68"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;no meaningful test suite
@@ -2827,7 +2824,7 @@ GLSL (@file{.slang}) shaders for use with RetroArch.")
(define-public retroarch-minimal
(package
(name "retroarch-minimal")
(version "1.22.2")
(version "1.21.0")
(source
(origin
(method git-fetch)
@@ -2858,7 +2855,7 @@ GLSL (@file{.slang}) shaders for use with RetroArch.")
(patches (search-patches "retroarch-unbundle-spirv-cross.patch"))
(file-name (git-file-name name version))
(sha256
(base32 "1xbipxg5g53f68cbki61qj86096l87x0mrwzbgrv6mcf3sif0y7v"))))
(base32 "17l3x77vd52g7zq62g3j1jxr51ksmdnxif1qh671qi19fsd19v1r"))))
(build-system gnu-build-system)
(arguments
(list
@@ -2867,8 +2864,6 @@ GLSL (@file{.slang}) shaders for use with RetroArch.")
#~(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "input/bsv/uint32s_index.c"
(("#include <xxHash/xxhash\\.h>") "#include <xxhash.h>"))
;; Hard-code some store file names.
(substitute* "gfx/common/vulkan_common.c"
(("libvulkan.so")
@@ -2909,7 +2904,6 @@ GLSL (@file{.slang}) shaders for use with RetroArch.")
;; These are disabled to avoid requiring the bundled
;; dependencies.
"--disable-7zip"
"--disable-chd"
"--disable-cheevos"
"--disable-crtswitchres"
"--disable-discord"
@@ -2918,8 +2912,7 @@ GLSL (@file{.slang}) shaders for use with RetroArch.")
"--disable-stb_font"
"--disable-stb_image"
"--disable-stb_vorbis"
"--disable-xdelta"
"--disable-zstd"))))))
"--disable-xdelta"))))))
(native-inputs
(list pkg-config
wayland-protocols
@@ -2952,7 +2945,6 @@ GLSL (@file{.slang}) shaders for use with RetroArch.")
v4l-utils
vulkan-loader
wayland
xxhash
zlib))
(native-search-paths
(list (search-path-specification
@@ -3607,11 +3599,11 @@ improvements.")
(license license:gpl2+))))
(define-public pcsx2-patches
(let ((commit "10239de1539668c347e8e9478a3b13913808c0b2")
(let ((commit "2fdc835f0725b318efcdaae84db1c73a9139b6f6")
(revision "0"))
(package
(name "pcsx2-patches")
(version (git-version "2025.12.11" revision commit))
(version (git-version "2025.10.24" revision commit))
(source
(origin
(method git-fetch)
@@ -3620,7 +3612,7 @@ improvements.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "07f18xrn60sizgjhq99rq1q69ay9pss00y8b4c3ky9i94xjfxq5x"))))
(base32 "0qn9jwk983hxzrf2x550wcb9l782618lm662w5fb6cw81bbrv5is"))))
(build-system copy-build-system)
(arguments
(list
@@ -3652,88 +3644,27 @@ de-interlacing patches for use with PCSX2.")
(file-name (git-file-name name version))
(sha256
(base32 "0nr53cjifqwnz3icxsj01yd3aw1vfsfxga4zz5zi8aqr175mvq27"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(modules '((guix build utils)))
(snippet
#~(begin
(substitute* "cmake/Pcsx2Utils.cmake"
(("(PCSX2_GIT_REV \")Unknown" _ prefix)
(string-append prefix #$version "-guix")))
(delete-file "3rdparty/include/Packet32.h") ;"not open source"
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but
"3rdparty"
;; asl2.0 and cc0
"glad" ;Is tailored.
;; bsd-3
"libchdr" ;Not packaged in guix.
"vixl" ;Not packaged in guix.
"xbyak" ;Just includes.
;; bsd-4 (pcap) and bsd-2 (xxhash)
"include" ;Just includes.
;; expat
"ccc" ;Is tailored.
"cubeb" ;Is tailored.
"discord-rpc" ;Not packaged in guix.
"imgui" ;Is tailored.
"rapidyaml" ;Not packaged in guix.
"rcheevos" ;Does not have a linkable binary.
"simpleini" ;Is tailored (GetKeyCount).
"zydis" ;Could not link.
;; gpl2+
"freesurround" ;Unclear what upstream is.
;; lgpl2.0+
"demangler" ;Is tailored.
;; public-domain
"lzma" ;Does not have a linkable library.
;; silofl1.1
"promptfont") ;Unclear what upstream is.
(substitute* "CMakeLists.txt"
(("add_subdirectory\\(3rdparty/googletest)")
"find_package(GTest REQUIRED)"))
(substitute* "cmake/SearchForStuff.cmake"
(("add_subdirectory\\(3rdparty/cpuinfo EXCLUDE_FROM_ALL\\)")
"find_package(cpuinfo REQUIRED)")
(("disable_compiler_warnings_for_target\\(cpuinfo\\)") "")
(("add_subdirectory\\(3rdparty/fast_float EXCLUDE_FROM_ALL\\)")
"find_package(FastFloat REQUIRED)")
(("add_subdirectory\\(3rdparty/fmt EXCLUDE_FROM_ALL\\)")
"find_package(fmt REQUIRED)")
(("disable_compiler_warnings_for_target\\(fmt\\)") "")
(("add_subdirectory\\(3rdparty/libzip EXCLUDE_FROM_ALL\\)")
"find_package(libzip REQUIRED)")
(("add_subdirectory\\(3rdparty/rapidjson EXCLUDE_FROM_ALL\\)")
"find_package(RapidJSON REQUIRED)")
(("add_subdirectory\\(3rdparty/soundtouch EXCLUDE_FROM_ALL\\)")
"pkg_check_modules(SoundTouch REQUIRED soundtouch)")
(("add_subdirectory\\(3rdparty/vulkan EXCLUDE_FROM_ALL\\)")
"find_package(VulkanMemoryAllocator REQUIRED)
find_package(VulkanHeaders REQUIRED)"))
;Specifically, line 213.
(substitute* "common/CMakeLists.txt"
(("fast_float") ""))
(substitute* "pcsx2/CMakeLists.txt"
(("SoundTouch::SoundTouch") "SoundTouch")
(("\
target_link_libraries\\(PCSX2_FLAGS INTERFACE vulkan-headers\\)") ""))
(substitute* "pcsx2/Host/AudioStream.cpp"
(("SoundTouch.h") "soundtouch/SoundTouch.h"))))))
(substitute* "pcsx2/Pcsx2Config.cpp"
(("Path::Canonicalize\\(Path::GetDirectory\\(program_path\\)\\);")
"Path::Canonicalize(
((std::string)Path::GetDirectory(program_path)).append(\"/../share/\"));"))
(delete-file-recursively "3rdparty/d3d12memalloc")
(delete-file-recursively "3rdparty/winpixeventruntime")
(delete-file-recursively "3rdparty/winwil")))))
(build-system cmake-build-system)
(arguments
(list
#:parallel-build? #t
#:configure-flags
#~(list "-DCMAKE_C_COMPILER=clang"
"-DCMAKE_CXX_COMPILER=clang++"
"-GNinja"
"-DPACKAGE_MODE=ON"
"-DUSE_LINKED_FFMPEG=ON")
"-DCMAKE_PREFIX_PATH=\"$PWD/deps\""
"-GNinja")
#:imported-modules `((guix build copy-build-system)
,@%cmake-build-system-modules)
#:phases
#~(modify-phases %standard-phases
(replace 'build
@@ -3742,52 +3673,52 @@ target_link_libraries\\(PCSX2_FLAGS INTERFACE vulkan-headers\\)") ""))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests? (invoke "ninja" "unittests"))))
(replace 'install
(lambda* args
(apply
(assoc-ref (@ (guix build copy-build-system) %standard-phases)
'install)
#:install-plan
'(("bin/pcsx2-qt" "bin/")
("bin/resources" "share/")
("bin/translations" "share/")
("../source/.github/workflows/scripts/linux/pcsx2-qt.desktop"
"share/applications/"))
args)))
(add-after 'install 'install-patches
(lambda _
(symlink
(search-input-file %build-inputs "/patches.zip")
(string-append
#$output "/share/PCSX2/resources/patches.zip")))))))
(lambda* (#:key inputs #:allow-other-keys)
(install-file (search-input-file %build-inputs "/patches.zip")
(string-append #$output "/share/resources")))))))
(inputs (list (module-ref
(resolve-interface '(gnu packages debug)) 'libbacktrace)
`(,zstd-1.5.7 "lib")
cpuinfo
curl
dbus
eudev
fast-float
ffmpeg
freetype
fmt-11
kddockwidgets
libaio
libjpeg-turbo
libpcap
libpng-next
libpng-for-pcsx2
libwebp
libxi
libxrandr
libzip
lz4
pcsx2-patches
plutosvg
plutovg
plutosvg
qtbase
qtdeclarative
qtsvg
qttools
rapidjson
qtwayland
sdl3
shaderc
soundtouch
vulkan-headers
wayland))
(native-inputs
(list clang-17
extra-cmake-modules
googletest
ninja
pkg-config
vulkan-memory-allocator))
wayland
libxi))
(native-inputs (list clang-17 extra-cmake-modules ninja pkg-config))
(home-page "https://pcsx2.net")
(synopsis "PlayStation 2 (PS2) emulator")
(description
@@ -3796,17 +3727,7 @@ emulator. Its purpose is to emulate the PS2's hardware, using a combination
of MIPS CPU interpreters, recompilers and a virtual machine which manages
hardware states and PS2 system memory. This allows you to play PS2 games on
your PC, with many additional features and benefits.")
(license (list license:gpl3+ ;main code
;; code in 3rdparty/
license:asl2.0
license:bsd-2
license:bsd-3
license:bsd-4
license:cc0
license:expat
license:lgpl2.0+
license:public-domain
license:silofl1.1))))
(license license:gpl3+)))
(define-public rpcs3
;; NB: When updating to a new release, don't forget to check if any more
@@ -4383,44 +4304,6 @@ of the Nestopia emulator.")
(license (list license:gpl2+ ;this project
license:lgpl2.1+)))) ;nes_ntsc source files
(define-public libretro-nestopia
(let ((commit "473d3072be67fa2542ca833c274ef6682cf0f0bc")
(revision "0"))
(package
(inherit jg-nestopia)
(name "libretro-nestopia")
(version (git-version "2.0" ;from libretro/libretro_core_options.h
revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/libretro/nestopia")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "01gfwm6ig9ih4yw34fw4hdg6qsyzyjx3v4rvzb0bwk31453v9vhx"))))
(arguments
(list
#:tests? #f ;no test suite
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'change-to-build-dir
(lambda _
(chdir "libretro")))
(delete 'configure)
(replace 'install
(lambda _
(let ((out (string-append #$output "/lib/libretro")))
(mkdir-p out)
(install-file "nestopia_libretro.so" out)))))))
(synopsis "Libretro port of Nestopia NES/Famicom emulator")
(description
"This is the libretro port of the Nestopia emulator, based on the de
facto upstream Nestopia JG fork, which lives at:
https://gitlab.com/jgemu/nestopia. The libretro port contains an additional
overclocking feature."))))
(define-public jg-cega
(package
(name "jg-cega")
+170 -132
View File
@@ -42,12 +42,11 @@
;;; Copyright © 2024 Juliana Sims <juli@incana.org>
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2025 Frederick Muriuki Muriithi <fredmanglis@gmail.com>
;;; Copyright © 2025, 2026 nomike Postmann <nomike@nomike.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>
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -149,7 +148,6 @@
#:use-module (gnu packages nettle)
#:use-module (gnu packages networking)
#:use-module (gnu packages node)
#:use-module (gnu packages oneapi)
#:use-module (gnu packages openkinect)
#:use-module (gnu packages parallel)
#:use-module (gnu packages pcre)
@@ -176,6 +174,7 @@
#:use-module (gnu packages sqlite)
#:use-module (gnu packages stb)
#:use-module (gnu packages swig)
#:use-module (gnu packages tbb)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
@@ -866,7 +865,7 @@ required for Fritzing app.")
(native-inputs
(list pkg-config qttools-5))
(inputs
(list kcoreaddons-5 kwidgetsaddons-5 qtbase-5 qtsvg-5 qtwayland-5 sqlite))
(list kcoreaddons-5 kwidgetsaddons-5 qtbase-5 qtsvg-5 sqlite))
(home-page "https://qelectrotech.org/")
(synopsis "CAD/CAE editor focusing on schematics drawing features")
(description "QElectroTech, or QET in short, is a desktop application to
@@ -1142,7 +1141,7 @@ Emacs).")
(define-public kicad
(package
(name "kicad")
(version "9.0.7")
(version "9.0.6")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1150,7 +1149,7 @@ Emacs).")
(commit version)))
(sha256
(base32
"0glsdq5c54d2sif0jmpym79i6vham5w3kzcvcr0yq5nimqig7h0q"))
"0mfnlx0dlpk3jz1b8pard6b7ax1ycyv069k4vg89ph2bia1a9d98"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -1267,7 +1266,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(file-name (git-file-name name version))
(sha256
(base32
"1b03mc5ad0w3lhgig131jkfa243mlkzk9myjyr78lhqw07k7sxk2"))))
"0sdardnkr8ayrzahhy8hmq5yhlh1fprj5rxf7wq44cn2biyzfr5c"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_FORMATS=html")
@@ -1298,7 +1297,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(file-name (git-file-name name version))
(sha256
(base32
"08qb4rqxsyhrcvj1k200m2c06jjy7jwjmf9n1qkcm0biqqc5dba4"))))
"03k3y86mgc10ir5l1gdzc0r7w1gg7iavb1zl31kgfh9hnfmgv06w"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; no tests exist
@@ -1327,7 +1326,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
"1w7dkb93s84ymi1syxpzacbmkxlnlh0k4z1c62nabspb901nn524"))))
"0jzkrmzkxv3kqqmkpq5dpp3shy9ajfg1b1yzhk4ddzvy8l05qym4"))))
(synopsis "Official KiCad footprint libraries")
(description "This package contains the official KiCad footprint libraries.")))
@@ -1344,7 +1343,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
"1bv1k8i01x7gyayrlkzl3d2nsf7mcdmzx8gjwx1i2va9557rgli9"))))
"04hw6b4hyl2plfgynin3dv7siqml4341264wz2wngddszq8z32ki"))))
(synopsis "Official KiCad 3D model libraries")
(description "This package contains the official KiCad 3D model libraries.")))
@@ -1587,20 +1586,19 @@ use on a given system.")
(define-public libredwg
(package
(name "libredwg")
(version "0.13.3")
(version "0.12.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/libredwg/libredwg-"
version ".tar.xz"))
(sha256
(base32 "0vl1x20zw4nafw86f98w5i5sry7krvj20igzh6j7fivlibkzdwc3"))))
(base32 "1gginbl76vmpccjwx93cmg8ibap8l40swly3bjv7rhmdwv6ikpnk"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list "--disable-bindings"
"--disable-write" ;check fails, see README
#$(string-append "CFLAGS="
" -Wno-error=implicit-function-declaration"))))
(native-inputs
@@ -2048,7 +2046,7 @@ bindings for Python, Java, OCaml and more.")
(define-public python-platypush
(package
(name "python-platypush")
(version "1.3.14")
(version "1.3.7")
(source
(origin
(method git-fetch)
@@ -2057,12 +2055,19 @@ bindings for Python, Java, OCaml and more.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1nmpdcjamc2nw1kq4m4kvypmilvrq59xh099cnlg0hlkrly0kigc"))))
(base32 "0nh7107j4j0l65bsqpff0ar1609n5a5lh78d8wjsmylwyg9j9kyk"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "requirements.txt"
(("zipp>=3.19.1")
"zipp")
(("urllib3>=2.2.2")
"urllib3"))))
(add-before 'check 'pre-check
(lambda _
(setenv "HOME" "/tmp"))))))
@@ -2479,6 +2484,60 @@ slicing software to x3g files for standalone 3D printing on common 3D
printers.")
(license license:gpl2+)))
(define-public gnucap
(package
(name "gnucap")
(version "20171003")
(source
(origin
(method url-fetch)
(uri (string-append "https://git.savannah.gnu.org/cgit/gnucap.git/snapshot/gnucap-"
version ".tar.gz"))
(sha256
(base32
"16m09xa685qhj5fqq3bcgakrwnb74xhf5f7rpqkkf9fg8plzbb1g"))))
(build-system gnu-build-system)
(inputs
(list readline))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; Set correct rpath so that gnucap finds libgnucap.so.
(substitute* (list "apps/configure" "lib/configure"
"main/configure" "modelgen/configure")
(("LDFLAGS =")
(string-append "LDFLAGS = -Wl,-rpath=" out "/lib")))
;; gnucap uses a hand-written configure script that expects the
;; --prefix argument to be the first argument passed to it.
(invoke "./configure" (string-append "--prefix=" out)))))
(replace 'check
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(libpath "../lib/O:../apps/O"))
(with-directory-excursion "tests"
;; Make test return non-zero exit code when a test fails.
(substitute* "test"
(("/bin/sh") "/bin/sh -e")
(("\\|\\| echo \"\\*\\*\\*\\* \\$ii fails \\*\\*\\*\\*\"") ""))
;; Fix expected plugin search path for test c_attach.1.gc
(substitute* "==out/c_attach.1.gc.out"
(("/usr/local/lib/gnucap")
(string-append libpath ":" out "/lib/gnucap")))
;; Set library path so that gnucap can find libgnucap.so
;; while running the tests.
(setenv "LD_LIBRARY_PATH" libpath)
(invoke "./test" "../main/O/gnucap" "" "test-output" "==out"))))))))
(home-page "https://www.gnu.org/software/gnucap/")
(synopsis "Mixed analog and digital circuit simulator")
(description "GNUcap is a circuit analysis package. It offers a general
purpose circuit simulator and can perform DC and transient analyses, fourier
analysis and AC analysis. The engine is designed to do true mixed-mode
simulation.")
(license license:gpl3+)))
(define-public cutter
(package
(name "cutter")
@@ -2584,7 +2643,7 @@ specification can be downloaded at @url{http://3mf.io/specification/}.")
(define-public manifold
(package
(name "manifold")
(version "3.3.2")
(version "3.2.1")
(source
(origin
(method git-fetch)
@@ -2593,9 +2652,9 @@ specification can be downloaded at @url{http://3mf.io/specification/}.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0bq1gzvhyp0b9v0q6magwf0yi9lzqgh3fj9104wqfvpl2skgzkg7"))))
(base32 "0fy78axwhlk3gpxhmac4gbyvsadky1kzqbh4cv5snahzmi4bixvp"))))
(build-system cmake-build-system)
(inputs (list onetbb clipper2 assimp python-nanobind googletest))
(inputs (list tbb clipper2 assimp python-nanobind googletest))
(arguments
(list #:tests? #f
;; can be removed once emscripten is packaged
@@ -2712,51 +2771,28 @@ some well developed, easy to deploy and cross platform libraries.")
(define-public python-pandapower
(package
(name "python-pandapower")
(version "3.3.0")
(version "2.14.11")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/e2nIEE/pandapower")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "pandapower" version ".zip"))
(sha256
(base32 "01ybwvbzld202yhhi9l3djp1nr0k57lrqh7k5819n58brv3hcki9"))))
(base32 "139ahp08kci8asmv35bcibbnkfr5s1ff5j84n490s47ibsglk4yi"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 1161 passed, 140 skipped, 23 xfailed, 11 xpassed, 4529 warnings
#:test-flags
#~(list "--numprocesses" (number->string (min 8 (parallel-job-count))))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "pyproject.toml"
(("pandera~=0.26.1") "pandera~=0.27.1")))))))
(native-inputs
(list python-nbmake
python-pytest
python-pytest-xdist
python-setuptools))
(propagated-inputs
(list python-deepdiff
python-geojson
python-networkx
python-numpy
python-packaging
python-pandas
python-pandera
python-scipy
python-tqdm
python-typing-extensions
;; [optional]
python-geopandas
python-lxml
python-matplotlib
python-openpyxl
python-pyproj
python-shapely))
(native-inputs (list python-pyproj
python-pytest
python-setuptools
python-wheel
unzip))
(propagated-inputs (list python-deepdiff
python-geojson
python-networkx
python-numpy
python-packaging
python-pandas
python-scipy
python-tqdm
python-typing-extensions))
(home-page "https://www.pandapower.org/")
(synopsis "Power system modelling and analysis")
(description "@code{pandapower} is an easy to use network calculation
@@ -2981,7 +3017,7 @@ ontinuous-time and discret-time expressions.")
qtsvg-5
qtwayland-5
sanitizers-cmake
onetbb))
tbb))
(native-inputs (list bison
extra-cmake-modules
flex
@@ -3018,78 +3054,85 @@ models in the STL and OFF file formats.")
(license license:gpl2+))))
(define-public pythonscad
(package
(inherit openscad)
(name "pythonscad")
(version "0.8.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pythonscad/pythonscad")
(commit (string-append "v" version))
;; Needed for libraries/MCAD, a library specific to OpenSCAD
;; which is included as a submodule. All other libraries are
;; deleted in the patch-source build phase.
(recursive? #t)))
(sha256
(base32 "0gnifi8is0dl00vir5nd1k76kkcavb62v115g34198lzqnwiy0fc"))
(modules '((guix build utils)))
(snippet #~(begin
;; Delete all unbundled libraries to replace them with
;; guix packages.
(delete-file-recursively "submodules")
(substitute* "CMakeLists.txt"
;; Remove bundled libraries from cmake.
(("add_subdirectory\\(submodules\\)")
""))))
(file-name (git-file-name name version))))
(arguments
(substitute-keyword-arguments (package-arguments openscad)
((#:configure-flags flags)
#~(begin
(use-modules (srfi srfi-1))
(append (remove (lambda (flag)
(or (string-prefix? "-DOPENSCAD_VERSION=" flag)
(string-prefix? "-DOPENSCAD_COMMIT=" flag)))
#$flags)
(list "-DENABLE_LIBFIVE=ON" "-DUSE_BUILTIN_LIBFIVE=OFF"
(string-append "-DOPENSCAD_VERSION="
#$version)
(string-append "-DPYTHON_VERSION="
#$(version-major+minor (package-version
python)))))))
((#:phases phases)
#~(modify-phases #$phases
(replace 'patch-source
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "CMakeLists.txt"
;; Fix detection of EGL (see
;; https://github.com/openscad/openscad/issues/5880).
(("target_link_libraries\\(OpenSCADLibInternal PUBLIC OpenGL::EGL\\)")
"find_package(ECM REQUIRED NO_MODULE)
(let ((commit "92071afdffa6e2f6d99fe7e695c40044ec8aa16a")
(version "0.0.0")
(revision "5"))
(package
(inherit openscad)
(name "pythonscad")
(version (git-version version revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pythonscad/pythonscad")
(commit commit)
;; Needed for libraries/MCAD, a library specific to OpenSCAD
;; which is included as a submodule. All other libraries are
;; deleted in the patch-source build phase.
(recursive? #t)))
(sha256
(base32 "1ivjbcf52xzavyrld5xjii7yrqf27c244ndzvysrdaz53s06nk90"))
(modules '((guix build utils)))
(snippet #~(begin
;; Delete all unbundled libraries to replace them with
;; guix packages.
(delete-file-recursively "submodules")
(substitute* "CMakeLists.txt"
;; Remove bundled libraries from cmake.
(("add_subdirectory\\(submodules\\)")
""))))
(file-name (git-file-name name version))))
(arguments
(substitute-keyword-arguments (package-arguments openscad)
((#:configure-flags flags)
#~(begin
(use-modules (srfi srfi-1))
(append
(remove (lambda (flag)
(or (string-prefix? "-DOPENSCAD_VERSION=" flag)
(string-prefix? "-DOPENSCAD_COMMIT=" flag)))
#$flags)
(list "-DENABLE_LIBFIVE=ON"
"-DUSE_BUILTIN_LIBFIVE=OFF"
(string-append "-DOPENSCAD_VERSION="
#$version)
(string-append "-DOPENSCAD_COMMIT="
#$commit)
(string-append "-DPYTHON_VERSION="
#$(version-major+minor
(package-version python)))))))
((#:phases phases)
#~(modify-phases #$phases
(replace 'patch-source
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "CMakeLists.txt"
;; Fix detection of EGL (see
;; https://github.com/openscad/openscad/issues/5880).
(("target_link_libraries\\(OpenSCAD PRIVATE OpenGL::EGL\\)")
"find_package(ECM REQUIRED NO_MODULE)
list(APPEND CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
find_package(EGL REQUIRED)
target_link_libraries(OpenSCADLibInternal PUBLIC EGL::EGL)")
;; Use the system sanitizers-cmake module.
(("\\$\\{CMAKE_SOURCE_DIR\\}/submodules/sanitizers-cmake/cmake")
(string-append (assoc-ref inputs "sanitizers-cmake")
"/share/sanitizers-cmake/cmake")))))))))
(inputs (modify-inputs (package-inputs openscad)
(append curl libfive)))
(synopsis "Script-based 3D modeling app with Python support")
(description
"PythonSCAD is a programmatic 3D modeling application. It allows you
target_link_libraries(OpenSCAD PRIVATE EGL::EGL)")
;; Use the system sanitizers-cmake module.
(("\\$\\{CMAKE_SOURCE_DIR\\}/submodules/sanitizers-cmake/cmake")
(string-append (assoc-ref inputs "sanitizers-cmake")
"/share/sanitizers-cmake/cmake")))))))))
(inputs (modify-inputs (package-inputs openscad)
(append curl libfive)))
(synopsis "Script-based 3D modeling app with Python support")
(description
"PythonSCAD is a programmatic 3D modeling application. It allows you
to turn simple code into 3D models suitable for 3D printing. It is a fork of
OpenSCAD which not only adds support for using Python as a native language,
but also adds new features and improves existing ones.")
(home-page "https://pythonscad.org/")
(license license:gpl2+)))
(home-page "https://pythonscad.org/")
(license license:gpl2+))))
(define-public emacs-scad-mode
(package
(name "emacs-scad-mode")
(version "98.0")
(version "97.0")
(source
(origin
(method git-fetch)
@@ -3097,7 +3140,7 @@ but also adds new features and improves existing ones.")
(url "https://github.com/openscad/emacs-scad-mode")
(commit version)))
(sha256
(base32 "19mn6z98c8s7mspa7j8xw7za33gmpsy4iw2r9xiggdv7yh6mh8h8"))
(base32 "1h86z2qn9q7ww2m7p992fx8abzdffcd3bcp3bmck3c9q2aksjl5j"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-compat))
@@ -3248,7 +3291,7 @@ dynamics is used by FreeCAD 1.0.0 for its new Assembly workbench.")
qtx11extras
qtxmlpatterns-5
sqlite
onetbb ;same version as opencascade-occt
tbb-2020 ; Same version as opencascade-occt
vtk
xerces-c
yaml-cpp
@@ -4154,7 +4197,7 @@ perform various useful functions such as:
("gmp" ,gmp)
("mesa" ,mesa)
("mpfr" ,mpfr)
("onetbb" ,onetbb)
("tbb" ,tbb)
("tinyxml2" ,tinyxml2)
("openblas" ,openblas)
("imgui" ,imgui)
@@ -4421,7 +4464,7 @@ G-codes to binary and vice versa.")
;; with regular wxwidgets.
prusa-wxwidgets
qhull
onetbb
tbb
webkitgtk-for-gtk3
webkitgtk-with-libsoup2
z3
@@ -5134,9 +5177,6 @@ more.")
server for Python and pypy3.")
(license license:lgpl3+)))
;; NOTE: modglue is frozen, receiving zero development since 2017-01-19.
;; However it is a dependency of cadabra 1.x, and cadabra 1.x is a
;; soft dependency of TeXmacs.
(define-public modglue
(package
(name "modglue")
@@ -5172,8 +5212,6 @@ multiple co-processes in cadabra.")
(home-page "https://cadabra.science/")
(license license:gpl2+)))
;; NOTE: cadabra is frozen, receiving zero development since 2016-12-20.
;; However it is a soft dependency of TeXmacs (as a plugin).
(define-public cadabra
(package
(name "cadabra")
+64 -99
View File
@@ -75,7 +75,6 @@
#:use-module (gnu packages documentation)
#:use-module (gnu packages docbook)
#:use-module (gnu packages elf)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk)
@@ -119,7 +118,6 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages rsync)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sssd)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages textutils)
@@ -129,7 +127,6 @@
#:use-module (gnu packages version-control)
#:use-module (gnu packages vim)
#:use-module (gnu packages web)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml))
(define-public autofs
@@ -722,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
@@ -758,7 +755,7 @@ from a mounted file system.")
;; completions by running a native bcachefs binary at build time.
(package
(name "bcachefs-tools-minimal")
(version "1.35.1")
(version "1.11.0")
(source
(origin
(method git-fetch)
@@ -767,7 +764,7 @@ from a mounted file system.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1jn7fqlvhr0iazfx31wamvmf3qmgrzlf9ghvz8qazk8b6ipv77fn"))))
(base32 "0m6z8z1cv78ay9yspypgr0kv70ck4wpln5n44f6n57i7sihqhrrg"))))
(build-system cargo-build-system)
(arguments
(list
@@ -778,11 +775,6 @@ from a mounted file system.")
#:vendor-dir "../guix-vendor"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'add-version
(lambda _
(with-output-to-file ".version"
(lambda ()
(display #$version)))))
(replace 'build
(lambda* (#:key parallel-build? #:allow-other-keys)
(apply invoke "make"
@@ -790,23 +782,19 @@ 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
;; even just link statically. We always pass it, so always patch.
;; 'make install' also always installs sources for kernel module
;; build, which is packaged separately in Guix, so disable here.
(lambda _
(substitute* "Makefile"
(("install: all install_dkms")
"install: all")
(("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
@@ -840,26 +828,30 @@ performance and other characteristics.")
(define-public bcachefs-tools
;; The final public package with shell completion even when cross-compiling,
;; as well as optional features.
;; as well as optional features such as FUSE (bcachefs fusemount).
(package
(inherit bcachefs-tools-minimal)
(name "bcachefs-tools")
(arguments
(substitute-keyword-arguments
(package-arguments bcachefs-tools-minimal)
(package-arguments bcachefs-tools-minimal)
((#:modules modules '())
`(,@modules
(guix build cargo-build-system)
`(,@modules
(guix build cargo-build-system)
(guix build utils)
(srfi srfi-26)))
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(add-after 'install 'install-completions
#~(modify-phases #$phases
(add-before 'build 'enable-fuse
(lambda _
;; This must be an environment variable, not a make flag!
(setenv "BCACHEFS_FUSE" "1")))
(add-after 'install 'install-completions
(lambda* (#:key native-inputs #:allow-other-keys)
(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)
@@ -878,9 +870,12 @@ performance and other characteristics.")
"share/zsh/site-functions/_bcachefs")))))))))
(native-inputs
(append (package-native-inputs bcachefs-tools-minimal)
(if (%current-target-system)
(list bcachefs-tools-minimal)
(list))))))
(if (%current-target-system)
(list bcachefs-tools-minimal)
(list))))
(inputs
(modify-inputs (package-inputs bcachefs-tools-minimal)
(append fuse)))))
(define-public bcachefs-tools-minimal/static
;; The static variant is public for consistency with the other file system
@@ -894,14 +889,6 @@ performance and other characteristics.")
(substitute-keyword-arguments (package-arguments bcachefs-tools-minimal)
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(add-after 'unpack 'patch-makefile
(lambda _
;; Change in v1.13.0 (commit 3666da87) adds
;; default-linker-libraries to RUSTFLAGS which breaks
;; static builds by trying to link against libc
(substitute* "Makefile"
(("export RUSTFLAGS:=\\$\\(RUSTFLAGS\\) -C default-linker-libraries")
"export RUSTFLAGS:=$(RUSTFLAGS)"))))
(add-after 'configure 'set-rust-flags
(lambda _
(setenv "RUSTFLAGS" (string-join
@@ -918,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")
@@ -965,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.35.1")
(version "1.33.0")
(source
(origin
(method git-fetch)
@@ -974,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 "1jn7fqlvhr0iazfx31wamvmf3qmgrzlf9ghvz8qazk8b6ipv77fn"))))
(base32 "05lqw3mxi73nm1q4qv43p9hyiwi2hdx4nc9fzm7rxwip6ys1kqkd"))))
(build-system linux-module-build-system)
(arguments
(list
@@ -982,14 +969,13 @@ minimal bcachefs-tools package. It is meant to be used in initrds.")
#:source-directory "build/src/fs/bcachefs"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'add-version
(lambda _
(with-output-to-file ".version"
(lambda ()
(display #$version)))))
(add-after 'unpack 'patch-source
(lambda _
(lambda* (#:key version #:allow-other-keys)
(substitute* "Makefile"
;; Remove unnecessary dependency on cargo
(("^VERSION=\\$.*$")
(string-append "VERSION=\""
#$version "\""))
;; Remove unnecessary dependencies
(("^.*PKG_CONFIG.*$")
""))))
@@ -1208,7 +1194,7 @@ files mistakenly overwritten or destroyed just a few seconds ago.")
(define-public disorderfs
(package
(name "disorderfs")
(version "0.6.2")
(version "0.6.0")
(source
(origin
(method git-fetch)
@@ -1218,12 +1204,12 @@ files mistakenly overwritten or destroyed just a few seconds ago.")
(file-name (git-file-name name version))
(sha256
(base32
"03bz03y7dx5hqv1c1vl7l1axzjr86cd2cddl1qkyqf8vsrn4ds6m"))))
"14x57qnqifx6hal1yb2bnrda9l12z19vhqlq850qax23z362q53q"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
(inputs
(list fuse-3.18 attr))
(list fuse-2 attr))
(arguments
`(#:phases (modify-phases %standard-phases
(delete 'configure)) ; no configure script
@@ -1732,7 +1718,7 @@ with the included @command{xfstests-check} helper.")
(define-public zfs
(package
(name "zfs")
(version "2.4.0")
(version "2.3.4")
(outputs '("out" "module" "src"))
(source
(origin
@@ -1741,7 +1727,7 @@ with the included @command{xfstests-check} helper.")
"/download/zfs-" version
"/zfs-" version ".tar.gz"))
(sha256
(base32 "1vn9fnpi279vb5y3pdplshq6qy2hixg7vr73q1a5bnbi1bg17pvv"))))
(base32 "15d47y4alicdl99pjidks9p1hqk9glz5y0w024d1ccq16v7rghwy"))))
(build-system linux-module-build-system)
(arguments
(list
@@ -2418,7 +2404,7 @@ spend on disk between being written and being deduplicated.")
(define-public dwarfs
(package
(name "dwarfs")
(version "0.14.1")
(version "0.6.2")
(source (origin
(method url-fetch)
;; The release archive is needed so that version.h is included.
@@ -2426,44 +2412,30 @@ spend on disk between being written and being deduplicated.")
version "/dwarfs-" version ".tar.xz"))
(sha256
(base32
"1i990m6radrzdc1ccy9j7kr4vgy30h3sfljmq27myahl5rzz4332"))
"1kncxf85gsj3anck8ccjmxn2azp5ifqbgkiky2kharmvphkbmfcv"))
(snippet
#~(begin
(use-modules (guix build utils))
;; Prefer system libraries instead of submodules.
;; TODO: Package fbthrift. (only source is needed)
;; TODO: Package fsst.
;; TODO: Package ricepp.
;; NOTE: Packaging folly seperately and unbundling isn't
;; necessary since a fork is used.
;; TODO: Package fbthrift.
;; TODO: Can we use Guix own folly? There is no CMake option for it.
;; TODO: Package parallel-hashmap.
(for-each delete-file-recursively
'(;; "fbthrift"
;; "ricepp"
;; "fsst"
"fast_float"))))))
;; "folly"
;; "parallel-hashmap"
"xxHash"
"zstd"))))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f
#:configure-flags
#~(list "-DPREFER_SYSTEM_FAST_FLOAT=ON"
"-DPREFER_SYSTEM_GTEST=ON"
"-DWITH_TESTS=OFF"
;; Disable man pages since ronn fails to run without hpricot.
"-DWITH_MAN_PAGES=OFF")
#:phases
#~(modify-phases %standard-phases
;; these tests require a FUSE device to work, so disable
;; FIXME: this doesn't work so all tests are disabled above.
(add-before 'check 'set-test-filter
(lambda _
(let* ((privileged-tests
'("dwarfs/tools_test.end_to_end/*"
"dwarfs/tools_test.mutating_and_error_ops/*"
"dwarfs/tools_test.categorize/*"))
(filter (string-append "-" ;"-" disables all following tests
(string-join privileged-tests ":"))))
(setenv "GTEST_FILTER" filter)))))))
'(#:tests? #f ; TODO: 1 test fails because 'modprobe fuse' needs privileged access.
#:configure-flags
(list "-DPREFER_SYSTEM_ZSTD=ON"
"-DPREFER_SYSTEM_XXHASH=ON"
"-DPREFER_SYSTEM_GTEST=ON"
"-DWITH_TESTS=ON"
;; Disable man pages since ronn fails to run without hpricot.
"-DWITH_MAN_PAGES=OFF")))
(native-inputs
(list
;; FIXME: Building with ronn fails because hpricot is missing from Guix.
@@ -2472,21 +2444,14 @@ spend on disk between being written and being deduplicated.")
(list
boost
double-conversion
fast-float
file ;for libmagic
flac
fmt-10
fmt
fuse
gflags
jemalloc
libarchive
libunwind
lz4
nlohmann-json
openssl
parallel-hashmap
range-v3
utfcpp
xxhash
xz
`(,zstd "lib")))
+205 -121
View File
@@ -39,7 +39,7 @@
;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2024 Saku Laesvuori <saku@laesvuori.fi>
;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025-2026 Hennadii Stepanov <hebasto@gmail.com>
;;; Copyright © 2025 Hennadii Stepanov <hebasto@gmail.com>
;;; Copyright © 2025 James Smith <jsubuntuxp@disroot.org>
;;;
;;; This file is part of GNU Guix.
@@ -158,7 +158,7 @@
;; <https://bitcoincore.org/en/lifecycle/#schedule>.
(package
(name "bitcoin-core")
(version "30.2")
(version "30.0")
(source (origin
(method url-fetch)
(uri
@@ -166,16 +166,14 @@
version "/bitcoin-" version ".tar.gz"))
(sha256
(base32
"1jw4djh22v0nih0n7irdbknfbqavlc4l3b8176b5qgc88a60pl3g"))))
"0x39bqd9ql7b6s7sj8ws8gw6g4nbgf6cplnys2lrmvfza56jliwv"))))
(build-system qt-build-system)
(arguments
(list #:qtbase qtbase
#:configure-flags
(list #:configure-flags
#~(list
"-DBUILD_GUI=ON"
"-DBUILD_BENCH=ON"
"-DWITH_ZMQ=ON")
#:qtbase qtbase
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-no-git-flag
@@ -201,7 +199,7 @@
capnproto
libevent
qrencode
qtwayland
qtbase
sqlite
zeromq))
(home-page "https://bitcoincore.org/")
@@ -655,13 +653,13 @@ do so.")
(define-public electrum-aionostr
(package
(name "electrum-aionostr")
(version "0.1.0")
(version "0.0.11")
(source
(origin
(method url-fetch)
(uri (pypi-uri "electrum_aionostr" version))
(sha256
(base32 "117cgcll1p726qf8ar6mv1a4lgadkyf8c6l520p2g21367lghx1p"))))
(base32 "10fgidah8ca59j3gssg9b434j49c1dd9cs3224nanjsxwl0ivsqf"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -676,7 +674,8 @@ do so.")
python-electrum-ecc))
(native-inputs (list python-click
python-pytest
python-setuptools))
python-setuptools
python-wheel))
(home-page "https://github.com/spesmilo/electrum-aionostr")
(synopsis "Asyncio nostr client")
(description "This package is a fork of @code{aionostr} that does not
@@ -686,16 +685,20 @@ require Coincurve.")
(define-public electrum
(package
(name "electrum")
(version "4.7.0")
(version "4.6.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/spesmilo/electrum.git")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (string-append "https://download.electrum.org/"
version "/Electrum-"
version ".tar.gz"))
(sha256
(base32 "15rkinaknaw199wrqcknnjy8989z1hwdcb3b4pdfd24fzkppa1kv"))))
(base32 "1h7z019sp99csrj1djmhlm9y7vyyzl7wvar7z9x4jx59lmmvs1xs"))
(modules '((guix build utils)))
(snippet
'(begin
;; Delete the bundled dependencies.
(delete-file-recursively "packages")))))
(build-system pyproject-build-system)
(arguments
(list
@@ -716,7 +719,7 @@ require Coincurve.")
(add-before 'check 'set-home
(lambda _ ; 3 tests run mkdir
(setenv "HOME" "/tmp"))))))
(native-inputs (list python-pytest python-setuptools))
(native-inputs (list python-pytest python-setuptools python-wheel))
(inputs
(list electrum-aionostr
python-aiohttp
@@ -757,37 +760,36 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
(file-name (git-file-name name version))
(sha256
(base32 "11xhlssr7bvdv3p256k87y35vjzyfd93p72w8f2xy7j5jh6abhp1"))))
(build-system pyproject-build-system)
(build-system python-build-system)
(arguments
(list
#:tests? #f ; no tests
#:imported-modules `(,@%pyproject-build-system-modules
(guix build qt-utils))
#:modules '((guix build pyproject-build-system)
#:modules '((guix build python-build-system)
(guix build qt-utils)
(guix build utils))
#:imported-modules `(,@%python-build-system-modules
(guix build qt-utils))
#:phases
(with-extensions (list (pyproject-guile-json))
#~(modify-phases %standard-phases
(add-after 'unpack 'create-output-directories
(lambda _
;; setup.py installs to ~/.local/share if this doesn't exist.
(mkdir-p (string-append #$output "/share"))))
(add-after 'unpack 'use-libsecp256k1-input
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "electroncash/secp256k1.py"
(("libsecp256k1.so.0")
(search-input-file inputs "lib/libsecp256k1.so.0")))))
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "contrib/requirements/requirements.txt"
(("python-dateutil<2\\.9")
"python-dateutil"))))
(add-after 'install 'wrap-qt
(lambda* (#:key inputs #:allow-other-keys)
#~(modify-phases %standard-phases
(add-after 'unpack 'create-output-directories
(lambda _
;; setup.py installs to ~/.local/share if this doesn't exist.
(mkdir-p (string-append #$output "/share"))))
(add-after 'unpack 'use-libsecp256k1-input
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "electroncash/secp256k1.py"
(("libsecp256k1.so.0")
(search-input-file inputs "lib/libsecp256k1.so.0")))))
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "contrib/requirements/requirements.txt"
(("python-dateutil<2\\.9")
"python-dateutil"))))
(add-after 'install 'wrap-qt
(lambda* (#:key outputs inputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-qt-program "electron-cash"
#:output #$output #:inputs inputs)))))))
(native-inputs (list python-setuptools))
#:output out #:inputs inputs)))))))
(inputs
(list bash-minimal
libevent
@@ -830,7 +832,7 @@ blockchain.")
;; the system's dynamically linked library.
(package
(name "monero")
(version "0.18.4.5")
(version "0.18.4.4")
(source
(origin
(method git-fetch)
@@ -848,7 +850,7 @@ blockchain.")
delete-file-recursively
'("external/miniupnp" "external/rapidjson"))))
(sha256
(base32 "1lf3rss9y34g51hxqny8vcp8hayv0r3lsndxl85gciqxgb0ls7dz"))))
(base32 "0f5b8yvrfhxc86ws3nfz0v6prl9n2nq9hvwlc2wcgspp8lbl26j8"))))
(build-system cmake-build-system)
(native-inputs
(list doxygen
@@ -935,7 +937,7 @@ the Monero command line client and daemon.")
(define-public monero-gui
(package
(name "monero-gui")
(version "0.18.4.5")
(version "0.18.4.4")
(source
(origin
(method git-fetch)
@@ -951,7 +953,7 @@ the Monero command line client and daemon.")
;; See the 'extract-monero-sources' phase.
(delete-file-recursively "monero")))
(sha256
(base32 "02qlm0caqscq5ms4gd3ckipsq90gvhjprqdcnpcxwdp3fa16749i"))))
(base32 "0bvd3mv0ahkfx2k2n6z5n7mnksd75h859ji32a4d74vaizc04igm"))))
(build-system qt-build-system)
(native-inputs
`(,@(package-native-inputs monero)
@@ -1147,10 +1149,11 @@ Ledger Nano as a hardware SSH/GPG agent.")
(file-name (git-file-name name version))
(sha256
(base32 "1mblx4favmw4nf7k9rfl00ivv77kgdiwghyz4xv5cp0v410kjaqc"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ; No test suite.
(native-inputs (list python-setuptools))
(inputs (list (list python "tk")))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; No test suite.
(inputs
`(("python-tkinter" ,python "tk")))
(home-page "https://github.com/rendaw/trezor-gpg-pinentry-tk")
(synopsis "GPG pinentry program for use with @code{trezor-agent}")
(description
@@ -1333,22 +1336,23 @@ TREZOR Hardware Wallet.")
(define-public python-keepkey
(package
(name "python-keepkey")
(version "7.2.1")
(version "6.0.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/keepkey/python-keepkey")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "00hqppdj3s9y25x4ad59y8axq94dd4chhw9zixq32sdrd9v8z55a"))))
(build-system pyproject-build-system)
(origin
(method url-fetch)
(uri (pypi-uri "keepkey" version))
(sha256
(base32
"0z3d0m6364v9dv0njs4cd5m5ai6j6v35xaaxfxl90m9vmyxy81vd"))))
(build-system python-build-system)
(arguments
(list
#:test-backend #~'custom
#:test-flags #~(find-files "tests/unit" "\\.py$")))
(native-inputs (list python-setuptools))
`(#:phases
(modify-phases %standard-phases
(delete 'check)
(add-after 'install 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(apply invoke "python" (find-files "tests/unit" "\\.py$")))))))
(propagated-inputs
(list python-ecdsa python-hidapi python-libusb1 python-mnemonic
python-protobuf))
@@ -1580,7 +1584,7 @@ Luhn and family of ISO/IEC 7064 check digit algorithms.")
(base32 "16d0q1yzrh9fn6ybbsvhr9wbgld27rvn152w4wdcibidq2jbi0s2"))))
(build-system pyproject-build-system)
(native-inputs (list python-hatchling python-hatch-vcs python-pytest
python-pydantic))
python-pydantic-2))
(propagated-inputs (list python-importlib-resources python-pycountry
python-rstr python-typing-extensions))
(home-page "http://github.com/mdomke/schwifty/")
@@ -2013,19 +2017,95 @@ This includes components like The Hub and Indexer which and various others
that allows you to run services and through them access the Bitcoin Cash networks.")
(license license:gpl3+)))
(define-public beancount
(package
(name "beancount")
(version "3.2.0")
(version "2.3.6")
(source
(origin
(method git-fetch)
(method git-fetch) ; no test data files in PyPI archive
(uri (git-reference
(url "https://github.com/beancount/beancount")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0830wx1brzq74kf3m4dzc015n4922qmvvw9n89fkcbc3d5swi8n4"))))
(base32 "1slxsjw29cyr2kbirdpijhpqspk55k38rpmk3zc02pr1wll62qsv"))
(patches (search-patches "beancount-disable-googleapis-fonts.patch"))
(modules '((guix build utils)))
(snippet
#~(begin
;; Remove broken experiments.
(delete-file-recursively "experiments")
;; Remove bundled packages.
(delete-file-recursively "third_party")))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list
;; These tests require network.
"--ignore=beancount/web/web_test.py"
"-k" (string-join
(list "not test_parse_stdin" ; ModuleNotFoundError: 'pytest'
"test_setup" ; AssertionError: 5 not greater than 20
;; Require network
"test_bake_archive__known"
"test_bake_directory")
" and not "))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "setup.py"
;; Use compatible fork, and do not fail during sanity check.
(("\"pdfminer2\",") ""))))
(add-before 'check 'build-extensions
(lambda _
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
(native-inputs
(list gnupg
python-pdfminer-six
python-pytest
python-setuptools
python-wheel))
(propagated-inputs
(list python-beautifulsoup4
python-bottle
python-chardet
python-dateutil
python-google-api-client
python-google-auth-oauthlib
python-lxml
python-magic
python-oauth2client
python-ply
python-requests))
(home-page "https://beancount.github.io/")
(synopsis "Command-line double-entry accounting tool")
(description
"Beancount is a double-entry bookkeeping computer language that lets you
define financial transaction records in a text file, read them in memory,
generate a variety of reports from them, and provides a web interface.")
(license license:gpl2)))
(define-public beancount-3
(package
(name "beancount")
(version "3.1.0")
(source
(origin
(method git-fetch) ; Pypi archive doesn't contain the test suite.
(uri (git-reference
(url "https://github.com/beancount/beancount")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0pzbhlsvch4n48rqkbff1v1rbk3gm05w0fbd2p97vdmrmlxaa33d"))
(modules '((guix build utils)))
(snippet #~(substitute* "pyproject.toml"
(("regex >=2022.9.13")
"regex >=2022.1.18")))))
(arguments
(list
#:test-flags
@@ -2058,8 +2138,6 @@ define financial transaction records in a text file, read them in memory,
generate a variety of reports from them, and provides a web interface.")
(license license:gpl2)))
(define-deprecated/public-alias beancount-3 beancount)
(define-public beanquery
(package
(name "beanquery")
@@ -2075,13 +2153,8 @@ generate a variety of reports from them, and provides a web interface.")
(("tatsu-lts")
"tatsu")))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; Whitespace differences in these tests.
#~(list "--ignore=beanquery/query_render_test.py")))
(propagated-inputs
(list beancount
(list beancount-3
python-click
python-dateutil
python-tatsu))
@@ -2109,7 +2182,7 @@ it can easily generate custom reports specific to accounting purposes.")
(base32 "0zlanw88dq7czgsdvqwz2fgxamyrfnx15ymv4d7fnjrj04glpg47"))))
(build-system pyproject-build-system)
(propagated-inputs
(list beancount
(list beancount-3
python-beautifulsoup4
python-chardet
python-petl
@@ -2143,7 +2216,7 @@ from account statements and other documents and for managing documents.")
;; <https://github.com/beancount/fava/issues/2153>).
#~(list "-k" "not options-/long-example/api/options")))
(propagated-inputs
(list beancount
(list beancount-3
beanquery
python-babel
python-beangulp
@@ -2169,30 +2242,35 @@ software Beancount with a focus on features and usability.")
(license license:expat)))
(define-public emacs-beancount
(let ((commit "8a564f5a26e6245860188ebf71db0262dd78e068")
(revision "0"))
(package
(name "emacs-beancount")
(version (git-version "0.9.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/beancount/beancount-mode")
(commit commit)))
(sha256
(base32 "0affr04pa9gi9ddv1jqf7nwnpira7wdlm8aa293xqlzlb93bgfv2"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list #:test-command #~(list "make" "test")))
(native-inputs
(list beancount))
(home-page "https://github.com/beancount/beancount-mode")
(synopsis "Emacs mode for Beancount")
(description
"Emacs-beancount is an Emacs mode for the Beancount accounting tool.")
(license license:gpl3+))))
(package
(name "emacs-beancount")
(version "0.9.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/beancount/beancount-mode")
(commit version)))
(sha256
(base32
"01ivxgv1g0pkr0xi43366pghc3j3mmhk5bshis6kkn04bq04cx7f"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list #:test-command #~(list "make" "test")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'adjust-available-beancount-options
(lambda _
(substitute* "beancount.el"
(("\"account_unrealized_gains\"") "")))))))
(native-inputs
(list beancount))
(home-page "https://github.com/beancount/beancount-mode")
(synopsis "Emacs mode for Beancount")
(description
"Emacs-beancount is an Emacs mode for the Beancount accounting tool.")
(license license:gpl3+)))
(define-public hledger-web
(package
@@ -2385,23 +2463,29 @@ analysis of financial market data.")
(define-public python-mt-940
(package
(name "python-mt-940")
(version "4.30.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/WoLpH/mt940.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "13g5338aa8vgkx8g94vz5d8ynfq3jndvyh1nz6dlhw4axwr4x8dp"))))
(version "4.23.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/WoLpH/mt940.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0z9w1qalcphsck3j6vkrs7k47ah9zq2rv0lm9nmcsgwpyp59qkyf"))))
(properties '(("upstream-name" #{.}# "mt-940")))
(build-system pyproject-build-system)
(build-system python-build-system)
(arguments
(list
#:test-flags
#~(list "-c" "/dev/null"))) ; Remove custom --cov flags.
(native-inputs (list python-pytest python-pyyaml python-setuptools))
`(#:phases (modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(when tests?
;; Remove custom --cov flags.
(delete-file "pytest.ini")
(invoke "pytest" "-vv")))))))
(native-inputs (list python-flake8
python-pytest
python-pyyaml))
(home-page "https://mt940.readthedocs.io/")
(synopsis "Python parser for MT940-encoded SWIFT data")
(description
@@ -2431,7 +2515,7 @@ files.")
(define-public xmrig
(package
(name "xmrig")
(version "6.25.0")
(version "6.24.0")
(source
(origin
(method git-fetch)
@@ -2439,7 +2523,7 @@ files.")
(url "https://github.com/xmrig/xmrig")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (base32 "0hchl2vwsn7aps6y1zjhxczm8l8lvl5ac8hblwl3qj0y2n7iszjz"))
(sha256 (base32 "10q91sh29hlb7yd4lkfjsrk16qgb2j1z19ac77c9y7ccfci97f01"))
(modules '((guix build utils)))
(snippet
;; TODO: Try to use system libraries instead of bundled ones in
@@ -2488,7 +2572,7 @@ mining.")
(define-public p2pool
(package
(name "p2pool")
(version "4.13")
(version "4.12")
(source
(origin
(method git-fetch)
@@ -2497,7 +2581,7 @@ mining.")
(commit (string-append "v" version))
(recursive? #t)))
(file-name (git-file-name name version))
(sha256 (base32 "1flpr0kzyl72hm5vjs9jixiv8fdhvwchlz3p2banb8naxlpads0x"))
(sha256 (base32 "0s2bx8yjyd4qspidrly4082b6h4sbkn26dy1cpbsj7cvv3m3gdv2"))
(modules '((guix build utils)))
(snippet
#~(for-each delete-file-recursively
+4 -4
View File
@@ -1308,7 +1308,7 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.")
(string=? (%current-system) (gnu-triplet->nix-system triplet))))
(package
(name (downstream-package-name "arm-trusted-firmware-" platform))
(version "2.12.9")
(version "2.12.2")
(source
(origin
(method git-fetch)
@@ -1318,7 +1318,7 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.")
(commit (string-append "lts-v" version))))
(file-name (git-file-name "arm-trusted-firmware" version))
(sha256
(base32 "0zlb3g9qn7i8xr731nrsdqf00s03wv1ybhc28ka5nwniaccpg9dx"))
(base32 "01i40asy9dsbx4l5kbvsvi55bdf308nnraf8kfli5d4cx8pxqmrj"))
(patches (search-patches "8mq-enable-imx_hab_handler.patch"
"8mq-move-stack-to-ocram_s.patch"))
(modules '((guix build utils)))
@@ -1623,13 +1623,13 @@ corresponding layout." layout))
(define-public qmk
(package
(name "qmk")
(version "1.2.0")
(version "1.1.6")
(source (origin
(method url-fetch)
(uri (pypi-uri "qmk" version))
(sha256
(base32
"0j4ana65v5x1rg262a9nvwnr8hc1zay1gw74brv2n6s09ind2jqn"))))
"0l4b5bi6x1i9bh3ik73yisn1pq1bhgiksiddvg3cxy7jmgdnqhyw"))))
(build-system pyproject-build-system)
(arguments
(list

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