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

Compare commits

..

4 Commits

Author SHA1 Message Date
Yelninei e5b92baa27 gnu: dmd: Support GNU/Hurd.
* gnu/packages/patches/dmd-hurd.patch, gnu/packages/patches/phobos-hurd.patch
: New patches.
* gnu/local.mk: Register them.
* gnu/packages/dlang.scm (dmd-bootstrap): Add dmd patch.
[native-inputs]: Make gdb/pinned linux-only, add patch to phobos.
[#:make-flags]: Set DISABLED_TESTS.
[#:phases]: In 'patch-tests disable more tests.
Change-Id: Id5e2fee30bb48a27785682d1b6a30666f33e37c5

Change-Id: I16ad0cba2666fe475cd4028287316e9f8cbad2fe
2026-05-10 19:08:07 +02:00
Yelninei 0c53e15628 gnu: dmd: Update to 2.112.0.
* gnu/packages/dlang.scm (dmd-bootstrap): Update to 2.112.0.

Change-Id: I13d01df4627dc80e6738b247e8ff426d359f7f96
2026-05-10 19:08:07 +02:00
Yelninei 35d6a5d3fa make-gdc: Support GNU/Hurd in gdc-11 and gdc-14.
* gnu/packages/patches/gdc-11-druntime-hurd.patch,
gnu/packages/patches/gdc-14-druntime-hurd.patch: New patches.
* gnu/local.mk (dist_patch_DATA): Register them.
* gnu/packages/gcc.scm (make-gdc): Add patches for gdc-11 and gdc-14.

Change-Id: Ie92e10b1e9f829020d4b63c7c86120f6595b42a5
2026-05-10 19:08:07 +02:00
Yelninei 413d01aaf2 gnu: gcc-11: Support x86_64-gnu.
* gnu/packages/patches/gcc-11-x86_64-gnu.patch: New patch.
* nu/packages/gcc.scm (gcc-11): Add patch.
* gnu/local.mk (dist_patch_DATA): Register patch.

Change-Id: Ie6ec86f4282c6af4ebe43485e4fb9be450c81a94
2026-05-10 19:08:01 +02:00
447 changed files with 46054 additions and 53011 deletions
+3 -6
View File
@@ -42,12 +42,9 @@
;; For use with 'bug-reference-prog-mode'. Extra bug-reference
;; configuration should be done in your Emacs user configuration file;
;; refer to (info (guix) The Perfect Setup).
(eval . (setq-local bug-reference-bug-regexp
;; #8545 (issues), !8545 (PRs), guix/guix#8545 and
;; guix/guix!8545
(rx (group (seq (? "guix/guix") (or "#" "!"))
(group (one-or-more digit))))))
(bug-reference-url-format . "https://codeberg.org/guix/guix/issues/%s")
(bug-reference-bug-regexp
. "\\(<https?://\\bugs\\.gnu\\.org/\\([0-9]+\\)>\\)")
(bug-reference-url-format . "https://issues.guix.gnu.org/%s")
(eval . (add-to-list 'completion-ignored-extensions ".go"))
+6 -10
View File
@@ -32,7 +32,6 @@ gnu/packages/assembly\.scm @guix/build-tools
gnu/packages/autogen\.scm @guix/build-tools
gnu/packages/autotools\.scm @guix/build-tools
gnu/packages/bison\.scm @guix/build-tools
gnu/packages/compiler-tools\.scm @guix/build-tools
gnu/packages/m4\.scm @guix/build-tools
gnu/packages/oyacc\.scm @guix/build-tools
gnu/packages/re2c\.scm @guix/build-tools
@@ -162,8 +161,6 @@ gnu/system/examples/bare-bones\.tmpl @guix/documentation
gnu/system/examples/lightweight-desktop\.tmpl @guix/documentation
gnu/system/examples/desktop\.tmpl @guix/documentation
gnu/packages/dotnet\.scm @guix/dotnet
gnu/packages/electronics\.scm @guix/electronics
gnu/packages/hdl\.scm @guix/electronics
gnu/packages/libftdi\.scm @guix/electronics
@@ -292,12 +289,12 @@ guix/build-system/julia\.scm @guix/julia
gnu/packages/(kde)(-.+|)\.scm$ @guix/kde
gnu/build/linux-modules\.scm @guix/linux-libre
gnu/packages/aux-files/linux-libre.*$ @guix/linux-libre
gnu/packages/linux\.scm @guix/linux-libre
gnu/tests/linux-modules\.scm @guix/linux-libre
guix/build/linux-module-build-system\.scm @guix/linux-libre
guix/build-system/linux-module\.scm @guix/linux-libre
gnu/build/linux-modules\.scm @guix/kernel
gnu/packages/aux-files/linux-libre.*$ @guix/kernel
gnu/packages/linux\.scm @guix/kernel
gnu/tests/linux-modules\.scm @guix/kernel
guix/build/linux-module-build-system\.scm @guix/kernel
guix/build-system/linux-module\.scm @guix/kernel
gnu/packages/lisp(-.+|)\.scm$ @guix/lisp
guix/build/asdf-build-system\.scm @guix/lisp
@@ -341,7 +338,6 @@ guix/build-system/rakudo\.scm @guix/perl
guix/import/cpan\.scm @guix/perl
guix/scripts/import/cpan\.scm @guix/perl
gnu/packages/aux-files/python/.*\.py$ @guix/python
gnu/packages/django\.scm @guix/python
gnu/packages/jupyter\.scm @guix/python
gnu/packages/python(-.+|)\.scm$ @guix/python
-9
View File
@@ -488,7 +488,6 @@ AUX_FILES = \
gnu/packages/aux-files/linux-libre/5.10-x86_64.conf \
gnu/packages/aux-files/ovmf/51-edk2-ovmf-2m-raw-x64-nosb.json \
gnu/packages/aux-files/pack-audit.c \
gnu/packages/aux-files/python/pytest_guix.py \
gnu/packages/aux-files/python/sanity-check.py \
gnu/packages/aux-files/python/sitecustomize.py \
gnu/packages/aux-files/renpy/renpy.in \
@@ -1281,14 +1280,6 @@ $(GIT_HOOKS_DIR):
$(GIT_HOOKS_DIR)/%: etc/git/% | $(GIT_HOOKS_DIR)/
if [ -n "$(GIT_HOOKS_DIR)" ]; then cp "$<" "$@"; fi
# Special-case the pre-push hook installation, to ensure it is always
# up-to-date with its source.
.PHONY: $(GIT_HOOKS_DIR)/pre-push
$(GIT_HOOKS_DIR)/pre-push: etc/git/pre-push | $(GIT_HOOKS_DIR)
@if [ -n "$(GIT_HOOKS_DIR)" ]; then \
cmp "--silent" "$<" "$@" || cp "$<" "$@"; \
fi
$(GIT_CONFIG_FILE): etc/git/gitconfig
if [ -n "$(GIT_CONFIG_FILE)" ]; then \
git config --fixed-value --replace-all include.path \
-1
View File
@@ -120,7 +120,6 @@ running 'guix-daemon $extra_options'" >&2
"@abs_top_builddir@/pre-inst-env" \
"@abs_top_builddir@/guix-daemon" \
$extra_options \
--allow-aslr \
--substitute-urls="$GUIX_BINARY_SUBSTITUTE_URL" &
daemon_pid=$!
+7 -28
View File
@@ -618,33 +618,6 @@ enhance @code{scheme-mode} and Geiser. @xref{Introduction,,,
emacs-guix, Emacs-Guix Reference Manual}, to make sure you don't miss
out!
@unnumberedsubsubsec Submitting Pull Requests Following the AGit Workflow
@cindex AGit workflow, for pull requests (Emacs).
@url{https://codeberg.org/halvin/agitjo, Agitjo} is a helper to ease
AGit workflow based patch submission (@pxref{Submitting Patches}).
Install it with:
@example
guix install emacs-agitjo
@end example
Assuming your local checkout is on the branch containing the changes you
would like to submit for inclusion in the @code{master} branch, use
@command{M-x agitjo-push} then:
@itemize
@item
Set options like the title @option{-t} and the session identifier
@option{-s}.
@item
Invoke one of the push commands to execute a @command{git push} operation.
@end itemize
When creating a new pull request, a dedicated buffer will open for
drafting a description. The force-push option @option{-f} is enabled to
push changes to the existing pull request.
@unnumberedsubsubsec Taming Boilerplate with Templates
@cindex code snippets
@@ -733,7 +706,13 @@ Manual}). To set it up, enable it in the relevant modes:
When working from a Git checkout of Guix, setup is automatic:
@code{bug-reference} automatically detects that the project is hosted on
Codeberg and infers the issue and pull request URL from there.
Codeberg@footnote{
@c 'vc-git-repository-url' is used by
@c 'bug-reference-setup-from-vc-alist', which checks for one of these
@c names for the remote.
As of Emacs@tie{}30.2, auto-detection works if and
only if the Git remote is called @code{upstream} or @code{origin}.} and
infers the issue and pull request URL from there.
@node Guile Studio
@subsection Guile Studio
+14 -32
View File
@@ -646,11 +646,9 @@ This field contains a description of the source code origin. The
@enumerate
@item The method, here @code{url-fetch} to download via HTTP/FTP, but other methods
exist, such as @code{git-fetch} for Git repositories. @xref{origin
Reference,,, guix, GNU Guix Reference Manual}, for more info on the
available download methods.
exist, such as @code{git-fetch} for Git repositories.
@item The URI, which is typically some @code{https://} location for @code{url-fetch}. Here
the special @code{mirror://gnu} refers to a set of well known locations, all of
the special `mirror://gnu` refers to a set of well known locations, all of
which can be used by Guix to fetch the source, should some of them fail.
@item The @code{sha256} checksum of the requested file. This is essential to ensure
the source is not corrupted. Note that Guix works with base32 strings,
@@ -1118,8 +1116,7 @@ Let's discuss those fields in depth.
@subsubsection @code{git-fetch} method
Unlike the @code{url-fetch} method, @code{git-fetch} expects a @code{git-reference} which takes
a Git repository and a commit (@pxref{origin Reference,,, guix, GNU Guix
Reference Manual}). The commit can be any Git reference such as
a Git repository and a commit. The commit can be any Git reference such as
tags, so if the @code{version} is tagged, then it can be used directly. Sometimes
the tag is prefixed with a @code{v}, in which case you'd use @code{(commit (string-append
"v" version))}.
@@ -1165,7 +1162,7 @@ Snippets might need additional Guile modules which can be imported from the
There are 3 different input types. In short:
@table @code
@table @asis
@item native-inputs
Required for building but not runtime -- installing a package
through a substitute won't install these inputs.
@@ -1233,14 +1230,9 @@ It's advised to separate outputs only when you've shown it's worth it: if the
output size is significant (compare with @code{guix size}) or in case the package is
modular.
@xref{Packages with Multiple Outputs,,, guix, GNU Guix Reference
Manual}, for more info.
@subsubsection Build system arguments
The @code{arguments} is a keyword-value list used to configure the build
process; these arguments are passed to the @dfn{build system}
(@pxref{Build Systems,,, guix, GNU Guix Reference Manual}).
The @code{arguments} is a keyword-value list used to configure the build process.
The simplest argument @code{#:tests?} can be used to disable the test suite when
building the package. This is mostly useful when the package does not feature
@@ -1256,7 +1248,7 @@ following flags
"CC=gcc")
@end lisp
translate into:
translate into
@example
$ make CC=gcc prefix=/gnu/store/...-<out>
@@ -1276,9 +1268,7 @@ Similarly, it's possible to set the configure flags:
The @code{%build-inputs} variable is also generated in scope. It's an association
table that maps the input names to their store directories.
The @code{phases} keyword lists the sequential steps of the build
system. @xref{Build Phases,,, guix, GNU Guix Reference Manual}, for
details; in a nutshell,
The @code{phases} keyword lists the sequential steps of the build system. Typically
phases include @code{unpack}, @code{configure}, @code{build}, @code{install} and @code{check}. To know
more about those phases, you need to work out the appropriate build system
definition in @samp{$GUIX_CHECKOUT/guix/build/gnu-build-system.scm}:
@@ -1393,12 +1383,10 @@ Its return value is ignored.
@subsubsection Code staging
The astute reader may have noticed the hash-tilde and hash-dollar syntax in the
The astute reader may have noticed the quasi-quote and comma syntax in the
argument field. Indeed, the build code in the package declaration should not be
evaluated on the client side, but only when passed to the Guix daemon. This
mechanism of passing code around two running processes is called @uref{https://arxiv.org/abs/1709.00833, code staging}.
@xref{G-Expressions,,, guix, GNU Guix Reference Manual}, for info on the
this mechanism, which is called @dfn{g-expressions}.
@subsubsection Utility functions
@@ -1407,7 +1395,7 @@ equivalent system invocations (@code{make}, @code{mkdir}, @code{cp}, etc.)@: com
regular ``Unix-style'' installations.
Some like @code{chmod} are native to Guile.
@xref{File System,,, guile, Guile reference manual} for a complete list.
@xref{,,, guile, Guile reference manual} for a complete list.
Guix provides additional helper functions which prove especially handy in the
context of package management.
@@ -1541,9 +1529,9 @@ The recursive importer won't import packages for which Guix already has package
definitions, except for the very first.
Not all applications can be packaged this way, only those relying on a select
number of supported systems.
@xref{Invoking guix import,,, guix, GNU Guix Reference Manual} for
the full list of importers.
number of supported systems. Read about the full list of importers in
the guix import section of the manual
(@pxref{Invoking guix import,,, guix, GNU Guix Reference Manual}).
@node Automatic update
@subsubsection Automatic update
@@ -1563,9 +1551,6 @@ well:
$ guix refresh hello --update
@end example
@xref{Invoking guix refresh,,, guix, GNU Guix Reference Manual}, for
more info.
@node Inheritance
@subsubsection Inheritance
@@ -1590,9 +1575,7 @@ noticed that a significant number of them have a @code{inherit} field:
All unspecified fields are inherited from the parent package. This is very
convenient to create alternative packages, for instance with different source,
version or compilation options. @xref{Defining Package Variants,,, guix,
GNU Guix Reference Manual}, for a discussion of inheritance and of other
ways to create package variants.
version or compilation options.
@node Getting help
@subsection Getting help
@@ -1633,8 +1616,7 @@ hopefully we will see your contributions soon!
@itemize
@item
@xref{Defining Packages,,, guix, GNU Guix Reference Manual}, for the
@code{package} reference in the manual.
The @uref{https://guix.gnu.org/manual/en/html_node/Defining-Packages.html, package reference in the manual}
@item
@uref{https://gitlab.com/pjotrp/guix-notes/blob/master/HACKING.org, Pjotrs hacking guide to GNU Guix}
+70 -373
View File
@@ -49,11 +49,11 @@ Copyright @copyright{} 2017 humanitiesNerd@*
Copyright @copyright{} 2017, 2021 Christine Lemmer-Webber@*
Copyright @copyright{} 2017, 2018, 2019, 2020, 2021, 2022 Marius Bakke@*
Copyright @copyright{} 2017, 2019, 2020, 2022 Hartmut Goebel@*
Copyright @copyright{} 2017, 2019--2026 Maxim Cournoyer@*
Copyright @copyright{} 2017, 2019--2025 Maxim Cournoyer@*
Copyright @copyright{} 20172022 Tobias Geerinckx-Rice@*
Copyright @copyright{} 2017 George Clemmer@*
Copyright @copyright{} 2017 Andy Wingo@*
Copyright @copyright{} 2017, 2018, 2019, 2020, 2023, 2024, 2025, 2026 Arun Isaac@*
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@*
@@ -124,7 +124,7 @@ Copyright @copyright{} 2023 Thomas Ieong@*
Copyright @copyright{} 2023 Saku Laesvuori@*
Copyright @copyright{} 2023 Graham James Addis@*
Copyright @copyright{} 2023-2025 Tomas Volf@*
Copyright @copyright{} 2024-2026 Herman Rimm@*
Copyright @copyright{} 2024, 2025 Herman Rimm@*
Copyright @copyright{} 2024 Matthew Trzcinski@*
Copyright @copyright{} 2024 Richard Sent@*
Copyright @copyright{} 2024 Dariqq@*
@@ -151,8 +151,6 @@ Copyright @copyright{} 2025 Noé Lopez@*
Copyright @copyright{} 2026 David Elsing@*
Copyright @copyright{} 2026 Nguyễn Gia Phong@*
Copyright @copyright{} 2026 Yarl Baudig@*
Copyright @copyright{} 2026 Joan Vilardaga Castro@*
Copyright @copyright{} 2026 Nemin@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -261,16 +259,11 @@ Installation
* Application Setup:: Application-specific setup.
* Upgrading Guix:: Upgrading Guix and its build daemon.
Binary Installation
* Installation with a pre-mounted store::
Setting Up the Daemon
* Build Environment Setup:: Preparing the isolated build environment.
* Daemon Offload Setup:: Offloading builds to remote machines.
* SELinux Support:: Using an SELinux policy for the daemon.
* AppArmor Support:: Using an AppArmor profile for the daemon.
System Installation
@@ -306,7 +299,6 @@ Package Management
Substitutes
* Official Substitute Servers:: One particular source of substitutes.
* Volunteer Run Mirrors:: Additional, regional sources of substitutes.
* Substitute Server Authorization:: How to enable or disable substitutes.
* Getting Substitutes from Other Servers:: Substitute diversity.
* Substitute Authentication:: How Guix verifies substitutes.
@@ -488,14 +480,12 @@ Home Services
* GPG: GNU Privacy Guard. Setting up GPG and related tools.
* Desktop: Desktop Home Services. Services for graphical environments.
* Guix: Guix Home Services. Services for Guix.
* Backup: Backup Home Services. Services for backing up User's files.
* Backup: Backup Home Services. Services for backing up User's files.
* Fonts: Fonts Home Services. Services for managing User's fonts.
* Sound: Sound Home Services. Dealing with audio.
* Mail: Mail Home Services. Services for managing mail.
* Messaging: Messaging Home Services. Services for managing messaging.
* Media: Media Home Services. Services for managing media.
* mpv Media Player::
* Niri: Niri window manager. Setting up the Niri.
* Sway: Sway window manager. Setting up the Sway configuration.
* Networking: Networking Home Services. Networking services.
* Secrets: Secrets Home Services. Services for storing secrets.
@@ -886,40 +876,6 @@ 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}.
@menu
* Installation with a pre-mounted store::
@end menu
@node Installation with a pre-mounted store
@subsection Installation with a pre-mounted store
@cindex pre-mounted store, installation on small root file system
@cindex bind mounted store, binary installation
@cindex binary installation using an alternative storage device
If you need to install Guix on a system whose main file system is too
small (as can be the case for the rescue environments of @acronym{VPS,
Virtual Private Servers}, for example), you may need to expose the
@file{/gnu} directory from a different storage device/partition. This
can be achieved by mounting a secondary partition or directory at
@file{/gnu}, via a bind mount for example. In the bind mount case,
assuming the partition that should be used to hold the content of the
store is mounted at @file{/mnt}, you could proceed like this
@emph{before} starting the installation:
@example
mkdir /mnt/gnu
mkdir /gnu
mount --bind /mnt/gnu /gnu
@end example
@quotation Important
If your foreign distribution uses systemd, do not attempt to mount
directly on the store directory, @file{/gnu/store}, as this would
conflict with the @file{gnu-store.mount} systemd unit and cause the
@file{guix-daemon.service} to unmount it before starting, failing its
execution. Mount on @file{/gnu} instead.
@end quotation
@node Setting Up the Daemon
@section Setting Up the Daemon
@@ -1781,21 +1737,6 @@ user namespaces is missing (@pxref{Build Environment Setup}). Use at
your own risk!
@end quotation
@cindex ASLR (address space layout randomization), for builds
@cindex address space layout randomization (ASLR), for builds
@cindex Docker, running @command{guix-daemon}
@cindex @command{guix-daemon}, running under Docker
@item --allow-aslr
Allow builds to start even if @acronym{ASLR, Address Space Layout
Randomization} cannot be disabled on Linux systems. This is normally
done so as to increase reproducibility, but some environments, such as
those affected by Docker's default seccomp policy, don't permit
disabling ASLR. Passing this option will allow builds to start with
reduced reproducibility regardless.
Note that passing this option doesn't ensure that ASLR is enabled, it
only allows builds to start even when disabling it is blocked.
@item --isolate-host-loopback
Prevent fixed-output chroot builds from accessing the host loopback.
When this is used, fixed-output builds will have their own loopback
@@ -3953,7 +3894,6 @@ also result from derivation builds, can be available as substitutes.
@menu
* Official Substitute Servers:: One particular source of substitutes.
* Volunteer Run Mirrors:: Additional, regional sources of substitutes.
* Substitute Server Authorization:: How to enable or disable substitutes.
* Getting Substitutes from Other Servers:: Substitute diversity.
* Substitute Authentication:: How Guix verifies substitutes.
@@ -3984,54 +3924,13 @@ could use the information gathered to determine, for instance, whether
your system has unpatched security vulnerabilities.
Substitutes from the official build farms are enabled by default when
using Guix System (@pxref{GNU Distribution}). However, they are
disabled by default when using Guix on a foreign distribution, unless
you have explicitly enabled them via one of the recommended installation
steps (@pxref{Installation}). Please @pxref{Substitute Server
Authorization} on how to enable or disable substitutes for the official
build farm; the same procedure can also be used to enable substitutes
for any other substitute server.
@node Volunteer Run Mirrors
@subsection Volunteer Run Mirrors
@cindex substitutes
@cindex mirrors
Beyond the two official substitute servers, there are additionally
volunteer run mirrors. These mirrors do not build their own
substitutes, but rather copy them from the official build farm and
distribute them to users. Enabling a mirror may be beneficial in case
the official servers are temporarily unavailable or provide inadequate
bandwidth at the user's location.
@quotation Note
Mirrored substitutes are signed by the original builder, not the mirror.
This means that mirror operators @strong{cannot} add or modify binaries,
as long as you trust only the official substitute servers,
@pxref{Substitute Server Authorization}.
@end quotation
List of volunteer run mirrors, grouped by location (with the build farm
they mirror in parentheses):
@table @asis
@item Germany
@itemize
@item @code{https://hydra-guix-129.guix.gnu.org} (bordeaux.guix.gnu.org)
@end itemize
@item People's Republic of China
@itemize
@item @code{https://mirrors.sjtug.sjtu.edu.cn/guix} (ci.guix.gnu.org)
@item @code{https://mirrors.sjtug.sjtu.edu.cn/guix-bordeaux} (bordeaux.guix.gnu.org)
@end itemize
@item Russia
@itemize
@item @code{https://mirror.yandex.ru/mirrors/guix/} (bordeaux.guix.gnu.org)
@end itemize
@end table
To enable receiving substitutions from these mirrors, please @pxref{Getting
Substitutes from Other Servers}.
using Guix System (@pxref{GNU Distribution}). However,
they are disabled by default when using Guix on a foreign distribution,
unless you have explicitly enabled them via one of the recommended
installation steps (@pxref{Installation}). The following paragraphs
describe how to enable or disable substitutes for the official build
farm; the same procedure can also be used to enable substitutes for any
other substitute server.
@node Substitute Server Authorization
@subsection Substitute Server Authorization
@@ -4921,10 +4820,7 @@ among the user's @dfn{trusted channels}, defined as:
@itemize
@item
the channels returned by @file{~/.config/guix/trusted-channels.scm},
which has the same format as any channel file (these channels
@emph{must} have an ``introduction'', @pxref{Channel Authentication};
channels are identified by their introduction and other fields are
ignored, including @code{url} and @code{name});
which has the same format as any channel file;
@item
or, if the above file doesn't exist, the currently-used channels as
@@ -15629,6 +15525,26 @@ repository used by the OCaml community.
Additional options include:
@table @code
@item --recursive
@itemx -r
Traverse the dependency graph of the given upstream package recursively
and generate package expressions for all those packages that are not yet
in Guix.
@end table
@item composer
@cindex Composer
@cindex PHP
Import metadata from the @uref{https://getcomposer.org/, Composer} package
archive used by the PHP community, as in this example:
@example
guix import composer phpunit/phpunit
@end example
Additional options include:
@table @code
@item --recursive
@itemx -r
@@ -15660,26 +15576,7 @@ Also, please note that versions are not compared across repositories.
The first repository (from left to right) that has at least one version
of a given package will prevail over any others, and the version
imported will be the latest one found @emph{in this repository only}.
@end table
@item composer
@cindex Composer
@cindex PHP
Import metadata from the @uref{https://getcomposer.org/, Composer} package
archive used by the PHP community, as in this example:
@example
guix import composer phpunit/phpunit
@end example
Additional options include:
@table @code
@item --recursive
@itemx -r
Traverse the dependency graph of the given upstream package recursively
and generate package expressions for all those packages that are not yet
in Guix.
@end table
@item go
@@ -16124,10 +16021,6 @@ the tag name for separating the numbers of the version.
pre-releases; to make it also look for pre-releases, set the this
property to @code{#t}.
@item @code{stable-version-regexp}: a regular expression for matching the
version string, if specified the updater will pick the latest version from
matching ones when the @option{--target-version} option is omitted.
@end itemize
@lisp
@@ -16714,12 +16607,6 @@ guix lint @var{options} @var{package}@dots{}
@end example
If no package is given on the command line, then all packages are checked.
To check packages in particular source files, the syntax is:
@example
guix lint @var{options} --whole-file @var{file}@dots{}
@end example
The @var{options} may be zero or more of the following:
@table @code
@@ -16757,23 +16644,9 @@ Only enable the checkers that do not depend on Internet access.
Add @var{directory} to the front of the package module search path
(@pxref{Package Modules}).
@item --whole-file
@itemx -f
Check the top-level package definitions in the given files; subsequent
arguments are treated as file names rather than package names. This
option also enables a special checker which checks if a package
alphabetically succeeds the one above it.
This allows users to define their own packages and make them visible to
the command-line tools.
For example, to check if the packages in @file{gnu/packages/matrix.scm}
are sorted alphabetically, and if the package names therein follow
established conventions, run:
@example
guix lint -c name -f gnu/packages/matrix.scm
@end example
The previous two options allow users to define their own packages and
make them visible to the command-line tools.
@end table
@node Invoking guix size
@@ -28910,9 +28783,8 @@ host all all ::1/128 md5"))
@table @asis
@item @code{log-destination} (default: @code{"syslog"})
The logging method to use for PostgreSQL@. Valid values are
@code{"stderr"}, @code{"csvlog"}, @code{"jsonlog"}, @code{"syslog"} and
@code{"eventlog"}. Multiple values are accepted, separated by commas.
The logging method to use for PostgreSQL@. Multiple values are accepted,
separated by commas.
@item @code{hba-file} (default: @code{%default-postgres-hba})
Filename or G-expression for the host-based authentication
@@ -28927,6 +28799,9 @@ is to listen for connections from client applications. If set to
@code{""} PostgreSQL does not listen on any Unix-domain sockets, in
which case only TCP/IP sockets can be used to connect to the server.
By default, the @code{#false} value means the PostgreSQL default value
will be used, which is currently @samp{/tmp}.
@item @code{extra-config} (default: @code{'()})
List of additional keys and values to include in the PostgreSQL config
file. Each entry in the list should be a list where the first element
@@ -36317,19 +36192,6 @@ Launch the app as this group (it must be an existing group).
A list of sockets (as path strings) which gunicorn will be listening
on. This list must contain at least one socket.
@item @code{control-socket} (default: #f) (type: string)
If set, creates a gunicorn control-socket at the given path. Note that,
the control socket should refer to a path listed in @code{mappings}.
@item @code{socket-user} (default: @code{user}) (type: string)
Owner of the directory containing the socket (must be an existing user).
@item @code{socket-group} (default: @code{group}) (type: string)
Group owner of the directory containing the socket (must be an existing group).
@item @code{socket-mode} (default: @code{#o750}) (type: integer)
File mode to use for the directory containing the socket.
@item @code{workers} (default: @code{1}) (type: integer)
The number of workers for the gunicorn app.
@@ -36765,16 +36627,13 @@ The Mumi package to use.
Data directory to store Debbugs data from upstream Debbugs instance.
@item @code{rsync-remote}
Remote rsync path from which to download Debbugs data.
Remote rsync path from which to download Debbugs data. The remote is
polled every 5 minutes, unless a previous instance of rsync is already
running.
@item @code{rsync-flags} (default: @code{'()})
Additional flags to pass to @command{rsync}.
@item @code{rsync-and-index-event} (default: @code{#~(calendar-event #:minutes '#$(iota 12 0 5))})
Shepherd calendar event to run the rsync and indexing timer at. By
default, this is once every 5 minutes. The timer job is not run if an
earlier instance of it is still running.
@item @code{mailer?} (default: @code{#true})
Whether to enable or disable the mailer component.
@@ -38159,21 +38018,6 @@ This is the type of the dnsmasq service, whose value should be a
(servers '("192.168.1.1"))))
@end lisp
The following example shows a slightly more complex configuration that
defines an authoritative DNS server on a given subdomain.
@lisp
(service dnsmasq-service-type
(dnsmasq-configuration
(listen-addresses '("10.1.1.1"))
(no-resolv? #t)
(no-hosts? #t)
(authoritative-servers '("vpn.example.com")) ;self
(authoritative-zones '("vpn.example.com"))
(host-records '("some-service.vpn.example.com,10.1.1.1"))))
@end lisp
For more examples, refer to @samp{man 8 dnsmasq.}
@code{dnsmasq-service-type} provides two actions:
@table @code
@@ -38263,33 +38107,12 @@ ie a subnet for which an interface exists on the server.
@item @code{listen-addresses} (default: @code{'()})
Listen on the given IP addresses.
@item @code{ipv4?} (default: @code{#t})
Whether to include A records in answers.
@item @code{ipv6?} (default: @code{#t})
Whether to include AAAA records in answers.
@item @code{resolv-file} (default: @code{"/etc/resolv.conf"})
The file to read the IP address of the upstream nameservers from.
@item @code{no-resolv?} (default: @code{#f})
When true, don't read @var{resolv-file}.
@item @code{authoritative-servers} (default: @code{'()})
A list of strings corresponding to valid @option{--auth-server} values,
such as a domain name. This is useful to make @command{dnsmasq}
authoritative for a given domain name or interface.
@item @code{authoritative-zones} (default: @code{'()})
A list of strings corresponding to valid @option{--auth-zone} values,
such as a domain name. This is useful to make @command{dnsmasq}
authoritative for a given domain name. Note that this must be used in
conjunction with the @code{authoritative-servers} option.
@item @code{host-records} (default: @code{'()})
A list of strings corresponding to valid @option{--host-record} values,
for example @code{'("some-service.example.com,10.1.1.1")}.
@item @code{forward-private-reverse-lookup?} (default: @code{#t})
When false, all reverse lookups for private IP ranges are answered with
"no such domain" rather than being forwarded upstream.
@@ -38298,12 +38121,6 @@ When false, all reverse lookups for private IP ranges are answered with
When true, dnsmasq queries the servers in the same order as they appear
in @var{servers}.
@item @code{locals} (default: @code{'()})
Specify domain name @emph{patterns} which should be treated as local,
that is, for which there should be no delegation to upstream servers.
Provided pattern values should be of the form
@code{'("/vpn.example.com/")}.
@item @code{servers} (default: @code{'()})
Specify IP address of upstream servers directly.
@@ -46021,81 +45838,6 @@ mount.
@end table
@end deftp
@subsubheading btrfs-scrub Service
@cindex btrfs-scrub service
@cindex solid state drives, periodic trim
@cindex solid state drives, trim
@c This was copied from the btrfs-scrub manpage, with some Texinfo touch-ups.
@quotation Information
Scrub is a validation pass over all filesystem data and metadata that
detects data checksum errors, basic super block errors, basic metadata
block header errors, and disk read errors.
Scrub is done on a per-device base, if a device is specified to
@command{btrfs scrub start}, then only that device will be
scrubbed. Although btrfs will also try to read other device to find a
good copy, if the mirror on that specified device failed to be read or
pass verification.
If a path of btrfs is specified to @command{btrfs scrub start}, btrfs
will scrub all devices in parallel.
On filesystems that use replicated block group profiles (e.g. RAID1),
read-write scrub will also automatically repair any damage by copying
verified good data from one of the other replicas.
Such automatic repair is also carried out when reading metadata or data
from a read-write mounted filesystem.
@end quotation
@defvar btrfs-scrub-service-type
Type for a service that periodically runs @command{btrfs-scrub} on a
certain device, whose value must be an
@code{<btrfs-scrub-configuration>} object. The service can be
instantiated in its default configuration with:
@lisp
;; This will scrub the root (@file{/}) filesystem.
(service btrfs-scrub-service-type)
;; This will scrub the @file{/gnu/store} filesystem (assuming it's a
;; different filesystem from @file{/}).
(service btrfs-scrub-service-type
(btrfs-scrub-configuration
(to-scrub "/gnu/store")))
@end lisp
@end defvar
@c %start of fragment
@deftp {Data Type} btrfs-scrub-configuration
Available @code{btrfs-scrub-configuration} fields are:
@table @asis
@item @code{package} (default: @code{btrfs-progs}) (type: file-like)
The package providing the @command{btrfs} command.
@item @code{schedule} (default: @code{"0 0 1-7 * 0"}) (type: Shepherd calendar event)
Schedule for launching @command{btrfs-scrub}, expressed as a string in
traditional cron syntax or as a gexp evaluating to a Shepherd calendar
event (@pxref{Timers,,, shepherd, The GNU Shepherd Manual}). By default
this is set to run the 1st Sunday of the month, at 00:00.
@item @code{to-scrub} (default: @code{"/"}) (type: maybe-string)
Device to scrub. It will scrub the root (@file{/}) if not given.
@item @code{extra-arguments} (type: maybe-list-of-strings)
Extra options to append to @command{btrfs scrub start} (run @samp{man
btrfs-scrub.8} for more information). Keep in mind that, by definition,
this service uses the @option{-B} flag (do not background and print
scrub statistics when finished).
@end table
@end deftp
@cindex oom
@cindex out of memory killer
@cindex earlyoom
@@ -50478,8 +50220,6 @@ accepts store items it receives from the coordinator:
# guix archive --authorize < coordinator-public-key.txt
@end example
@cindex @command{guix deploy, sudo configuration}
@anchor{guix-deploy-via-sudo}
@code{user}, in this example, specifies the name of the user account to log in
as to perform the deployment. Its default value is @code{root}, but root
login over SSH may be forbidden in some cases. To work around this,
@@ -50696,27 +50436,13 @@ small to bootstrap a Guix system from.
@item @code{ssh-key} (default: @code{#f})
If specified, the file name of the SSH private key to use to
authenticate with the remote host. If left unspecified, a temporary SSH
key is used during the early provisioning of the machine, after which
the authentication with the final machine is handled by your SSH client
or agent. It's a good idea to have your public SSH key authorized
declaratively in the @code{operating-system} specification provided, via
the @code{authorized-keys} field of the @code{openssh-configuration}
record. To be able to run @samp{guix deploy} after the initial
provisioning is done, an SSH connection to the root account or a
password-less sudo configuration is needed (@pxref{guix-deploy-via-sudo,
Invoking guix deploy}). For the later, you must also explicitly specify
the @code{user} field, which otherwise defaults to @code{"root"}.
authenticate with the remote host.
@item @code{ssh-public-key} (default: extracted from @code{ssh-key})
If specified, either a public key as returned by
@code{string->public-key} or the path to the SSH public key to use to
authenticate with the remote host.
@item @code{user} (default: @code{"root"})
The user to use for SSH authentication for the @samp{guix deploy}
command once the initial provisioning is complete.
@end table
When deploying a machine for the first time, the following steps are
@@ -50750,36 +50476,36 @@ server.
Once the server has been provisioned and SSH is available, deployment
continues by delegating it to the @code{managed-host-environment-type}.
Depending on their type, x86_64 or AArch64 servers on the Hetzner Cloud
service can be provisioned using BIOS or UEFI boot mode. The @code{(gnu
machine hetzner)} module exports the @code{make-hetzner-os} procedure,
which takes the server type string as an argument (e.g. @code{"cx23"})
and returns a base @code{operating-system} definition compatible with
it.
Servers on the Hetzner Cloud service can be provisioned on the AArch64
architecture using UEFI boot mode, or on the x86_64 architecture using
BIOS boot mode. The @code{(gnu machine hetzner)} module exports the
@code{%hetzner-os-arm} and @code{%hetzner-os-x86} operating systems that
are compatible with those two architectures, and can be used as a base
for defining your custom operating system.
The following example shows the definition of two machines that are
deployed on the Hetzner Cloud service. The first one for an ARM server
type that has 16 shared vCPUs and 32 GB of RAM, the second for an x86_64
server type that has 16 shared vCPUs and 32 GB of RAM.
deployed on the Hetzner Cloud service. The first one uses the
@code{%hetzner-os-arm} operating system to run a server with 16 shared
vCPUs and 32 GB of RAM on the @code{aarch64} architecture, the second
one uses the @code{%hetzner-os-x86} operating system on a server with 16
shared vCPUs and 32 GB of RAM on the @code{x86_64} architecture.
@lisp
(use-modules (gnu machine)
(gnu machine hetzner))
(list (let ((server-type "cax41"))
(machine
(operating-system (make-hetzner-os server-type))
(environment hetzner-environment-type)
(configuration (hetzner-configuration
(server-type server-type)
(ssh-key "/home/charlie/.ssh/id_rsa")))))
(let ((server-type "cpx51"))
(machine
(operating-system (make-hetzner-os server-type))
(environment hetzner-environment-type)
(configuration (hetzner-configuration
(server-type server-type)
(ssh-public-key "/home/charlie/.ssh/id_rsa.pub"))))))
(list (machine
(operating-system %hetzner-os-arm)
(environment hetzner-environment-type)
(configuration (hetzner-configuration
(server-type "cax41")
(ssh-key "/home/charlie/.ssh/id_rsa"))))
(machine
(operating-system %hetzner-os-x86)
(environment hetzner-environment-type)
(configuration (hetzner-configuration
(server-type "cpx51")
(ssh-public-key "/home/charlie/.ssh/id_rsa.pub")))))
@end lisp
@vindex GUIX_HETZNER_API_TOKEN
@@ -52412,10 +52138,8 @@ mount --rbind /sys /mnt/sys
mount --rbind /dev /mnt/dev
@end example
A quick way to check if your system booted with EFI support is to check
if @file{/sys/firmware/efi} exists. If your system is EFI-based, you
must also mount the ESP partition. Assuming it is @file{/dev/sda1}, you
can do so with:
If your system is EFI-based, you must also mount the ESP partition.
Assuming it is @file{/dev/sda1}, you can do so with:
@example sh
mount /dev/sda1 /mnt/boot/efi
@@ -52701,13 +52425,12 @@ services)}.
* GPG: GNU Privacy Guard. Setting up GPG and related tools.
* Desktop: Desktop Home Services. Services for graphical environments.
* Guix: Guix Home Services. Services for Guix.
* Backup: Backup Home Services. Services for backing up User's files.
* Backup: Backup Home Services. Services for backing up User's files.
* Fonts: Fonts Home Services. Services for managing User's fonts.
* Sound: Sound Home Services. Dealing with audio.
* Mail: Mail Home Services. Services for managing mail.
* Messaging: Messaging Home Services. Services for managing messaging.
* Media: Media Home Services. Services for managing media.
* mpv Media Player::
* Niri: Niri window manager. Setting up the Niri.
* Sway: Sway window manager. Setting up the Sway configuration.
* Networking: Networking Home Services. Networking services.
@@ -53636,7 +53359,7 @@ specifying the command to run.
@lisp
(use-modules (gnu) (guix)
(gnu home services shepherd)
(gnu packages code))
(gnu packages idutils))
(define idutils-service
;; Index my 'doc' directory everyday at 12:15PM and 7:15PM.
@@ -53907,32 +53630,6 @@ The list of accepted host key algorithms---e.g.,
@item @code{accepted-key-types} (type: maybe-string-list)
The list of accepted user public key types.
@item @code{control-master} (type: maybe-symbol)
Enables the sharing of multiple sessions over a single network
connection. Acceptable values are @code{'no}, @code{'yes},
@code{'auto}, @code{'ask}, and @code{'autoask}.
@item @code{control-file-name} (type: maybe-string)
The file name of the control socket used for connection sharing, or
@code{"none"} to disable connection sharing.
@item @code{control-persist} (type: maybe-string)
When used in conjunction with @env{control-master}, specifies that the
master connection should remain open in the background (waiting for
future client connections) after the initial client connection has been
closed.
@item @code{sent-environment-variables} (type: maybe-env-list)
Specifies which variables from the local environment should be sent to
the server. The server must also support it, and the server must be
configured to accept those environment variables.
@item @code{environment-variables} (type: maybe-string-alist)
List of environment variables with corresponding values to send to the
server, as an alist of strings of the form @code{'("@var{variable}" .
"@var{value}")}. The server must also support it, and the server must
be configured to accept those environment variables.
@item @code{extra-content} (default: @code{""}) (type: raw-configuration-string)
Extra content appended as-is to this @code{Host} block in
@file{~/.ssh/config}.
+2 -2
View File
@@ -6,7 +6,7 @@
# Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2018, 2021 Julien Lepiller <julien@lepiller.eu>
# Copyright © 2019 Timothy Sample <samplet@ngyro.com>
# Copyright © 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
# Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
# Copyright © 2024 gemmaro <gemmaro.dev@gmail.com>
#
# This file is part of GNU Guix.
@@ -147,7 +147,7 @@ $(srcdir)/%D%/contributing.%.texi: po/doc/guix-manual.%.po guix/build/po.go
%D%/os-config-%.texi: gnu/system/examples/%.tmpl
$(AM_V_GEN)$(MKDIR_P) "`dirname $@`"; \
sed -e s,@,@@,g "$<" > "$@"
cp "$<" "$@"
infoimagedir = $(infodir)/images
dist_infoimage_DATA = \
+5 -6
View File
@@ -1,4 +1,5 @@
#!/bin/sh
# From Gerrit Code Review 3.11.1.
#
# Part of Gerrit Code Review (https://www.gerritcodereview.com/)
#
@@ -69,9 +70,9 @@ dest="$1.tmp.${random}"
trap 'rm -f "$dest" "$dest-2"' EXIT
if ! sed -e '/>8/q' "$1" | git stripspace --strip-comments > "${dest}" ; then
echo "cannot strip comments from $1"
exit 1
if ! cat "$1" | sed -e '/>8/q' | git stripspace --strip-comments > "${dest}" ; then
echo "cannot strip comments from $1"
exit 1
fi
if test ! -s "${dest}" ; then
@@ -90,7 +91,7 @@ else
pattern=".*"
fi
if git interpret-trailers --no-divider --parse < "$1" | grep -q "^$token: $pattern$" ; then
if git interpret-trailers --parse < "$1" | grep -q "^$token: $pattern$" ; then
exit 0
fi
@@ -98,7 +99,6 @@ fi
# sentinel at the end to make sure there is one.
# Avoid the --in-place option which only appeared in Git 2.8
if ! git interpret-trailers \
--no-divider \
--trailer "Signed-off-by: SENTINEL" < "$1" > "$dest-2" ; then
echo "cannot insert Signed-off-by sentinel line in $1"
exit 1
@@ -110,7 +110,6 @@ fi
# Avoid the --in-place option which only appeared in Git 2.8
# Avoid the --where option which only appeared in Git 2.15
if ! git -c trailer.where=before interpret-trailers \
--no-divider \
--trailer "Signed-off-by: $token: $value" < "$dest-2" |
sed -e "s/^Signed-off-by: \($token: \)/\1/" \
-e "/^Signed-off-by: SENTINEL/d" > "$dest" ; then
+2 -2
View File
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020-2022, 2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2023 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2025 Efraim Flashner <efraim@flashner.co.il>
;;;
@@ -61,7 +61,7 @@ TARGET."
;; from the other package sets.
(fold delete %base-packages
(append (map specification->package
'("kbd" "iproute2" "iw" "wireless-tools"))
'("e2fsprogs" "kbd" "iproute2" "iw" "wireless-tools"))
%base-packages-linux)))
(define %system-packages
+2 -63
View File
@@ -47,11 +47,8 @@
(title
(en "@command{pull} and @command{time-machine} can download channel
files")
(de "@command{pull} und @command{time-machine} können Kanaldateien
herunterladen")
(fr "@command{pull} et @command{time-machine} peuvent télécharger des
fichiers canaux")
(pt "@command{pull} e @command{time-machine} podem baixar arquivos de canal"))
fichiers canaux"))
(body
(en "The @command{guix pull} and @command{guix time-machine} can now
be passed a URL as their @option{-C} (or @option{--channels}) option. For
@@ -81,35 +78,6 @@ only @dfn{trusted channels} are allowed---one may specify them in
@file{~/.config/guix/trusted-channels.scm}.
See @samp{info \"(guix)Invoking guix pull\"} for more information.")
(de "Den Befehlen @command{guix pull} und @command{guix time-machine}
kann jetzt eine URL mit der Option @option{-C} (oder @option{--channels})
übergeben werden. Zum Beispiel lädt der folgende Befehl vom neuesten
erfolgreich ausgewerteten Commit des @code{master}-Branches herunter:
@example
guix pull \\
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
@end example
Als Alternative kann man auch eine @uref{https://swhid.org, SWHID} angeben, die
auf eine Kanaldatei verweist:
@example
guix time-machine \\
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b \\
-- ...
@end example
Damit das möglich ist, werden Kanaldateien jetzt in einer isolierten Umgebung
ausgewertet (einer @dfn{Sandbox}), wodurch sie keinen beliebigen Code mehr
ausführen können. Wenn Sie in bestehenden Dateien solche über den Standard
hinausgehenden Funktionen benutzt haben, kann dazu jetzt verlangt werden, dass
Sie @option{--unsafe-channel-evaluation} übergeben, um sie auszuwerten. Des
Weiteren dürfen Kanäle aus heruntergeladenen Dateien nur als
@dfn{vertrauenswürdig} markierte Kanäle verwenden, die Sie in
@file{~/.config/guix/trusted-channels.scm} angeben.
Siehe @samp{info \"(guix.de) Aufruf von guix pull\"} für mehr Informationen.")
(fr "Les commandes @command{guix pull} et @command{guix time-machine}
peuvent dorénavant prendre une URL pour l'option @option{-C} (ou
@option{--channels}). Par exemple, la commande ci-dessous tire la dernière
@@ -139,36 +107,7 @@ sont admis---on peut les énumérer dans
@file{~/.config/guix/trusted-channels.scm}.
Voir @samp{info \"(guix.fr) Invoquer guix pull\"} pour plus
d'informations.")
(pt "Os comandos @command{guix pull} e @command{guix time-machine}
podem receber uma URL como opção para @option{-C} (or @option{--channels}).
Por exemplo, o comando abaixo busca do commit mais recente evaluado com
sucesso do ramo @code{master}:
@example
guix pull \\
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
@end example
Alternativamente, pode-se também especificar uma @uref{https://swhid.org,
SWHID} que aponta para um arquivo de canal:
@example
guix time-machine \\
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b \\
-- ...
@end example
Para tornar isso possível, arquivos de canal agora são evaluados em um
ambiente isolado (uma caixinha de areia, vulgo @dfn{sandbox}), o que os impede
de evaluar código arbitrário; se você tem arquivos de canal que dependem de
recursos \"não padrão\", pode ser necessário que você passe a opção
@option{--unsafe-channel-evaluation} para evaluá-los. Além disso, quando se
buscam canais de um arquivo baixado, somente @dfn{canais confiáveis} são
permitidos---é possível especificá-los em
@file{~/.config/guix/trusted-channels.scm}.
Veja @samp{info \"(guix.pt_BR)Invocando guix pull\"} para mais informação.")))
d'informations.")))
(entry (commit "a7c8e68dc51144a6d3981b770aca9c4897fc7c0c")
(title
+9 -32
View File
@@ -514,7 +514,6 @@ of Rebar and Mix build systems and Hex.pm importer."
"gnu/packages/autogen.scm"
"gnu/packages/autotools.scm"
"gnu/packages/bison.scm"
"gnu/packages/compiler-tools.scm"
"gnu/packages/m4.scm"
"gnu/packages/oyacc.scm"
"gnu/packages/re2c.scm")))
@@ -662,12 +661,6 @@ challenges"))
"gnu/system/examples/lightweight-desktop.tmpl"
"gnu/system/examples/desktop.tmpl")))
(define-team dotnet
(team 'dotnet
#:name ".NET"
#:description ".NET programming environment."
#:scope (list "gnu/packages/dotnet.scm")))
(define-team electronics
(team 'electronics
#:name "Electronics team"
@@ -876,8 +869,8 @@ and the maven-build-system."
"The plasma desktop environment, and KDE Applications."
#:scope (list (make-regexp* "^gnu/packages/(kde)(-.+|)\\.scm$"))))
(define-team linux-libre
(team 'linux-libre
(define-team kernel
(team 'kernel
#:name "Linux-libre kernel team"
#:scope (list "gnu/build/linux-modules.scm"
(make-regexp* "^gnu/packages/aux-files/linux-libre.*$")
@@ -984,8 +977,7 @@ perl-build-system as well as the rakudo-build-system."
#:description
"Python, Python packages, the \"pypi\" importer, and the python-build-system."
#:scope
(list (make-regexp* "^gnu/packages/aux-files/python/.*\\.py$")
"gnu/packages/django.scm"
(list "gnu/packages/django.scm"
"gnu/packages/jupyter.scm"
(make-regexp* "^gnu/packages/python(-.+|)\\.scm$")
"gnu/packages/sphinx.scm"
@@ -1249,11 +1241,6 @@ the \"texlive\" importer."
"guix/build-system/zig.scm")))
(define-member (person "Anderson Torres"
"anderson.torres.8519@gmail.com"
"AndersonTorres")
community translations)
(define-member (person "Eric Bavier"
"bavier@posteo.net"
"bavier")
@@ -1298,7 +1285,7 @@ the \"texlive\" importer."
(define-member (person "Leo Famulari"
"leo@famulari.name"
"lfam")
linux-libre)
kernel)
(define-member (person "Efraim Flashner"
"efraim@flashner.co.il"
@@ -1383,7 +1370,7 @@ the \"texlive\" importer."
(define-member (person "Vagrant Cascadian"
"vagrant@debian.org"
"vagrantc")
debian embedded linux-libre)
debian embedded kernel)
(define-member (person "Vagrant Cascadian" ;XXX: duplicate
"vagrant@reproducible-builds.org"
@@ -1537,7 +1524,7 @@ the \"texlive\" importer."
(define-member (person "Rodion Goritskov"
"rodion@goritskov.com"
"rodion-goritskov")
games java kde linux-libre release)
games java kde kernel release)
(define-member (person "Jason Conroy"
"jconroy@tscripta.net"
@@ -1557,7 +1544,7 @@ the \"texlive\" importer."
(define-member (person "Danny Milosavljevic"
"dannym@friendly-machines.com"
"daym")
bootstrap dotnet hpc python rust science)
bootstrap hpc python rust science)
(define-member (person "Andy Tai"
"atai@atai.org"
@@ -1577,7 +1564,7 @@ the \"texlive\" importer."
(define-member (person "Nguyễn Gia Phong"
"cnx@loang.net"
"cnx")
build-tools lua qa-packages sysadmin vcs)
build-tools python qa-packages sysadmin vcs)
(define-member (person "Lilah Tascheter"
"lilah@lunabee.space"
@@ -1622,7 +1609,7 @@ the \"texlive\" importer."
(define-member (person "Wilko Meyer"
"w@wmeyer.eu"
"theesm")
linux-libre perl)
kernel perl)
(define-member (person "Untrusem"
"mysticmoksh@riseup.net"
@@ -1684,16 +1671,6 @@ the \"texlive\" importer."
"bdunahu")
games)
(define-member (person "Nomike"
"nomike@nomike.com"
"nomike")
dotnet)
(define-member (person "Fabio Natali"
"me@fabionatali.com"
"fnat")
emacs)
(define (find-team name)
(or (hash-ref %teams (string->symbol name))
+24 -90
View File
@@ -74,37 +74,16 @@ Return the value associated with OPTION, or #f on failure."
(loop (absolute target) (+ depth 1))
file))))))
(define* (make-hurd-device-nodes #:key (root "/") (hurd "/hurd"))
(define* (make-hurd-device-nodes #:optional (root "/"))
"Make some of the nodes needed on GNU/Hurd."
(define (scope dir)
(in-vicinity root dir))
(define scope-set-translator
(match-lambda
((file-name command)
(scope-set-translator (list file-name command #o600)))
((file-name command mode)
(let ((mount-point (scope file-name)))
(set-translator mount-point command mode)))))
(string-append root (if (string-suffix? "/" root) "" "/") dir))
(mkdir-p (scope "dev"))
;; XXX: We must have `/dev/console` otherwise `console-run` tries to
;; create it while the file-system is still read-only.
(for-each (lambda (file)
(call-with-output-file (scope file)
(lambda (port)
(display file port) ;avoid hard-linking
(chmod port #o666))))
'("dev/console"
;; XXX What about vcs?
;; Don't create /dev/null etc just yet; the store
;; messes-up the permission bits.
;; "dev/null"
;; "dev/zero"
;; "dev/full"
;; "dev/random"
;; "dev/urandom"
))
;; Don't create /dev/null etc just yet; the store
;; messes-up the permission bits.
;; Don't create /dev/console, /dev/vcs, etc.: they are created by
;; console-run on first boot.
(mkdir-p (scope "servers"))
(for-each (lambda (file)
@@ -122,47 +101,22 @@ Return the value associated with OPTION, or #f on failure."
"suspend"))
(mkdir-p (scope "servers/socket"))
(mkdir-p (scope "servers/bus/pci"))
;; Set the 'gnu.translator' extended attribute for passive translator
;; settings for pipes (servers/socet/1) and mount information (proc/mounts).
;; Pipes are needed for guile-3.0.11 to startup, this enables moving
;; "runsystem" to guile.
;; XXX TODO: Set more passive xattr translators?
(define servers
`(
;; ("servers/bus/pci" ("/hurd/pci-arbiter"))
;; ("servers/crash-dump-core" ("/hurd/crash" "--dump-core"))
;; ("servers/crash-kill" ("/hurd/crash" "--kill"))
;; ("servers/crash-suspend" ("/hurd/crash" "--suspend"))
;; ("servers/password" ("/hurd/password"))
;; PIPE -- for running runsystem as Guile
("servers/socket/1" (,(in-vicinity hurd "pflocal")))
;; /servers/socket/2 and /26 are created by 'static-networking-service'.
;; XXX: Spawn pfinet without arguments on these nodes so that a DHCP
;; client has someone to talk to?
("proc" (,(in-vicinity hurd "procfs") "--stat-mode=444"))))
;; Don't create /servers/socket/1 & co: runsystem does that on first boot.
(for-each scope-set-translator servers)
(define devices
'())
(for-each scope-set-translator devices))
;; TODO: Set the 'gnu.translator' extended attribute for passive translator
;; settings?
(mkdir-p (scope "servers/bus/pci")))
(define (passive-translator-xattr? file-name)
"Return true if FILE-NAME has an extended @code{gnu.translator} attribute
set.
Note that reading \"gnu.*\" xattrs on Linux only work with ext4; for tmpfs,
used during image creation, linux-7.0 with linux-shmem-hurd-xattr patch is
needed."
(and (file-exists? file-name)
(catch 'system-error
(lambda _ (not (string-null? (getxattr file-name "gnu.translator"))))
(lambda args
(if (= ENODATA (system-error-errno args))
#f
(apply throw args))))))
set."
(catch 'system-error
(lambda _ (not (string-null? (getxattr file-name "gnu.translator"))))
(lambda args
(if (= ENODATA (system-error-errno args))
#f
(apply throw args)))))
(define (passive-translator-installed? file-name)
"Return true if @file{showtrans} finds a translator installed on FILE-NAME."
@@ -182,11 +136,7 @@ needed."
(passive-translator-installed? file-name)))
(define* (set-translator file-name command #:optional (mode #o600))
"Setup translator COMMAND on FILE-NAME.
Note that setting \"gnu.*\" xattrs on Linux only work with ext4; for tmpfs,
used during image creation, linux-7.0 with linux-shmem-hurd-xattr patch is
needed."
"Setup translator COMMAND on FILE-NAME."
(unless (translated? file-name)
(let ((dir (dirname file-name)))
(unless (directory-exists? dir)
@@ -218,7 +168,7 @@ needed."
"Make some of the device nodes needed on GNU/Hurd."
(define (scope dir)
(in-vicinity root dir))
(string-append root (if (string-suffix? "/" root) "" "/") dir))
(define scope-set-translator
(match-lambda
@@ -230,19 +180,8 @@ needed."
(define (mkdir* dir)
(let ((dir (scope dir)))
(unless (file-exists? dir)
(mkdir-p dir))))
;; (define random-seed "/var/lib/random-seed")
;; ;; Create seed file to avoid
;; ;; /gnu/store/...-hurd-x.y.z/hurd/random: Warning: Failed to read random seed file /var/lib/random-seed: No such file or directory
;; (let ((file (scope random-seed)))
;; (mkdir-p (dirname file))
;; (call-with-output-file file
;; (lambda (port)
;; (display (iota 1000) port)
;; (chmod port #o600))))
(unless (file-exists? dir)
(mkdir-p dir))))
(define servers
'(("servers/bus/pci" ("/hurd/pci-arbiter"))
@@ -259,14 +198,8 @@ needed."
(define devices
`(("dev/full" ("/hurd/null" "--full") #o666)
("dev/null" ("/hurd/null") #o666)
;; The random translators, especially /dev/urandom, need to be non-passive
;; When they exist in the file-system and reference /var/lib/random-seed
;; while / is read-only. console-run will hang.
;; ("dev/random" ("/hurd/random" "--seed-file" ,random-seed)
;; #o644)
;; ("dev/urandom" ("/hurd/random" "--seed-file" ,random-seed
;; "--fast")
;; #o644)
("dev/random" ("/hurd/random" "--seed-file" "/var/lib/random-seed")
#o644)
("dev/zero" ("/hurd/storeio" "--store-type=zero") #o666)
("dev/console" ("/hurd/term" "/dev/console" "device" "console"))
@@ -351,6 +284,7 @@ needed."
(rename-file (scope "dev/console") (scope "dev/console-")))
(for-each scope-set-translator devices)
(false-if-EEXIST (symlink "/dev/random" (scope "dev/urandom")))
(false-if-EEXIST (symlink "/dev/fd/0" (scope "dev/stdin")))
(false-if-EEXIST (symlink "/dev/fd/1" (scope "dev/stdout")))
(false-if-EEXIST (symlink "/dev/fd/2" (scope "dev/stderr")))
+1 -1
View File
@@ -322,7 +322,7 @@ register-closure."
;; Populate /dev.
(when make-device-nodes
(make-device-nodes #:root root))
(make-device-nodes root))
(when register-closures?
(unless copy-closures?
+1 -10
View File
@@ -173,16 +173,7 @@ SYSTEM."
(define (core-packages system)
"Return the 'core' package set suitable for SYSTEM, which might be a system
type or a GNU triplet."
(cond ((target-linux? system)
(append %core-packages
%linux-packages
(cond ((target-arm32? system)
(list linux-libre-arm-generic))
((target-aarch64? system)
(list linux-libre-arm64-generic))
((target-riscv64? system)
(list linux-libre-riscv64-generic))
(else '()))))
(cond ((target-linux? system) (append %core-packages %linux-packages))
((target-hurd? system) (append %core-packages %hurd-packages))
((target-mingw? system) %core-packages-for-mingw)
(else '())))
-68
View File
@@ -70,11 +70,6 @@
openssh-host-proxy-command
openssh-host-host-key-algorithms
openssh-host-accepted-key-types
openssh-host-control-master
openssh-host-control-file-name
openssh-host-control-persist
openssh-host-sent-environment-variables
openssh-host-environment-variables
openssh-host-extra-content
proxy-jump
proxy-jump-host-name
@@ -89,9 +84,6 @@
(define (serialize-field-name name)
(match name
('accepted-key-types "PubkeyAcceptedKeyTypes")
('sent-environment-variables "SendEnv")
('environment-variables "SetEnv")
('control-file-name "ControlPath")
(_
(let ((name (let ((str (symbol->string name)))
(if (string-suffix? "?" str)
@@ -138,14 +130,6 @@
(define-maybe string)
(define-maybe natural-number)
(define (serialize-symbol field value)
(if (maybe-value-set? value)
(string-append " " (serialize-field-name field) " "
(symbol->string value) "\n")
""))
(define-maybe symbol)
(define (serialize-raw-configuration-string field value)
(string-append value "\n"))
(define raw-configuration-string? string?)
@@ -158,33 +142,6 @@
(define-maybe string-list)
(define (env-list? lst)
(string-list? lst))
(define (serialize-env-list field lst)
(string-append " " (serialize-field-name field) " "
(string-join lst " ") "\n"))
(define-maybe env-list)
(define (string-alist? lst)
(and (list? lst)
(every (lambda (x)
(and (pair? x)
(string? (car x))
(string? (cdr x))))
lst)))
(define (serialize-string-alist field lst)
(string-append " " (serialize-field-name field) " "
(string-join
(map (match-lambda
((key . value)
(format #nil "~s" (string-append key "=" value))))
lst) " ") "\n"))
(define-maybe string-alist)
(define-record-type <proxy-command>
(proxy-command command)
proxy-command?
@@ -318,31 +275,6 @@ through before connecting to the server.")
(accepted-key-types
maybe-string-list
"The list of accepted user public key types.")
(control-master
maybe-symbol
"Enables the sharing of multiple sessions over a single network connection.
Acceptable values are @code{'no}, @code{'yes}, @code{'auto}, @code{'ask}, and
@code{'autoask}.")
(control-file-name
maybe-string
"The file name of the control socket used for connection sharing, or
@code{\"none\"} to disable connection sharing.")
(control-persist
maybe-string
"When used in conjunction with @env{control-master}, specifies that the
master connection should remain open in the background (waiting for future
client connections) after the initial client connection has been closed.")
(sent-environment-variables
maybe-env-list
"Specifies which variables from the local environment should be sent to the
server. The server must also support it, and the server must be configured to
accept those environment variables.")
(environment-variables
maybe-string-alist
"List of environment variables with corresponding values to send to the
server, as an alist of strings of the form @code{'(\"@var{variable}\"
. \"@var{value}\")}. The server must also support it, and the server must be
configured to accept those environment variables.")
(extra-content
(raw-configuration-string "")
"Extra content appended as-is to this @code{Host} block in
+41 -30
View File
@@ -76,7 +76,6 @@
# Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com>
# Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
# Copyright © 2025 bdunahu <bdunahu@operationnull.com>
# Copyright © 2026 Simen Endsjø <contact@simendsjo.me>
#
# This file is part of GNU Guix.
#
@@ -209,7 +208,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/cobol.scm \
%D%/packages/code.scm \
%D%/packages/commencement.scm \
%D%/packages/compiler-tools.scm \
%D%/packages/compression.scm \
%D%/packages/compton.scm \
%D%/packages/computer-architecture.scm \
@@ -236,7 +234,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/darwin.scm \
%D%/packages/data-language.scm \
%D%/packages/databases.scm \
%D%/packages/datalog.scm \
%D%/packages/datamash.scm \
%D%/packages/datastructures.scm \
%D%/packages/dav.scm \
@@ -344,7 +341,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/golang-check.scm \
%D%/packages/golang-compression.scm \
%D%/packages/golang-crypto.scm \
%D%/packages/golang-graphics.scm \
%D%/packages/golang-maths.scm \
%D%/packages/golang-vcs.scm \
%D%/packages/golang-web.scm \
@@ -733,6 +729,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/zig.scm \
%D%/packages/zig-xyz.scm \
%D%/packages/zile.scm \
%D%/packages/zwave.scm \
\
%D%/services.scm \
%D%/services/admin.scm \
@@ -1004,9 +1001,7 @@ dist_patch_DATA = \
%D%/packages/patches/akonadi-not-relocatable.patch \
%D%/packages/patches/akonadi-timestamps.patch \
%D%/packages/patches/alure-dumb-2.patch \
%D%/packages/patches/amd-smi-newer-libdrm.patch \
%D%/packages/patches/amd-smi-python.patch \
%D%/packages/patches/angband-remove-nonfree-tile-options.patch \
%D%/packages/patches/ibus-anthy-fix-tests.patch \
%D%/packages/patches/ibus-table-paths.patch \
%D%/packages/patches/antiword-CVE-2014-8123.patch \
@@ -1023,7 +1018,6 @@ dist_patch_DATA = \
%D%/packages/patches/ath9k-htc-firmware-gcc.patch \
%D%/packages/patches/ath9k-htc-firmware-gcc-compat.patch \
%D%/packages/patches/atlas-gfortran-compat.patch \
%D%/packages/patches/aubio-waflib-python312-compat.patch \
%D%/packages/patches/audacity-ffmpeg-fallback.patch \
%D%/packages/patches/audiofile-fix-datatypes-in-tests.patch \
%D%/packages/patches/audiofile-fix-sign-conversion.patch \
@@ -1106,6 +1100,7 @@ dist_patch_DATA = \
%D%/packages/patches/cdparanoia-fpic.patch \
%D%/packages/patches/cdrkit-libre-cross-compile.patch \
%D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \
%D%/packages/patches/ceph-fix-cmake.patch \
%D%/packages/patches/cf-tool-add-languages.patch \
%D%/packages/patches/chmlib-inttypes.patch \
%D%/packages/patches/cl-ana-pr-49.patch \
@@ -1138,8 +1133,11 @@ dist_patch_DATA = \
%D%/packages/patches/clog-fix-shared-build.patch \
%D%/packages/patches/clucene-gcc-14.patch \
%D%/packages/patches/clucene-pkgconfig.patch \
%D%/packages/patches/coda-use-system-libs.patch \
%D%/packages/patches/codex-acp-0.11.1-disable-code-mode.patch \
%D%/packages/patches/codex-acp-0.11.1-remove-patch-sections.patch \
%D%/packages/patches/codex-0.98.0-remove-patch-sections.patch \
%D%/packages/patches/rust-codex-0.117.0-remove-patch-sections.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 \
@@ -1190,7 +1188,6 @@ dist_patch_DATA = \
%D%/packages/patches/date-output-pkg-config-files.patch \
%D%/packages/patches/dbacl-include-locale.h.patch \
%D%/packages/patches/dbacl-icheck-multiple-definitions.patch \
%D%/packages/patches/dblatex-importlib.patch \
%D%/packages/patches/dblatex-inkscape-1.0.patch \
%D%/packages/patches/dbus-helper-search-path.patch \
%D%/packages/patches/ddd-build.patch \
@@ -1202,6 +1199,7 @@ dist_patch_DATA = \
%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/dmd-hurd.patch \
%D%/packages/patches/doc++-gcc-14.patch \
%D%/packages/patches/docbook-utils-documentation-edits.patch \
%D%/packages/patches/docbook-utils-escape-characters.patch \
@@ -1301,7 +1299,6 @@ dist_patch_DATA = \
%D%/packages/patches/fbgemm-use-system-libraries.patch \
%D%/packages/patches/fbreader-curl-7.62.patch \
%D%/packages/patches/fbreader-fix-icon.patch \
%D%/packages/patches/fdroidcl-fix-tests.patch \
%D%/packages/patches/fenics-dolfin-algorithm.patch \
%D%/packages/patches/fenics-dolfin-demo-init.patch \
%D%/packages/patches/fenics-dolfin-boost.patch \
@@ -1368,9 +1365,19 @@ dist_patch_DATA = \
%D%/packages/patches/ganeti-disable-version-symlinks.patch \
%D%/packages/patches/ganeti-haskell-pythondir.patch \
%D%/packages/patches/ganeti-lens-compat.patch \
%D%/packages/patches/ganeti-openssh-test-fix.patch \
%D%/packages/patches/ganeti-pyyaml-compat.patch \
%D%/packages/patches/ganeti-procps-compat.patch \
%D%/packages/patches/ganeti-reorder-arbitrary-definitions.patch \
%D%/packages/patches/ganeti-relax-dependencies.patch \
%D%/packages/patches/ganeti-shepherd-master-failover.patch \
%D%/packages/patches/ganeti-shepherd-support.patch \
%D%/packages/patches/ganeti-sphinx-import.patch \
%D%/packages/patches/ganeti-template-haskell-2.17.patch \
%D%/packages/patches/ganeti-template-haskell-2.18.patch \
%D%/packages/patches/gawk-shell.patch \
%D%/packages/patches/gdc-11-druntime-hurd.patch \
%D%/packages/patches/gdc-14-druntime-hurd.patch \
%D%/packages/patches/gcc-arm-bug-71399.patch \
%D%/packages/patches/gcc-arm-link-spec-fix.patch \
%D%/packages/patches/gcc-asan-missing-include.patch \
@@ -1420,6 +1427,7 @@ dist_patch_DATA = \
%D%/packages/patches/gcc-11-libstdc++-hurd-libpthread.patch \
%D%/packages/patches/gcc-12-cross-environment-variables.patch \
%D%/packages/patches/gcc-11-libstdc++-powerpc.patch \
%D%/packages/patches/gcc-11-x86_64-gnu.patch \
%D%/packages/patches/gcc-13-cross-system-header-dir.patch \
%D%/packages/patches/gcc-12-libsanitizer-no-crypt.patch \
%D%/packages/patches/gcc-13-libsanitizer-no-crypt.patch \
@@ -1509,7 +1517,6 @@ dist_patch_DATA = \
%D%/packages/patches/glibc-reinstate-prlimit64-fallback.patch \
%D%/packages/patches/glibc-supported-locales.patch \
%D%/packages/patches/glibc-versioned-locpath.patch \
%D%/packages/patches/glog-windows-h-nonwindows.patch \
%D%/packages/patches/glycin-sandbox-Adapt-bwrap-invocation.patch \
%D%/packages/patches/gmime-disable-tests.patch \
%D%/packages/patches/gmp-arm-asm-nothumb.patch \
@@ -1585,9 +1592,7 @@ dist_patch_DATA = \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
%D%/packages/patches/gtk-doc-respect-xml-catalog.patch \
%D%/packages/patches/gtk-doc-mkhtml-test-fix.patch \
%D%/packages/patches/gtk4-demo-reproducible.patch \
%D%/packages/patches/gtk4-needs-udmabuf.patch \
%D%/packages/patches/gtk-doc-mkhtml-test-fix.patch \
%D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
@@ -1748,6 +1753,7 @@ dist_patch_DATA = \
%D%/packages/patches/kio-search-smbd-on-PATH.patch \
%D%/packages/patches/kismet-unbundle-boost.patch \
%D%/packages/patches/kissfft-tflite-micro.patch \
%D%/packages/patches/kitty-fix-wayland-protocols.patch \
%D%/packages/patches/kmod-module-directory.patch \
%D%/packages/patches/kmscon-8-runtime-keymap-switch.patch \
%D%/packages/patches/knot-remove-runtime-deps.patch \
@@ -1862,7 +1868,6 @@ dist_patch_DATA = \
%D%/packages/patches/linux-libre-arm64-mnt-reform-revert-vop2-display-modes.patch \
%D%/packages/patches/linux-pam-no-setfsuid.patch \
%D%/packages/patches/linux-pam-unix_chkpwd.patch \
%D%/packages/patches/linux-shmem-hurd-xattr.patch \
%D%/packages/patches/lirc-localstatedir.patch \
%D%/packages/patches/lirc-reproducible-build.patch \
%D%/packages/patches/llvm-13-gcc-14.patch \
@@ -1881,10 +1886,10 @@ dist_patch_DATA = \
%D%/packages/patches/lua-5.4-pkgconfig.patch \
%D%/packages/patches/lua-5.4-liblua-so.patch \
%D%/packages/patches/lua-5.4-search-paths.patch \
%D%/packages/patches/lua-5.5-search-paths.patch \
%D%/packages/patches/lua-5.x-search-path-helpers.patch \
%D%/packages/patches/lua-lgi-fix-pango.patch \
%D%/packages/patches/lua-lgi-fix-ref.patch \
%D%/packages/patches/luanti-paths.patch \
%D%/packages/patches/lugaru-fix-sound.patch \
%D%/packages/patches/luit-posix.patch \
%D%/packages/patches/lxc-no-static-bin.patch \
@@ -1943,6 +1948,7 @@ dist_patch_DATA = \
%D%/packages/patches/modglue-fix-build.patch \
%D%/packages/patches/modem-manager-fix-test-wrapper.patch \
%D%/packages/patches/module-init-tools-moduledir.patch \
%D%/packages/patches/monero-use-system-miniupnpc.patch \
%D%/packages/patches/mono-1.2.6-bootstrap.patch \
%D%/packages/patches/mono-1.9.1-add-MONO_CREATE_IMAGE_VERSION.patch \
%D%/packages/patches/mono-1.9.1-fixes.patch \
@@ -1967,7 +1973,7 @@ dist_patch_DATA = \
%D%/packages/patches/mswebrtc-cmake.patch \
%D%/packages/patches/mtools-mformat-uninitialized.patch \
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
%D%/packages/patches/musl-CVE-2026-40200.patch \
%D%/packages/patches/musl-cross-locale.patch \
%D%/packages/patches/mutt-store-references.patch \
%D%/packages/patches/m17n-lib-1.8.0-use-pkg-config-for-freetype.patch \
%D%/packages/patches/nanosvg-prusa-slicer.patch \
@@ -1993,7 +1999,6 @@ dist_patch_DATA = \
%D%/packages/patches/nhc98-c-update.patch \
%D%/packages/patches/nheko-0-12-1-fix-rendering-replies.patch \
%D%/packages/patches/nix-dont-build-html-doc.diff \
%D%/packages/patches/nlohmann_json_fix_char8_t.patch \
%D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \
%D%/packages/patches/neovim-tree-sitter-grammar-path.patch \
%D%/packages/patches/network-manager-plugin-ownership.patch \
@@ -2010,8 +2015,6 @@ dist_patch_DATA = \
%D%/packages/patches/nss-3.115-disable-broken-tests.patch \
%D%/packages/patches/nss-3.115-disable-pkix-ocsp-tests.patch \
%D%/packages/patches/ntp-fix-dereferencing-the-wrong-variable.patch \
%D%/packages/patches/ntfs-3g-autoconf-sbin-helpers.patch \
%D%/packages/patches/ntfs-3g-consistent-sbindir-usage.patch \
%D%/packages/patches/nvi-add-function-prototypes.patch \
%D%/packages/patches/nvi-assume-preserve-path.patch \
%D%/packages/patches/nvi-dbpagesize-binpower.patch \
@@ -2024,6 +2027,7 @@ dist_patch_DATA = \
%D%/packages/patches/ocaml-4.07-dynamically-allocate-signal-stack.patch \
%D%/packages/patches/ocaml-4.09-dynamically-allocate-signal-stack.patch \
%D%/packages/patches/ocaml-4.09-multiple-definitions.patch \
%D%/packages/patches/ogs-6.5.7-netcdfconverter.patch \
%D%/packages/patches/omake-fix-non-determinism.patch \
%D%/packages/patches/oneko-remove-nonfree-characters.patch \
%D%/packages/patches/onetbb-other-arches.patch \
@@ -2078,6 +2082,7 @@ dist_patch_DATA = \
%D%/packages/patches/openssl-3.0-c-rehash-in.patch \
%D%/packages/patches/openssl-hurd64.patch \
%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/orbit2-fix-array-allocation-32bit.patch \
%D%/packages/patches/orca-fix-gst-init-check-call.patch \
@@ -2097,6 +2102,7 @@ dist_patch_DATA = \
%D%/packages/patches/pdl-2.100-reproducibility.patch \
%D%/packages/patches/petri-foo-0.1.87-fix-recent-file-not-exist.patch \
%D%/packages/patches/pharo-vm-cmake.patch \
%D%/packages/patches/phobos-hurd.patch \
%D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \
%D%/packages/patches/plasp-fix-normalization.patch \
%D%/packages/patches/plasp-include-iostream.patch \
@@ -2111,7 +2117,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-3.11-fix-tests.patch \
%D%/packages/patches/python-3.12-fix-tests.patch \
%D%/packages/patches/python-anyio-unuse-exceptiongroup-in-test.patch \
%D%/packages/patches/python-beangulp-click-8.2-compat.patch \
%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 \
@@ -2134,20 +2139,16 @@ dist_patch_DATA = \
%D%/packages/patches/python-pyreadstat-link-libiconv.patch \
%D%/packages/patches/python-sip-include-dirs.patch \
%D%/packages/patches/python-scikit-build-setuptools-compat.patch \
%D%/packages/patches/python-scikit-image-fix-python-pillow.patch \
%D%/packages/patches/python-sgmllib3k-assertions.patch \
%D%/packages/patches/python-sphobjinv-defer-ssl-import.patch \
%D%/packages/patches/python-sphinx-prompt-docutils-0.19.patch \
%D%/packages/patches/python-sshtunnel-pep518.patch \
%D%/packages/patches/python-zeroc-ice-3.6.5-python-3.11-support.patch \
%D%/packages/patches/python-zeroc-ice-3.6.5-python-3.12-support.patch \
%D%/packages/patches/python-zipfile2-python-3.12-support.patch \
%D%/packages/patches/qcodeeditor-qt6.patch \
%D%/packages/patches/qtdeclarative-5-disable-qmlcache.patch \
%D%/packages/patches/qtdeclarative-disable-qmlcache.patch \
%D%/packages/patches/qtlocation-5.15.8-mapboxgl-gcc13.patch \
%D%/packages/patches/qtwebengine-revert-egl.patch \
%D%/packages/patches/qtwebengine5-python312-six-compat.patch \
%D%/packages/patches/quodlibet-disable-bundled-packages.patch \
%D%/packages/patches/qxlsx-fix-include-directory.patch \
%D%/packages/patches/schiffbruch-fix-build-for-gcc-13.patch \
@@ -2257,7 +2258,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch \
%D%/packages/patches/python-pillow-CVE-2022-45199.patch \
%D%/packages/patches/python-libxml2-utf8.patch \
%D%/packages/patches/python-lsp-server-python-3.13-compatibility.patch \
%D%/packages/patches/python-memcached-syntax-warnings.patch \
%D%/packages/patches/python-mslice-matplotlib-3.6-compatibility.patch \
%D%/packages/patches/python-packaging-test-arch.patch \
@@ -2273,7 +2273,6 @@ 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-py-ubjson-recursion-test.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 \
@@ -2368,8 +2367,16 @@ dist_patch_DATA = \
%D%/packages/patches/renpy-fix-integer-slots.patch \
%D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \
%D%/packages/patches/rdkit-unbundle-external-dependencies.patch \
%D%/packages/patches/r-biostrings-r4.6.0-compat.patch \
%D%/packages/patches/r-h5mread-0001-h5mread-1.3.2-Get-rid-of-non-API-calls-to-R.patch \
%D%/packages/patches/r-httpuv-1.6.6-unvendor-libuv.patch \
%D%/packages/patches/r-mscoreutils-0001-fix-non-API-call-to-R-SETLENGTH-by-using-lengthgets.patch \
%D%/packages/patches/r-rsamtools-r-4.6.0-compat.patch \
%D%/packages/patches/r-snpstats-0001-fixed-non-API-except-for-IS_S4_OBJECT.patch \
%D%/packages/patches/r-snpstats-0002-fixed-IS_S4_OBJECT.patch \
%D%/packages/patches/r-sapa-lapack.patch \
%D%/packages/patches/r-shortread-0001-ShortRead-1.69.3-Get-rid-of-non-API-calls-to-R.patch \
%D%/packages/patches/r-sparsearray-r-4.6.0-compat.patch \
%D%/packages/patches/ripperx-missing-file.patch \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
%D%/packages/patches/rtosc-0.3.1-fix-invalid-comparison-operator.patch \
@@ -2410,8 +2417,13 @@ dist_patch_DATA = \
%D%/packages/patches/rust-1.78-unwinding-fix.patch \
%D%/packages/patches/rust-1.81-fix-riscv64-bootstrap.patch \
%D%/packages/patches/rust-candle-0.9.1-add-candle-onnx-to-workspace.patch \
%D%/packages/patches/rust-codex-0.98.0-core-remove-self-dep.patch \
%D%/packages/patches/rust-codex-0.98.0-test-shebangs.patch \
%D%/packages/patches/rust-codex-0.98.0-test-timeout.patch \
%D%/packages/patches/rust-codex-0.98.0-windows-sandbox-protocol-version.patch \
%D%/packages/patches/rust-codex-0.117.0-core-remove-self-dep.patch \
%D%/packages/patches/rust-codex-0.120.0-core-remove-self-dep.patch \
%D%/packages/patches/rust-codex-0.120.0-connectors-cache-test-race.patch \
%D%/packages/patches/rust-codex-0.120.0-remove-libwebrtc.patch \
%D%/packages/patches/rust-codex-0.120.0-test-timeout.patch \
%D%/packages/patches/rust-codex-0.124.0-code-mode-stub-toolname.patch \
@@ -2426,6 +2438,7 @@ dist_patch_DATA = \
%D%/packages/patches/sajson-build-with-gcc10.patch \
%D%/packages/patches/sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch \
%D%/packages/patches/sbc-fix-build-non-x86.patch \
%D%/packages/patches/sbcl-fix-arm64-shared-lib.patch \
%D%/packages/patches/sbcl-aserve-add-HTML-5-elements.patch \
%D%/packages/patches/sbcl-aserve-fix-rfe12668.patch \
%D%/packages/patches/sbcl-burgled-batteries3-fix-signals.patch \
@@ -2451,10 +2464,10 @@ 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/shakespeare-spl-fix-grammar.patch \
%D%/packages/patches/shared-mime-info-xdgmime-path.patch \
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
%D%/packages/patches/showtime-python-3.11-compat.patch \
%D%/packages/patches/simpleitk-r-4.6.0.patch \
%D%/packages/patches/sipwitch-fix-build-with-exosip5.patch \
%D%/packages/patches/slim-config.patch \
%D%/packages/patches/slim-gcc-14.patch \
@@ -2489,7 +2502,6 @@ dist_patch_DATA = \
%D%/packages/patches/swift-corelibs-libdispatch-5.7.3-modulemap.patch \
%D%/packages/patches/swift-llvm-5.7.3-linux.patch \
%D%/packages/patches/swig-support-gcc-12.patch \
%D%/packages/patches/swig-support-r-4.6.0.patch \
%D%/packages/patches/swish-e-search.patch \
%D%/packages/patches/swish-e-format-security.patch \
%D%/packages/patches/t1lib-CVE-2010-2642.patch \
@@ -2522,6 +2534,7 @@ dist_patch_DATA = \
%D%/packages/patches/texmacs-wayland-hidpi.patch \
%D%/packages/patches/tflite-micro_disable_download.patch \
%D%/packages/patches/thefuck-test-environ.patch \
%D%/packages/patches/thefuck-remove-broken-tests.patch \
%D%/packages/patches/tidy-CVE-2015-5522+5523.patch \
%D%/packages/patches/timewarrior-time-sensitive-tests.patch \
%D%/packages/patches/tinydir-fix-cbehave-test.patch \
@@ -2537,7 +2550,6 @@ dist_patch_DATA = \
%D%/packages/patches/transcode-ffmpeg.patch \
%D%/packages/patches/trytond-add-guix_trytond_path.patch \
%D%/packages/patches/ttf2eot-cstddef.patch \
%D%/packages/patches/tuir-python-3.12-support.patch \
%D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/tvm_fix_cpptest_build.patch \
%D%/packages/patches/twinkle-bcg729.patch \
@@ -2628,7 +2640,6 @@ dist_patch_DATA = \
%D%/packages/patches/x265-arm-flags.patch \
%D%/packages/patches/x265-4-arm-flags.patch \
%D%/packages/patches/xdg-desktop-portal-wlr-harcoded-length.patch\
%D%/packages/patches/xdmf-3.0.0-hdf5.patch \
%D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \
%D%/packages/patches/xfig-Enable-error-message-for-missing-libraries.patch \
%D%/packages/patches/xfig-Fix-double-free-when-requesting-MediaBox.patch \
+90 -203
View File
@@ -2,7 +2,6 @@
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
;;; Copyright © 2025 Owen T. Heisler <writer@owenh.net>
;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
;;; Copyright © 2026 Maxim Cournoyer <maxim@guixotic.coop>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,7 +36,6 @@
#:use-module (gnu system)
#:use-module (guix base32)
#:use-module (guix colors)
#:use-module (guix deprecation)
#:use-module (guix derivations)
#:use-module (guix diagnostics)
#:use-module (guix gexp)
@@ -57,7 +55,6 @@
#:use-module (ice-9 string-fun)
#:use-module (ice-9 textual-ports)
#:use-module (json)
#:use-module ((rnrs base) #:select (assert))
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-2)
#:use-module (srfi srfi-34)
@@ -69,10 +66,8 @@
#:use-module (ssh session)
#:use-module (ssh sftp)
#:use-module (ssh shell)
#:export (%hetzner-os-arm ;deprecated
%hetzner-os-x86 ;deprecated
make-hetzner-os
#:export (%hetzner-os-arm
%hetzner-os-x86
deploy-hetzner
hetzner-configuration
hetzner-configuration-allow-downgrades?
@@ -87,7 +82,6 @@
hetzner-configuration-server-type
hetzner-configuration-ssh-key
hetzner-configuration-ssh-public-key
hetzner-configuration-user
hetzner-configuration?
hetzner-environment-type))
@@ -104,7 +98,7 @@
;; Operating system for arm servers using UEFI boot mode.
(define %hetzner-os-arm/efi
(define %hetzner-os-arm
(operating-system
(host-name "guix-arm")
(bootloader
@@ -134,9 +128,9 @@
;; Operating system for x86 servers using BIOS boot mode.
(define %hetzner-os-x86/bios
(define %hetzner-os-x86
(operating-system
(inherit %hetzner-os-arm/efi)
(inherit %hetzner-os-arm)
(host-name "guix-x86")
(bootloader
(bootloader-configuration
@@ -152,51 +146,6 @@
(type "ext4"))
%base-file-systems))))
(define %hetzner-os-x86/efi
(operating-system
(inherit %hetzner-os-arm/efi)
(host-name "guix-x86")
(initrd-modules
(cons "virtio_scsi" %base-initrd-modules))))
(define (server-type-name->arch type-name)
"Return a symbol corresponding to the server type architecture, e.g.
@code{'x86} or @code{'arm}."
(cond
((string-prefix-ci? "cax" type-name)
'arm)
(else
'x86)))
(define (server-type-name->bootloader type-name)
"Return a symbol corresponding to the bootloader type, e.g.
@code{'efi} or @code{'bios}."
(if (eq? 'arm (server-type-name->arch type-name))
'efi
(cond
((string-prefix-ci? "cx" type-name)
'bios) ;old, cost-optimized x86 servers
(else
'efi)))) ;newer, regular performance/general purpose servers
(define* (make-hetzner-os server-type-name)
"Return an operating server customized for SERVER-TYPE-NAME, a string like
\"cx23\" or \"cax11\", denoting the Hetzner virtual server type."
(match (server-type-name->arch server-type-name)
('arm %hetzner-os-arm/efi)
('x86
(match (server-type-name->bootloader server-type-name)
('bios %hetzner-os-x86/bios)
('efi %hetzner-os-x86/efi)))))
(define-deprecated %hetzner-os-x86
make-hetzner-os
%hetzner-os-x86/bios)
(define-deprecated %hetzner-os-arm
make-hetzner-os
%hetzner-os-arm/efi)
(define (operating-system-authorize os)
"Authorize the OS with the public signing key of the current machine."
(if (file-exists? %public-key-file)
@@ -242,11 +191,6 @@ Have you run 'guix archive --generate-key'?")
;;; Hetzner configuration.
;;;
;;; This parameter overrides the value returned by
;;; `hetzner-configuration-ssh-key'.
(define %hetzner-ssh-key-file
(make-parameter #f))
(define-record-type* <hetzner-configuration> hetzner-configuration
make-hetzner-configuration hetzner-configuration? this-hetzner-configuration
(allow-downgrades? hetzner-configuration-allow-downgrades? ; boolean
@@ -269,39 +213,26 @@ Have you run 'guix archive --generate-key'?")
(default #t))
(ipv6 hetzner-configuration-ipv6 ; boolean | string
(default #t))
(ssh-public-key hetzner-configuration-ssh-public-key* ; #f | public-key | string
(ssh-public-key hetzner-configuration-ssh-public-key ; public-key | string
(thunked)
(default (and=> (hetzner-configuration-ssh-key
this-hetzner-configuration)
public-key-from-file))
(sanitize (lambda (value)
(if (string? value)
(public-key-from-file value)
value))))
(ssh-key hetzner-configuration-ssh-key* ; #f | string
(default #f))
(user hetzner-configuration-user ;string
(default "root")))
(default (public-key-from-file (hetzner-configuration-ssh-key this-hetzner-configuration)))
(sanitize
(lambda (value)
(if (string? value) (public-key-from-file value) value))))
(ssh-key hetzner-configuration-ssh-key
(default #f))) ; #f | string
(define (hetzner-configuration-ssh-key config)
(or (%hetzner-ssh-key-file)
(hetzner-configuration-ssh-key* config)))
(define (hetzner-configuration-ssh-public-key config)
(or (and=> (%hetzner-ssh-key-file) public-key-from-file)
(hetzner-configuration-ssh-public-key* config)))
(define (public-key->fingerprint public-key)
"Return the SSH public key fingerprint of PUBLIC-KEY, a Guile-SSH public key
object, in the expected format for the Hetzner API."
(let ((hash (get-public-key-hash public-key 'md5)))
(define (hetzner-configuration-ssh-key-fingerprint config)
"Return the SSH public key fingerprint of CONFIG as a string."
(and-let* ((pubkey (hetzner-configuration-ssh-public-key config))
(hash (get-public-key-hash pubkey 'md5)))
(bytevector->hex-string hash)))
(define (public-key->string-with-type public-key)
"Return the SSH public key string of PUBLIC-KEY, a Guile-SSH public key
object, in the expected format for the Hetzner API."
(format #f "ssh-~a ~a" (get-key-type public-key)
(public-key->string public-key)))
(define (hetzner-configuration-ssh-key-public config)
"Return the SSH public key of CONFIG as a string."
(let ((public-key (hetzner-configuration-ssh-public-key config)))
(format #f "ssh-~a ~a" (get-key-type public-key)
(public-key->string public-key))))
;;;
@@ -314,26 +245,21 @@ object, in the expected format for the Hetzner API."
;; Get the operating system WITHOUT the provenance service to avoid a
;; duplicate symlink conflict in the store.
(os ((@@ (gnu machine) %machine-operating-system) target)))
(match-record config <hetzner-configuration>
( authorize? allow-downgrades? build-locally? user)
(machine
(inherit target)
(operating-system
(if authorize?
(operating-system-authorize os)
os))
(environment managed-host-environment-type)
(configuration
(machine-ssh-configuration
(allow-downgrades? allow-downgrades?)
(authorize? authorize?)
(build-locally? build-locally?)
(host-name (hetzner-server-public-ipv4 server))
;; XXX: match-record doesn't make use of custom accessors to obtain
;; the value, so we can't bind SSH-KEY with it.
(identity (hetzner-configuration-ssh-key config))
(system (hetzner-server-system server))
(user user)))))))
(machine
(inherit target)
(operating-system
(if (hetzner-configuration-authorize? config)
(operating-system-authorize os)
os))
(environment managed-host-environment-type)
(configuration
(machine-ssh-configuration
(allow-downgrades? (hetzner-configuration-allow-downgrades? config))
(authorize? (hetzner-configuration-authorize? config))
(build-locally? (hetzner-configuration-build-locally? config))
(host-name (hetzner-server-public-ipv4 server))
(identity (hetzner-configuration-ssh-key config))
(system (hetzner-server-system server)))))))
(define (hetzner-machine-location machine)
"Find the location of MACHINE on the Hetzner API."
@@ -437,43 +363,43 @@ Available locations:~%~%~a~%~%For more details, see: ~a")
"Return the form to bootstrap an operating system on SERVER."
(let* ((os (machine-operating-system machine))
(system (hetzner-server-system server))
(type-name (hetzner-server-type-name (hetzner-server-type server)))
(arm? (equal? "arm" (hetzner-server-architecture server)))
(x86? (equal? "x86" (hetzner-server-architecture server)))
(efi? (equal? 'efi (server-type-name->bootloader type-name)))
(root-fs-type (operating-system-root-file-system-type os)))
`(operating-system
(host-name ,(operating-system-host-name os))
(timezone "Etc/UTC")
(bootloader (bootloader-configuration
(bootloader ,(if efi?
'grub-efi-bootloader
'grub-bootloader))
(targets ,(if efi?
'(list "/boot/efi")
'(list "/dev/sda")))
(terminal-outputs '(console))))
(bootloader ,(cond (arm? 'grub-efi-bootloader)
(x86? 'grub-bootloader)))
(targets ,(cond (arm? '(list "/boot/efi"))
(x86? '(list "/dev/sda"))))
(terminal-outputs '(console))))
(initrd-modules (append
,(cond (arm? '(list "sd_mod" "virtio_scsi"))
(x86? '(list "virtio_scsi")))
%base-initrd-modules))
(file-systems (cons* (file-system
(mount-point "/")
(device "/dev/sda1")
(type ,root-fs-type))
,@(if efi?
'((file-system
(mount-point "/boot/efi")
(device "/dev/sda15")
(type "vfat")))
'())
%base-file-systems))
(file-systems ,(cond
(arm? `(cons* (file-system
(mount-point "/")
(device "/dev/sda1")
(type ,root-fs-type))
(file-system
(mount-point "/boot/efi")
(device "/dev/sda15")
(type "vfat"))
%base-file-systems))
(x86? `(cons* (file-system
(mount-point "/")
(device "/dev/sda1")
(type ,root-fs-type))
%base-file-systems))))
(services
(cons* (service dhcpcd-service-type)
(service openssh-service-type
(openssh-configuration
(openssh openssh-sans-x)
(permit-root-login 'prohibit-password)))
(openssh openssh-sans-x)
(permit-root-login 'prohibit-password)))
%base-services)))))
(define (rexec-verbose session cmd)
@@ -495,9 +421,8 @@ values: list of output lines returned by CMD and its exit code."
(define (hetzner-machine-ssh-key machine)
"Find the SSH key for MACHINE on the Hetzner API."
(and-let* ((config (machine-configuration machine))
(public-key (hetzner-configuration-ssh-public-key config))
(expected (public-key->fingerprint public-key)))
(let* ((config (machine-configuration machine))
(expected (hetzner-configuration-ssh-key-fingerprint config)))
(find (lambda (ssh-key)
(equal? expected (hetzner-ssh-key-fingerprint ssh-key)))
(hetzner-api-ssh-keys
@@ -510,12 +435,10 @@ values: list of output lines returned by CMD and its exit code."
(format #t "creating ssh key for '~a'...\n" name)
(let* ((config (machine-configuration machine))
(api (hetzner-configuration-api config))
(pubkey (hetzner-configuration-ssh-public-key config))
(_ (assert pubkey))
(ssh-key (hetzner-api-ssh-key-create
api
(public-key->fingerprint pubkey)
(public-key->string-with-type pubkey)
(hetzner-configuration-api config)
(hetzner-configuration-ssh-key-fingerprint config)
(hetzner-configuration-ssh-key-public config)
#:labels (hetzner-configuration-labels config))))
(format #t "successfully created ssh key for '~a'\n" name)
ssh-key)))
@@ -541,16 +464,6 @@ values: list of output lines returned by CMD and its exit code."
(formatted-message (G_ "primary ip '~a' does not exist.")
name))))
(define temporary-ssh-key-file
(let ((ssh-key-file (port-filename (mkstemp "/tmp/hetzner-key-XXXXXX")))
(ssh-key #f))
(lambda ()
"Return a dynamically created, temporary private SSH key."
(unless ssh-key
(set! ssh-key (make-keypair 'ed25519))
(private-key-to-file ssh-key ssh-key-file))
ssh-key-file)))
(define (hetzner-machine-create-server machine)
"Create the Hetzner server for MACHINE."
(let* ((config (machine-configuration machine))
@@ -558,14 +471,13 @@ values: list of output lines returned by CMD and its exit code."
(server-type (hetzner-configuration-server-type config)))
(format #t "creating '~a' server for '~a'...\n" server-type name)
(let* ((ssh-key (hetzner-machine-ssh-key machine))
(_ (assert ssh-key)) ;required during provisioning
(ipv4 (hetzner-configuration-ipv4 config))
(ipv6 (hetzner-configuration-ipv6 config))
(api (hetzner-configuration-api config))
(server (hetzner-api-server-create
api
(machine-display-name machine)
#:ssh-keys (list ssh-key)
(list ssh-key)
#:ipv4 (if (string? ipv4)
(hetzner-primary-ip-id (hetzner-resolve-ip api ipv4))
ipv4)
@@ -613,15 +525,13 @@ values: list of output lines returned by CMD and its exit code."
(write-known-host! ssh-session)))
(define (hetzner-machine-enable-rescue-system machine server)
"Enable the rescue system on the Hetzner SERVER for MACHINE, provisioning it
with the configured SSH key, or a dynamically created temporary one."
"Enable the rescue system on the Hetzner SERVER for MACHINE."
(let* ((name (machine-display-name machine))
(config (machine-configuration machine))
(api (hetzner-configuration-api config))
(ssh-keys (and=> (hetzner-machine-ssh-key machine) list)))
(ssh-keys (list (hetzner-machine-ssh-key machine))))
(format #t "enabling rescue system on '~a'...\n" name)
(let ((action (hetzner-api-server-enable-rescue-system
api server #:ssh-keys ssh-keys)))
(let ((action (hetzner-api-server-enable-rescue-system api server ssh-keys)))
(format #t "successfully enabled rescue system on '~a'\n" name)
action)))
@@ -657,7 +567,6 @@ with the configured SSH key, or a dynamically created temporary one."
(set! hetzner-machine-ssh-run-script hetzner-machine-ssh-run-script)
(define (hetzner-machine-rescue-install-os machine ssh-session server)
"Init a minimal Guix System to bootstrap from."
(let ((name (machine-display-name machine))
(os (hetzner-machine-bootstrap-os-form machine server)))
(format #t "installing guix operating system on '~a'...\n" name)
@@ -676,11 +585,19 @@ chmod 600 /mnt/root/.ssh/authorized_keys
# Small instance don't have much disk space. Bind mount the store of the
# rescue system to the tmp directory of the new Guix system.
mkdir -p /mnt/tmp/gnu
mkdir -p /gnu
mount --bind /mnt/tmp/gnu /gnu
mkdir -p /mnt/tmp/gnu/store
mkdir -p /gnu/store
mount --bind /mnt/tmp/gnu/store /gnu/store
wget -O /tmp/guix-install.sh https://guix.gnu.org/guix-install.sh
# Modify the install script to point the systemd unit of the /gnu/store
# mountpoint to the same /mnt/tmp/gnu/store which was introduced above.
store_fix=\"sed -i 's#Where=/gnu/store#Where=/mnt/tmp/gnu/store#'
~~root/.config/guix/current/lib/systemd/system/gnu-store.mount\"
sed -i \"s@install_unit gnu-store.mount\"\\
\"@$(printf \"%q \" $store_fix)\\ninstall_unit gnu-store.mount@\" /tmp/guix-install.sh
chmod +x /tmp/guix-install.sh
set +o pipefail # avoid hangup on 'yes' killing this script
yes '' | /tmp/guix-install.sh
@@ -754,8 +671,7 @@ apt-get install cloud-initramfs-growroot uidmap --assume-yes"))
action)))
(define (hetzner-machine-provision machine)
"Provision a Guix System bootstrap server for MACHINE on the Hetzner Cloud
service."
"Provision a server for MACHINE on the Hetzner Cloud service."
(with-exception-handler
(lambda (exception)
(let ((config (machine-configuration machine))
@@ -770,10 +686,12 @@ service."
(let ((ssh-session (hetzner-machine-wait-for-ssh machine server)))
(hetzner-machine-rescue-install-packages machine ssh-session)
(hetzner-machine-rescue-partition machine ssh-session)
(hetzner-machine-rescue-install-os machine ssh-session server))
(hetzner-machine-reboot machine server)
(hetzner-machine-authenticate-host machine server)
server))))
(hetzner-machine-rescue-install-os machine ssh-session server)
(hetzner-machine-reboot machine server)
(sleep 5)
(hetzner-machine-authenticate-host machine server)
server)))
#:unwind? #t))
(define (machine-not-provisioned machine)
(formatted-message
@@ -799,47 +717,16 @@ an environment type of 'hetzner-environment-type'."
;;; System deployment.
;;;
(define (cleanup-temporary-ssh-key/maybe api ssh-key)
"Delete the temporary SSH private key file from the file system and the
Hetzner API, if one was created used."
(when (%hetzner-ssh-key-file)
(format #t "cleaning up temporary ssh key~%")
(delete-file (%hetzner-ssh-key-file))
(%hetzner-ssh-key-file #f)
(hetzner-api-ssh-key-delete api ssh-key)))
(define (deploy-hetzner machine)
"Internal implementation of 'deploy-machine' for 'machine' instances with an
environment type of 'hetzner-environment-type'."
(hetzner-machine-validate machine)
(unless (hetzner-machine-ssh-key machine)
(hetzner-machine-ssh-key-create machine))
(let ((server (or (hetzner-machine-server machine)
(hetzner-machine-provision machine))))
(deploy-machine (hetzner-machine-delegate machine server))))
(define server (hetzner-machine-server machine))
(define config (machine-configuration machine))
(define api (hetzner-configuration-api config))
(define ssh-key #f) ;hetzner API key
;; Provisioning requires uploading an SSH key via the Hetzner API to
;; authenticate non-interactively with the newly created server.
(unless server ;provisioning?
(unless (hetzner-configuration-ssh-public-key config)
(format #t "using a temporary ssh key for provisioning~%")
(%hetzner-ssh-key-file (temporary-ssh-key-file)))
(set! ssh-key (or (hetzner-machine-ssh-key machine)
(hetzner-machine-ssh-key-create machine))))
;; Cleaning-up here is a bit tricky, as `deploy-machine' returns a monadic
;; value immediately, to be executed later; this means the clean-up must be
;; delayed until monadic evaluation time.
(let* ((server (or server (hetzner-machine-provision machine)))
(delegate-machine (hetzner-machine-delegate machine server)))
;; FIXME: The clean-up in the guard does not run even when
;; `deploy-machine' fails.
(guard (c (#t (cleanup-temporary-ssh-key/maybe api ssh-key)
(raise c)))
(mlet %store-monad
((value (deploy-machine delegate-machine)))
(cleanup-temporary-ssh-key/maybe api ssh-key)
(return value)))))
;;;
+8 -90
View File
@@ -1,6 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
;;; Copyright © 2026 Maxim Cournoyer <maxim@guixotic.coop>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,7 +19,6 @@
(define-module (gnu machine hetzner http)
#:use-module (guix diagnostics)
#:use-module (guix i18n)
#:use-module (guix memoization)
#:use-module (guix records)
#:use-module (ice-9 iconv)
#:use-module (ice-9 match)
@@ -53,7 +51,6 @@
hetzner-api-action-wait
hetzner-api-actions
hetzner-api-create-ssh-key
hetzner-api-images
hetzner-api-locations
hetzner-api-primary-ips
hetzner-api-request-body
@@ -84,23 +81,6 @@
hetzner-error-code
hetzner-error-message
hetzner-error?
hetzner-image?
hetzner-image-id
hetzner-image-type
hetzner-image-status
hetzner-image-name
hetzner-image-description
hetzner-image-disk-size
hetzner-image-created
hetzner-image-created-from
hetzner-image-bound-to
hetzner-image-os-flavor
hetzner-image-os-version
hetzner-image-rapid-deploy
hetzner-image-protection
hetzner-image-deprecated
hetzner-image-deleted
hetzner-image-architecture
hetzner-ipv4-blocked?
hetzner-ipv4-dns-ptr
hetzner-ipv4-id
@@ -168,7 +148,6 @@
hetzner-ssh-key?
make-hetzner-action
make-hetzner-error
make-hetzner-image
make-hetzner-ipv4
make-hetzner-ipv6
make-hetzner-location
@@ -189,19 +168,7 @@
(make-parameter (getenv "GUIX_HETZNER_API_TOKEN")))
;; Ideally this would be a Guix image. Maybe one day.
(define %hetzner-default-server-image
(mlambda (api)
"Return the latest Debian image available. This image gets used for the
initial system provisioning phase, before Guix System takes over."
(let ((debian-images (filter (lambda (image)
(string=? "debian"
(hetzner-image-os-flavor image)))
(hetzner-api-images api))))
(hetzner-image-name
(last (sort debian-images
(lambda (x y)
(< (string->number (hetzner-image-os-version x))
(string->number (hetzner-image-os-version y))))))))))
(define %hetzner-default-server-image "debian-11")
;; Falkenstein, Germany
(define %hetzner-default-server-location "fsn1")
@@ -323,43 +290,6 @@ initial system provisioning phase, before Guix System takes over."
(server-type hetzner-server-type "server_type"
json->hetzner-server-type)) ; <hetzner-server-type>
(define-json-mapping <hetzner-image>
make-hetzner-image hetzner-image? json->hetzner-image
(id hetzner-image-id) ;integer
(type hetzner-image-type) ;string
(status hetzner-image-status) ;string
(name hetzner-image-name "name" (null-or identity)) ;string | null
(description hetzner-image-description) ;string
(image-size hetzner-image-size "image_size" ;number | null (GiB)
(null-or identity))
(disk-size hetzner-image-disk-size "disk_size") ;number (GiB)
(created hetzner-image-created) ;string (date)
(created-from hetzner-image-created-from "created_from" ;object | null
(null-or json->hetzner-image-created-from))
(bound-to hetzner-image-bound-to "bound_to" (null-or identity)) ;integer | null
(os-flavor hetzner-image-os-flavor "os_flavor") ;string
(os-version hetzner-image-os-version "os_version" ;string | null
(null-or identity))
(rapid-deploy hetzner-image-rapid-deploy "rapid_deploy") ;boolean
(protection hetzner-image-protection "protection" ;object
json->hetzner-image-protection)
(deprecated hetzner-image-deprecated) ;string
(deleted hetzner-image-deleted "deleted" (null-or identity)) ;null | string
(architecture hetzner-image-architecture)) ;string
(define (null-or parser)
(lambda (value)
(if (eq? 'null value)
*unspecified*
(parser value))))
(define-json-type <hetzner-image-created-from>
(id) ;integer
(name)) ;string
(define-json-type <hetzner-image-protection>
(delete)) ;boolean
(define-json-mapping <hetzner-server-type>
make-hetzner-server-type hetzner-server-type? json->hetzner-server-type
(architecture hetzner-server-type-architecture) ; string
@@ -668,11 +598,11 @@ initial system provisioning phase, before Guix System takes over."
(apply hetzner-api-list api "/locations" "locations" json->hetzner-location options))
(define* (hetzner-api-server-create
api name #:key
ssh-keys
api name ssh-keys
#:key
(ipv4 #f)
(ipv6 #f)
(image (%hetzner-default-server-image api))
(image %hetzner-default-server-image)
(labels '())
(location %hetzner-default-server-location)
(server-type %hetzner-default-server-type)
@@ -690,11 +620,7 @@ initial system provisioning phase, before Guix System takes over."
,@(if (integer? ipv6) `(("ipv6" . ,ipv6)) '())))
("location" . ,location)
("server_type" . ,server-type)
,@(if ssh-keys
`(("ssh_keys" .
,(apply vector (map hetzner-ssh-key-id
ssh-keys))))
'())
("ssh_keys" . ,(apply vector (map hetzner-ssh-key-id ssh-keys)))
("start_after_create" . ,start-after-create?)))))
(hetzner-api-action-wait api (hetzner-api-body-action body))
(json->hetzner-server (assoc-ref body "server"))))
@@ -705,15 +631,12 @@ initial system provisioning phase, before Guix System takes over."
(hetzner-api-action-wait api (hetzner-api-body-action body))))
(define* (hetzner-api-server-enable-rescue-system
api server #:key ssh-keys (type "linux64"))
api server ssh-keys #:key (type "linux64"))
"Enable the rescue system for SERVER with the Hetzner API."
(let* ((ssh-keys (and ssh-keys
(apply vector (map hetzner-ssh-key-id ssh-keys))))
(let* ((ssh-keys (apply vector (map hetzner-ssh-key-id ssh-keys)))
(body (hetzner-api-post
api (hetzner-server-path server "/actions/enable_rescue")
#:body `(,@(if ssh-keys
`(("ssh_keys" . ,ssh-keys))
'())
#:body `(("ssh_keys" . ,ssh-keys)
("type" . ,type)))))
(hetzner-api-action-wait api (hetzner-api-body-action body))))
@@ -764,8 +687,3 @@ initial system provisioning phase, before Guix System takes over."
"Get server types from the Hetzner API."
(apply hetzner-api-list api "/server_types" "server_types"
json->hetzner-server-type options))
(define* (hetzner-api-images api . options)
"Get image types from the Hetzner API."
(apply hetzner-api-list api "/images" "images"
json->hetzner-image options))
+1 -7
View File
@@ -164,12 +164,6 @@ flags."
%default-package-module-path
channels-scm))))
(define (strip-trailing-slash s)
;; Strip the trailing slash of a string, if present.
(if (string-suffix? "/" s)
(string-drop-right s 1)
s))
(define %patch-path
;; Define it after '%package-module-path' so that '%load-path' contains user
;; directories, allowing patches in $GUIX_PACKAGE_PATH to be found.
@@ -178,7 +172,7 @@ flags."
(if (string=? directory %distro-root-directory)
(string-append directory "/gnu/packages/patches")
directory))
(map strip-trailing-slash %load-path))))
%load-path)))
;; This procedure is used by Emacs-Guix up to 0.5.1.1, so keep it for now.
;; See <https://github.com/alezost/guix.el/issues/30>.
+1 -4
View File
@@ -51,7 +51,6 @@
#:use-module (gnu packages libusb)
#:use-module (gnu packages java)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages tcl)
#:use-module (gnu packages xml)
@@ -186,9 +185,7 @@ terminals.")
(native-inputs
(append
(list clisp
;; See: <https://bugzilla.redhat.com/show_bug.cgi?id=2231865>.
python-cython-0
python-setuptools ;remove with next update
python-cython-0 ;; See https://bugzilla.redhat.com/show_bug.cgi?id=2231865
doxygen
gettext-minimal)
;; icedtea doesn't build reliably on all architectures.
+1
View File
@@ -37,6 +37,7 @@
#:use-module (gnu packages)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix utils))
(define-public acl
+64 -116
View File
@@ -109,6 +109,7 @@
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system qt)
#:use-module (guix build-system ruby)
@@ -144,7 +145,7 @@
#:use-module (gnu packages elf)
#:use-module (gnu packages file)
#:use-module (gnu packages file-systems)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fonts)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk)
@@ -743,7 +744,7 @@ manager.")
(define-public swineherd
(package
(name "swineherd")
(version "0.0.5")
(version "0.0.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -752,7 +753,7 @@ manager.")
(file-name (git-file-name name version))
(sha256
(base32
"1w3fvkdmqvbzqfx3xindm8qgam54wja46isgwasaiqmmhnla7p52"))))
"0iij1pl0y410k1dk1ifa56dxmjb1blv0y3k5rxy794gwg6w6c480"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--localstatedir=/var")
@@ -766,7 +767,7 @@ manager.")
guile-netlink
guile-3.0
guix
shepherd-1.0))
shepherd-0.10))
(home-page "https://github.com/BIMSBbioinfo/swineherd")
(synopsis "System container manager")
(description
@@ -1084,7 +1085,7 @@ console.")
(define-public btop
(package
(name "btop")
(version "1.4.7")
(version "1.4.6")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1093,7 +1094,7 @@ console.")
(file-name (git-file-name name version))
(sha256
(base32
"0d3cr5l6gpcwhxgnrizny5b5kg6fys2hy9a58bc68w4n2hc040fy"))))
"1nj58dbv3c0rj8fngldkyrmdmacmjnbg8ch1c07ik97kqnnzd3l7"))))
(build-system gnu-build-system)
(native-inputs (list lowdown))
(arguments
@@ -2979,7 +2980,7 @@ system is under heavy load.")
(define-public stress-ng
(package
(name "stress-ng")
(version "0.21.01")
(version "0.20.01")
(source
(origin
(method git-fetch)
@@ -2988,7 +2989,7 @@ system is under heavy load.")
(commit (string-append "V" version))))
(file-name (git-file-name name version))
(sha256
(base32 "11w8xjm53lgnxfvg286lavqjh0il3bfr1fsgyk915167r4vlabqq"))))
(base32 "1jkinrxh9ppv7xfii9xlisnd2679wnj4ljq12h8y0nvwrm8fkm0b"))))
(build-system gnu-build-system)
(arguments
;; XXX The test suite seems to cause instability on the VisionFive 2
@@ -3405,7 +3406,7 @@ provides the following commands:
;; variable in the tests/import/cpan.scm test.
(list (search-path-specification
(variable "GUIX_PYTHONPATH")
(files (list "lib/python3.12/site-packages")))))
(files (list "lib/python3.11/site-packages")))))
(home-page "https://www.ansible.com/")
(synopsis "Radically simple IT automation")
(description "Ansible aims to be a radically simple IT automation system.
@@ -3423,7 +3424,7 @@ modules and plugins that extend Ansible.")
(define-public debops
(package
(name "debops")
(version "3.3.0")
(version "3.2.5")
(source
(origin
(method git-fetch)
@@ -3432,7 +3433,7 @@ modules and plugins that extend Ansible.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0z6wck5kax5h2bjv1vw8pbd7fdcdhx87bj9fakh3h0rar9d2qksj"))
(base32 "15wfhha2b315i15l40j3sylyvs3mdrfw5awzq4cix51l5jppx8z5"))
(patches
(search-patches "debops-setup-py-avoid-git.patch"))))
(build-system pyproject-build-system)
@@ -3454,8 +3455,8 @@ modules and plugins that extend Ansible.")
python-future
python-gitpython
python-jinja2
python-pyxdg
python-pyyaml
python-pyxdg
python-toml))
(arguments
(list
@@ -3470,7 +3471,7 @@ modules and plugins that extend Ansible.")
`("PATH" ":" prefix
,(map dirname
(map (cut search-input-file inputs <>)
(list ;; "bin/ansible" ;see above
(list "bin/ansible"
"bin/gpg"
"bin/git"
"bin/git-crypt"
@@ -3926,18 +3927,6 @@ rules is done with the @code{auditctl} utility.")
(wrap-program (string-append ndiff "/bin/ndiff")
`("GUIX_PYTHONPATH" prefix
(,(python-path ndiff)))))))
(add-before 'check 'fix-tests-for-python-3.12
(lambda _
(substitute* "ndiff/ndifftest.py"
(("import imp")
"import importlib.util")
(("ndiff = imp\\.load_source\\(\"ndiff\", \"ndiff\\.py\"\\)")
(string-join
'("spec = \
importlib.util.spec_from_file_location(\"ndiff\", \"ndiff.py\")"
"ndiff = importlib.util.module_from_spec(spec)"
"spec.loader.exec_module(ndiff)")
"\n")))))
;; These are the tests that do not require network access.
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
@@ -4067,59 +4056,51 @@ plug-in architecture to allow monitoring other system metrics.")
(license license:gpl2+)))
(define-public thefuck
;; Latest release, 3.32, is not compatible with Python 3.12.
(let ((revision "0")
(commit "c7e7e1d884d3bb241ea6448f72a989434c2a35ec"))
(package
(name "thefuck")
(version (git-version "3.32" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nvbn/thefuck")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1l3i2cpdf3vznpbzqw7b18l23xikqs7andx6yzqvm5415snaqg06"))
(patches (search-patches "thefuck-test-environ.patch"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list
"--deselect=tests/test_utils.py::TestGetValidHistoryWithoutCurrent"
"--ignore=tests/functional/conftest.py")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda _
;; ModuleNotFoundError: No module named 'pytest_docker_pexpect'
(delete-file "tests/functional/conftest.py")
;; Tests look for installed package
;; Some tests need write access to $HOME.
(setenv "HOME" "/tmp")
;; Even with that, this function tries to mkdir /.config.
(substitute* "tests/test_utils.py"
(("settings\\.init\\(\\)") "")))))))
(native-inputs
(list go
python-mock
;; Uses test markers that are incompatible with pytest 9.
python-pytest-8
python-pytest-mock
python-setuptools))
(inputs
(list python-colorama
python-decorator
python-psutil
python-pyte))
(home-page "https://github.com/nvbn/thefuck")
(synopsis "Correct mistyped console command")
(description
"The Fuck tries to match a rule for a previous, mistyped command, creates
(package
(name "thefuck")
(version "3.32")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nvbn/thefuck")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "18ipa1bm6q1n5drbi8i65726hhqhl1g41390lfqrc11hkbvv443d"))
(patches (search-patches "thefuck-test-environ.patch"
"thefuck-remove-broken-tests.patch"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda _
;; Tests look for installed package
;; Some tests need write access to $HOME.
(setenv "HOME" "/tmp")
;; Even with that, this function tries to mkdir /.config.
(substitute* "tests/test_utils.py"
(("settings\\.init\\(\\)") "")))))))
(native-inputs
(list go
python-mock
python-pytest-8
python-pytest-mock
python-setuptools
python-wheel))
(inputs
(list python-colorama
python-decorator
python-psutil
python-pyte))
(home-page "https://github.com/nvbn/thefuck")
(synopsis "Correct mistyped console command")
(description
"The Fuck tries to match a rule for a previous, mistyped command, creates
a new command using the matched rule, and runs it.")
(license license:x11))))
(license license:x11)))
(define-public di
(package
@@ -4434,7 +4415,7 @@ buffers.")
(define-public igt-gpu-tools
(package
(name "igt-gpu-tools")
(version "2.4")
(version "2.3")
(source
(origin
(method git-fetch)
@@ -4443,7 +4424,7 @@ buffers.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ijvfa5wamihzbl8l29sc27ml0kmgzlld83jm5mln6bb4bvny4gs"))))
(base32 "1vyqrsvxraib98r4i6cjmxq7nis480s2ns95v78dscygcci42i8a"))))
(build-system meson-build-system)
(arguments
`(#:tests? #f ; many of the tests try to load kernel modules
@@ -4461,7 +4442,6 @@ buffers.")
libdrm
libpciaccess
libunwind
pciutils
procps
python))
(native-inputs
@@ -4731,7 +4711,7 @@ information tool.")
(define-public fastfetch-minimal
(package
(name "fastfetch-minimal")
(version "2.63.1")
(version "2.60.0")
(source
(origin
(method git-fetch)
@@ -4740,7 +4720,7 @@ information tool.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "13a5maf8jxyga5bga96s40binqp2i54pjlipsnqgfj85q01yzkg9"))
(base32 "089577qgxd63zqzd00fz381bfpmj6pwlmy2zfan9r6gbm1jvj4i8"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "src/3rdparty")
@@ -7072,7 +7052,7 @@ network, which causes enabled computers to power on.")
(define-public witr
(package
(name "witr")
(version "0.3.2")
(version "0.3.1")
(source
(origin
(method git-fetch)
@@ -7081,7 +7061,7 @@ network, which causes enabled computers to power on.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "06vxrgd0j2v6s4snmyviwpp66hm5zai7xca9318inhyg4jw3ngg5"))))
(base32 "03v9n4mdvqm0knqjl4s64321i5clqpmlrlkkdb87glzb9p28sg00"))))
(build-system go-build-system)
(arguments
(list
@@ -7228,38 +7208,6 @@ has a focus on performance. It can be used as a greeter by starting
it from @file{~/.bashrc} for example.")
(license license:agpl3+)))
(define-public zeptofetch
(package
(name "zeptofetch")
(version "1.21")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.archlinux.org/gurov/zeptofetch")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1f1dm9nrp0z0prqy90csrkbk98ixp0jx76ax473qb0qsbb7ys4g7"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; No tests available.
#:make-flags
#~(list (string-append "PREFIX="
#$output))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)))) ; No configure script.
(home-page "https://gitlab.archlinux.org/gurov/zeptofetch")
(synopsis
"Fast, minimal system information tool for Linux.")
(description
"This package provides a system fetch tool, similar to
@command{neofetch}, @command{fastfetch}, etc. It is lightweight and
has a focus on performance.")
(license license:gpl3+)))
(define-public zzz
(package
(name "zzz")
+2 -2
View File
@@ -117,7 +117,7 @@ Features:
(define-public python-zbarlight
(package
(name "python-zbarlight")
(version "4.0")
(version "3.0")
(source
(origin
(method git-fetch)
@@ -126,7 +126,7 @@ Features:
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1q1nfc7g7bl9y63fwvnq1fcgqk79inc2hhw3ilvyw0nk0g74v8cm"))))
(base32 "1radfpfhfhkx3xnz01bqr5l9pl2zv70zis6l2kw1gwqbfw65r6w6"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-pillow))
(inputs (list zbar))
+2 -1
View File
@@ -52,7 +52,7 @@
#:use-module (gnu packages cpp)
#:use-module (gnu packages curl)
#:use-module (gnu packages documentation)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fltk)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc)
@@ -88,6 +88,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix build-system pyproject)
#:use-module ((guix build-system python) #:select (pypi-uri))
#:use-module (guix build-system r)
#:use-module (guix download)
#:use-module (guix gexp)
+16 -22
View File
@@ -41,6 +41,7 @@
#:use-module (guix build-system emacs)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
@@ -1229,35 +1230,28 @@ main repository.")
(define-public fdroidcl
(package
(name "fdroidcl")
(version "0.8.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Hoverth/fdroidcl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1bflahcsjarv4v6r61knl5gc5iydh1lwvqjgffhxr4pis4qfsqsa"))
;; XXX: Reported upstream.
;; See: <https://github.com/Hoverth/fdroidcl/pull/92>.
(patches (search-patches "fdroidcl-fix-tests.patch"))))
(version "0.7.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mvdan/fdroidcl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1s3fszlyyab9gbdrg52zcbafsb1mgb770skg7b3gj7f3pzfnra5n"))))
(build-system go-build-system)
(arguments
(list
#:install-source? #f
#:import-path "mvdan.cc/fdroidcl"))
(inputs
(list go-github-com-kr-pretty
go-github-com-pelletier-go-toml-v2
go-github-com-rogpeppe-go-internal
go-github-com-schollz-progressbar-v3))
(home-page "https://github.com/Hoverth/fdroidcl")
`(#:import-path "mvdan.cc/fdroidcl"
#:tests? #f ;requires internet access
#:install-source? #f))
(inputs (list go-github-com-kr-pretty go-github-com-schollz-progressbar-v3))
(synopsis "F-Droid desktop client")
(description
"While the Android client integrates with the system with regular update
checks and notifications, this is a simple command line client that talks to
connected devices via ADB.")
(home-page "https://github.com/mvdan/fdroidcl")
(license license:bsd-3)))
(define-public emacs-fdroid
+2 -2
View File
@@ -22,7 +22,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gettext)
#:use-module (gnu packages linux)
@@ -180,7 +180,7 @@ supported by Canonical since 2009.")
(list libapparmor))
;; Python module `readline' needed
(native-inputs
(list bison flex gettext-minimal perl python python-setuptools which))
(list bison flex gettext-minimal perl python which))
(license license:gpl2))))
(define-public pam-apparmor
+1 -1
View File
@@ -50,7 +50,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages gettext)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
+41 -20
View File
@@ -37,6 +37,7 @@
(define-module (gnu packages astronomy)
#:use-module ((guix licenses) #:prefix license:)
#:use-module ((guix build-system python) #:select (pypi-uri)) ;to be removed soon
#:use-module (guix build-system ant)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
@@ -66,7 +67,7 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages fortran-xyz)
#:use-module (gnu packages freedesktop)
@@ -1991,22 +1992,12 @@ model-fitting photometry or morphological analyses.")
(sha256
(base32 "156y3zp0nm77976rwsxjjdh7yvggas8s6m0nm523khvn4lq8f9n0"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; Assertion errors:
;;
;; You are lazy loading attributes via 'bibtex', and so are making
;; multiple calls to the API. This will impact your overall rate
;; limits. bibtex should be queried with ads.ExportQuery(); You will hit
;; API ratelimits very quickly otherwise.
#~(list (string-append "--deselect=ads/tests/test_search.py"
"::TestArticle::test_get_field_bibtex"))))
(native-inputs
(list nss-certs-for-test
python-httpretty
python-pytest
python-setuptools))
python-setuptools
python-wheel))
(propagated-inputs
(list python-mock
python-requests
@@ -2186,6 +2177,20 @@ interchange format for scientific data. This package contains the Python
implementation of the ASDF Standard.")
(license license:bsd-3)))
(define-public python-asdf-3
(package
(inherit python-asdf)
(version "3.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "asdf" version))
(sha256
(base32 "0scnw5y4x5k3vyfylq0w612b662xlccx3gsscaw082zlv2yxfyh4"))))
(propagated-inputs
(modify-inputs propagated-inputs
(prepend python-asdf-transform-schemas)))))
(define-public python-asdf-astropy
(package
(name "python-asdf-astropy")
@@ -3862,6 +3867,10 @@ find,download, and read the data files.")
#~(list "-m" "not remote_data")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-pytest-config
(lambda _
(substitute* "pyproject.toml"
((" --cov=cdflib --cov-report=xml") ""))))
(add-before 'check 'set-HOME
(lambda _
(setenv "HOME" "/tmp"))))))
@@ -4663,6 +4672,7 @@ Cesium.")
(native-inputs
(list python-pydot
python-pytest
python-pytest-cov
python-pytest-asdf-plugin
python-pytest-doctestplus
python-pytest-filter-subpackage
@@ -5187,6 +5197,7 @@ files.")
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
python-pytest-cov
python-setuptools
python-setuptools-scm
python-wheel))
@@ -5781,6 +5792,7 @@ across many files.")
(list python-mock
python-objgraph
python-pytest
python-pytest-cov
;; python-pytest-faulthandler
python-setuptools
python-wheel
@@ -6627,6 +6639,19 @@ files.")
(string-append
"from astropy.units.core import Unit, UnitBase\n"
"from astropy.units.errors import UnitTypeError\n")))))
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "pyproject.toml"
;; RuntimeError: Unable to detect version control
;; system. Checked: Git. Not installed: Mercurial, Darcs,
;; Subversion, Bazaar, Fossil, Pijul. See
;; <https://github.com/blacklanternsecurity/bbot/issues/1257>.
(("enable = true") "enable = false"))))
(add-before 'build 'set-version
(lambda _
;; TODO: Include in pyproject-build-system.
(setenv "POETRY_DYNAMIC_VERSIONING_BYPASS"
#$(version-major+minor+point version))))
(add-before 'check 'prepare-test-environment
(lambda _
(setenv "HOME" "/tmp"))))))
@@ -6684,7 +6709,7 @@ astronomical tables
(build-system pyproject-build-system)
(arguments
(list
;; tests: 1508 passed, 43621 warnings
;; tests: 1509 passed, 55331 warnings
#:test-flags
#~(list "--numprocesses" (number->string (min 8 (parallel-job-count)))
;; TypeError: SparseSolverBase.__init__() got an unexpected
@@ -6701,12 +6726,7 @@ astronomical tables
(string-append "--deselect=test/test_Sampling/test_Likelihoods/"
"test_position_likelihood.py"
"::TestPositionLikelihood"
"::test_multiplane_position_likelihood")
;; XXX: AttributeError: 'FileFinder' object has no attribute
;; 'find_module'.
;; See: <https://github.com/lenstronomy/lenstronomy/issues/845>.
(string-append "--deselect=test/test_Util/test_package_util.py"
"::test_short_and_laconic"))
"::test_multiplane_position_likelihood"))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-check
@@ -11663,6 +11683,7 @@ for dealing with particle data and a few related utility functions.")
(build-system pyproject-build-system)
(propagated-inputs (list python-numpy python-scipy))
(native-inputs (list python-pytest
python-pytest-cov
python-pytest-doctestplus
python-setuptools-scm
python-wheel))
+125 -186
View File
@@ -63,7 +63,6 @@
;;; Copyright © 2026 Noé Lopez <noelopez@free.fr>
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
;;; Copyright © 2026 Daniel Martins <email@danielfm.me>
;;; Copyright © 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -103,7 +102,7 @@
#:use-module (gnu packages elf)
#:use-module (gnu packages emacs)
#:use-module (gnu packages file)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fltk)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
@@ -137,6 +136,7 @@
#:use-module (gnu packages music)
#:use-module (gnu packages ncurses)
#: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)
@@ -145,7 +145,6 @@
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
@@ -181,6 +180,7 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
@@ -820,8 +820,7 @@ Filter) modules follow the convention of 1V / Octave.")
"https://aubio.org/pub/aubio-" version ".tar.bz2"))
(sha256
(base32
"1npks71ljc48w6858l9bq30kaf5nph8z0v61jkfb70xb9np850nl"))
(patches (search-patches "aubio-waflib-python312-compat.patch"))))
"1npks71ljc48w6858l9bq30kaf5nph8z0v61jkfb70xb9np850nl"))))
(build-system waf-build-system)
(arguments
(list
@@ -2135,17 +2134,7 @@ envelope follower, distortion effects, tape effects and more.")
(base32
"01hnx4hhbz3ap3bw15s42q4q1mw1mhdjwygq4550wvjfg6k4ga8w"))))
(build-system waf-build-system)
(arguments
(list
#:tests? #false ;There are no tests.
#:phases
'(modify-phases %standard-phases
(add-after 'unpack 'python3.12-compatibility
(lambda _
(substitute* "waflib/Context.py"
(("imp.new_module") "types.ModuleType")
(("import os, re, imp, sys")
"import os, re, types, sys")))))))
(arguments (list #:tests? #false)) ;There are no tests.
(inputs (list lv2))
(native-inputs (list pkg-config))
(home-page "https://git.drobilla.net/cgit.cgi/omins.lv2.git/")
@@ -3289,27 +3278,30 @@ synchronous execution of all clients, and low latency operation.")
(package
(inherit jack-1)
(name "jack2")
;; 1.9.22 does not compile with Python 3.12, use the latest commit instead.
(properties '((commit . "17959465a722225a36a8b612aed26764036f258e")
(revision . "0")))
(version (git-version "1.9.22"
(assoc-ref properties 'revision)
(assoc-ref properties 'commit)))
(version "1.9.21")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jackaudio/jack2")
(commit (assoc-ref properties 'commit))))
(url "https://github.com/jackaudio/jack2")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"18dbjq9y8mcp27j9aaqdlg4976hrisr7b88lk84ck09gmzlwqalp"))))
"0sbrffmdbajvrk7iqvsvrnwnpvmicvbjyq3f52r6ashdsznsz03b"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target
#:configure-flags '("--dbus" "--alsa")
#:phases
(modify-phases %standard-phases
;; Python 3.11 has removed the 'U' (universal newline) mode. It has
;; been the default since Python 3.3.
(add-after 'unpack 'python-compatibility
(lambda _
(substitute* '("waflib/Context.py"
"waflib/ConfigSet.py")
(("m='rU'") "m='r'")
(("read\\('rU'") "read('r'"))))
(add-before 'configure 'set-linkflags
(lambda _
;; Ensure -lstdc++ is the tail of LDFLAGS or the simdtests.cpp
@@ -3335,7 +3327,7 @@ synchronous execution of all clients, and low latency operation.")
expat
libsamplerate
opus
python-dbus
python-dbus-1.2
readline))
(native-inputs
(list pkg-config))
@@ -3478,7 +3470,7 @@ from being able to mix multiple JACK audio streams.")
(define-public pipemixer
(package
(name "pipemixer")
(version "0.5.0")
(version "0.4.1")
(source
(origin
(method git-fetch)
@@ -3487,8 +3479,19 @@ from being able to mix multiple JACK audio streams.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "104h2zdhqx5gdddnb7v7rhrflznh4v7d4g3s6vk2mxwf938zgm72"))))
(base32 "0fvnvr74q5khxlj5sylfnkblydmwgdbvj04mhdqw0zzmfqwignhd"))))
(build-system meson-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-pw-device
(lambda _
(substitute* "src/pw/device.c"
;; TODO: Report upstream:
;; ../source/src/pw/device.c:328:80: error: expected
;; ; before { token
(("iter\\) \\{") "iter); {")))))))
(native-inputs
(list pkg-config))
(inputs
@@ -3888,58 +3891,6 @@ provided by Pipewire.")
cross-platform audio input/output stream library.")
(license license:expat)))
(define-public python-pyroomacoustics
(package
(name "python-pyroomacoustics")
(version "0.10.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/LCAV/pyroomacoustics")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0546506lg93nrybvilc4wgrgvn317w9zxv2jwikhpfy1i0qyrnkk"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list
;; Want to download data from the internet:
"--ignore"
"pyroomacoustics/directivities/tests/test_sofa_directivities.py"
"--ignore"
"pyroomacoustics/datasets/tests/test_download_uncompress.py"
;; May fail because of slight numerical imprecision.
"--ignore"
"pyroomacoustics/experimental/tests/test_measure_rt60.py")
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-extra-include-paths
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPLUS_INCLUDE_PATH"
(string-append
(search-input-directory inputs "include/eigen3")
":"
(or (getenv "CPLUS_INCLUDE_PATH") ""))))))))
(propagated-inputs (list python-scipy))
(native-inputs (list eigen
pybind11
python-cython
python-matplotlib
python-numpy
python-pytest
python-setuptools
python-sofa))
(inputs (list nanoflann))
(home-page "https://github.com/LCAV/pyroomacoustics")
(synopsis "Python library for room acoustics")
(description "@code{pyroomacoustics} is a framework for simulating the
acustic behaviour of rooms, such as computing the impulse response using
different simulation methods.")
(license license:expat)))
(define-public python-pulsectl
(package
(name "python-pulsectl")
@@ -4044,40 +3995,6 @@ to send and receive OSC messages using a nice and simple Python API. Also
included are the command line utilities @code{send_osc} and @code{dump_osc}.")
(license license:lgpl2.1+)))
(define-public python-sofa
(package
(name "python-sofa")
(version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/spatialaudio/python-sofa/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0n6mdck2dawfm6napqhhxi8gjyvs6121pblcr7zjl37a8ldqvg29"))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;No tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-wrong-dependency
(lambda _
(substitute* "setup.py"
(("'datetime'")
"")))))))
(propagated-inputs (list python-netcdf4 python-numpy python-scipy))
(native-inputs (list python-setuptools))
(home-page "https://github.com/spatialaudio/python-sofa/")
(synopsis
"Python @acronym{Spatially Oriented Format for Acoustics, SOFA} API")
(description
"Python API for @acronym{Spatially Oriented Format for Acoustics, SOFA} files
as specified in @url{https://www.sofaconventions.org, SOFA conventions}.")
(license license:expat)))
(define-public python-soundfile
(package
(name "python-soundfile")
@@ -4213,7 +4130,9 @@ one-dimensional sample-rate conversion library.")
(string-append "'" #$(this-package-input "libsndfile")
"/lib/libsndfile"))))))))
(native-inputs
(list python-pytest python-setuptools))
(list python-pytest
python-pytest-cov
python-setuptools))
(inputs
(list libsndfile
portaudio))
@@ -7213,6 +7132,32 @@ developing fully accurate DirectX Audio runtime libraries.")
license:expat
license:public-domain))))
(define-public gnaural
(package
(name "gnaural")
(version "20110606")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gnaural/Gnaural/gnaural_"
version ".tar.xz"))
(sha256
(base32
"1gq519c0imsh57zklyi0f8h64l3ai48lh672c834470z8c6kvbfi"))))
(build-system gnu-build-system)
(inputs
(list alsa-lib gtk+-2 libsndfile portaudio))
(native-inputs
(list pkg-config))
(home-page "https://gnaural.sourceforge.net/")
(synopsis "Binaural beat synthesizer")
(description "Gnaural is a programmable auditory binaural beat synthesizer
intended to be used for brainwave entrainment. Gnaural supports creation of
binaural beat tracks of different frequencies and exporting of tracks into
different audio formats. Gnaural can also be linked over the internet with
other Gnaural instances, allowing synchronous sessions between many users.")
(license license:gpl2+)))
(define-public darkice
(package
(name "darkice")
@@ -7991,59 +7936,60 @@ Rate} 3600x2250 bit/s vocoder used in various radio systems.")
(delete-file-recursively "third_party")
(delete-file-recursively "modules")))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(list "-DLINK_BUILD_QT_EXAMPLES=ON"
"-DLINK_BUILD_JACK=ON")
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs tests? #:allow-other-keys)
(when tests?
(let* ((python (search-input-file inputs "/bin/python3"))
(run-tests "../source/ci/run-tests.py"))
(invoke python run-tests "--target" "LinkCoreTest")
(invoke python run-tests "--target" "LinkDiscoveryTest")))))
(add-before 'install 'patch-cmake
(lambda* (#:key inputs #:allow-other-keys)
(let* ((source "../source/"))
(substitute* (string-append source
"cmake_include/AsioStandaloneConfig.cmake")
(((string-append "\\$\\{CMAKE_CURRENT_LIST_DIR\\}/\\.\\./"
"modules/asio-standalone/asio/include"))
(dirname (search-input-file inputs "include/asio.hpp"))))
(substitute* (string-append source "AbletonLinkConfig.cmake")
(("\\$\\{CMAKE_CURRENT_LIST_DIR\\}/include")
"${CMAKE_CURRENT_LIST_DIR}/../../../include")
(("\\$\\{CMAKE_CURRENT_LIST_DIR\\}/include/ableton/Link\\.hpp")
"${CMAKE_CURRENT_LIST_DIR}/../../../include/ableton/Link.hpp")))))
(replace 'install
(lambda _
(let* ((out #$output)
(lib-cmake (string-append out "/lib/cmake/ableton-link"))
(source "../source"))
(for-each delete-file
'("bin/LinkDiscoveryTest" "bin/LinkCoreTest"))
(copy-recursively "bin" (string-append out "/bin"))
(copy-recursively (string-append source "/include/ableton")
(string-append out "/include/ableton"))
(install-file (string-append source "/AbletonLinkConfig.cmake")
lib-cmake)
(install-file (string-append source
"/cmake_include/AsioStandaloneConfig.cmake")
(string-append lib-cmake "/cmake_include"))))))))
(native-inputs
(list catch-framework
portaudio ;for portaudio examples
python ;for running tests
python-setuptools)) ;for running tests
python ;for running tests
portaudio)) ;for portaudio examples
(inputs
(list jack-1)) ;for JACK examples
(propagated-inputs
;; This is because include/ableton/platforms/asio/AsioWrapper.hpp
;; contains '#include <asio.hpp>'.
(list asio-1.28))
(arguments
`(#:configure-flags
'("-DLINK_BUILD_QT_EXAMPLES=ON"
"-DLINK_BUILD_JACK=ON")
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs tests? #:allow-other-keys)
(when tests?
(let* ((python (search-input-file inputs "/bin/python3"))
(run-tests "../source/ci/run-tests.py"))
(invoke python run-tests "--target" "LinkCoreTest")
(invoke python run-tests "--target" "LinkDiscoveryTest")))))
(add-before 'install 'patch-cmake
(lambda* (#:key inputs #:allow-other-keys)
(let* ((source "../source/"))
(substitute* (string-append source
"cmake_include/AsioStandaloneConfig.cmake")
(((string-append "\\$\\{CMAKE_CURRENT_LIST_DIR\\}/\\.\\./"
"modules/asio-standalone/asio/include"))
(string-append (assoc-ref inputs "asio")
"/include")))
(substitute* (string-append source "AbletonLinkConfig.cmake")
(("\\$\\{CMAKE_CURRENT_LIST_DIR\\}/include")
"${CMAKE_CURRENT_LIST_DIR}/../../../include")
(("\\$\\{CMAKE_CURRENT_LIST_DIR\\}/include/ableton/Link\\.hpp")
"${CMAKE_CURRENT_LIST_DIR}/../../../include/ableton/Link.hpp")))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(lib-cmake (string-append out "/lib/cmake/ableton-link"))
(source "../source"))
(for-each (lambda (test-file)
(delete-file test-file))
'("bin/LinkDiscoveryTest" "bin/LinkCoreTest"))
(copy-recursively "bin" bin)
(copy-recursively (string-append source "/include/ableton")
(string-append out "/include/ableton"))
(install-file (string-append source "/AbletonLinkConfig.cmake")
lib-cmake)
(install-file (string-append source
"/cmake_include/AsioStandaloneConfig.cmake")
(string-append lib-cmake "/cmake_include"))))))))
(home-page "https://github.com/Ableton/link")
(synopsis "Synchronize musical beat, tempo, and phase across multiple applications")
(description
@@ -8141,16 +8087,7 @@ Icecast server.")
(lambda _
(substitute* "misc.c"
(("#include <stdio.h>\n" all)
(string-append all "#include <string.h>\n")))
(substitute* "wavsubs.c"
(("#include \"wavsubs.h\"\n" all)
(string-append all "#include <stdlib.h>")))
(substitute* "wavfile.c"
(("#include \"wavsubs.h\"\n" all)
(string-append all "#include <stdlib.h>")))
(substitute* "generator.c"
(("#include \"wavsubs.h\"\n" all)
(string-append all "#include <stdlib.h>")))))
(string-append all "#include <string.h>\n")))))
(delete 'configure)
(replace 'install
(lambda* (#:key make-flags outputs #:allow-other-keys)
@@ -8162,8 +8099,7 @@ Icecast server.")
(inputs
(list ncurses))
(native-inputs
`(("gcc" ,gcc-9)
("groff" ,groff-minimal) ; for nroff
`(("groff" ,groff-minimal) ; for nroff
("util-linux" ,util-linux))) ; for col
(home-page "https://github.com/bleskodev/siggen")
(synopsis "Signal generation tools")
@@ -8239,7 +8175,7 @@ as sample rate, determining whether an audio file is silent, and much more.")
(propagated-inputs
(list python-numba python-numpy python-scipy python-six))
(native-inputs
(list python-pytest python-setuptools python-wheel))
(list python-pytest python-pytest-cov python-setuptools python-wheel))
(home-page "https://github.com/bmcfee/resampy")
(synopsis "Efficient signal resampling")
(description
@@ -8257,10 +8193,10 @@ Home Page}.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/librosa/librosa/")
(commit version)
;; TODO: Package test data.
(recursive? #true)))
(url "https://github.com/librosa/librosa/")
(commit version)
;; For test files.
(recursive? #true)))
(file-name (git-file-name name version))
(sha256
(base32 "065x43hx670rjrclxi4hiqxscllb16v9s7myjvg7rd5pd3y0k7sg"))))
@@ -8268,13 +8204,15 @@ Home Page}.")
(arguments
(list
#:test-flags
#~(list "-k" (string-append
;; Resampling tests require python-samplerate.
"not resample"
;; These tests use Pooch and download data files.
" and not example and not test_cite"
;; XXX assert 22050 == 31744
" and not test_stream"))))
;; Ignore --mpl flag.
'(list "-c" "/dev/null"
"-k" (string-append
;; Resampling tests require python-samplerate.
"not resample"
;; These tests use Pooch and download data files.
" and not example and not test_cite"
;; XXX assert 22050 == 31744
" and not test_stream"))))
(propagated-inputs
(list python-audioread
python-decorator
@@ -8293,9 +8231,10 @@ Home Page}.")
(list python-matplotlib
python-packaging
python-pytest
python-pytest-mpl
python-pytest-cov
python-resampy
python-setuptools))
python-setuptools
python-wheel))
(home-page "https://librosa.org")
(synopsis "Python module for audio and music processing")
(description
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,58 +0,0 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
#
# This file is part of GNU Guix.
#
# GNU Guix is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
#
# GNU Guix is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
import importlib.util
import json
def pytest_addoption(parser):
"""Add stub options to be ignored by pytest.
More precisely, inject all options provided in .pytest_guix_options.json,
except options whose plugin is indeed installed.
For example, if the json file records --cov:
if the pytest_cov module is installed, its --cov will be used.
otherwise, --cov is ignored (read by this parser, but nothing is done
with it).
Flags can be given with additional keyword arguments in a json object.
If the json object is not given, fallback to the default
{"action": "append", "nargs": "?"}. In practice, these arguments are only
mandatory for the store_true and store_const actions to avoid eating other
arguments.
This allows to remove development packages, which are not required at build
time while at the same time avoiding the need to adjust test options in
pyproject.toml or other configuration files.
"""
with open(".pytest_guix_options.json", "r") as options_file:
plugin_options = json.load(options_file)
group = parser.getgroup(
"guix", "Options ignored by the Guix pyproject-build-system"
)
# Only add options for plugins that are not present.
for key, options in plugin_options.items():
if importlib.util.find_spec(f"pytest_{key}") is None:
# Plugin not found, add stub options
for option, kwargs in options.items():
if kwargs:
group.addoption(option, **kwargs)
else:
group.addoption(option, action="append", nargs="?")
+68 -69
View File
@@ -50,6 +50,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix download)
#:use-module (guix gexp)
@@ -106,7 +107,6 @@
#:use-module (gnu packages rsync)
#:use-module (gnu packages ruby-xyz)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages ssh)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
@@ -137,6 +137,7 @@
python-paramiko
python-pexpect
python-pytest
python-pytest-runner
python-setuptools-scm
tzdata-for-tests
python-mock))
@@ -631,26 +632,41 @@ rsnapshot uses hard links to deduplicate identical files.")
(define-public borg
(package
(name "borg")
(version "1.4.4")
(version "1.4.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/borgbackup/borg")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "borgbackup" version))
(sha256
(base32 "0bk302lbjjz1y8dg78wqqys80bm7mzkj5yf6wgyqdwvbqpsnpim4"))))
(base32 "07s4jqcv03s98hi6lvqpvmnnhl532qnvv11mjy2xc08rbmsgmfvr"))
(snippet
#~(begin
;; Delete files generated by Cython. We used to have a regex that
;; created the list of generated files but Borg has added new
;; non-generated C files that cause the regex to generate the
;; wrong list.
(for-each delete-file
'("src/borg/algorithms/checksums.c"
"src/borg/chunker.c"
"src/borg/compress.c"
"src/borg/crypto/low_level.c"
"src/borg/hashindex.c"
"src/borg/item.c"
"src/borg/platform/darwin.c"
"src/borg/platform/freebsd.c"
"src/borg/platform/linux.c"
"src/borg/platform/posix.c"
"src/borg/platform/syncfilerange.c"
"src/borg/platform/windows.c"))))))
(build-system pyproject-build-system)
(arguments
(list
#:modules '((srfi srfi-26) ; for cut
(guix build utils)
(guix build pyproject-build-system))
;; tests: 1318 passed, 293 skipped
#:test-flags
#~(list "--benchmark-skip"
"--numprocesses" (number->string (min 8 (parallel-job-count)))
"--numprocesses" (number->string (parallel-job-count))
"--pyargs" "borg.testsuite"
"-k" (string-join
;; These tests need to write to '/var'.
@@ -671,15 +687,7 @@ rsnapshot uses hard links to deduplicate identical files.")
"test_mount_hardlinks "
"test_readonly_mount "
"test_fuse_versions_view "
"test_migrate_lock_alive"
;; Test files are not in /gnu/store
"test_convert_all[False]"
"test_convert_all[True]"
"test_convert_segments[False]"
"test_convert_segments[True]"
"test_detect_attic_repo"
"test_key_export_qr"
"test_keys")
"test_migrate_lock_alive")
" and not "))
#:phases
#~(modify-phases %standard-phases
@@ -695,58 +703,46 @@ rsnapshot uses hard links to deduplicate identical files.")
(setenv "BORG_LIBLZ4_PREFIX" lz4)
(setenv "BORG_LIBXXHASH_PREFIX" xxhash)
(setenv "BORG_LIBZSTD_PREFIX" zstd))))
(add-before 'build 'fix-testsuite-setuid-mode
(add-after 'install 'install-doc
(lambda _
(substitute* "src/borg/testsuite/archiver.py"
(("0o4755") "0o0755"))))
(add-after 'install 'build-and-install-docs
(lambda _
(let* ((doc (string-append #$output "/share/doc/borg-" #$version))
(html (string-append doc "/html"))
(txt (string-append doc "/txt"))
(misc (string-append doc "/misc"))
(man (string-append #$output "/share/man/man1")))
(with-directory-excursion "docs"
(invoke "make" "text" "man" "singlehtml"))
(let ((man (string-append #$output "/share/man/man1"))
(misc (string-append #$output "/share/doc/borg-"
#$(package-version this-package))))
(for-each (cut install-file <> misc)
'("docs/misc/create_chunker-params.txt"
"docs/misc/borg-data-flow.png"
"docs/misc/internals-picture.txt"
"docs/misc/prune-example.txt"))
(copy-recursively "docs/_build/man" man)
(copy-recursively "docs/_build/singlehtml" html)
(copy-recursively "docs/_build/text" txt))))
(add-after 'build-and-install-docs 'install-shell-completions
(copy-recursively "docs/man" man))))
(add-after 'install-doc 'install-shell-completions
(lambda _
(let* ((etc (string-append #$output "/etc"))
(share (string-append #$output "/share"))
(bash (string-append etc "/bash_completion.d"))
(zsh (string-append share "/zsh/site-functions"))
(fish (string-append share "/fish/vendor_completions.d")))
(let ((etc (string-append #$output "/etc"))
(share (string-append #$output "/share")))
(with-directory-excursion "scripts/shell_completions"
(install-file "bash/borg" bash)
(install-file "zsh/_borg" zsh)
(install-file "fish/borg.fish" fish))))))))
(install-file "bash/borg"
(string-append etc "/bash_completion.d"))
(install-file "zsh/_borg"
(string-append share "/zsh/site-functions"))
(install-file "fish/borg.fish"
(string-append share "/fish/vendor_completions.d")))))))))
(native-inputs
(list python-cython
python-guzzle-sphinx-theme
python-pkgconfig
python-dateutil
python-pytest
python-pytest-benchmark
python-pytest-xdist
python-setuptools
python-setuptools-scm
python-sphinx
python-sphinxcontrib-jquery))
python-wheel))
(inputs
(list acl
lz4
openssl
python-msgpack
;; This is the latest version of msgpack accepted by 'setup.py'.
python-msgpack-for-borg
;; FUSE 3 isn't working well, so we stick with FUSE 2 for now:
;; <https://issues.guix.gnu.org/53407>
python-llfuse
python-packaging
xxhash
`(,zstd "lib")))
(synopsis "Deduplicated, encrypted, authenticated and compressed backups")
@@ -897,7 +893,7 @@ is like a time machine for your data.")
(define-public restic
(package
(name "restic")
(version "0.18.1")
(version "0.17.3")
(source
(origin
(method git-fetch)
@@ -906,7 +902,7 @@ is like a time machine for your data.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0gxhknn022bwg2s8hababqg3vjkzflq59vr67y7r1c8fjnlsgf4l"))))
(base32 "1wsgq7f0bfi0i5iiwcc3hlf2lhxcnz3zfs8p8bc6l913r9hvyg1x"))))
(build-system go-build-system)
(arguments
(list
@@ -915,18 +911,15 @@ is like a time machine for your data.")
#:import-path "github.com/restic/restic/cmd/restic"
#:unpack-path "github.com/restic/restic"
#:embed-files #~(list "children" "nodes" "text")
#:test-flags
;; Python is required.
#~(list "-skip" "TestStdinFromCommand|TestStdinFromCommandNoOutput")
#:test-subdirs #~(list "../../...")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-python-path
(lambda* (#:key inputs unpack-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" unpack-path)
(substitute* "cmd/restic/cmd_backup_integration_test.go"
(("python")
(search-input-file inputs "/bin/python3"))))))
(add-after 'install 'install-docs
(lambda* (#:key unpack-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" unpack-path)
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(let* ((man "/share/man")
(man-section (string-append man "/man")))
;; Install all the man pages to "out".
@@ -949,12 +942,12 @@ is like a time machine for your data.")
go-github-com-cenkalti-backoff-v4
go-github-com-cespare-xxhash-v2
go-github-com-elithrar-simple-scrypt
;; go-github-com-go-ole-go-ole ;Windows only
;; go-github-com-go-ole-go-ole ;windows only
go-github-com-google-go-cmp
go-github-com-hashicorp-golang-lru-v2
go-github-com-klauspost-compress
;; go-github-com-microsoft-go-winio ;Windows only
go-github-com-minio-minio-go-v7
go-github-com-minio-sha256-simd
go-github-com-ncw-swift-v2
go-github-com-peterbourgon-unixtransport
go-github-com-pkg-errors
@@ -974,7 +967,6 @@ is like a time machine for your data.")
go-golang-org-x-text
go-golang-org-x-time
go-google-golang-org-api
python-minimal
;; XXX: These packages have to be bootstrapped to break cycle with
;; go-google-golang-org-grpc.
@@ -1268,9 +1260,10 @@ compression parameters used by Gzip.")
(define-public borgmatic
(package
(name "borgmatic")
(version "2.1.5")
(version "2.1.2")
(source
(origin
;; PyPI archive does not contain NEWS file needed for one test.
(method git-fetch)
(uri (git-reference
(url "https://projects.torsion.org/borgmatic-collective/borgmatic")
@@ -1278,11 +1271,10 @@ compression parameters used by Gzip.")
(file-name (git-file-name name version))
(sha256
(base32
"17i15ysg0wbcnfvki8wz2z9gx3zx99czv3czjh83y2m1xppvqbl5"))))
"0vrpl21n6hf3pj0di4n7s36jq64sx24c93j48cmbdgczs8jiwi36"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 2609 passed
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'configure
@@ -1297,12 +1289,19 @@ compression parameters used by Gzip.")
(("(module.get_local_path.+ == )'borg'" all start)
(string-append start "'"
(search-input-file inputs "bin/borg")
"'"))))))))
"'")))))
(add-before 'check 'set-path
(lambda _
;; Tests require the installed executable.
(setenv "PATH"
(string-append #$output "/bin" ":"
(getenv "PATH"))))))))
(native-inputs
(list python-flexmock
python-pytest
python-pytest-timeout
python-setuptools))
python-pytest-cov
python-setuptools
python-wheel))
(inputs
(list borg
python-apprise
@@ -1364,9 +1363,9 @@ borgmatic is powered by borg.")
(assoc-ref qt:%standard-phases 'qt-wrap)))))
(native-inputs
(list python-platformdirs
python-pytest
python-pytest-mock
python-pytest-qt
python-pytest-runner
python-setuptools
python-setuptools-git))
(inputs
+16 -21
View File
@@ -13,7 +13,7 @@
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025-2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2026 Sughosha <sughosha@disroot.org>
;;; Copyright © 2023 Advanced Micro Devices, Inc.
;;;
@@ -44,6 +44,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system qt)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system meson)
#:use-module (gnu packages)
@@ -679,26 +680,20 @@ the user is too low. To raise such limit on a Guix System, refer to
"0ifnw8vnkcgrksx7g5d9ii4kjppqnk32lvrybdybmibyvag6zfdc"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ; no tests
#:make-flags
#~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration"
(string-append "CC=" #$(cc-for-target)))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-broken-makefile
(lambda _
;; Remove erroneous "-lm" target
(substitute* "Makefile"
(("hackbench.o -lm") "hackbench.o"))))
(delete 'configure)
(replace 'install
(lambda _
(install-file "interbench"
(string-append #$output "/bin"))
(install-file "interbench.8"
(string-append #$output
"/share/man/man8")))))))
(native-inputs (list gcc-10))
`(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-broken-makefile
(lambda _
;; Remove erroneous "-lm" target
(substitute* "Makefile"
(("hackbench.o -lm") "hackbench.o"))))
(delete 'configure)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(install-file "interbench" (string-append out "/bin"))
(install-file "interbench.8" (string-append out "/share/man/man8"))))))))
(home-page "http://users.on.net/~ckolivas/interbench/")
(synopsis "Interactivity benchmark")
(description "interbench is designed to benchmark interactivity on Linux.
+1599 -1704
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -28,7 +28,7 @@
#:use-module (guix build-system gnu)
#:use-module (gnu packages m4)
#:use-module (gnu packages perl)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (srfi srfi-1))
(define-public bison
+14 -15
View File
@@ -86,6 +86,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix download)
#:use-module (guix gexp)
@@ -360,18 +361,18 @@ Transmission BitTorrent daemon.")
(name "aria2")
(version "1.37.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aria2/aria2")
(commit (string-append "release-" version))))
(method url-fetch)
(uri (string-append "https://github.com/aria2/aria2/releases/"
"download/release-" version
"/aria2-" version ".tar.xz"))
(sha256
(base32
"1yr9yxr7z3bdg51afpzj0i63xl2rdk1prl20qws21y6r1x58vf65"))
(file-name (git-file-name name version))
"0sxng4pynhj2qinranpv6wyzys3d42kz1gg2nrn63sw5f2nj1930"))
(patches (search-patches "aria2-unbundle-wslay.patch"))
(snippet
#~(begin (use-modules (guix build utils))
(delete-file-recursively "deps")))))
(delete-file-recursively "deps")
(delete-file "configure")))))
(build-system gnu-build-system)
(arguments
(list
@@ -381,13 +382,10 @@ Transmission BitTorrent daemon.")
#$output "/etc/bash_completion.d/"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'update-gettext-version
(add-after 'unpack 'patch-configure
(lambda _
(substitute* "configure.ac"
(("AM_GNU_GETTEXT_VERSION\\(.*\\)")
(format #f "AM_GNU_GETTEXT_VERSION([~a])"
#$(package-version (this-package-native-input
"gettext-minimal")))))))
(("0[.]18") "0.19.6"))))
(add-after 'unpack 'delete-socket-tests
(lambda _
(substitute* "test/LpdMessageDispatcherTest.cc"
@@ -419,6 +417,8 @@ Transmission BitTorrent daemon.")
"Aria2 is a lightweight, multi-protocol & multi-source command-line
download utility. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
(properties
'((release-monitoring-url . "https://github.com/aria2/aria2/releases")))
(license license:gpl2+)))
(define-public uget
@@ -533,9 +533,8 @@ and will take advantage of multiple processor cores where possible.")
(inputs (list boost-1.83 openssl))
(native-inputs
(list libfaketime
pkg-config
python-setuptools
python-wrapper))
python-wrapper
pkg-config))
(home-page "https://www.libtorrent.org/")
(synopsis "Feature-complete BitTorrent implementation")
(description
+2 -2
View File
@@ -334,7 +334,7 @@ parallel study, and original language study.")
(define-public book-emacs-lisp-elements
(package
(name "book-emacs-lisp-elements")
(version "2.0.4")
(version "2.0.1")
(source
(origin
(method git-fetch)
@@ -343,7 +343,7 @@ parallel study, and original language study.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "06mhrb16h93n3s3srcfgmzsyh2lxx4ffj1di6qvczfg4039pi3c8"))))
(base32 "0774zycgx3zspn6f8pszap1751xgrlv2h3x66kksnj589nfnwzil"))))
(build-system emacs-build-system)
(arguments
(list
+37 -53
View File
@@ -83,6 +83,9 @@
(build-system gnu-build-system)
(arguments
(list
#:imported-modules %pyproject-build-system-modules
#:modules `(((guix build pyproject-build-system) #:select (python-version))
,@%default-gnu-modules)
#:tests? #f
#:configure-flags
#~(let ((icu (dirname (dirname (search-input-file
@@ -91,26 +94,17 @@
;; Auto-detection looks for ICU only in traditional
;; install locations.
(string-append "--with-icu=" icu)
;; Ditto for Python. The Gexp can't be evaluated if python is not
;; in the inputs (e.g. boost-for-mysql), so delay its evaluation
;; after checking for python, rather than concurrently.
#$@(force
(if (or (%current-target-system)
(not (this-package-input "python-minimal-wrapper")))
(delay
#~())
(delay
#~((let ((python (dirname (dirname (search-input-file
%build-inputs
"bin/python")))))
(string-append "--with-python-root=" python)
(string-append "--with-python=" python
"/bin/python")
(string-append "--with-python-version="
#$(version-major+minor
(package-version
(this-package-input
"python-minimal-wrapper")))))))))
;; Ditto for Python.
#$@(if (%current-target-system)
#~()
#~((let ((python (dirname (dirname (search-input-file
%build-inputs
"bin/python")))))
(string-append "--with-python-root=" python)
(string-append "--with-python=" python
"/bin/python")
(string-append "--with-python-version="
(python-version python)))))
"--with-toolset=gcc"))
#:make-flags
#~(list "threading=multi" "link=shared"
@@ -206,39 +200,29 @@
(replace 'install
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "./b2" "install" make-flags)))
#$@(force ; See above for why the force is necessary.
(if (or (%current-target-system)
(not (this-package-input "python-minimal-wrapper")))
(delay
#~())
(delay
#~((add-after 'install 'provide-libboost_python
(lambda* (#:key make-flags inputs outputs
#:allow-other-keys)
(let* ((static? (member "link=static" make-flags))
(ext (if static? ".a" ".so"))
(python (dirname
(dirname (search-input-file
inputs "bin/python"))))
(python-version
#$(version-major+minor
(package-version
(this-package-input
"python-minimal-wrapper"))))
(NN (string-join (string-split
python-version #\.)
""))
(libboost_pythonNN
(string-append "libboost_python" NN ext))
(major (string-take python-version 1)))
(with-directory-excursion
(string-append #$output "/lib")
(symlink libboost_pythonNN
(string-append "libboost_python" ext))
;; Some packages only look for the major version.
(symlink libboost_pythonNN
(string-append "libboost_python"
major ext)))))))))))))
#$@(if (%current-target-system)
#~()
#~((add-after 'install 'provide-libboost_python
(lambda* (#:key make-flags inputs outputs #:allow-other-keys)
(let* ((static? (member "link=static" make-flags))
(libext (if static? ".a" ".so"))
(python (dirname (dirname (search-input-file
inputs "bin/python"))))
(python-version (python-version python))
(libboost_pythonNN
(string-append "libboost_python"
(string-join (string-split
python-version #\.)
"")
libext)))
(with-directory-excursion (string-append #$output "/lib")
(symlink libboost_pythonNN
(string-append "libboost_python" libext))
;; Some packages only look for the major version.
(symlink libboost_pythonNN
(string-append "libboost_python"
(string-take python-version 1)
libext)))))))))))
(inputs
(append
(list icu4c zlib)
+54 -59
View File
@@ -48,14 +48,13 @@
#:use-module (gnu packages base)
#:use-module (gnu packages disk)
#:use-module (gnu packages bison)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages disk)
#:use-module (gnu packages firmware)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
@@ -66,6 +65,7 @@
#:use-module (gnu packages man)
#:use-module (gnu packages mtools)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ninja)
#:use-module (gnu packages package-management)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -267,8 +267,8 @@
;; rebooting.
(if (member (or (%current-target-system)
(%current-system))
(package-supported-systems fuse))
(list fuse)
(package-supported-systems fuse-2))
(list fuse-2)
'())))
(native-inputs
(append (list pkg-config
@@ -1815,68 +1815,63 @@ For more information, refer to
(define-public os-prober
(package
(name "os-prober")
(version "1.84")
(version "1.81")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://salsa.debian.org/installer-team/os-prober.git")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (string-append "mirror://debian/pool/main/o/os-prober/os-prober_"
version ".tar.xz"))
(sha256
(base32 "1bji3w6nbqaz8zqrbmy8b1j5dph9xn7bdh1cd2z8ia1q125i6mgp"))))
(base32 "10w8jz6mqhp0skdcam9mpgv79vx1sv7lkpra3rqjg0jkhvn2in9g"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; No tests.
#:modules '((guix build gnu-build-system)
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(ice-9 regex) ; string-match
(srfi srfi-26)) ; cut
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target)))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda _
(substitute* (find-files ".")
(("/usr") #$output))
(substitute* (find-files "." "50mounted-tests$")
(("mkdir") "mkdir -p -v"))))
(replace 'install
(lambda _
(define (find-files-non-recursive directory)
(find-files directory
(lambda (file stat)
(string-match (string-append "^" directory "/[^/]*$")
file))
#:directories? #t))
(ice-9 regex) ; for string-match
(srfi srfi-26)) ; for cut
#:make-flags
(list ,(string-append "CC=" (cc-for-target)))
#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(substitute* (find-files ".")
(("/usr") (assoc-ref outputs "out")))
(substitute* (find-files "." "50mounted-tests$")
(("mkdir") "mkdir -p"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(define (find-files-non-recursive directory)
(find-files directory
(lambda (file stat)
(string-match (string-append "^" directory "/[^/]*$")
file))
#:directories? #t))
(let ((bin (string-append #$output "/bin"))
(lib (string-append #$output "/lib"))
(share (string-append #$output "/share")))
(for-each (cut install-file <> bin)
(list "linux-boot-prober" "os-prober"))
(install-file "newns" (string-append lib "/os-prober"))
(install-file "common.sh" (string-append share "/os-prober"))
(install-file "os-probes/mounted/powerpc/20macosx"
(string-append lib "/os-probes/mounted"))
(for-each
(lambda (directory)
(for-each
(lambda (file)
(let ((destination (string-append lib "/" directory
"/" (basename file))))
(mkdir-p (dirname destination))
(copy-recursively file destination)))
(append (find-files-non-recursive (string-append directory "/common"))
(find-files-non-recursive (string-append directory "/x86")))))
(list "linux-boot-probes"
"linux-boot-probes/mounted"
"os-probes"
"os-probes/init"
"os-probes/mounted"))))))))
(home-page "https://joeyh.name/code/os-prober/")
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(lib (string-append out "/lib"))
(share (string-append out "/share")))
(for-each (cut install-file <> bin)
(list "linux-boot-prober" "os-prober"))
(install-file "newns" (string-append lib "/os-prober"))
(install-file "common.sh" (string-append share "/os-prober"))
(install-file "os-probes/mounted/powerpc/20macosx"
(string-append lib "/os-probes/mounted"))
(for-each
(lambda (directory)
(for-each
(lambda (file)
(let ((destination (string-append lib "/" directory
"/" (basename file))))
(mkdir-p (dirname destination))
(copy-recursively file destination)))
(append (find-files-non-recursive (string-append directory "/common"))
(find-files-non-recursive (string-append directory "/x86")))))
(list "os-probes" "os-probes/mounted" "os-probes/init"
"linux-boot-probes" "linux-boot-probes/mounted"))))))))
(home-page "https://joeyh.name/code/os-prober")
(synopsis "Detect other operating systems")
(description "os-prober probes disks on the system for other operating
systems so that they can be added to the bootloader. It also works out how to
+4 -53
View File
@@ -69,55 +69,6 @@ match website theme.")
(define-public adaptive-tab-bar-colour/icecat
(make-icecat-extension adaptive-tab-bar-colour))
(define canvasblocker
(package
(name "canvasblocker")
(version "1.12")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kkapsner/CanvasBlocker")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0xxs6s7nrl4y4qiw2cpkqh170mbv78n0ixd874a72jjvczw2vpg7"))
(modules '((guix build utils) (ice-9 match) (ice-9 ftw)))
(snippet
#~(begin
(for-each delete-file
'("canvasblocker.xpi" "package-lock.json"))
;; Delete all hidden files/directories except .tools.
(for-each
(match-lambda
((or "." ".tools" ".."
(? (lambda (name)
(not (string-prefix? "." name)))))
#t)
((? file-is-directory? dir)
(delete-file-recursively dir))
(file
(delete-file file)))
(scandir "."))))))
(build-system copy-build-system)
(properties '((addon-id . "CanvasBlocker@kkapsner.de")))
(arguments
(list
#:install-plan ;deduced from .tools/build.js
#~'(("." #$(assq-ref properties 'addon-id)
#:exclude ("crowdin.yml" "package.json" "releaseNotes.txt")
#:exclude-regexp ("test/.*" "versions/.*" ".tools/*")))))
(home-page "https://github.com/kkapsner/CanvasBlocker")
(synopsis "Firefox extension to protect from being fingerprinted")
(description "This extension allows users to prevent websites from using
some Javascript APIs to fingerprint them. Users can choose to block the APIs
entirely on some or all websites (which may break some websites) or just block
or fake its fingerprinting-friendly readout API.")
(license license:mpl2.0)))
(define-public canvasblocker/icecat
(make-icecat-extension canvasblocker))
(define play-to-kodi
(package
(name "play-to-kodi")
@@ -312,7 +263,7 @@ fill and submit login forms if a matching password entry is found.")
(define keepassxc-browser
(package
(name "keepassxc-browser")
(version "1.9.10")
(version "1.9.9.6")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -322,7 +273,7 @@ fill and submit login forms if a matching password entry is found.")
(file-name (git-file-name name version))
(sha256
(base32
"18kgmdvsq1kv9px8a1m7i10r4m0iik72qlnw9k2ijxmn1xikfyfb"))
"1chw1y1332zn69s7kf5mkljc1bp2xfvl3zzvafnalv3zj2jsa5cs"))
;; Default 'manifest.json' targets chromium based browsers and
;; depends on background.service_worker support.
;; See: <https://bugzilla.mozilla.org/show_bug.cgi?id=1573659>
@@ -377,7 +328,7 @@ with the @uref{https://keepassxc.org, KeePassXC} password manager.")
(define noscript
(package
(name "noscript")
(version "13.6.19.1984")
(version "13.6.18.1984")
(source (origin
(method url-fetch/zipbomb)
(uri (string-append
@@ -385,7 +336,7 @@ with the @uref{https://keepassxc.org, KeePassXC} password manager.")
version ".xpi"))
(sha256
(base32
"1lb3855w34avs7idvycv8cfpjnpic2mnsh9yqkidrdw7msr0na74"))))
"0assv8v89hhg302q81vvv7ln3q8k9m6rzjkbprv2j05ghb23kkvm"))))
(build-system copy-build-system)
(properties '((addon-id . "{73a6fe31-595d-460b-a920-fcc0f8843232}")))
(arguments
+8 -151
View File
@@ -64,6 +64,7 @@
#:use-module (gnu packages logging)
#:use-module (gnu packages lua)
#:use-module (gnu packages man)
#:use-module (gnu packages ninja)
#:use-module (gnu packages package-management)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
@@ -76,7 +77,6 @@
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages regex)
#:use-module (gnu packages rpc)
#:use-module (gnu packages serialization)
@@ -94,6 +94,7 @@
#:use-module (guix build-system hare)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix deprecation)
#:use-module (guix download)
@@ -104,8 +105,7 @@
#:use-module (guix packages)
#:use-module (guix search-paths)
#:use-module (guix utils)
#:use-module (ice-9 optargs)
#:use-module (srfi srfi-1))
#:use-module (ice-9 optargs))
(define-public acr
(package
@@ -275,14 +275,14 @@ generate such a compilation database.")
(define-public bmake
(package
(name "bmake")
(version "20260508")
(version "20260406")
(source
(origin
(method url-fetch)
(uri (string-append
"http://www.crufty.net/ftp/pub/sjg/bmake-" version ".tar.gz"))
(sha256
(base32 "0b58j7l53jbqaxcfggimdbylf71hbyfm44m6s4646ry7mf8fl7kv"))
(base32 "09nzd9v12n2pwxmf67056kzjnvxcpk5q2x1fs5qkrsk1ssh5yvpd"))
(patches (search-patches "bmake-run-check-separately.patch"))))
(build-system gnu-build-system)
(inputs
@@ -432,8 +432,9 @@ files and generates build instructions for the Ninja build system.")
(arguments
(list
#:tests? #f ;disabled to avoid extra dependencies
;; Custom build steps to prevent using pyproject-build-system which
;; allows to edit the latter without a C++ world rebuild.
;; Essentially a lighter copy of the former python-build-system.
;; Using it rather than pyproject-build-system allows to edit the latter
;; without a C++ world rebuild.
#:phases
#~(modify-phases %standard-phases
(delete 'bootstrap)
@@ -1451,147 +1452,3 @@ It is an alternative to e.g. @command{make(1)} and @command{redo(1)}. Features:
@end itemize
")
(license license:wtfpl2)))
(define-public xmake
(package
(name "xmake")
(version "3.0.8")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/xmake-io/xmake.git")
(commit (string-append "v" version))
;; Requires some dependencies from "xmake-core-*" repos
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "1pdjz52w9lzfbcpx9wmzy0bsjg7i19xz43f63czk7jz9v0xba6gi"))))
(build-system gnu-build-system)
(arguments
(list
;; No check rule in make
;; TODO: find how to run Lua tests in "test" directory
#:tests? #f))
(home-page "https://xmake.io/")
(synopsis "Cross-platform build utility based on Lua")
(description "@command{xmake} is a cross-platform build utility based on Lua.
Features:
@itemize
@item Built-in caching and parallel compilation,
@item Concise Lua syntax,
@item Custom rules, plugins and modules,
@item Support for C++20 modules and compile_commands.json,
@item Support for languages outside C/C++ (e.g. Go, Rust, Zig).
@end itemize")
(license license:asl2.0)))
(define-public ninja/pinned
(hidden-package
(package
(name "ninja")
(version "1.13.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ninja-build/ninja")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0lp9dmxbjyjwv089i8mgq3nvnhpbnsn01ifm05m9s47w7cifrl8g"))))
(build-system gnu-build-system)
(inputs (list python-wrapper re2c))
(arguments
'(; Tests now require googletest, which is a circular dependency.
#:tests? #f
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _
(substitute* "src/subprocess-posix.cc"
(("/bin/sh") (which "sh")))
(substitute* "src/subprocess_test.cc"
(("/bin/echo") (which "echo")))))
(replace 'build
(lambda _
(invoke "./configure.py" "--bootstrap")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "./configure.py")
(invoke "./ninja" "ninja_test")
(invoke "./ninja_test"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(doc (string-append out "/share/doc/ninja")))
(install-file "ninja" bin)
(install-file "doc/manual.asciidoc" doc)))))))
(home-page "https://ninja-build.org/")
(synopsis "Small build system")
(description
"Ninja is a small build system with a focus on speed. It differs from
other build systems in two major respects: it is designed to have its input
files generated by a higher-level build system, and it is designed to run
builds as fast as possible.")
(license license:asl2.0))))
(define-public ninja
(package/inherit ninja/pinned
(properties (alist-delete 'hidden? (package-properties ninja/pinned)))))
(define-public samurai
(package
(name "samurai")
(version "1.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/michaelforney/samurai")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"04iw18hgkm72yrl83a2xh1jc47w9rilpb95kwick0j37b4q3gxj4"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;no test suite
#:make-flags #~(list (string-append "CC=" #$(cc-for-target))
(string-append "PREFIX=" #$output))
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-/bin/sh
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "build.c"
(("/bin/sh")
(search-input-file inputs "bin/sh")))))
(delete 'configure))))
(inputs (list bash-minimal))
(home-page "https://github.com/michaelforney/samurai")
(synopsis "Ninja-compatible build tool written in C")
(description "@code{samurai} is a ninja-compatible build tool written in
C99 with a focus on simplicity, speed, and portability. It is
feature-complete and supports most of the same options as ninja. This package
provides the command @command{samu}. For a @command{ninja} command
replacement, use the @code{samu-as-ninja-wrapper} package.")
(license (list license:asl2.0 ;for the most part
license:expat)))) ;htab.h, htab.c and tree.c
(define-public samu-as-ninja-wrapper
(package/inherit samurai
(name "samu-as-ninja-wrapper")
(build-system trivial-build-system)
(arguments
(list #:builder
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(let ((bindir (string-append #$output "/bin"))
(samu (string-append #$(this-package-input "samurai")
"/bin/samu")))
(mkdir-p bindir)
(symlink samu (string-append bindir "/ninja")))))))
(inputs (list samurai))
(description "This package provides the @command{ninja} command,
implemented as a symbolic link to the @command{samu} command of @code{samurai}
package.")))
+28 -47
View File
@@ -47,7 +47,6 @@
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix deprecation)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
@@ -55,6 +54,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix store)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
@@ -62,7 +62,7 @@
#:use-module (gnu packages bootstrap)
#:use-module (gnu packages bison)
#:use-module (gnu packages check)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages perl)
@@ -81,7 +81,6 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages gettext)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages xml))
@@ -1094,8 +1093,32 @@ portability.")
(license (list license:bsd-2 ;all files except...
license:bsd-3)))) ;...the unidef.1 manual page
(define-deprecated/public-alias byacc
(@ (gnu packages compiler-tools) byacc))
(define-public byacc
(package
(name "byacc")
(version "20240109")
(source (origin
(method url-fetch)
(uri (string-append
"https://invisible-mirror.net/archives/byacc/byacc-"
version ".tgz"))
(sha256
(base32
"0il4w1vwbglayakywyghiqhcjpg1yvv5ww2p8ylz32bi05wpg2gj"))
(snippet
#~(begin (delete-file "btyaccpar.c")
(delete-file "yaccpar.c")))))
(native-inputs
(list gawk))
(build-system gnu-build-system)
(home-page "https://invisible-island.net/byacc/byacc.html")
(synopsis "Berkeley Yacc LALR parser generator")
(description
"Berkeley Yacc is an LALR(1) parser generator. Yacc reads the grammar
specification from a file and generates an LALR(1) parser for it. The parsers
consist of a set of LALR(1) parsing tables and a driver routine written in the
C programming language.")
(license license:public-domain)))
(define-public argparse
(package
@@ -1477,48 +1500,6 @@ Telemetry Transport (MQTT) publish-subscribe messaging protocol.")
(home-page "https://microsoft.github.io/mimalloc/")
(license license:expat)))
(define-public mps
(package
(name "mps")
(version "1.118.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Ravenbrook/mps")
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "078iv3fsz0dnfwb7g63apkvcksczbqfxrxm73k80jwnwca6pgafy"))))
(build-system gnu-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-cflags
;; The recursive make call in the test suite doesn't pass CFLAGS
;; down properly so we need to do it ourselves
(lambda _
(substitute* "Makefile.in"
(("CFLAGS=\"(.*)\"" _ flags)
(string-append "CFLAGS=\"" flags " $(CFLAGS)\""))))))
#:parallel-build? #f ;Parallel build fails
#:test-target "test"
#:make-flags
#~(list "CFLAGS=-Wno-error=dangling-pointer -Wno-maybe-uninitialized"
;; These flags are needed for the recursive make calls in testing
(string-append "CC=" #$(cc-for-target)) "-j" "1")))
(inputs (list sqlite))
(home-page "http://www.ravenbrook.com/project/mps")
(synopsis "Memory pool system")
(description
"This package provides a cross-platform memory management system. It
permits the flexible combination of memory management techniques, supporting
manual and automatic memory management, in-line allocation, finalization,
weakness, and multiple concurrent co-operating incremental generational
garbage collections. It also includes a library of memory pool classes
implementing specialized memory management policies.")
(license license:bsd-2)))
;;; The package is named orangeduck-mpc to differentiate it from GNU mpc.
(define-public orangeduck-mpc
;; The last release lacks an 'install' target.
+1
View File
@@ -45,6 +45,7 @@
#:use-module (guix build-system go)
#:use-module (guix build-system cmake)
#:use-module (guix build-system pyproject)
#:use-module ((guix build-system python) #:select (pypi-uri))
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+23 -11
View File
@@ -52,7 +52,7 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
#:use-module (gnu packages docbook)
@@ -337,7 +337,7 @@ reconstruction capability.")
(define-public cdrdao
(package
(name "cdrdao")
(version "1.2.6")
(version "1.2.5")
(source
(origin
(method git-fetch)
@@ -347,18 +347,30 @@ reconstruction capability.")
(string-append "rel_" (string-replace-substring version "." "_")))))
(file-name (git-file-name name version))
(sha256
(base32 "0hb8dfb88zk01yk5nfl8m5hsg4x2scb2899pxb717zywznr8jijw"))))
(build-system glib-or-gtk-build-system)
(base32 "1hh1lm4wr1vhsq2brczn94h88h3bppvjidj9cfqkl20jhaj38968"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list
;; Use the native SCSI interface.
"--without-scglib")))
'(#:configure-flags
(list
;; GCDMaster depends on obsolete libgnomeuimm, see
;; <https://github.com/cdrdao/cdrdao/issues/3>.
"--without-gcdmaster"
;; Use the native SCSI interface.
"--without-scglib")
#:phases
(modify-phases %standard-phases
(add-before 'bootstrap 'fix-configure.ac
(lambda _
;; Remove references to missing macros.
(substitute* "configure.ac"
(("^AM_GCONF_SOURCE_2.*") "")
;; This was introduced in autoconf-2.70, but is described
;; as usually not needed in the autoconf documentation.
(("^AC_CHECK_INCLUDES_DEFAULT") "")))))))
(native-inputs
(list autoconf-2.72 automake `(,glib "bin") pkg-config))
(list autoconf automake pkg-config))
(inputs
(list ao gtkmm-3 lame libmad libsigc++-2 libvorbis))
(list ao lame libmad libvorbis))
(home-page "https://cdrdao.sourceforge.net")
(synopsis "Read and write CDs in disk-at-once mode")
(description "cdrdao records audio or data CDs in disk-at-once (DAO) mode,
+49 -18
View File
@@ -131,6 +131,7 @@
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
@@ -1881,6 +1882,7 @@ http server.")
(arguments (list #:tests? #false)) ;no tests included
(native-inputs
(list python-pytest
python-pytest-cov
python-setuptools
python-wheel
python-xmlschema))
@@ -1913,6 +1915,42 @@ XML output")
decorators from external files.")
(license license:expat)))
(define-public python-pytest-random-order
(package
(name "python-pytest-random-order")
(version "1.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-random-order" version))
(sha256
(base32 "104hww3b86jchk41kjhyycr541pd2dfgqkww6lx5y70z9z9xfwj4"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; AttributeError: module 'py' has no attribute 'code'.
#~(list "-k" (string-append "not test_it_works_with_actual_tests"
" and not test_failed_first"
" and not test_doctests"))))
(native-inputs
(list python-pytest-xdist
python-setuptools
python-py
python-wheel))
(propagated-inputs
(list python-pytest))
(home-page "https://github.com/jbasko/pytest-random-order")
(synopsis "Pytest plugin to randomize the order of tests")
(description "@code{pytest-random-order} is a Pytest plugin that
randomizes the order of tests. This can be useful to detect a test that
passes just because it happens to run after an unrelated test that leaves the
system in a favourable state. The plugin allows user to control the level of
randomness they want to introduce and to disable reordering on subsets of
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-runner
(package
(name "python-pytest-runner")
@@ -2695,11 +2733,7 @@ failures and errors instantly.")
"test_is_not_identity"
"test_resolves_builtin_types[object]"
"test_resolves_forwardrefs_to_builtin_types[object]"
"test_timezone_lookup[tzinfo]"
;; hypothesis.errors.FailedHealthCheck: Input generation is slow
#$@(if (target-riscv64?)
'("test_can_run_with_no_db")
'()))
"test_timezone_lookup[tzinfo]")
" and not "))
#:phases
#~(modify-phases %standard-phases
@@ -2922,8 +2956,12 @@ mypy plugins.")
"and not upstream_url"))))
(native-inputs
(list python-pytest
python-pytest-black
python-pytest-checkdocs
python-pytest-cov
python-pytest-enabler
python-pytest-flake8
python-pytest-mypy
python-setuptools
python-wheel))
(propagated-inputs
@@ -3030,28 +3068,21 @@ possible to write plugins to add your own checks.")
(define-public behave
(package
(name "behave")
;; 1.3.3 (2025-09-04), the latest changes provide support for Python
;; 3.12+; move back to git tag when released.
(properties '((commit . "43d0a93240c0b25b0cbf59bdc196b74fb8a2353e")
(revision . "0")))
(version (git-version "1.3.3"
(assoc-ref properties 'revision)
(assoc-ref properties 'commit)))
(version "1.3.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/behave/behave")
(commit (assoc-ref properties 'commit))))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05671jf7scpgqr8chzgs9bxidvf12nlkqqiqxa5qwmykqfvc8nk4"))))
(base32 "1fxj51kailsdakqi7qbw700k258n7r3lv75mgxs45ld5xh2jfyxh"))))
(build-system pyproject-build-system)
;; tests: 1638 passed, 3 skipped, 2 xfailed
(native-inputs
(list python-chardet
python-freezegun
python-charset-normalizer
(list python-assertpy
python-chardet
python-mock
python-path
python-pyhamcrest
python-pytest
+2 -1
View File
@@ -28,6 +28,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
@@ -46,7 +47,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages documentation)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages fortran-xyz)
+12 -11
View File
@@ -302,7 +302,7 @@ will name the threaded machine type unless THREADS? is provided as #f."
(name "chez-scheme-for-racket")
;; The version should match `(scheme-version #t)`.
;; See s/cmacros.ss c. line 360.
(version "10.4.0-pre-release.1-1") ; expect a chez-nanopass-bootstrap update
(version "10.3.0-pre-release.2") ; expect a chez-nanopass-bootstrap update
(source #f)
(build-system gnu-build-system)
(inputs `(,@(if (nix-system->native-chez-machine-type)
@@ -507,7 +507,7 @@ version of Chez Scheme.")
(name "chez-scheme")
;; The version should match `(scheme-version-number #t)`.
;; See s/cmacros.ss c. line 360.
(version "10.4.0") ; expect a chez-nanopass-bootstrap update
(version "10.2.0") ; expect a chez-nanopass-bootstrap update
(source (origin
(method git-fetch)
(uri (git-reference
@@ -515,7 +515,7 @@ version of Chez Scheme.")
(commit (string-append "v" version))))
(sha256
(base32
"079vlkl27qdvsg1rsynmd828m42n98c2dnldkhsxf2slfsqd9kv5"))
"14iv4kfkyvrkigr1n2prf71n2l3vs0sf0549rvh6y4x2faa2l329"))
(file-name (git-file-name name version))
(patches (search-patches "chez-scheme-bin-sh.patch"))
(snippet #~(begin
@@ -840,9 +840,9 @@ User's Guix}, among other documents.")
(define-public chez-nanopass-bootstrap
(hidden-package
(package
(name "chez-nanopass-bootstrap")
(version "1.9.4")
(properties '((chez-nanopass-release-date . "December 29, 2025")))
(name "chez-nanopass")
(version "1.9.2")
(properties `((chez-nanopass-release-date . "October 18, 2020")))
(source
(origin
(method git-fetch)
@@ -850,7 +850,7 @@ User's Guix}, among other documents.")
(url "https://github.com/nanopass/nanopass-framework-scheme")
(commit (string-append "v" version))))
(sha256
(base32 "1qq0vnbrvcialgjgnblfq3qp1ilqg94h0kg896ksd9v4g7ipj9v0"))
(base32 "16vjsik9rrzbabbhbxbaha51ppi3f9n8rk59pc6zdyffs0vziy4i"))
(file-name (git-file-name "nanopass-framework-scheme" version))
(snippet
#~(begin
@@ -929,9 +929,10 @@ create compilers, making them easier to understand and maintain.")
(define-public chez-nanopass
(package
(inherit chez-nanopass-bootstrap)
(name "chez-nanopass")
(version "1.9.4")
(properties '((chez-nanopass-release-date . "December 29, 2025")))
;; This release has a significant bug fix. Expect the next releases of
;; chez-scheme{,-for-racket} to want this for chez-nanopass-bootstrap.
(version "1.9.3")
(properties '((chez-nanopass-release-date . "August 24, 2025")))
(source
(let ((bootstrap-origin (package-source chez-nanopass-bootstrap)))
(origin
@@ -940,7 +941,7 @@ create compilers, making them easier to understand and maintain.")
(url (git-reference-url (origin-uri bootstrap-origin)))
(commit (string-append "v" version))))
(sha256
(base32 "1qq0vnbrvcialgjgnblfq3qp1ilqg94h0kg896ksd9v4g7ipj9v0"))
(base32 "0757x3a3b4kcd3jk52h4ikqzv7cc1mvphlw592f0r5pz99bkxiin"))
(file-name (git-file-name "nanopass-framework-scheme" version)))))
(native-inputs (list chez-scheme stex))))
+47 -95
View File
@@ -20,113 +20,65 @@
(define-module (gnu packages chicken)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix build-system chicken)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix svn-download)
#:use-module ((guix licenses)
#:prefix license:)
#:use-module (srfi srfi-1))
#:prefix license:))
;; This package is build from pre-built C source code, provided in the CHICKEN
;; release tarball. Based on this bootstrap compiler, we build CHICKEN from
;; the Scheme source, thus enabling us to (at least) patch it.
;;
;; See <https://issues.guix.gnu.org/22366>.
(define-public chicken-bootstrap
(hidden-package
(package
(name "chicken-bootstrap")
(version "5.4.0")
(source (origin
(method url-fetch)
(uri (string-append "https://code.call-cc.org/releases/"
version "/chicken-" version ".tar.gz"))
(sha256
(base32
"0pzcrnzkjw2sa44vy59wbygvlc3nva8zisprkdnvyrqi3jk4lp9w"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1))
;; No `configure' script; run "make check" after "make install" as
;; prescribed by README.
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'check)
(add-after 'install 'check
(assoc-ref %standard-phases 'check)))
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list "PLATFORM=linux"
(string-append "PREFIX=" out)
(string-append "VARDIR=" out "/var/lib")))
;; Parallel builds are not supported, as noted in README.
#:parallel-build? #f))
(native-search-paths
(list (search-path-specification
(variable "CHICKEN_REPOSITORY_PATH")
;; TODO extract binary version into a module level definition.
(files (list "var/lib/chicken/11")))))
;; Reference gcc-toolchain lazily to avoid circular module dependency
;; problems.
(propagated-inputs (list (module-ref (resolve-interface
'(gnu packages commencement))
'gcc-toolchain)))
(home-page "https://www.call-cc.org/")
(synopsis "R5RS Scheme implementation that compiles native code via C")
(description
"CHICKEN is a compiler for the Scheme programming language. CHICKEN
pr oduces portable and efficient C, supports almost all of the R5RS Scheme
la nguage standard, and includes many enhancements and extensions.")
(license license:bsd-3))))
;; The CHICKEN compiler is itself written in CHICKEN, the CHICKEN release
;; tarballs includes auto-generated C code to mitigate the compiler
;; bootstrapping problem. To be able to patch the original Scheme source,
;; we compile from this Scheme source here using the chicken-bootstrap
;; compiler obtained from the autogenerated C code.
;;
;; See <https://issues.guix.gnu.org/22366>.
(define-public chicken
(package
(inherit chicken-bootstrap)
(name "chicken")
(version "5.4.0")
(source (origin
(method url-fetch)
(uri (string-append "https://code.call-cc.org/releases/"
version "/chicken-" version ".tar.gz"))
(sha256
(base32
"0pzcrnzkjw2sa44vy59wbygvlc3nva8zisprkdnvyrqi3jk4lp9w"))))
(build-system gnu-build-system)
(arguments
(substitute-keyword-arguments (package-arguments chicken-bootstrap)
((#:phases phases)
#~(modify-phases #$phases
;; CHICKEN contains auto-generated C code, remove it and
;; compile from the Scheme source using chicken-bootstrap.
(add-after 'unpack 'remove-auto-generated-code
(lambda _
(invoke "make" "spotless")))
;; Invoke commands by name, not by path.
;;
;; See <https://codeberg.org/guix/guix/issues/8471>.
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((sh (search-input-file inputs "/bin/sh"))
(cp (search-input-file inputs "/bin/cp")))
(substitute* "egg-compile.scm"
(("/bin/sh") sh)
(("\"cp\"") (string-append "\"" cp "\"")))
(substitute* "posixunix.scm"
(("/bin/sh") sh))
(substitute* "chicken-install.scm"
(("\"sh \"") (string-append "\"" sh " \""))))))))))
(inputs (list chicken-bootstrap))
(properties
(alist-delete 'hidden? (package-properties chicken-bootstrap)))))
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1))
;; No `configure' script; run "make check" after "make install" as
;; prescribed by README.
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'check)
(add-after 'install 'check
(assoc-ref %standard-phases 'check)))
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list "PLATFORM=linux"
(string-append "PREFIX=" out)
(string-append "VARDIR=" out "/var/lib")))
;; Parallel builds are not supported, as noted in README.
#:parallel-build? #f))
(native-search-paths
(list (search-path-specification
(variable "CHICKEN_REPOSITORY_PATH")
;; TODO extract binary version into a module level definition.
(files (list "var/lib/chicken/11")))))
;; Reference gcc-toolchain lazily to avoid circular module dependency
;; problems.
(propagated-inputs (list (module-ref (resolve-interface
'(gnu packages commencement))
'gcc-toolchain)))
(home-page "https://www.call-cc.org/")
(synopsis "R5RS Scheme implementation that compiles native code via C")
(description
"CHICKEN is a compiler for the Scheme programming language. CHICKEN
produces portable and efficient C, supports almost all of the R5RS Scheme
language standard, and includes many enhancements and extensions.")
(license license:bsd-3)))
(define-public chicken-compile-file
(package
+1
View File
@@ -53,6 +53,7 @@
#:use-module (gnu packages llvm)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages maths)
#:use-module (gnu packages ninja)
#:use-module (gnu packages node)
#:use-module (gnu packages nss)
#:use-module (gnu packages pciutils)
+1
View File
@@ -30,6 +30,7 @@
#: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)
#:use-module (gnu packages autotools)
+34 -106
View File
@@ -23,24 +23,19 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages clojure)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages golang)
#:use-module (gnu packages guile)
#:use-module (gnu packages java)
#:use-module (gnu packages maven)
#:use-module (gnu packages)
#:use-module (guix build-system ant)
#:use-module (guix build-system clojure)
#:use-module (guix build-system copy)
#:use-module (guix build-system go)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system ant)
#:use-module (guix build-system copy)
#:use-module (guix build-system clojure))
(define-public clojure-spec-alpha
(package
@@ -382,14 +377,14 @@ designs.")
(define-public clojure-tools
(package
(name "clojure-tools")
(version "1.12.4.1618")
(version "1.12.4.1582")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.clojure.org/install/clojure-tools-"
version
".tar.gz"))
(sha256 (base32 "08fy3k248sbsrbgl0lq3q4d23vp4chdawy230ardx61sssk9sxhk"))
(sha256 (base32 "08gzfblnz0zhnk6pwr9vcm6y168psgrwmqww3wqk1v7j5gr68n7x"))
;; Remove AOT compiled JAR. The other JAR only contains uncompiled
;; Clojure source code.
(snippet
@@ -517,7 +512,7 @@ defining and using monads and useful monadic functions.")
(define-public clojure-core-async
(package
(name "clojure-core-async")
(version "1.9.865")
(version "1.8.741")
(home-page "https://github.com/clojure/core.async")
(source (origin
(method git-fetch)
@@ -527,7 +522,7 @@ defining and using monads and useful monadic functions.")
(file-name (git-file-name name version))
(sha256
(base32
"15pc2m58fscix85gsiwl9dlvw2x6alvc4qni46rry2sr00nfzd3r"))))
"1m6lir2xr119yxz483cz0rfw4k3a40qmmsiwl2y7kyxy65vab60z"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -551,7 +546,7 @@ work on Communicating Sequential Processes (CSP).")
(define-public clojure-core-cache
(package
(name "clojure-core-cache")
(version "1.2.263")
(version "1.2.249")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -560,7 +555,7 @@ work on Communicating Sequential Processes (CSP).")
(file-name (git-file-name name version))
(sha256
(base32
"19q81aki8wb120v6jfylwqgf965mwkhrpcsrs5zazjfjv8vq6glx"))))
"0hdwv5dsx49i12riz3frzshwkgw26ah43667lzga2n6zgpmrh8ii"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -603,7 +598,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.281")
(version "1.2.273")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -612,7 +607,7 @@ It supports Clojure 1.5.1 and later as well as ClojureScript.")
(file-name (git-file-name name version))
(sha256
(base32
"0bnlqs7m69svhfadwy46wgc88j9ma9fhdk4586b4xxppamj6c5j4"))))
"009fj19y464an66pryygmqbnx2dqk5wkp40rbkbgkir0ax0k6j3y"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -739,7 +734,7 @@ maps also support conj/peek/pop operations.")
(define-public clojure-data-xml
(package
(name "clojure-data-xml")
(version "0.2.0-alpha11")
(version "0.2.0-alpha10")
(home-page "https://github.com/clojure/data.xml")
(source (origin
(method git-fetch)
@@ -749,7 +744,7 @@ maps also support conj/peek/pop operations.")
(file-name (git-file-name name version))
(sha256
(base32
"0k7hq3s4zbk0ryhgycivl1dk22fzh60522a57az8ykmixhqjxwhg"))))
"0mnhgrh20p2wwmq8a4631dkpxbgbijwi6sfhw5v784hzkjkfgkh6"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -867,7 +862,7 @@ tree.
(define-public clojure-tools-analyzer
(package
(name "clojure-tools-analyzer")
(version "1.2.2")
(version "1.2.1")
(home-page "https://github.com/clojure/tools.analyzer")
(source (origin
(method git-fetch)
@@ -877,7 +872,7 @@ tree.
(file-name (git-file-name name version))
(sha256
(base32
"07cxphrmd6a3clnalrdqxlyin8l0lw0xhjy2rh9gaizxfv5c23jp"))))
"0apa3gc45rmdj19plbvglpj6i9dadkgvvidj5mcnkzi9y3h0nr27"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -943,7 +938,7 @@ tools.analyzer, providing additional JVM-specific passes.")
(define-public clojure-tools-cli
(package
(name "clojure-tools-cli")
(version "1.4.256")
(version "1.3.250")
(home-page "https://github.com/clojure/tools.cli")
(source (origin
(method git-fetch)
@@ -952,7 +947,7 @@ tools.analyzer, providing additional JVM-specific passes.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1kr1cpypzgzh8pkih5qamsaq8c96jfpcvmn9f330sic2shb53m55"))))
(base32 "1nyw33w83gd7xlbpma03p4jwcdcp38h8y99x2rqw4zcnw19gsz4p"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure/")
@@ -964,25 +959,29 @@ tools.analyzer, providing additional JVM-specific passes.")
work with command-line arguments.")
(license license:epl1.0)))
(define-public clojure-tools-deps-edn
(define-public clojure-tools-deps
(package
(name "clojure-tools-deps-edn")
(version "0.9.22")
(home-page "https://github.com/clojure/tools.deps.edn")
(name "clojure-tools-deps")
(version "0.28.1578")
(home-page "https://github.com/clojure/tools.deps")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"082p6zpbb8vvdc9ncc0d66h3g7sax4pp0h4fymwiv0lakzyq3g9g"))))
"1w3f8cl81q4kln6iz74fnfzms4c4x279ivh1962pcg22q8l1w8d5"))))
(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
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'build 'reference-clojure-jar-input
@@ -993,42 +992,12 @@ work with command-line arguments.")
(string-append "org.clojure/clojure {:local/root \""
(assoc-ref inputs "clojure")
"/share/java/clojure.jar\"}"))))))))
(synopsis "Reader for @file{deps.edn}")
(description "This package provides support for reading and manipulating
@file{deps.edn} files and data structures. It can be used in scenarios where
the @code{tools.deps} library is not needed for dep expansion.")
(license license:epl1.0)))
(define-public clojure-tools-deps
(package
(name "clojure-tools-deps")
(version "0.29.1598")
(home-page "https://github.com/clojure/tools.deps")
(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
"1qds0ri6y8s7419x3pzl9yhhr19qli3l52yg9a78w47h0w6dd1kv"))))
(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
#:tests? #f))
(propagated-inputs (list maven-3.8-core
maven-resolver-1.6-connector-basic
maven-resolver-1.6-transport-http
maven-resolver-1.6-transport-file
clojure-tools-gitlibs
clojure-tools-cli
clojure-tools-deps-edn
clojure-data-xml
cognitect-aws-api))
(synopsis "Clojure library supporting clojure-tools")
@@ -1206,7 +1175,7 @@ asynchronous support.")
(define-public cognitect-aws-api
(package
(name "cognitect-aws-api")
(version "0.8.824")
(version "0.8.800")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1215,7 +1184,7 @@ asynchronous support.")
(file-name (git-file-name name version))
(sha256
(base32
"0ivlcmsr7rvr7741k9wzniv2zxijida0b588nqngm5vrgna816yl"))
"17sxj3mvq4iasr0kchbx2anmrh25v8bvmpam4si704vksmnm28p3"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -1258,44 +1227,3 @@ 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)))
(define-public let-go
(package
(name "let-go")
(version "1.7.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nooga/let-go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "139a129fw3w9a4bcfgms60ll90vy2vmqinbmjn44zmgx4fr2adif"))))
(build-system go-build-system)
(arguments
(list
#:go go-1.26
#:install-source? #f
#:import-path "github.com/nooga/let-go"))
(native-inputs
(list go-github-com-davecgh-go-spew
go-github-com-alimpfard-line
go-github-com-hashicorp-go-uuid
go-github-com-kr-pretty
go-github-com-pmezard-go-difflib
go-github-com-stretchr-testify
go-github-com-zeebo-bencode
go-golang-org-x-sys
go-gopkg-in-check-v1
go-gopkg-in-yaml-v3))
(home-page "https://nooga.github.io/let-go")
(synopsis "Clojure dialect written in Go")
(description
"let-go is a Clojure dialect with a bytecode compiler and a stack virtual
machine, written in the Go programming language.
It is not a drop-in replacement for Clojure JVM. It does not load JARs and
does not aim to. Most idiomatic Clojure code runs unmodified, but a real
project with library dependencies will need adjustments.")
(license license:expat)))
+1 -1
View File
@@ -32,7 +32,7 @@
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages docbook)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages gettext)
#:use-module (gnu packages libevent)
#:use-module (gnu packages linux)
+1
View File
@@ -47,6 +47,7 @@
#:use-module (guix build-system copy)
#:use-module (guix build-system emacs)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
#:use-module (gnu packages)
#:use-module (gnu packages backup)
+1 -1
View File
@@ -25,7 +25,7 @@
#:use-module (guix gexp)
#:use-module (gnu packages bison)
#:use-module (gnu packages dbm)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
+4 -43
View File
@@ -1,8 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012-2013, 2015, 2018, 2020, 2021, 2023, 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2015, 2018, 2020, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018, 2019-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2019-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
@@ -49,6 +49,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module ((guix build-system python) #:select (pypi-uri))
#:use-module (guix build-system pyproject)
#:use-module (guix build-system trivial)
#:use-module (guix build-system go)
@@ -66,7 +67,7 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages elf)
#:use-module (gnu packages emacs)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages golang-build)
@@ -865,46 +866,6 @@ Objective@tie{}C, D, Java, Pawn, and Vala). Features:
the C, C++, C++/CLI, ObjectiveC, C#, and Java programming languages.")
(license license:lgpl3+)))
(define-public idutils
(package
(name "idutils")
(version "4.6")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/idutils/idutils-" version ".tar.xz"))
(sha256
(base32 "1hmai3422iaqnp34kkzxdnywl7n7pvlxp11vrw66ybxn9wxg90c1"))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* (find-files "lib" "\\.c$")
(("#if defined _IO_ftrylockfile")
"#if defined _IO_EOF_SEEN"))
(substitute* "lib/stdio-impl.h"
(("^/\\* BSD stdio derived implementations")
(string-append
"#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN" "\n"
"# define _IO_IN_BACKUP 0x100\n" "#endif\n\n"
"/* BSD stdio derived implementations")))
;; 'gets' is deprecated in glibc 2.33 and its declaration is
;; no longer visible by default from <stdio.h>.
(substitute* "lib/stdio.in.h"
(("_GL_WARN_ON_USE \\(gets.*")
""))))))
(build-system gnu-build-system)
(native-inputs (list emacs-minimal))
(home-page "https://www.gnu.org/software/idutils/")
(synopsis "Identifier database utilities")
(description
"The GNU idutils package includes tools to create an index of textual
tokens used in a list of file names and then to query that index. Thus, it
allows the user to, for example, find all the uses of a particular function
in a large programming project. In addition to handling textual tokens, it
can also handle numeric constants and the contents of character strings.")
(license license:gpl3+)))
(define-public indent
;; XXX: Not released anymore, but some patches fix CVEs.
(let ((commit "1737c929cbe2ec8a181107df9742894a44c57f71")
+1 -1
View File
@@ -42,7 +42,7 @@
#:use-module (gnu packages m4)
#:use-module (gnu packages gawk)
#:use-module (gnu packages bison)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages guile)
#:use-module (gnu packages gettext)
#:use-module (gnu packages multiprecision)
-216
View File
@@ -1,216 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012-2014, 2019, 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2024-2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2020, 2021 Sergei Trofimovich <slyfox@inbox.ru>
;;; Copyright © 2018, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2025 Anderson Torres <anderson.torres.8519@gmail.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 compiler-tools)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bison)
#:use-module (gnu packages gawk)
#:use-module (gnu packages m4)
#:use-module (gnu packages man)
#:use-module (gnu packages python)
#:use-module (gnu packages)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (srfi srfi-1))
(define-public byacc
(package
(name "byacc")
(version "20240109")
(source
(origin
(method url-fetch)
(uri (string-append
"https://invisible-mirror.net/archives/byacc/byacc-"
version ".tgz"))
(sha256
(base32
"0il4w1vwbglayakywyghiqhcjpg1yvv5ww2p8ylz32bi05wpg2gj"))
(snippet
#~(begin
;; Remove machine-generated files
(for-each delete-file
(list "configure"
"btyaccpar.c"
"yaccpar.c"))))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
automake
gawk))
(home-page "https://invisible-island.net/byacc/byacc.html")
(synopsis "Berkeley Yacc LALR parser generator")
(description
"Berkeley Yacc is an LALR(1) parser generator. Yacc reads the grammar
specification from a file and generates an LALR(1) parser for it. The parsers
consist of a set of LALR(1) parsing tables and a driver routine written in the
C programming language.")
(license license:public-domain)))
(define-public flex
(package
(name "flex")
(version "2.6.4")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/westes/flex"
"/releases/download/v" version "/"
"flex-" version ".tar.gz"))
(sha256
(base32
"15g9bv236nzi665p9ggqjlfn4dwck5835vf0bbw2cz7h5c1swyp8"))))
(build-system gnu-build-system)
(arguments
(if (%current-target-system)
(list #:configure-flags
#~'("ac_cv_func_malloc_0_nonnull=yes"
"ac_cv_func_realloc_0_nonnull=yes"))
'()))
(native-inputs
(list help2man
;; m4 is not present in PATH when cross-building
m4))
(inputs
(list
(package
(inherit bison)
(arguments
;; Disable tests, since they require flex.
(substitute-keyword-arguments arguments
((#:tests? _ #f) #f)))
(inputs (modify-inputs inputs
(delete "flex"))))))
(propagated-inputs (list m4))
(home-page "https://github.com/westes/flex")
(synopsis "Fast lexical analyser generator")
(description
"Flex is a tool for generating scanners. A scanner, sometimes
called a tokenizer, is a program which recognizes lexical patterns in
text. The flex program reads user-specified input files, or its standard
input if no file names are given, for a description of a scanner to
generate. The description is in the form of pairs of regular expressions
and C code, called rules. Flex generates a C source file named,
\"lex.yy.c\", which defines the function yylex(). The file \"lex.yy.c\"
can be compiled and linked to produce an executable. When the executable
is run, it analyzes its input for occurrences of text matching the
regular expressions for each rule. Whenever it finds a match, it
executes the corresponding C code.")
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))))
(define-public oyacc
(package
(name "oyacc")
(version "6.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ibara/yacc")
(commit (string-append name "-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1a2nyg2nnh1las40klnp037sapaaph86kjx258cpqcwnk4cv3rnx"))))
(build-system gnu-build-system)
(arguments
(list
#:test-target "test"
#:make-flags
#~(list (string-append "BINDIR=" #$output "/bin")
(string-append "MANDIR=" #$output "/share/man/man1"))))
(home-page "https://github.com/ibara/yacc")
(synopsis "Portable YACC from OpenBSD")
(description
"@command{oyacc} is a portable version of the OpenBSD's
@acronym{yacc, Yet Another Compiler Compiler} program, with no dependencies
besides libc.")
(license license:bsd-2)))
(define-public oyacc-as-yacc-wrapper
(package/inherit oyacc
(name "oyacc-as-yacc-wrapper")
(build-system trivial-build-system)
(arguments
(list
#:builder
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(let ((bindir (string-append #$output "/bin"))
(oyacc (string-append #$(this-package-input "oyacc")
"/bin/oyacc")))
(mkdir-p bindir)
(symlink oyacc (string-append bindir "/yacc")))))))
(inputs (list oyacc))
(description
"This package provides the @command{yacc} command, implemented as a
symbolic link to the @command{oyacc} command from the same-named package.")))
(define-public re2c
(package
(name "re2c")
(version "4.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/skvadrik/" name
"/releases/download/" version "/"
name "-" version ".tar.xz"))
(sha256
(base32
"07ysqgdm0h566a8lwnpdgycp93vz7zskzihsgah3bla0ycj2pp69"))))
(build-system gnu-build-system)
(arguments
(list
#:tests?
(not (or (%current-target-system)
;; TODO: run_tests.py hangs
(system-hurd?)))
#:phases
(if (target-arm32?)
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-sources
(lambda _
(invoke "patch" "-p1" "--force" "--input"
#$(local-file (search-patch
"re2c-Use-maximum-alignment.patch"))))))
#~%standard-phases)))
(native-inputs
(list python)) ; for the test driver
(home-page "https://re2c.org/")
(synopsis "Lexer generator")
(description
"@code{re2c, Regular Expressions to Code} is a flexible lexical analyser.
Instead of using traditional table-driven approaches, it encodes a finite
state machine directly in the code in the form of jumps and comparisons.")
(license license:public-domain)))
+2 -33
View File
@@ -42,7 +42,6 @@
;;; Copyright © 2024 David Elsing <david.elsing@posteo.net>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024, 2025 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2026 Jake Forster <jakecameron.forster@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1476,7 +1475,7 @@ for most inputs, but the resulting compressed files are anywhere from 20% to
(define-public 7zip
(package
(name "7zip")
(version "26.01")
(version "26.00")
(source
(origin
(method git-fetch)
@@ -1484,7 +1483,7 @@ for most inputs, but the resulting compressed files are anywhere from 20% to
(url "https://github.com/ip7z/7zip")
(commit version)))
(sha256
(base32 "0qwzn9pz1m6f8q20cqgmfqp1qx6s7959xnyikpr60n1v8c1mj98q"))
(base32 "1fvgl9qp2pl5c0jmvgbdx6qig3qd80mhxvml42yby8y412x65sh7"))
(file-name (git-file-name name version))
(modules '((guix build utils)
(ice-9 regex)))
@@ -3192,33 +3191,3 @@ exported by the zlib library.")
ratio at the cost of high CPU/memory usage.")
(home-page "https://github.com/byronknoll/cmix")
(license license:gpl3)))
(define-public zlib-ng
(package
(name "zlib-ng")
(version "2.3.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zlib-ng/zlib-ng")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0g4pxy7gc1slw9n6j583hzps32mml30f08gmmg1adsq4y3dl2cny"))))
(build-system cmake-build-system)
(native-inputs (list googletest))
(home-page "https://github.com/zlib-ng/zlib-ng")
(synopsis "Fork of the zlib data compression library")
(description
"zlib-ng is a @code{zlib} replacement with optimizations for next
generation systems.")
(license license:zlib)))
(define-public zlib-ng-compat
(package/inherit zlib-ng
(name "zlib-ng-compat")
(arguments
(substitute-keyword-arguments arguments
((#:configure-flags flags #~(list))
#~(cons "-DZLIB_COMPAT=ON" #$flags))))))
+89 -391
View File
@@ -50,7 +50,6 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages docker)
#:use-module (gnu packages glib)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
@@ -71,7 +70,6 @@
#:use-module (gnu packages networking)
#:use-module (gnu packages package-management)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages prometheus)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
@@ -123,365 +121,6 @@
"This package provides a Go library to read and manipulate checkpoint
archives as created by Podman, CRI-O and containerd.")
(license license:asl2.0)))
(define-public go-github-com-containerd-containerd-v2
(package
(name "go-github-com-containerd-containerd-v2")
(version "2.2.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/containerd/containerd")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0wxy5np689571s6lw77mx63nw75fx85w5svi0jplksmqzmjqp8wd"))
(snippet
#~(begin (use-modules (guix build utils))
(delete-file-recursively "vendor")
;; Submodules with their own go.mod files and packaged separately:
;;
;; - github.com/containerd/containerd/api
(delete-file-recursively "api")))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/containerd/containerd/v2"
#:test-subdirs
#~(list "cmd/protoc-gen-go-fieldpath/..."
"core/containers/..."
"core/content/..."
"core/diff"
"core/diff/apply"
"core/events/..."
"core/images/..."
"core/introspection/..."
"core/leases/..."
"core/metrics/..."
"core/remotes/..."
"core/sandbox/..."
"core/streaming/..."
"core/transfer"
"core/transfer/archive/..."
"core/transfer/image/..."
"core/transfer/local/..."
"core/transfer/plugins/..."
"core/transfer/streaming/..."
"core/unpack/..."
"internal/cleanup/..."
"internal/erofsutils/..."
"internal/eventq/..."
"internal/failpoint/..."
"internal/fsverity/..."
"internal/kmutex/..."
"internal/lazyregexp/..."
"internal/pprof/..."
"internal/randutil/..."
"internal/registrar/..."
"internal/tomlext/..."
"internal/truncindex/..."
"internal/userns/..."
"internal/wintls/..."
"pkg/apparmor/..."
"pkg/archive/..."
"pkg/atomicfile/..."
"pkg/blockio/..."
"pkg/cap/..."
"pkg/cio..."
"pkg/deprecation/..."
"pkg/dialer/..."
"pkg/display/..."
"pkg/epoch/..."
"pkg/fifosync/..."
"pkg/filters/..."
"pkg/gc/..."
"pkg/httpdbg/..."
;; TODO: Check why these submodule fail to build.
;; "client/..."
;; "cmd/containerd-shim-runc-v2/..."
;; "cmd/containerd-stress/..."
;; "cmd/containerd/..."
;; "cmd/ctr/..."
;; "cmd/gen-manpages/..."
;; "contrib/..."
;; "core/diff/proxy"
;; "core/metadata/..."
;; "core/mount/..."
;; "core/runtime/..."
;; "core/snapshots/..."
;; "core/transfer/proxy/..."
;; "core/transfer/registry/..."
;; "integration/..."
;; "internal/cri/..."
;; "internal/nri/..."
;; "pkg/cdi/..."
#;"plugins/...")
#:test-flags
#~(list "-skip" (string-join
;; panic: cannot statfs cgroup root [recovered]
(list "TestValidateConfig"
;; io_test.go:40: failed to start binary process:
;; fork/exec /bin/echo: no such file or directory
"TestNewBinaryIO"
;; expected success: got executable file not found in $PATH
"TestExecutorWithArgs"
"TestSetEnv"
"TestStdIOPipes"
;; panic: cannot statfs cgroup root
"TestContainerCapabilities"
"TestContainerSpecTty"
"TestContainerSpecReadonlyRootfs"
"TestContainerSpecWithExtraMounts"
"TestContainerAndSandboxPrivileged"
"TestPrivilegedBindMount"
"TestCgroupNamespace"
"TestPidNamespace/node_namespace_mode"
;; failed to apply b: invalid argument
"TestDiffTar/IgnoreSockets"
"TestBinDirVerifyImage/max_verifiers_=_-1,_with_timeout"
"TestContainerSpecDefaultPath"
;; Error: Not equal:
;; expected: 1000
;; actual : 123
"TestSetPositiveOomScoreAdjustment")
"|"))))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-dario-cat-mergo
go-github-com-adalogics-go-fuzz-headers
go-github-com-checkpoint-restore-checkpointctl
go-github-com-checkpoint-restore-go-criu-v7
go-github-com-containerd-btrfs-v2
go-github-com-containerd-cgroups-v3
go-github-com-containerd-console
go-github-com-containerd-containerd-api
go-github-com-containerd-continuity
go-github-com-containerd-errdefs
go-github-com-containerd-errdefs-pkg
go-github-com-containerd-fifo
go-github-com-containerd-go-cni
go-github-com-containerd-go-runc
go-github-com-containerd-imgcrypt-v2
go-github-com-containerd-log
go-github-com-containerd-nri
go-github-com-containerd-otelttrpc
go-github-com-containerd-platforms
go-github-com-containerd-plugin
go-github-com-containerd-ttrpc
go-github-com-containerd-typeurl-v2
go-github-com-containerd-zfs-v2
go-github-com-containernetworking-cni
go-github-com-containernetworking-plugins
go-github-com-coreos-go-systemd-v22
go-github-com-davecgh-go-spew
go-github-com-distribution-reference
go-github-com-docker-go-events
go-github-com-docker-go-metrics
go-github-com-docker-go-units
go-github-com-emicklei-go-restful-v3
go-github-com-fsnotify-fsnotify
go-github-com-google-certtostore
go-github-com-google-go-cmp
go-github-com-google-uuid
go-github-com-grpc-ecosystem-go-grpc-middleware-providers-prometheus
go-github-com-intel-goresctrl
go-github-com-klauspost-compress
go-github-com-mdlayher-vsock
;;go-github-com-microsoft-go-winio ;Windows only
;;go-github-com-microsoft-hcsshim ;Windows only
go-github-com-moby-locker
go-github-com-moby-sys-mountinfo
go-github-com-moby-sys-sequential
go-github-com-moby-sys-signal
go-github-com-moby-sys-symlink
go-github-com-moby-sys-user
go-github-com-moby-sys-userns
go-github-com-opencontainers-go-digest
go-github-com-opencontainers-image-spec
go-github-com-opencontainers-runtime-spec
go-github-com-opencontainers-runtime-tools
go-github-com-opencontainers-selinux
go-github-com-pelletier-go-toml-v2
go-github-com-prometheus-client-golang
go-github-com-sirupsen-logrus
go-github-com-tchap-go-patricia-v2
go-github-com-urfave-cli-v2
go-github-com-vishvananda-netlink
go-github-com-vishvananda-netns
go-go-etcd-io-bbolt
go-go-opentelemetry-io-contrib-instrumentation-google-golang-org-grpc-otelgrpc
go-go-opentelemetry-io-contrib-instrumentation-net-http-otelhttp
go-go-opentelemetry-io-otel
go-go-opentelemetry-io-otel-exporters-otlp-otlptrace
go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc
go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracehttp
go-go-opentelemetry-io-otel-sdk
go-go-opentelemetry-io-otel-trace
go-go-uber-org-goleak
go-golang-org-x-mod
go-golang-org-x-sync
go-golang-org-x-sys
go-golang-org-x-time
go-google-golang-org-genproto-googleapis-rpc
go-google-golang-org-grpc
go-google-golang-org-protobuf
go-gopkg-in-inf-v0
go-k8s-io-apimachinery
go-k8s-io-client-go
go-k8s-io-cri-api
go-k8s-io-klog-v2
go-tags-cncf-io-container-device-interface))
(home-page "https://containerd.io/")
(synopsis "Container runtime support daemon")
(description
"Containerd is a container runtime with an emphasis on simplicity,
robustness, and portability. It is available as a daemon, which can manage
the complete container lifecycle of its host system: image transfer and
storage, container execution and supervision, low-level storage and network
attachments, etc.")
(license license:asl2.0)))
(define-public go-github-com-containers-gvisor-tap-vsock
(package
(name "go-github-com-containers-gvisor-tap-vsock")
(version "0.8.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/containers/gvisor-tap-vsock")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xz710dmy58gngd0qizjw8g9nkraksqald8vzhwc5h36dqkc8nrf"))
(modules '((guix build utils)))
(snippet
#~(begin
(delete-file-recursively "vendor")
;; Submodules with their own go.mod files and packaged separately:
;;
;; - github.com/containers/gvisor-tap-vsock/tools
(delete-file-recursively "tools")))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/containers/gvisor-tap-vsock"
#:unpack-path "github.com/containers/gvisor-tap-vsock"
#:build-flags
#~(list (string-append "-ldflags="
"-X github.com/containers/gvisor-tap-vsock"
"/pkg/types.gitVersion=" #$version))
#:test-flags
#~(list "-skip"
(string-join
;; Received unexpected error:
;; listen unix /tmp/guix-.../test.sock: bind: invalid argument
(list "TestNotificationSender_Success"
;; Requires network
"TestSuite"
"TestDNS")
"|"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'prune-tests
(lambda* (#:key unpack-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" unpack-path)
;; Requires working DNS.
(substitute* "pkg/services/dns/dns_test.go"
(("Should pass DNS requests to default system DNS.*" all)
(string-append all "\n" "ginkgo.Skip(\"No network.\");"))
(("\"redhat.com\",")
"\"localhost\",")
(("\"52.200.142.250\"")
"\"127.0.0.1\""))))))))
(native-inputs
(list go-github-com-stretchr-testify
go-github-com-foxcpp-go-mockdns))
(propagated-inputs
(list go-github-com-apparentlymart-go-cidr
go-github-com-containers-winquit
go-github-com-coreos-stream-metadata-go
go-github-com-dustin-go-humanize
go-github-com-google-gopacket
go-github-com-inetaf-tcpproxy
go-github-com-insomniacslk-dhcp
;; go-github-com-linuxkit-virtsock ;Windows only
go-github-com-mdlayher-vsock
;; go-github-com-microsoft-go-winio ;Windows only
go-github-com-miekg-dns
go-github-com-onsi-ginkgo
go-github-com-onsi-gomega
go-github-com-opencontainers-go-digest
go-github-com-sirupsen-logrus
go-github-com-songgao-packets
go-github-com-songgao-water
go-github-com-vishvananda-netlink
go-golang-org-x-crypto
go-golang-org-x-mod
go-golang-org-x-sync
go-golang-org-x-sys
go-gopkg-in-yaml-v3
go-gvisor-dev-gvisor))
(home-page "https://github.com/containers/gvisor-tap-vsock")
(synopsis "Network stack for virtualization based on gVisor")
(description "This package provides a replacement for @code{libslirp} and
@code{VPNKit}, written in pure Go. It is based on the network stack of gVisor
and brings a configurable DNS server and dynamic port forwarding.
It can be used with QEMU, Hyperkit, Hyper-V and User-Mode Linux.
The binary is called @command{gvproxy}.")
(license license:asl2.0)))
(define-public go-github-com-rootless-containers-rootlesskit-v3
(package
(name "go-github-com-rootless-containers-rootlesskit-v3")
(version "3.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rootless-containers/rootlesskit")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0giw1whjpm64h8f1iamgym246rr3wl01w7zgw4lygrj7dqk3clmb"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/rootless-containers/rootlesskit/v3"))
(propagated-inputs
(list go-github-com-containernetworking-plugins
go-github-com-containers-gvisor-tap-vsock
go-github-com-gofrs-flock
go-github-com-google-uuid
go-github-com-gorilla-mux
go-github-com-insomniacslk-dhcp
go-github-com-masterminds-semver-v3
go-github-com-moby-sys-mountinfo
go-github-com-moby-vpnkit
go-github-com-sirupsen-logrus
go-github-com-songgao-water
go-github-com-urfave-cli-v2
go-golang-org-x-sync
go-golang-org-x-sys
go-gotest-tools-v3))
(home-page "https://github.com/rootless-containers/rootlesskit")
(synopsis "Linux-native fakeroot using user namespaces in Golang")
(description
"@code{RootlessKit} is a Linux-native implementation of \"fake root\" using
@url{http://man7.org/linux/man-pages/man7/user_namespaces.7.html,(code
user_namespaces(7))}. It is used to run containers engines as an
unprivileged user, known as \"Rootless mode\".")
(license license:asl2.0)))
;;;
;;; Executables:
@@ -511,7 +150,7 @@ as created by Podman, CRI-O and containerd.")))
(define-public crun
(package
(name "crun")
(version "1.27.1")
(version "1.26")
(source
(origin
(method url-fetch)
@@ -521,7 +160,7 @@ as created by Podman, CRI-O and containerd.")))
"/crun-" version ".tar.gz"))
(sha256
(base32
"1w782s95f3xvw3fb66l2ciqkqsg4bk7n9ph31jmvn669ap272ymy"))))
"1hdwk5dpsz9danxiyfli07b7sqid6hr34qmhs5qjl2dcc00is89j"))))
(build-system gnu-build-system)
(arguments
(list
@@ -906,7 +545,7 @@ Layer-4 sockets.")
(define-public cni-plugins
(package
(name "cni-plugins")
(version "1.9.1")
(version "1.9.0")
(source
(origin
(method git-fetch)
@@ -915,7 +554,7 @@ Layer-4 sockets.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "12z6w2jk6xgfiwdxys7skpkxldz1cgaa7scgfcr90lsghay59s6w"))
(base32 "0l3jgbizq0yaxld07hsdbh6ix2w6i789101ddk0ldnsmr93jg6ni"))
(snippet
#~(begin (use-modules (guix build utils))
(delete-file-recursively "vendor")))))
@@ -956,33 +595,92 @@ configure network interfaces in Linux containers.")
(license license:asl2.0)))
(define-public gvisor-tap-vsock
(package/inherit go-github-com-containers-gvisor-tap-vsock
(package
(name "gvisor-tap-vsock")
(version "0.8.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/containers/gvisor-tap-vsock")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xz710dmy58gngd0qizjw8g9nkraksqald8vzhwc5h36dqkc8nrf"))
(modules '((guix build utils)))
(snippet
#~(begin
(delete-file-recursively "vendor")
;; Submodules with their own go.mod files and packaged separately:
;;
;; - github.com/containers/gvisor-tap-vsock/tools
(delete-file-recursively "tools")))))
(build-system go-build-system)
(arguments
(substitute-keyword-arguments arguments
((#:install-source? _ #t) #f)
((#:skip-build? _ #t) #f)
((#:tests? _ #t) #f)
((#:phases _ '%standard-phases)
#~(modify-phases %standard-phases
;; Build binary outputs are taken from project's Makefile.
(replace 'build
(lambda arguments
(for-each
(lambda (cmd)
(apply (assoc-ref %standard-phases 'build)
`(,@arguments #:import-path ,cmd)))
(list "github.com/containers/gvisor-tap-vsock/cmd/gvproxy"
"github.com/containers/gvisor-tap-vsock/cmd/qemu-wrapper"
"github.com/containers/gvisor-tap-vsock/cmd/vm"))))
(add-after 'install 'fix-bin-name
(lambda _
(rename-file (string-append #$output "/bin/vm")
(string-append #$output "/bin/gvforwarder"))))))))
(list
#:install-source? #f
#:import-path "github.com/containers/gvisor-tap-vsock/cmd/gvproxy"
#:unpack-path "github.com/containers/gvisor-tap-vsock"
#:build-flags
#~(list (string-append "-ldflags="
"-X github.com/containers/gvisor-tap-vsock"
"/pkg/types.gitVersion=" #$version))
#:test-flags
;; serve UDP error: *net.OpError read udp 127.0.0.1:5354: use of closed
;; network connection
#~(list "-skip" "TestSuite")
#:test-subdirs
#~(list "../../...") ;test the whole library
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'prune-tests
(lambda* (#:key unpack-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" unpack-path)
;; Requires working DNS.
(substitute* "pkg/services/dns/dns_test.go"
(("Should pass DNS requests to default system DNS.*" all)
(string-append all "\n" "ginkgo.Skip(\"No network.\");"))
(("\"redhat.com\",")
"\"localhost\",")
(("\"52.200.142.250\"")
"\"127.0.0.1\""))))))))
(native-inputs
(package-propagated-inputs go-github-com-containers-gvisor-tap-vsock))
(propagated-inputs '())
(inputs '())))
(list go-github-com-apparentlymart-go-cidr
go-github-com-containers-winquit
go-github-com-coreos-stream-metadata-go
go-github-com-dustin-go-humanize
go-github-com-foxcpp-go-mockdns
go-github-com-google-gopacket
go-github-com-inetaf-tcpproxy
go-github-com-insomniacslk-dhcp
;; go-github-com-linuxkit-virtsock ;Windows only
go-github-com-mdlayher-vsock
;; go-github-com-microsoft-go-winio ;Windows only
go-github-com-miekg-dns
go-github-com-onsi-ginkgo
go-github-com-onsi-gomega
go-github-com-opencontainers-go-digest
go-github-com-sirupsen-logrus
go-github-com-songgao-packets
go-github-com-songgao-water
go-github-com-stretchr-testify
go-github-com-vishvananda-netlink
go-golang-org-x-crypto
go-golang-org-x-mod
go-golang-org-x-sync
go-golang-org-x-sys
go-gopkg-in-yaml-v3
go-gvisor-dev-gvisor))
(home-page "https://github.com/containers/gvisor-tap-vsock")
(synopsis "Network stack for virtualization based on gVisor")
(description "This package provides a replacement for @code{libslirp} and
@code{VPNKit}, written in pure Go. It is based on the network stack of gVisor
and brings a configurable DNS server and dynamic port forwarding.
It can be used with QEMU, Hyperkit, Hyper-V and User-Mode Linux.
The binary is called @command{gvproxy}.")
(license license:asl2.0)))
(define-public catatonit
(package
@@ -1187,7 +885,7 @@ being rootless and not requiring any daemon to be running.")
(define-public buildah
(package
(name "buildah")
(version "1.43.1")
(version "1.43.0")
(source
(origin
(method git-fetch)
@@ -1195,7 +893,7 @@ being rootless and not requiring any daemon to be running.")
(url "https://github.com/containers/buildah")
(commit (string-append "v" version))))
(sha256
(base32 "00x4ja5n49jmkmiv54mmkihks9pnjnna7s7py57in6pc9g85xj2y"))
(base32 "0pwdd0mxhxy530c2sbsz0rnnb1jyl41rvnqn9ywfgb6lz5f4ja2a"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
+1 -1
View File
@@ -35,7 +35,7 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages emacs)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages gawk)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ocaml)
+1 -71
View File
@@ -23,7 +23,7 @@
(define-module (gnu packages coreboot)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages pciutils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cargo)
@@ -127,76 +127,6 @@ formats:
It also comes with example files generated by bincfg.")
(license license:gpl3+)))
(define-public bucts
(package
(name "bucts")
(version %coreboot-version)
(source %coreboot-origin)
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ;no tests
#:make-flags #~(list (string-append "CC=" #$(cc-for-target)))
#:phases #~(modify-phases %standard-phases
(delete 'configure) ;no configure script
(add-after 'unpack 'enter-source
(lambda _
(chdir "util/bucts")))
(add-after 'enter-source 'set-version
(lambda _
(substitute* "Makefile"
(("^VERSION:=*")
#$(string-append "VERSION:=" version)))))
;; no install target
(replace 'install
(lambda _
(let ((bin (string-append #$output "/bin"))
(doc (string-append #$output "/share/doc/bucts/"))
(licenses (string-append #$output
"/share/licenses/bucts/")))
(install-file "bucts" bin)
(install-file "readme.md" doc)
(install-file "../../COPYING" licenses)))))))
(inputs (list pciutils))
(home-page "https://coreboot.org")
(synopsis "Tool to swap the BIOS bootblock and backup bootblock on the
Intel I945 chipsets")
(description
"The @command{bucts} command can flip a bit in the BUC.TS register of the
Intel I945 chipsets and show the register status. When the bit is set, it
swaps the bootblock location. Because the bootblock region is often set
read-only by the default BIOS, this enables to bypass that restriction and is
used as part of a procedure to replace the nonfree BIOS with free software on
various computers (Lenovo X60, X60s, X60T, T60, probably more).")
(license license:gpl2)))
(define-public ectool
(package
(name "ectool")
(version %coreboot-version)
(source %coreboot-origin)
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; no test suite
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
"INSTALL=install"
(string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "util/ectool")))
(delete 'configure)))) ; no configure script
(home-page "https://doc.coreboot.org/util.html")
(synopsis "Tool to dump and modify @acronym{EC, Embedded Controller} RAM
on computers such as laptops")
(description "This package provides @command{ectool}, a program to dump
and modify the contents of @acronym{EC, Embedded Controller} RAM
on mobile computers.")
(license license:gpl2)))
(define-public ifdtool
(package
(name "ifdtool")
+4 -148
View File
@@ -28,7 +28,7 @@
;;; Copyright © 2022-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2022 muradm <mail@muradm.net>
;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2022, 2026 Arun Isaac <arunisaac@systemreboot.net>
;;; 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>
@@ -53,7 +53,6 @@
;;; Copyright © 2025 Murilo <murilo@disroot.org>
;;; Copyright © 2026 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
;;; Copyright © 2026 bdunahu <bdunahu@operationnull.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -80,6 +79,7 @@
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system scons)
#:use-module (guix modules)
@@ -937,85 +937,6 @@ inspired by the @url{https://github.com/gruns/icecream, Python library} of the
same name.")
(license license:expat)))
(define-public tinyformat
(package
(name "tinyformat")
(version "2.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/c42f/tinyformat")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0j8bxrg7i4rn98iqpfh03krshgcbwh8hq8nm0p3sfdqpira3vi3y"))))
(build-system cmake-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(replace 'install
(lambda _
(install-file "../source/tinyformat.h"
(string-append #$output "/include")))))))
(home-page "https://github.com/c42f/tinyformat")
(synopsis "Minimal, type-safe printf replacement library for C++")
(description "@code{tinyformat} is a type-safe @code{printf} replacement
library in a single C++ header file. Design goals include:
@itemize
@item Type-safety and extensibility for user defined types
@item C99 @code{printf} compatibility, to the extent possible using
@code{std::ostream}
@item POSIX extension for positional arguments
@item Simplicity and minimalism; a single header file to include and
distribute with your projects
@item Augment rather than replace the standard stream formatting mechanism
@item C++98 support, with optional C++11 niceties
@end itemize")
(license license:boost1.0)))
(define-public span
(let ((commit "836dc6a0efd9849cb194e88e4aa2387436bb079b")
(revision "0"))
(package
(name "span")
(version (git-version "0.1.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tcbrindle/span")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1v3x1mj4if8jrr7cmrcbhv8n8ygla0liqb0dic6g6ji7px2pr6jf"))
(snippet
#~(delete-file "test/catch.hpp"))))
(build-system cmake-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-catch2
(lambda _
;; Use catch2 from Guix.
(substitute* (find-files "test" "\\.cpp$")
(("#include \"catch.hpp\"")
"#include <catch2/catch.hpp>"))))
(replace 'install
(lambda _
(install-file "../source/include/tcb/span.hpp"
(string-append #$output "/include")))))))
(native-inputs
(list catch2))
(home-page "https://github.com/tcbrindle/span")
(synopsis "C++20's @code{std::span} shim for older compilers")
(description "This package provides a single-header implementation of
C++20's @code{std::span}, conforming to the C++20 committee draft. It is
compatible with C++11, but will use newer language features if they are
available.")
(license license:boost1.0))))
(define-public google-highway
(package
(name "google-highway")
@@ -1434,9 +1355,6 @@ data transfer object.")
(define-public nlohmann-json
(package
(name "nlohmann-json")
;; XXX: Merge related package `nlohmann-json-no-char8-t' back into here when
;; updating from 3.12.0, as the unique patch it applies will already be
;; incorporated in.
(version "3.12.0")
(home-page "https://github.com/nlohmann/json")
(source
@@ -1510,46 +1428,6 @@ intuitive syntax and trivial integration.")
(define-deprecated-package json-modern-cxx
nlohmann-json)
(define-public nlohmann-json-no-char8-t
(package
;; XXX: Version 3.12.0 does not work without char8_t support.
;; OpenRCT2 compiles with -fno-char8_t, and thus requires this patch.
;; See https://github.com/nlohmann/json/pull/4736
(inherit nlohmann-json)
(name "nlohmann-json-no-char8-t")
(version "3.12.0")
(source
(origin
(method git-fetch)
(uri (git-reference (url "https://github.com/nlohmann/json")
(commit (string-append "v" version))))
(sha256
(base32 "09nqq56ighr3lghhn3fs399lkllghz717j0xyp87x0giw86ayh3h"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
#~(begin
;; Delete bundled software. Preserve doctest_compatibility.h, which
;; is a wrapper library added by this package.
(install-file "./tests/thirdparty/doctest/doctest_compatibility.h"
"/tmp")
(delete-file-recursively "./tests/thirdparty")
(install-file "/tmp/doctest_compatibility.h"
"./tests/thirdparty/doctest")
;; Adjust for the unbundled fifo_map and doctest.
(substitute* (find-files "./tests/" "\\.h(pp)?")
(("#include \"doctest\\.h\"") "#include <doctest/doctest.h>")
(("#include <doctest\\.h>") "#include <doctest/doctest.h>"))
(with-directory-excursion "tests/src"
(let ((files (find-files "." "\\.cpp$")))
(substitute* files
(("#include ?\"(fifo_map.hpp)\"" all fifo-map-hpp)
(string-append
"#include <fifo_map/" fifo-map-hpp ">")))))))
(patches
(search-patches "nlohmann_json_fix_char8_t.patch"))))))
(define-public jthread
(let ((commit "0fa8d394254886c555d6faccd0a3de819b7d47f8")
(revision "0"))
@@ -2060,7 +1938,8 @@ using the string similarity calculations from FuzzyWuzzy.")
(add-after 'unpack 'fix-pytest-config
(lambda _
(substitute* "pyproject.toml"
(("\"pytest-cov\", ") "")))))))
((" \"pytest-cov\", ") "")
((" --cov-fail-under=90 --cov=cpplint") "")))))))
(native-inputs
(list python-pytest
python-pytest-timeout
@@ -4524,29 +4403,6 @@ file name and location, as well as filters with friendly names (such as
"This package provides a simple S-Expression parser for C++.")
(license license:gpl3+))))
(define-public sfl-library
(package
(name "sfl-library")
(version "2.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/slavenf/sfl-library")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1ngy86b9y1b8a4j37c14m1jrg0q5b12jj8b0gdnpl5sjb1r2fljk"))))
(build-system cmake-build-system)
(arguments (list #:tests? #f)) ;no tests
(home-page "https://github.com/slavenf/sfl-library")
(synopsis "Header-only C++11/20 container library")
(description "sfl-library provides many STL-like (Standard Template Library)
containers including vectors, associative containers, and unordered containers
based on hash tables. These containers are designed for C++11 and C++20
constant expression usage.")
(license license:zlib)))
(define-public string-view-lite
(package
(name "string-view-lite")
+537 -953
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -105,6 +105,7 @@
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
+1
View File
@@ -62,6 +62,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix download)
#:use-module (guix git-download)
+14 -4
View File
@@ -31,6 +31,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (gnu packages databases)
#:use-module (gnu packages check)
#:use-module (gnu packages cpp)
@@ -111,7 +112,7 @@ Refresh}in-DRAM mitigations effectively and as such can trigger bit flips.")
(define-public gallia
(package
(name "gallia")
(version "2.1.1")
(version "2.0.2")
(source
(origin
(method git-fetch)
@@ -120,7 +121,7 @@ Refresh}in-DRAM mitigations effectively and as such can trigger bit flips.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04xzh5fi18wrkjs7sqwlv344jf54njvnly042rhxq3x5jrvpvkdw"))))
(base32 "1yvjpwpqq6r6glfm4qzb8j91d2gsfy4lvygd9z9pg2j6jvcq6f6s"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -132,16 +133,25 @@ Refresh}in-DRAM mitigations effectively and as such can trigger bit flips.")
#:test-flags #~(list "tests/pytest")))
(native-inputs
(list python-poetry-core
python-pygit2
python-pytest
python-pytest-asyncio))
(inputs
(list python-aiosqlite
(list python-aiofiles
python-aiosqlite
python-argcomplete
python-boltons
python-can
python-construct
python-exitcode
python-httpx
python-more-itertools
python-msgspec
python-platformdirs
python-psutil
python-pydantic
python-pygit2
python-tabulate
python-wcwidth
python-zstandard))
(home-page "https://github.com/Fraunhofer-AISEC/gallia")
(synopsis "Extendable Pentesting Framework")
+116 -237
View File
@@ -32,7 +32,7 @@
;;; Copyright © 2017 Kristofer Buffington <kristoferbuffington@gmail.com>
;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018, 2021-2023, 2026 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2018, 2021, 2022, 2023 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
@@ -109,7 +109,7 @@
#:use-module (gnu packages dbm)
#:use-module (gnu packages docbook)
#:use-module (gnu packages emacs)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
@@ -131,7 +131,6 @@
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages language)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libevent)
@@ -148,7 +147,6 @@
#:use-module (gnu packages networking)
#:use-module (gnu packages node)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages openldap)
#:use-module (gnu packages openstack)
#:use-module (gnu packages pantheon)
#:use-module (gnu packages parallel)
@@ -177,7 +175,6 @@
#:use-module (gnu packages ruby)
#:use-module (gnu packages ruby-check)
#:use-module (gnu packages ruby-xyz)
#:use-module (gnu packages security-token)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages ssh)
@@ -208,6 +205,7 @@
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system ruby)
#:use-module (guix build-system cmake)
@@ -1063,31 +1061,6 @@ auto-completion and syntax highlighting.")
\"special\", or \"backslash commands\") on PostgreSQL.")
(license license:bsd-3)))
(define-public python-sqlite-anyio
(package
(name "python-sqlite-anyio")
(version "0.2.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/davidbrochart/sqlite-anyio")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "075fnrrwzn9xc2clkcsyfycjc870khcwnpdg4g726qwl44pfzy2a"))))
(build-system pyproject-build-system)
(arguments
(list
#:build-backend "poetry.core.masonry.api")) ;XXX: python-uv-build is required
(propagated-inputs (list python-anyio python-typing-extensions))
(native-inputs (list python-poetry-core python-pytest))
(home-page "https://github.com/davidbrochart/sqlite-anyio")
(synopsis "Asynchronous client for SQLite using AnyIO")
(description "This package provides an asynchronous client for SQLite
using @code{AnyIO}.")
(license license:expat)))
(define-public python-sqlitedict
(package
(name "python-sqlitedict")
@@ -1186,196 +1159,104 @@ autocompletion and syntax highlighting.")
auto-completion and syntax highlighting.")
(license license:bsd-3)))
;; XXX When updating, check whether boost-for-mysql is still needed.
;; It might suffice to patch cmake/boost.cmake as done in the past.
(define-public mysql
(package
(name "mysql")
(version "9.7.0")
(version "5.7.33")
(source (origin
(method url-fetch)
(uri (list (string-append
"https://cdn.mysql.com/Downloads/MySQL-"
(method url-fetch)
(uri (list (string-append
"https://dev.mysql.com/get/Downloads/MySQL-"
(version-major+minor version) "/"
name "-" version ".tar.gz")
(string-append
"https://downloads.mysql.com/archives/get/file/"
name "-" version ".tar.gz")))
(sha256
(base32
"0v9hc8yzp0f5pwl4kr1a8k7lwyf62g95klxb6avfrc2npjx79dbl"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
(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 bundled source libraries.
(delete-all-but "extra"
;; XXX: The build system doesn't currently
;; support unbundling these.
"json" ;used by bundled opentelemetry
"libbacktrace"
"libcno"
"opentelemetry-cpp"
"opentelemetry-proto"
"rapidjson"
"unordered_dense"
"xxhash")))))
(sha256
(base32
"1bb343mf7n0qg2qz497gxjsqprygrjz1q1pbz76hgqxnsy08sfxd"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ;FIXME: teach build system to use system googletest
#:configure-flags
#~(list "-DBUILD_CONFIG=mysql_release"
"-DWITH_AUTHENTICATION_LDAP=ON"
"-DWITH_AUTHENTICATION_WEBAUTHN=ON"
"-DWITH_BENCHMARK=OFF"
;; XXX: BUILD_ID is disabled so that the INFO_BIN target is not
;; run; this target relies on running mysqld before it is
;; installed, which fails in our case.
"-DWITH_BUILD_ID=OFF"
"-DWITH_FIDO=system"
"-DWITH_SYSTEM_LIBS=ON"
"-DWITH_UNIT_TESTS=OFF" ;avoid bundled googletest
"-DREPRODUCIBLE_BUILD=ON"
"-DMYSQL_DATADIR=/var/lib/mysql"
"-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
"-DINSTALL_INFODIR=share/info"
"-DINSTALL_MANDIR=share/man"
"-DINSTALL_PLUGINDIR=lib/mysql/plugin"
"-DINSTALL_INCLUDEDIR=include/mysql"
"-DINSTALL_DOCREADMEDIR=share/mysql/docs"
"-DINSTALL_SUPPORTFILESDIR=share/mysql"
"-DINSTALL_MYSQLSHAREDIR=share/mysql"
"-DINSTALL_MYSQLTESTDIR=OFF"
"-DINSTALL_DOCDIR=share/mysql/docs"
"-DINSTALL_SHAREDIR=share/mysql")
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'disable-broken-abi-check
(lambda _
;; The ABI check started failing with MySQL 9.7.0 for unknown
;; reasons.
(substitute* "cmake/abi_check.cmake"
(("RUN_ABI_CHECK 1")
"RUN_ABI_CHECK 0"))))
(add-after 'install 'remove-extra-binaries
(lambda _
;; Remove the 3 *_embedded files, which weigh in at
;; 14 MiB each.
(for-each delete-file
(find-files (string-append #$output "/bin")
"_embedded$"))))
(add-after 'install 'wrap-mysql_helpers
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((bin (string-append #$output "/bin"))
(gawk (search-input-file inputs "bin/gawk"))
(coreutils (search-input-file inputs "bin/ls"))
(grep (search-input-file inputs "bin/grep"))
(ps (search-input-file inputs "bin/ps"))
(sed (search-input-file inputs "bin/sed")))
(wrap-program (search-input-file outputs "bin/mysql_config")
`("PATH" suffix
,(list (dirname gawk)
(dirname coreutils)
(dirname sed))))
(wrap-program (search-input-file outputs "bin/mysqld_safe")
`("PATH" suffix
,(list (dirname gawk)
(dirname coreutils)
(dirname grep)
(dirname ps)
(dirname sed)))))))
(add-after 'install 'fix-permissions
;; XXX: Otherwise, the guix daemon reports: "suspicious ownership
;; or permission on `/gnu/store/...-mysql-9.7.0'; rejecting this
;; build output".
(lambda _
(chmod #$output #o755))))))
`(#:configure-flags
'("-DBUILD_CONFIG=mysql_release"
"-DWITH_SSL=system"
"-DWITH_ZLIB=system"
"-DDEFAULT_CHARSET=utf8"
"-DDEFAULT_COLLATION=utf8_general_ci"
"-DMYSQL_DATADIR=/var/lib/mysql"
"-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
"-DINSTALL_INFODIR=share/mysql/docs"
"-DINSTALL_MANDIR=share/man"
"-DINSTALL_PLUGINDIR=lib/mysql/plugin"
"-DINSTALL_SCRIPTDIR=bin"
"-DINSTALL_INCLUDEDIR=include/mysql"
"-DINSTALL_DOCREADMEDIR=share/mysql/docs"
"-DINSTALL_SUPPORTFILESDIR=share/mysql"
"-DINSTALL_MYSQLSHAREDIR=share/mysql"
"-DINSTALL_DOCDIR=share/mysql/docs"
"-DINSTALL_SHAREDIR=share/mysql"
;; Get rid of test data.
"-DINSTALL_MYSQLTESTDIR="
"-DINSTALL_SQLBENCHDIR=")
#:phases (modify-phases %standard-phases
(add-after
'install 'remove-extra-binaries
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; Remove the 3 *_embedded files, which weigh in at
;; 14 MiB each.
(for-each delete-file
(find-files (string-append out "/bin")
"_embedded$"))
#t)))
(add-after
'install 'wrap-mysql_helpers
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(awk (assoc-ref inputs "gawk"))
(coreutils (assoc-ref inputs "coreutils"))
(grep (assoc-ref inputs "grep"))
(ps (assoc-ref inputs "procps"))
(sed (assoc-ref inputs "sed")))
(wrap-program (string-append bin "/mysql_config")
`("PATH" ":" suffix
(,(string-append awk "/bin")
,(string-append coreutils "/bin")
,(string-append sed "/bin"))))
(wrap-program (string-append bin "/mysqld_safe")
`("PATH" ":" suffix
(,(string-append awk "/bin")
,(string-append coreutils "/bin")
,(string-append grep "/bin")
,(string-append ps "/bin")
,(string-append sed "/bin"))))))))))
(native-inputs
(list bison perl pkg-config))
(inputs
(list bash-minimal
boost
boost-for-mysql
coreutils
curl
cyrus-sasl
gawk
grep
icu4c
libaio
libedit
libfido2
libtirpc
lz4
mit-krb5
ncurses
openldap
openssl
protobuf
openssl-1.1
procps
rpcsvc-proto ; rpcgen
rpcsvc-proto ; rpcgen
sed
zlib
`(,zstd "lib")))
zlib))
(home-page "https://www.mysql.com/")
(synopsis "Fast, easy to use, and popular database")
(description
"MySQL is a fast, reliable, and easy to use relational database
management system that supports the standardized Structured Query
Language.")
(license license:gpl2))) ;v2 only -- see 'Election of GPLv2' in LICENSE
(define-public mysql-connector-python
(package
(name "mysql-connector-python")
(version "9.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mysql/mysql-connector-python")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0zdm35apj1cfraxwlqfmr04pm87qpw73ilb8p88cn08zsa8q11hg"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
;; Our protobuf is too old for the mysqlx dev API, so use the
;; classic one without the C modules.
(chdir "mysql-connector-python")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; Some of these tests might be failing due to the build
;; container's restrictions, others are due to the version
;; mismatch.
(mkdir-p "/tmp/datadir")
(invoke "python3" "unittests.py"
"--verbosity=3"
(string-append "--with-mysql=" #$(this-package-input "mysql"))
"--keep"
"--mysql-topdir=/tmp/datadir"
"--unix-socket=/tmp/datadir")))))))
(native-inputs (list python-setuptools))
(inputs (list mysql openssl zlib `(,zstd "lib")))
(home-page "https://dev.mysql.com/doc/connector-python/en/index.html")
(synopsis "MySQL driver written in Python")
(description "MySQL Connector/Python enables Python programs to access
MySQL databases, using an API that is compliant with the Python Database API
Specification v2.0 (PEP 249).")
(license license:gpl2)))
(define-deprecated-package python-mysql-connector-python
mysql-connector-python)
(define-public mariadb
(package
(name "mariadb")
@@ -1672,14 +1553,14 @@ and high-availability (HA).")
(define-public postgresql-17
(package
(name "postgresql")
(version "17.10")
(version "17.7")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"144cb40gn1lasvz0jvz4i72mda8k7pm1bx6azq2vggfddm8h72h7"))
"1dg9labqgph2idaypb8khdvbag29pr3h4bqv5w8k7kgc08rk97pg"))
(patches (search-patches
"postgresql-disable-normalize_exec_path.patch"))))
(build-system gnu-build-system)
@@ -1742,14 +1623,14 @@ pictures, sounds, or video.")
(package
(inherit postgresql-17)
(name "postgresql")
(version "16.14")
(version "16.10")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"0w9lgsn03m4k0v3m622v7fk3gqbfbjvwv34mrrc0i4ip4wa7gl7n"))
"0hib575m9x3z8c71gkcv9jsyq77d3qk7q2zgzvfy6clwrvs8b16y"))
(patches (search-patches
"postgresql-disable-normalize_exec_path.patch"))))
(arguments
@@ -1773,14 +1654,14 @@ pictures, sounds, or video.")
(package
(inherit postgresql-16)
(name "postgresql")
(version "15.18")
(version "15.15")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"1d13qckpslfqamdmp23q3rbzxlp1rqwszylilyllpsp3gzwhvpqi"))
"1ais46b2ij38y75i1w336as03pybyndsd2pp2q8gdjq9igmsllsp"))
(patches (search-patches
"postgresql-disable-resolve_symlinks.patch"))))
(native-inputs (modify-inputs native-inputs
@@ -1793,7 +1674,6 @@ pictures, sounds, or video.")
(inherit postgresql-15)
(name "postgresql")
(version "14.20")
(replacement postgresql-14.23)
(source (origin
(inherit (package-source postgresql-15))
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
@@ -1802,19 +1682,6 @@ pictures, sounds, or video.")
(base32
"0sv45dsmyplfys6dfdjdwmrczl46s82x35xdh311nxj02q7z29vm"))))))
(define-public postgresql-14.23
(package
(inherit postgresql-14)
(name "postgresql")
(version "14.23")
(source (origin
(inherit (package-source postgresql-14))
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"19clihp73ak2p5di90jhg50lqjkkr0iy349gkki30qsl5f11cwnc"))))))
(define-deprecated/public postgresql-13 #f
(package
(inherit postgresql-14)
@@ -4849,24 +4716,33 @@ PickleShare.")
(define-public python-apsw
(package
(name "python-apsw")
(version "3.50.4.0")
(version "3.46.0.0")
;; The compressed release has fetching functionality disabled.
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rogerbinns/apsw")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (string-append
"https://github.com/rogerbinns/apsw/releases/download/"
version "/apsw-" version ".zip"))
(sha256
(base32 "0r9awjgpl9cmqz5xd4zbqrpiv0rv5c36a18jkqnsfky6n6sgr424"))))
(base32
"10yfbasi4mq63g0svyl1h49ylwn9znjylq78id16dzxzk9q9ipdx"))))
(build-system pyproject-build-system)
(arguments
(list #:test-backend #~'custom
#:test-flags #~(list "-m" "apsw.tests")))
(native-inputs
(list python-setuptools))
(inputs
(list sqlite-next)) ;SQLite 3.45.1 required.
(list unzip python-setuptools python-wheel))
(inputs (list sqlite-next)) ;SQLite 3.45.1 required.
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'build-extensions
(lambda _
(invoke "python" "setup.py" "build" "--enable-all-extensions"
"--enable=load_extension")))
(add-after 'build 'build-test-helper
(lambda _
(invoke "gcc" "-fPIC" "-shared" "-o" "./testextension.sqlext"
"-I." "-Isqlite3" "src/testextension.c"))))))
(home-page "https://github.com/rogerbinns/apsw/")
(synopsis "Another Python SQLite Wrapper")
(description
@@ -5665,7 +5541,7 @@ with integrated support for finding required rows quickly.")
(define-public apache-arrow
(package
(name "apache-arrow")
(version "24.0.0")
(version "23.0.1")
(source
(origin
(method git-fetch)
@@ -5675,7 +5551,7 @@ with integrated support for finding required rows quickly.")
(file-name (git-file-name name version))
(sha256
(base32
"1j3gs5ffa9gx2y2nggmi2zn5rj0bsnjnxrzfnipx6050jz6n8dx9"))))
"1qn7wgavi3kiz4d6w1naqj5631bg87fnj6gbhaxmpmynm5hi9wm7"))))
(build-system cmake-build-system)
(arguments
(list
@@ -5844,7 +5720,6 @@ __version_tuple__ = version_tuple = (~a)~%" version version-tuple))))))
python-cython
python-pytest
python-pytest-runner
python-scikit-build-core
python-setuptools-scm
python-setuptools))
(outputs '("out"))
@@ -6441,7 +6316,7 @@ mechanism of @code{dogpile}.")
(define-public datasette
(package
(name "datasette")
(version "1.0a26")
(version "1.0a19")
(source
(origin
(method git-fetch)
@@ -6450,20 +6325,23 @@ mechanism of @code{dogpile}.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1ra0yfrz9w3jx7ix3dmcsg0g8hjxkz37586g7ijmqshxpzczxfm7"))))
(base32 "0wb73iksrc5vg2lnq3q4vr7yhlzxwr711jfmjdndd0s77996zsfh"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 1720 passed, 9 skipped, 8 xfailed, 13 xpassed, 3 warnings, 120
;; subtests passed
#:test-flags
#~(list "--numprocesses" (number->string (min 8 (parallel-job-count)))
"--ignore=tests/test_black.py")
;; See https://github.com/simonw/datasette/issues/2048
#~(list "-k" (string-append
;; These contain two unexpected extra items.
"not test_searchable"
" and not test_searchmode")
"--ignore=tests/test_black.py"
"-n" (number->string (parallel-job-count)))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "pyproject.toml"
(substitute* "setup.py"
(("\"pip\",") "")))))))
(propagated-inputs
(list python-aiofiles
@@ -6478,6 +6356,7 @@ mechanism of @code{dogpile}.")
python-janus
python-jinja2
python-mergedeep
python-pint
python-pluggy
python-pyyaml
python-sqlite-utils
@@ -6486,9 +6365,9 @@ mechanism of @code{dogpile}.")
(list nss-certs-for-test
python-beautifulsoup4
python-cogapp
python-multipart-form-data-conformance
python-pytest
python-pytest-asyncio
python-pytest-asyncio-0.26
python-pytest-runner
python-pytest-timeout
python-pytest-xdist
python-setuptools
-113
View File
@@ -1,113 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2026 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; 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 datalog)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages libffi)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages python)
#:use-module (gnu packages sqlite)
#:use-module (guix build-system cmake)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
(define-public souffle
(package
(name "souffle")
(version "2.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/souffle-lang/souffle")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1lrw69g02b17vxxz4g7cj8hbmc39wlzl80vl5fwy40a6b9pxwrsj"))
(snippet
#~(begin
;; Delete bundled dependencies. souffle also uses a forked
;; and modified version of json11. We cannot unbundle
;; that.
(for-each delete-file
(list "licenses/TCBRINDLE SPAN.txt"
"licenses/TINYFORMAT.txt"
"src/include/souffle/utility/span.h"
"src/include/souffle/utility/tinyformat.h"))))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags #~(list "-DSOUFFLE_GIT=OFF"
(string-append "-DPACKAGE_VERSION="
#$version))
;; We disable these tests since they fail with gcc 14. This issue
;; has been reported upstream:
;; https://github.com/souffle-lang/souffle/issues/2576
#:test-exclude (string-join
(list "syntactic/cpp_keywords_run_souffle"
"syntactic/cpp_keywords_c_run_souffle"
"syntactic/cpp_keywords_compare_std_outputs"
"syntactic/cpp_keywords_compare_csv"
"syntactic/cpp_keywords_c_compare_std_outputs"
"syntactic/cpp_keywords_c_compare_csv")
"|")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'replace-bundled-libraries
(lambda _
;; Patch souffle to use tinyformat from Guix.
(substitute* (find-files "src" "\\.(cpp|h)$")
(("#include \"souffle/utility/tinyformat.h\"")
"#include <tinyformat.h>"))
;; Replace span.h with a header that uses span from Guix
;; and provides the same namespace.
(call-with-output-file "src/include/souffle/utility/span.h"
(lambda (port)
(display "#pragma once
#include <span.hpp>
namespace souffle {
using tcb::span;
}
"
port))))))))
(inputs
(list libffi
ncurses
python
span
sqlite
zlib))
(native-inputs
(list bison
flex
tinyformat))
(home-page "https://souffle-lang.github.io/")
(synopsis "Datalog variant")
(description "Soufflé is a variant of Datalog for tool designers crafting
analyses in Horn clauses. Soufflé synthesizes a native parallel C++ program
from a logic specification. The Soufflé language is similar to Datalog (but
has terms known as records), and is frequently used as a domain-specific
language for analysis problems.")
(license (list license:upl ; main license
;; src/include/souffle/profile/htmlJsChartistPlugin.h
;; src/include/souffle/utility/json11.h
license:expat))))
+5
View File
@@ -27,6 +27,7 @@
(define-module (gnu packages dav)
#:use-module (guix build-system cargo)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix download)
#:use-module (guix gexp)
@@ -142,6 +143,9 @@ CardDAV server with a local folder or file.")
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
python-pytest-cov
python-pytest-flake8
python-pytest-isort
python-setuptools
python-waitress
python-wheel))
@@ -240,6 +244,7 @@ efficient syncing
(list python-aioresponses
python-pytest
python-pytest-asyncio
python-pytest-cov
python-pytest-httpserver
python-setuptools
python-setuptools-scm
+51 -67
View File
@@ -58,7 +58,7 @@
#:use-module (gnu packages code)
#:use-module (gnu packages compression)
#:use-module (gnu packages digest)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gdb)
@@ -77,6 +77,7 @@
#:use-module (gnu packages mail)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ninja)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
@@ -262,7 +263,7 @@ simple way to add custom protocol messages.")
(define-public c-vise
(package
(name "c-vise")
(version "2.8.0")
(version "2.4.0")
(source
(origin
(method git-fetch)
@@ -270,53 +271,37 @@ simple way to add custom protocol messages.")
(url "https://github.com/marxin/cvise")
(commit (string-append "v" version))))
(sha256
(base32 "1ynhm1d56r25apgvv0wqbdrhjbwigkwrgw92g2czz4nfx77rjxz2"))
(base32 "1i2z5q2pcwh1gpdqc24x1a2q5vzwhblzzq021nzwf304di7m18vl"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-linkage
(lambda _
(substitute* "clang_delta/CMakeLists.txt"
(("\\$\\{LLVM_LINK_LLVM_DYLIB\\}")
"True")
((" LLVM")
" LLVMSupport"))))
(add-before 'build 'hardcode-paths
(lambda _
(substitute* "cvise.py"
(("/bin/bash")
(which "bash"))
(("(.*)# Special case for clang-format" all blank)
(format #f "~a# Special case for unifdef
~aprograms['unifdef'] = ~s
~a"
blank blank (which "unifdef") all)))))
(add-after 'install 'wrap
(lambda _
(let ((python-path (getenv "GUIX_PYTHONPATH")))
(wrap-program (string-append #$output "/bin/cvise")
`("PYTHONPATH" ":" prefix
(,(string-join
(filter (lambda (cand)
(not (string-contains cand "pytest")))
(string-split python-path #\:))
":"))))))))))
(native-inputs
(list flex
python-pytest
python-pytest-flake8))
(list flex python-pytest python-pytest-flake8))
(inputs
(list bash-minimal
clang
llvm
unifdef
python
python-pebble
python-psutil
python-chardet))
(list bash-minimal clang llvm unifdef
python python-pebble python-psutil python-chardet))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-linkage
(lambda _
(substitute* "clang_delta/CMakeLists.txt"
(("\\$\\{LLVM_LINK_LLVM_DYLIB\\}") "True")
((" LLVM") " LLVMSupport"))))
(add-before 'build 'hardcode-paths
(lambda _
(substitute* "cvise.py"
(("/bin/bash") (which "bash"))
(("(.*)# Special case for clang-format" & >)
(string-append > "# Special case for unifdef\n"
> "programs['unifdef'] = '" (which "unifdef") "'\n"
&)))))
(add-after 'install 'wrap
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(python-path (getenv "GUIX_PYTHONPATH")))
(wrap-program (string-append out "/bin/cvise")
`("PYTHONPATH" ":" prefix (,python-path)))
#t))))))
(home-page "https://github.com/marxin/cvise")
(synopsis "Reducer for interesting code")
(description
@@ -993,27 +978,26 @@ engineering.")
(define-public seer-gdb
(package
(name "seer-gdb")
(version "2.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/epasveer/seer")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1szfqybqr5z982vian4f0hpsagiqapzys3axwibyjyg5whjswva1"))))
(version "1.16")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/epasveer/seer.git")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0jdvyg2jab1pvf36pvkyrfsg2wyy8zp1qx0v2ksclgrnr1hja6k6"))))
(build-system qt-build-system)
(arguments
(list
#:tests? #f ;tests are strangely manual
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "src"))))))
`(#:tests? #f ; Those are strangely manual
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "src"))))))
(inputs
(list gdb qtbase qtcharts qtsvg qtwayland))
(list qtbase-5 qtcharts-5 qtwayland-5))
(synopsis "GUI frontend for GDB")
(description "This package provides a frontend to GDB, the GNU debugger.")
(home-page "https://github.com/epasveer/seer")
@@ -1053,7 +1037,7 @@ to aid in debugging.")
(define-public delve
(package
(name "delve")
(version "1.26.3")
(version "1.25.2")
(source
(origin
(method git-fetch)
@@ -1063,7 +1047,7 @@ to aid in debugging.")
(file-name (git-file-name name version))
(sha256
(base32
"0mf363l7md4193cgrpb6hkhmsgnlnrx44q1bzw3zq0bmjrcg3fj7"))
"1b6vp6m4vjx4wfs1djhpizvz40s563jwld9lgjq82svaiilrmlqa"))
(snippet
#~(begin (use-modules (guix build utils))
(delete-file-recursively "vendor")))))
@@ -1081,7 +1065,7 @@ to aid in debugging.")
(list go-github-com-cilium-ebpf
go-github-com-cosiner-argv
go-github-com-creack-pty
go-github-com-derekparker-trie-v3
go-github-com-derekparker-trie
go-github-com-go-delve-liner
go-github-com-google-go-dap
go-github-com-hashicorp-golang-lru
@@ -1229,7 +1213,7 @@ and input distributions can also be expressed in Fandango.")
;; Shorten paths to sockets in tests.
(lambda _ (setenv "TMPDIR" "/tmp"))))
#:test-target "test"))
(native-inputs (list python python-setuptools)) ; for tests
(native-inputs (list python)) ; for tests
(synopsis "Fault injector in userspace")
(description "Fiu provides CLI utilities and a C library
to mark points of failure inside your code
+51 -76
View File
@@ -41,6 +41,7 @@
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
@@ -48,7 +49,6 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
@@ -56,7 +56,7 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages education)
#:use-module (gnu packages emacs)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
@@ -122,83 +122,58 @@ Carnegie Mellon University.")
"https://github.com/cmusphinx/cmudict/blob/master/LICENSE"))))
(define-public dico
(let ((commit "05da4bc9e613834fdb065e38c7181044d8889575")
(revision "0"))
(package
(name "dico")
(version (git-version "2.12" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.gnu.org.ua/dico.git")
(commit commit)
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "1fmr01gpvvb1p6p9ylr67nqx8ymmmkqjhsi9y5zvp2nc32cgxvah"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags #~(list "--disable-static")
#:phases
#~(modify-phases %standard-phases
(replace 'bootstrap
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "grecs/bootstrap"
(("/bin/sh")
(which "bash"))
((" GRECS_GIT_ID=.*")
" GRECS_GIT_ID=v1.0-25-g51b12be\n"))
(invoke "perl" "./bootstrap" "--force" "--skip-po")))
(add-before 'build 'post-configure
(lambda* (#:key inputs #:allow-other-keys)
;; For some reason, this file is missing.
(install-file "gnulib/lib/getopt.c"
"xdico/gnu")
;; This code invokes "/bin/sh -c 'm4 -s ...'".
(substitute* "grecs/src/grecs-lex.l"
(("\"/bin/sh")
(string-append "\""
(search-input-file inputs "/bin/sh"))))))
(add-before 'check 'silence-guile
(lambda _
;; Guile is too talkative, which disturbs the test
;; infrastructure. Gag it.
(setenv "GUILE_AUTO_COMPILE" "0")
(setenv "GUILE_WARN_DEPRECATED" "no"))))))
(native-inputs
(list autoconf-2.71
automake
bison
flex
gettext-minimal
groff
libtool
perl
texinfo))
(inputs
(list m4 ;used at run time
bash-minimal ;likewise
pcre
python-wrapper
guile-3.0
gsasl
readline
zlib
wordnet
libxcrypt ;for 'crypt'
libltdl))
(home-page "https://www.gnu.org.ua/software/dico/")
(synopsis "Implementation of DICT server (RFC 2229)")
(description
"GNU Dico implements a flexible dictionary server and client according
to RFC 2229 (DICT Server). It is able to access any database available,
(package
(name "dico")
(version "2.12")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/dico/dico-"
version ".tar.xz"))
(sha256
(base32
"1xvahrav8aml90qcj4cj3a33y0n7nm1k0ywgks1zy2q91v2qk2vj"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags #~(list "--disable-static")
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-shell-file-name
(lambda* (#:key inputs #:allow-other-keys)
;; This code invokes "/bin/sh -c 'm4 -s ...'".
(substitute* "grecs/src/grecs-lex.c"
(("\"/bin/sh\"")
(string-append "\""
(search-input-file inputs "/bin/sh")
"\"")))))
(add-before 'check 'silence-guile
(lambda _
;; Guile is too talkative, which disturbs the test
;; infrastructure. Gag it.
(setenv "GUILE_AUTO_COMPILE" "0")
(setenv "GUILE_WARN_DEPRECATED" "no"))))))
(native-inputs (list groff))
(inputs
(list m4 ;used at run time
bash-minimal ;likewise
pcre
python-wrapper
guile-3.0
gsasl
readline
zlib
wordnet
libxcrypt ;for 'crypt'
libltdl))
(home-page "https://www.gnu.org.ua/software/dico/")
(synopsis "Implementation of DICT server (RFC 2229)")
(description
"GNU Dico implements a flexible dictionary server and client according to
RFC 2229 (DICT Server). It is able to access any database available,
regardless of format, thanks to its modular structure. New modules may be
written in C, Guile or Python. Dico also includes a command-line client,
which may be used to query remote dictionary databases.")
(license license:gpl3+))))
(license license:gpl3+)))
(define-public libmaa
(package
+9
View File
@@ -67,6 +67,7 @@
#:use-module (gnu packages vim)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix gexp)
#:use-module (guix git-download)
@@ -289,6 +290,14 @@ install.")
(for-each (lambda (file)
(chmod file #o755))
(find-files #$output "autopkgtest-virt-.*"))))
;; Adjust use of importlib.resources to use python 3.10 compatible
;; syntax, which requires an argument.
;; Drop when switching to python 3.12+.
(add-after 'unpack 'adjust-importlib-resources-for-old-python
(lambda _
(substitute* "reprotest/__init__.py"
(("importlib.resources.files\\(\\)")
"importlib.resources.files(package='reprotest')"))))
(add-after 'unpack 'skip-most-tests
;; These tests require functionality not available in the guix
;; build environment
+1
View File
@@ -27,6 +27,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix utils)
#:use-module (gnu packages check)
+31 -32
View File
@@ -59,6 +59,7 @@
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system scons)
#:use-module (guix build-system trivial)
@@ -105,6 +106,7 @@
#:use-module (gnu packages libbsd)
#:use-module (gnu packages linux)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ninja)
#:use-module (gnu packages nss)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-web)
@@ -309,6 +311,18 @@ tmpfs/ramfs filesystems.")
tables. It includes a library and command-line utility.")
(license license:gpl3+)))
(define-public parted-3.4
(package
(inherit parted)
(version "3.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/parted/parted-"
version ".tar.xz"))
(sha256
(base32
"0hjkv84x1bs2qqyx1fnzjqyyqrhv7kpdbq9bgydmi99d8wi80ag1"))))))
(define-public fdisk
(package
(name "fdisk")
@@ -1224,25 +1238,16 @@ and its highly optimized now for efficient performance.")
(package
(name "volume-key")
(version "0.3.12")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://pagure.io/volume_key")
(commit (string-append "volume_key-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0zadzbh26ckk263w02d02r2x3mry2kxbybkhwwaxwpv6jsrm7xr6"))))
(source (origin
(method url-fetch)
(uri (string-append "https://releases.pagure.org/volume_key/volume_key-"
version ".tar.xz"))
(sha256
(base32
"16rhfz6sjwxlmss1plb2wv2i3jq6wza02rmz1d2jrlnsq67p98vc"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
automake
gettext-minimal
libtool
pkg-config
python ; used to generate the Python bindings
python-setuptools
swig))
(list pkg-config swig-4.0 python-3)) ; used to generate the Python bindings
(inputs
(append
(cons cryptsetup-minimal (libcryptsetup-propagated-inputs))
@@ -1252,21 +1257,15 @@ and its highly optimized now for efficient performance.")
glib
gpgme)))
(arguments
(list
#:tests? #f ; not sure how tests are supposed to pass, even when run manually
#:configure-flags
#~(list "--without-python"
(string-append "--with-gpgme-prefix="
#$(this-package-input "gpgme")))
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'set-python-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((python #$(this-package-native-input "python")))
(setenv "PYTHON3"
(string-append python "/bin/python3"))
(setenv "PYTHON3_CONFIG"
(string-append python "/bin/python3-config"))))))))
`(#:tests? #f ; not sure how tests are supposed to pass, even when run manually
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-python.h-path
(lambda* (#:key inputs #:allow-other-keys)
(let ((python (assoc-ref inputs "python")))
(substitute* "Makefile.in"
(("/usr/include/python") (string-append python "/include/python")))
#t))))))
(home-page "https://pagure.io/volume_key")
(synopsis "Manipulate storage volume encryption keys")
(description
+1 -6
View File
@@ -46,7 +46,6 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz))
(define-public boinc-client
@@ -109,11 +108,7 @@ resources). It supports virtualized, parallel, and GPU-based applications.")
"--with-gtk"
"--with-auth")))
(native-inputs
(list autoconf
automake
pkg-config
python-setuptools
which))
(list pkg-config autoconf automake which))
(inputs
(list avahi
gtk+
+5 -1
View File
@@ -37,6 +37,7 @@
#:use-module (guix git-download)
#:use-module (guix gexp)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix deprecation)
#:use-module (guix search-paths)
#:use-module (guix utils)
@@ -312,7 +313,7 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
(base32 "1a5vd07wrnfbclvf6pz9p8ag9kdd1453lsl9q0bkyc45hq2xqd2a"))))
(build-system pyproject-build-system)
(native-inputs
(list python-django python-pytest python-setuptools))
(list python-django python-pytest python-pytest-cov python-setuptools))
(home-page "https://github.com/epicserve/django-cache-url")
(synopsis "Configure Django cache settings from URLs")
(description
@@ -403,6 +404,7 @@ and adapters that are useful for non-trivial configuration scenarios.")
python-factory-boy
python-pygments
python-pytest
python-pytest-cov ; runs by default
python-pytest-django
python-setuptools
python-shortuuid
@@ -1311,6 +1313,7 @@ server headers required for Cross-Origin Resource Sharing (CORS).")
python-mock
python-msgpack
python-pytest
python-pytest-cov
python-pytest-django
python-pytest-mock
python-setuptools
@@ -2167,6 +2170,7 @@ templates and not in python-level form definitions.")
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
python-pytest-cov ; runs by default
python-pytest-django
python-setuptools
python-wheel))
+1
View File
@@ -29,6 +29,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+48 -20
View File
@@ -41,7 +41,6 @@
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
@@ -49,10 +48,10 @@
#:use-module (gnu packages gdb)
#:use-module (gnu packages libedit)
#:use-module (gnu packages llvm)
#:use-module (gnu packages ninja)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages textutils)
#:use-module (gnu packages xorg)
@@ -117,7 +116,6 @@
("ldc" ,gdmd)
("ninja" ,ninja)
("python-wrapper" ,python-wrapper)
("python-setuptools" ,python-setuptools)
("tzdata" ,tzdata-for-tests)
("unzip" ,unzip)))
(home-page "http://wiki.dlang.org/LDC")
@@ -344,7 +342,7 @@ integration tests...\n")
;; and their names must have the same length to avoid corrupting the
;; binary.
(name "dmd")
(version "2.111.0")
(version "2.112.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -353,7 +351,9 @@ integration tests...\n")
(file-name (git-file-name "dmd" version))
(sha256
(base32
"0cz5qdd1j89w2s7nzw9ahzwsqiraidg4ajy7syy7qkk7mwcyrf6r"))))
"0qvg2fb73kyng8k1wj482g07ar2qw5laa5fynwx7pdd610n0pjpc"))
(patches
(search-patches "dmd-hurd.patch"))))
(build-system gnu-build-system)
(arguments
(list
@@ -374,7 +374,16 @@ integration tests...\n")
;; Do not build the shared libphobos2.so library, to avoid
;; retaining a reference to gcc:lib.
"SHARED=0"
"DIFFABLE=1" ;constant timestamp
#$@(if (target-hurd?)
(list (string-append "DISABLED_TESTS=core/thread/osthread "
"std/parallelism " ;; pthread stubs
"std/file " ;; rename (NULL, "")
"std/socket " ;; ENOPROTOOPT
"std/datetime/systime "
"std/datetime/timezone " ;; TZDIR
"std/net/curl ")) ;; dlopen curl
'())
"DIFFABLE=1" ;constant timestamp
"VERBOSE=1")
#:modules
`(,@%default-gnu-modules
@@ -472,7 +481,19 @@ integration tests...\n")
"long_backtrace_trunc rt_trap_exceptions "))
""))
(substitute* "dmd/druntime/test/gc/Makefile"
((" invariant ") " "))))
((" invariant ") " "))
#$@(if (target-hurd?)
'((for-each
delete-file
;; environment differs in LD_ORIGIN_PATH
'("dmd/compiler/test/dshell/sameenv.d"
;; Non _GLIBCXX_USE_CXX98_ABI version prints a warning
"dmd/compiler/test/runnable_cxx/cppa.d"))
;; Segfault
(substitute* "dmd/druntime/test/shared/Makefile"
(("loadDR host ") "")))
'())))
(delete 'bootstrap)
(delete 'configure)
(replace 'build
@@ -494,7 +515,8 @@ integration tests...\n")
(phase-in-sub-dir 'check "phobos"))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((platform (cond (#$(target-linux?) "linux")))
(let* ((platform (cond (#$(target-linux?) "linux")
(#$(target-hurd?) "hurd")))
(bits (if #$(target-64bit?) 64 32))
(build-sub-dir (format #f "generated/~a/release/~a"
platform bits))
@@ -538,17 +560,22 @@ integration tests...\n")
(inputs
(list bash-minimal))
(native-inputs
(list gdmd which
gdb/pinned ; for tests
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dlang/phobos")
(commit (string-append "v" version))))
(file-name (git-file-name "phobos" version))
(sha256
(base32
"1ydls3ar6d3f7ffqvidr46x3zrz3wlzjln5qa0nbz843ndjr4g7n")))))
(append
(if (target-linux?)
;; gdb tests only on on linux
(list gdb/pinned)
'())
(list gdmd which
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dlang/phobos")
(commit (string-append "v" version))))
(file-name (git-file-name "phobos" version))
(sha256
(base32
"0afi5glnf96242cbnr10ccjvfsgkh4k5y7qnmxv4ph5g0izvi1dc"))
(patches (search-patches "phobos-hurd.patch"))))))
(outputs '("out" "lib" "debug"))
(synopsis "Reference D Programming Language compiler")
(description "@acronym{DMD, Digital Mars D compiler} is the reference
@@ -557,7 +584,8 @@ compiler for the D programming language.")
(home-page "https://github.com/dlang/dmd")
;; As reported by upstream:
;; https://wiki.dlang.org/Compilers#Comparison
(supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux"))
(supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux"
"i586-gnu" "x86_64-gnu"))
;; This variant exists only for bootstrapping purposes.
(properties '((hidden? . #t)))))
+4 -4
View File
@@ -24,7 +24,7 @@
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2024 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2024-2026 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2024, 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2026 Anderson Torres <anderson.torres.8519@gmail.com>
;;;
@@ -56,7 +56,7 @@
#:use-module (gnu packages datastructures)
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
#:use-module (gnu packages glib)
@@ -841,14 +841,14 @@ to result in system-wide compromise.")
(define-public unbound
(package
(name "unbound")
(version "1.25.1")
(version "1.25.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.unbound.net/downloads/unbound-"
version ".tar.gz"))
(sha256
(base32 "0vsqmgnq7ibi0b3akzy45nqf0wazmb0bmpk2fp8wyn89gckvds0g"))))
(base32 "1iyyplggqhh2h1sbssq65v8z2s8mk1v9n1z4pr0z1qizfbd6wah6"))))
(build-system gnu-build-system)
(outputs '("out" "python"))
(native-inputs
+2 -2
View File
@@ -53,6 +53,7 @@
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (srfi srfi-26))
;; The fetch-plan, install-plan and phases for docbook-xml tend to vary
@@ -665,8 +666,7 @@ the in DocBook SGML DTDs.")
(base32
"0yd09nypswy3q4scri1dg7dr99d7gd6r2dwx0xm81l9f4y32gs0n"))
(patches
(search-patches "dblatex-importlib.patch"
"dblatex-inkscape-1.0.patch"))))
(search-patches "dblatex-inkscape-1.0.patch"))))
(outputs '("out" "doc"))
(build-system pyproject-build-system)
(arguments
+1 -65
View File
@@ -39,12 +39,12 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix utils)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages containers)
#:use-module (gnu packages compression)
#:use-module (gnu packages glib)
#:use-module (gnu packages golang)
@@ -198,50 +198,6 @@ enforce convention and best practices for metrics collection in Docker
projects.")
(license (list license:asl2.0 license:cc-by-sa4.0))))
(define-public go-github-com-moby-policy-helpers
(package
(name "go-github-com-moby-policy-helpers")
(version "0.0.0-20260507153417-a39d60132186")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/moby/policy-helpers")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "12fa602jianip7dg98f2i9i686s2a9bsclw8sqxw1ac1v19qlqr8"))
(modules '((guix build utils)))
(snippet '(delete-file-recursively "vendor"))))
(build-system go-build-system)
(arguments
(list
#:go go-1.25
#:embed-files #~(list ".*\\.json")
#:import-path "github.com/moby/policy-helpers"))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-containerd-containerd-v2
go-github-com-containerd-errdefs
go-github-com-containerd-platforms
go-github-com-distribution-reference
go-github-com-gofrs-flock
go-github-com-in-toto-in-toto-golang
go-github-com-opencontainers-go-digest
go-github-com-opencontainers-image-spec
go-github-com-pkg-errors
go-github-com-sigstore-protobuf-specs
go-github-com-sigstore-sigstore
go-github-com-sigstore-sigstore-go
go-github-com-theupdateframework-go-tuf-v2
go-golang-org-x-sync))
(home-page "https://github.com/moby/policy-helpers")
(synopsis "Policy helpers for Docker")
(description "This package provides a policy helpers for Moby (Docker)
and BuildKit. It is a work in progress.")
(license license:asl2.0)))
(define-public python-docker
(package
(name "python-docker")
@@ -372,26 +328,6 @@ applications services. Then, using a single command, the containers are
created and all the services are started as specified in the configuration.")
(license license:asl2.0)))
(define-public docker-policy-helper
(package/inherit go-github-com-moby-policy-helpers
(name "docker-policy-helper")
(arguments
(substitute-keyword-arguments arguments
((#:import-path _) "github.com/moby/policy-helpers/cmd/policy-helper")
((#:install-source? _ #t) #f)
((#:skip-build? _ #t) #f)
((#:tests? _ #t) #f)
((#:unpack-path _ "") "github.com/moby/policy-helpers")
((#:phases phases '%standard-phases)
#~(modify-phases #$phases
(add-after 'install 'fix-bin-name
(lambda _
(rename-file (string-append #$output "/bin/policy-helper")
(string-append #$output "/bin/docker-policy-helper"))))))))
(native-inputs (package-propagated-inputs go-github-com-moby-policy-helpers))
(propagated-inputs '())
(inputs '())))
(define-public python-docker-pycreds
(package
(name "python-docker-pycreds")
+5 -3
View File
@@ -41,6 +41,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system qt)
#:use-module (guix deprecation)
@@ -57,7 +58,7 @@
#:use-module (gnu packages bison)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages docbook)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gettext)
@@ -489,8 +490,9 @@ inspired by Dash.")
(build-system gnu-build-system)
(arguments
(list
;; Custom build steps to prevent using pyproject-build-system which
;; allows to edit the latter without a texlive + haskell world rebuild.
;; Essentially a lighter copy of the former python-build-system.
;; Using it rather than pyproject-build-system allows to edit the latter
;; without a texlive + haskell world rebuild.
#:phases
#~(modify-phases %standard-phases
(delete 'bootstrap)
+2 -1
View File
@@ -29,7 +29,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages gettext)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages base)
@@ -62,6 +62,7 @@
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (ice-9 match))
(define-public treecc
+1
View File
@@ -25,6 +25,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake)
#:use-module (guix build-system pyproject)
#:use-module ((guix build-system python) #:select (pypi-uri))
#:use-module (guix build-system r)
#:use-module (guix download)
#:use-module (guix gexp)
+3 -41
View File
@@ -40,6 +40,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
@@ -206,7 +207,7 @@ with Microsoft Compiled HTML (CHM) files.")
python-css-parser
python-cssselect
python-dateutil
python-dnspython
python-dnspython-1.16
python-feedparser
python-fonttools
python-html2text
@@ -282,9 +283,7 @@ tags = [\"WS_X11\"]")
(string-append "[tool.sip.project]
sip-include-dirs = [\""
#$(this-package-input "python-pyqt")
"/lib/python"
#$(version-major+minor (package-version python))
"/site-packages/PyQt6/bindings\"]")))
"/lib/python3.11/site-packages/PyQt6/bindings\"]")))
(substitute* "src/calibre/ebooks/pdf/pdftohtml.py"
(("PDFTOHTML = 'pdftohtml'")
(string-append "PDFTOHTML = \""
@@ -416,43 +415,6 @@ e-books for convenient reading.")
accessing and converting various ebook file formats.")
(license license:expat)))
(define-public epub-thumbnailer
;; See: <https://github.com/marianosimone/epub-thumbnailer/issues/46>.
(let ((commit "de4b5bf0fcd1817d560f180231f7bd22d330f1be")
(revision "0"))
(package
(name "epub-thumbnailer")
(version (git-version "0.0.0" revision commit))
(home-page "https://github.com/marianosimone/epub-thumbnailer")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1bkknrcds67qkgci6kdkv51fz8hzmqg8z1vkkni4jl4vgix7cjxg"))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;no tests provided
#:phases
#~(modify-phases %standard-phases
(add-after 'strip 'rename-program
(lambda _
(with-directory-excursion #$output
(rename-file "bin/epub-thumbnailer.py"
"bin/epub-thumbnailer")))))))
(propagated-inputs (list python-pillow))
(native-inputs (list python-setuptools))
(synopsis
"Extract the cover of an epub book and create a thumbnail for it")
(description
"@code{epub-thumbnailer} is a simple script that tries to find a cover
into an epub file and creates a thumbnail for it.")
(license license:gpl3))))
(define-public inkbox
(package
(name "inkbox")
+2 -1
View File
@@ -42,7 +42,7 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages django)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
@@ -91,6 +91,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
#:use-module (srfi srfi-1))
+45
View File
@@ -204,3 +204,48 @@ and EFI variable management.")
;; Library routines (in lib/) are under LGPL 2.1.
;; Compiling/linking/using OpenSSL is permitted.
(license (list license:gpl2 license:lgpl2.1))))
(define-public efilinux
(package
(name "efilinux")
(version "1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mfleming/efilinux")
(commit (string-append "efilinux-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0b4nxzr3wl5v4b52r79iw1arfgasz26xb38r2blw9v2qz2s1q9w2"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(list "CC=gcc"
,@(match (%current-system)
("aarch64-linux"
'("ARCH=aarch64"))
("armhf-linux"
'("ARCH=arm"))
(_ '()))
(string-append "INCDIR=" (assoc-ref %build-inputs "gnu-efi")
"/include")
(string-append "LIBDIR=" (assoc-ref %build-inputs "gnu-efi")
"/lib"))
#:tests? #f ; No tests exist.
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(install-file "efilinux.efi"
(string-append (assoc-ref outputs "out")
"/libexec"))
#t)))))
(inputs
(list gnu-efi))
(synopsis "Minimal Linux loader for UEFI")
(description "This package provides a minimal Linux loader as an UEFI
program.")
(home-page "https://github.com/mfleming/efilinux")
(license license:bsd-2)))
+72 -452
View File
@@ -64,6 +64,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix deprecation)
#:use-module (guix download)
@@ -90,7 +91,7 @@
#:use-module (gnu packages elf)
#:use-module (gnu packages embedded)
#:use-module (gnu packages engineering)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk)
@@ -104,13 +105,11 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gperf)
#:use-module (gnu packages graph)
#:use-module (gnu packages graphics)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages groff)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages java)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libffi)
@@ -195,10 +194,6 @@
(add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
(assoc-ref glib-or-gtk:%standard-phases
'generate-gdk-pixbuf-loaders-cache-file))
(add-after 'unpack 'fix-python-incompatibilities
(lambda _
(substitute* (find-files "." "\\.py$")
(("assertEquals") "assertEqual"))))
(add-before 'build 'set-home-env
(lambda _
(setenv "HOME" "/tmp")))
@@ -245,8 +240,8 @@ are also taken from the original.")
(license license:gpl3+))))
(define-public abc
(let ((commit "7bf1177d3900212df9e5c32ffc3ff2f59bc9b02b")
(revision "11"))
(let ((commit "80c8a9a1928ef8148a6b504e9590ec07c55c8bcf")
(revision "10"))
(package
(name "abc")
(version (git-version "0.0" revision commit))
@@ -258,7 +253,7 @@ are also taken from the original.")
(file-name (git-file-name name version))
(sha256
(base32
"1zyip7x3av03mp766m60md2a8g8xp4divpgxj6n4760i753i9b85"))))
"1fbnwsd841z86vfv45443qfpx0l199vf08sgms8wyz19jw7m5ds6"))))
(build-system gnu-build-system)
(inputs
(list readline))
@@ -283,7 +278,7 @@ formal verification.")
(package
(inherit abc)
(name "abc-yosyshq")
(version "0.65")
(version "0.64")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -292,53 +287,12 @@ formal verification.")
(file-name (git-file-name name version))
(sha256
(base32
"11viizz5kxh93a56fqxq0ma4945whzlfagw5bb61aw2jlyqym9ka"))))
"1jk74yq7dnrnai8r9hqc10jcjmgj50jxj6hsflmvc61acm1r3f8r"))))
(home-page "https://github.com/YosysHQ/abc/")
(description "ABC is a program for sequential logic synthesis and
formal verification. This is the Yosyshq fork of ABC.")
(license (license:non-copyleft "file:///copyright.txt"))))
(define-public appcsxcad
(package
(name "appcsxcad")
(version "0.2.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thliebig/AppCSXCAD")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "145awcsg4vl2xmrh5yf9fcasmghrai3x6ivgdxmrm1w3v9gyaccf"))))
(build-system qt-build-system)
(arguments
(list
#:qtbase qtbase ;for Qt 6
#:tests? #f)) ;No tests.
(inputs (list boost
cgal
csxcad
eigen
expat
freetype
gmp
hdf5
libjpeg-turbo
libpng
libtiff
lz4
openmpi
qcsxcad
tinyxml
vtk))
(home-page "https://github.com/thliebig/AppCSXCAD")
(synopsis "Minimal GUI application for the @code{qcsxcad} library")
(description
"A minimal application for the @code{qcsxcad} library which is used to
describe geometrical objects and their physical and non-physical properties.")
(license license:gpl3)))
(define-public apycula
(package
(name "apycula")
@@ -450,7 +404,7 @@ standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
(define-public ciel
(package
(name "ciel")
(version "2.4.1")
(version "2.4.0")
(source
(origin
(method git-fetch)
@@ -459,7 +413,7 @@ standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "08r30ighn86995dcf7278k9nrci8wbp6kglgk011y6g80z9m2zm7"))))
(base32 "0cj4cpmpqi7aqj9jkpp87qs9bjcg3j97adv1s91pnfrkplff8rh1"))))
(arguments
(list
#:tests? #f ;no tests
@@ -489,62 +443,6 @@ standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
chip design and @acronym{EDA, Electronic Design Automation}.")
(license license:asl2.0)))
(define-public csxcad
(package
(name "csxcad")
(version "0.6.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thliebig/CSXCAD")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1c383zsv4fp40kmpawamfi9zg3b8x3d4m091ldwk15mii3467hp3"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ; No tests.
#:configure-flags
#~(list
(string-append "-DFPARSER_ROOT_DIR=" #$(this-package-input "fparser")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-cmake-and-sources
(lambda _
(substitute* "CMakeLists.txt"
((" system\n")
"")
(("find_package\\(HDF5 1.8 COMPONENTS C HL REQUIRED\\)")
"find_package(HDF5 REQUIRED COMPONENTS C HL)"))
;; Fix missing `std::`.
;; This is fixed in upstream already but not tagged.
(substitute* "src/CSPropDiscMaterial.cpp"
(("\tcout ")
"\tstd::cout ")))))))
(inputs (list boost
cgal
eigen
fparser
hdf5
gmp
libjpeg-turbo
libpng
libtiff
lz4
mpfr
openmpi
tinyxml
vtk
zlib))
(home-page "https://github.com/thliebig/CSXCAD")
(synopsis "3D geometry library for C++")
(description
"@code{csxcad} is a C++ library to describe geometrical objects
and their physical or non-physical properties for electromagnetics simulations.")
(license license:lgpl3+)))
(define-public comedilib
(package
(name "comedilib")
@@ -569,7 +467,7 @@ individual low-level driver modules.")
(define-public eqy
(package
(name "eqy")
(version "0.65")
(version "0.64")
(source
(origin
(method git-fetch)
@@ -582,10 +480,8 @@ individual low-level driver modules.")
(build-system gnu-build-system)
(arguments
(list
#:imported-modules %pyproject-build-system-modules
#:modules '((guix build gnu-build-system)
((guix build pyproject-build-system) #:prefix py:)
(guix build utils))
#:imported-modules (append %default-gnu-imported-modules
%python-build-system-modules)
#:make-flags
#~(list (string-append "PREFIX=" #$output))
#:phases
@@ -612,7 +508,7 @@ individual low-level driver modules.")
(invoke "make" "-C" "examples/spm")
(invoke "make" "-C" "examples/simple"))))
(add-after 'install 'python:wrap
(assoc-ref py:%standard-phases 'wrap)))))
(@@ (guix build python-build-system) wrap)))))
(native-inputs
(list clang python-minimal-wrapper python-sphinx texinfo yosys))
(inputs
@@ -1021,7 +917,7 @@ files.")
(define-public klayout
(package
(name "klayout")
(version "0.30.9")
(version "0.30.7")
(source
(origin (method git-fetch)
(uri (git-reference
@@ -1030,7 +926,7 @@ files.")
(file-name (git-file-name name version))
(sha256
(base32
"1v5ddw7xixvdc3qshd0lkrc3ayk2q5wkk1zbhvsidq0kzlqbr2z5"))))
"0xyrn9vhx871vm141hgsb9qrdim51vfk2mw8hcqyam1ixkbz5jjv"))))
(build-system copy-build-system)
(arguments
(list
@@ -1173,7 +1069,7 @@ characterization result in a liberty library file.")
(define-public kicad
(package
(name "kicad")
(version "10.0.3")
(version "10.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1181,7 +1077,7 @@ characterization result in a liberty library file.")
(commit version)))
(sha256
(base32
"0ldaj072x16452xw2wszbk20g932rz36zappjrxc4m6ygx298aa3"))
"1mnlv8fyz03pfg8pkqwdl5gjz6vsk98c6414lf3wkvrkb85ljaav"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -1306,7 +1202,7 @@ package.")
(file-name (git-file-name name version))
(sha256
(base32
"1532y6whn1bcwjb417qlga1hibgpfqs594l9zs4c8f5ymaqb8s1b"))))
"1c0vn13rp0z12rlqhl321pk2gj9577dyky6xj3i6hb040i3v7zrr"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_FORMATS=html"
@@ -1314,7 +1210,7 @@ package.")
#:tests? #f)) ;no test suite
(native-inputs (list asciidoc
gettext-minimal
git-minimal/pinned
git-minimal
perl
perl-unicode-linebreak
perl-yaml-tiny
@@ -1338,7 +1234,7 @@ package.")
(file-name (git-file-name name version))
(sha256
(base32
"05h8dbygch2kp4s5ikspxngwv999j7jwsiwm4pzwwcrir7dqzdfl"))))
"0iz4lb33wdsw4f82a0ln8ycgaf39gjws03mvl2j1q9npwj6xl1cm"))))
(build-system cmake-build-system)
(native-inputs (list python-wrapper))
(arguments
@@ -1368,7 +1264,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
"0wdzsn7z11wc5yskk576a4a6qfagsvw0y6r034inxrnfc32aiah9"))))
"0jqgyi1yb2zc6w56ba7xama0wnhrqwbbnf2fqvr47xihvdcvs87v"))))
(synopsis "Official KiCad footprint libraries")
(description "This package contains the official KiCad footprint libraries.")))
@@ -1385,7 +1281,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
"01nbjcs3890hyfmafc623ldmfi9n8sjr5m0wripz5fq5fjdnzqxl"))))
"0jr70ry6inzc2fy3s300z0zlmihbq95ba1zckyd1wwbpplaj1gbl"))))
(synopsis "Official KiCad 3D model libraries")
(description "This package contains the official KiCad 3D model libraries.")))
@@ -1407,60 +1303,6 @@ libraries.")
(description "This package contains the official KiCad project and
worksheet templates.")))
(define-public kicad-cern-libraries
;; Upstream does not tag releases.
(let ((commit "980670fefdf71965aae6c56194d7f2a68c3e6a68")
(revision "0"))
(package
(name "kicad-cern-libraries")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/ohwr/cern-kicad-libs.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0lr1p28gknbgsr86hbzh87plagcyc040v6141xmha280n78h2l62"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("SchLib" "share/kicad/cern/")
("PcbLib" "share/kicad/cern/")
("CERN.sqlite" "share/kicad/cern/")
("CERN_Linux.kicad_dbl" "share/kicad/cern/")
("fp-lib-table" "share/kicad/cern/")
("sym-lib-table" "share/kicad/cern/")
("README.md" "share/doc/kicad-cern-libraries/")
("LICENSE" "share/doc/kicad-cern-libraries/")
("LICENSES" "share/doc/kicad-cern-libraries/")
("CHECKSUMS" "share/doc/kicad-cern-libraries/")
("pcblib_conversion_log.txt" "share/doc/kicad-cern-libraries/")
("schlib_conversion_log.txt" "share/doc/kicad-cern-libraries/"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'adapt-library-tables
(lambda _
(substitute* "sym-lib-table"
(("\\$\\{KICAD9_SYMBOL_DIR\\}")
"${KICAD10_SYMBOL_DIR}")))))))
(propagated-inputs (list sqliteodbc))
(native-search-paths
(list (search-path-specification
(variable "CERN_LIB_DIR")
(files '("share/kicad/cern"))
(separator #f))))
(home-page "https://gitlab.com/ohwr/cern-kicad-libs")
(synopsis "CERN component libraries for KiCad")
(description
"This package provides CERN's KiCad component libraries, including
schematic symbols, footprints, a SQLite-backed database library, and KiCad
library tables. The libraries are generated from CERN's Altium Designer
libraries.")
(license license:ohl2-p))))
(define-public lepton-eda
(package
(name "lepton-eda")
@@ -1662,7 +1504,7 @@ an embedded event driven algorithm.")
(define-public librelane
(package
(name "librelane")
(version "3.0.3")
(version "3.0.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1671,16 +1513,12 @@ an embedded event driven algorithm.")
(file-name (git-file-name name version))
(sha256
(base32
"0g4b5kby7zp8v59xzxmfxh3a2yqvmmsb1wsmasl3cz1aibk343a8"))))
"1v43adkw5c624nd06g11cb609v8pj3prfyyawbq3i4k1w1law597"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "pyproject.toml"
(("click>=8,<8.3") "click>=8"))))
(add-after 'compress-documentation 'wrap-program
(lambda _
(wrap-program (string-append #$output "/bin/librelane")
@@ -1932,31 +1770,6 @@ management with library, schematic and board editors.")
(license (list license:expat ;libfst and fastlz-derived sources
license:bsd-2))))) ;for lz4-derived sources
(define-public python-csxcad
(package
(inherit csxcad)
(name "python-csxcad")
(build-system pyproject-build-system)
(arguments
(list
;; Tests are broken in v0.6.3.
;; Check on update.
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'prepare-build
(lambda _
(chdir "./python")
(setenv "CSXCAD_INSTALL_PATH"
#$(this-package-input "csxcad")))))))
(native-inputs (list python-minimal python-cython python-numpy
python-setuptools))
(inputs (list csxcad fparser hdf5 python-numpy tinyxml))
(synopsis "Python bindings for @code{csxcad}")
(description "Library for describing geometrical objects and their
physical and non-physical properties.")
(license license:lgpl3+)))
(define-public python-lln-libparse
(package
(name "python-lln-libparse")
@@ -2207,7 +2020,7 @@ which allows one to install the M8 firmware on any Teensy.")
(define-public magic
(package
(name "magic")
(version "8.3.652")
(version "8.3.633")
(source
(origin
(method git-fetch)
@@ -2216,7 +2029,7 @@ which allows one to install the M8 firmware on any Teensy.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "07q2lldcq6zb1apa5d3paciha92r6jlp7xny8pc31f56k5s9jnmz"))))
(base32 "1rwrhb0q99rpv4lbiw1sqykwzf9gj1my2wkh6mp8g36rab2vhii3"))))
(build-system gnu-build-system)
(arguments
(list
@@ -2246,7 +2059,7 @@ versus schematic} tests and can assist with automatic routing.")
(define-public mcy
(package
(name "mcy")
(version "0.65")
(version "0.64")
(source
(origin
(method git-fetch)
@@ -2261,10 +2074,7 @@ versus schematic} tests and can assist with automatic routing.")
(list
#:tests? #f ;there are no tests
#:imported-modules (append %qt-build-system-modules
%pyproject-build-system-modules)
#:modules '((guix build qt-build-system)
((guix build pyproject-build-system) #:prefix py:)
(guix build utils))
%python-build-system-modules)
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'build-info-documentation
@@ -2293,7 +2103,7 @@ versus schematic} tests and can assist with automatic routing.")
(install-it "mcy")
(install-it "mcy-dash")))
(add-after 'make-install 'python:wrap
(assoc-ref py:%standard-phases 'wrap)))))
(@@ (guix build python-build-system) wrap)))))
(native-inputs
(list pkg-config
python-sphinx
@@ -2312,7 +2122,7 @@ coverage.")
(define-public netgen
(package
(name "netgen")
(version "1.5.320")
(version "1.5.318")
(source
(origin
(method git-fetch)
@@ -2321,7 +2131,7 @@ coverage.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "11mvf0nrsfc1lxbgqhmczi0maw4n10lib2xqnhpkyy73ci489147"))))
(base32 "19rd8y2pspycr2296nhm60fhsgnzlyzb09wx2kgqzg6s7h6cmrr5"))))
(build-system gnu-build-system)
(arguments
(list
@@ -2521,7 +2331,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
(define-public nvc
(package
(name "nvc")
(version "1.21.0")
(version "1.20.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2530,7 +2340,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
(file-name (git-file-name name version))
(sha256
(base32
"00hnrzk9dw88srfmjxxb9xkgnd5n26pmqlcw1bff1y0bckblsr38"))))
"1b38x2ch468s4p6mrq6c8s0d95vb84p6w4v8in79l4w7sfy8jnr0"))))
(build-system gnu-build-system)
(arguments
(list #:out-of-source? #t
@@ -2669,66 +2479,6 @@ such as:
@end itemize")
(license license:expat)))
(define-public openems
(package
(name "openems")
(version "0.0.36")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thliebig/openEMS")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1vxlknnji7kha0kabpjqh48i4r0rqlla9gcxhn69d0gcw76albmw"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(list (string-append "-DCSXCAD_ROOT_DIR="
#$(this-package-input "csxcad"))
(string-append "-DFPARSER_ROOT_DIR="
#$(this-package-input "fparser")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-cmake
(lambda _
(substitute* "CMakeLists.txt"
((" system\n") "")
(("find_package\\(HDF5 1.8 COMPONENTS C HL REQUIRED\\)")
"find_package(HDF5 1.8 REQUIRED)"))))
(delete 'check)
(add-after 'install 'check
(lambda* (#:key tests? source inputs #:allow-other-keys)
(when tests?
(let* ((testsuite (string-append source "/TESTSUITE"))
(testsuite-tmp "/tmp/openEMS-TESTSUITE"))
;; Testsuite directory needs to be writable.
(copy-recursively testsuite testsuite-tmp)
(invoke "octave" "--no-gui" "--eval"
(string-append
"addpath('" #$output "/share/openEMS/matlab');"
"addpath('"
(search-input-directory inputs "share/CSXCAD/matlab")
"');"
;; Work around bug in test script.
"addpath('" testsuite-tmp "/helperscripts');"
"run('" testsuite-tmp "/run_testsuite.m');")))))))))
(native-inputs (list cmake-minimal octave pkg-config))
(inputs (list boost
csxcad
fparser
hdf5
openmpi
tinyxml
vtk))
(home-page "https://www.openems.de")
(synopsis "Electromagnetic field solver")
(description "@code{OpenEMS} is an electromagnetic field solver using
the @acronym{FDTD, Finite-Difference Time-Domain} method.")
(license license:gpl3+)))
(define-public pcb-rnd
(package
(name "pcb-rnd")
@@ -3260,6 +3010,7 @@ Numpy arrays for convenience.")
(setenv "PDM_BUILD_SCM_VERSION" #$version))))))
(native-inputs
(list python-pdm-backend
python-pytest-cov
python-setuptools
python-setuptools-scm
sby
@@ -3438,12 +3189,8 @@ SystemVerilog, and SystemC, with conversion between languages and to JSON.")
inputs "include/antlr4-runtime"))
(antlr4cpp-lib (search-input-file
inputs "lib/libantlr4-runtime.so"))
(python-include
(search-input-directory
inputs
(string-append
"include/python"
#$(version-major+minor (package-version python))))))
(python-include (search-input-directory
inputs "include/python3.11")))
;; Patch CMake to use our paths directly.
(substitute* "src/CMake_antlr4.txt"
(("set\\(ANTLR_CLASSPATH \"\"\\)")
@@ -3535,44 +3282,6 @@ integrated circuit Hardware Description Language} and SystemVerilog
parser library for Python.")
(license license:expat)))
(define-public python-openems
(package
(inherit openems)
(name "python-openems")
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ; No tests. Check again on package upgrade.
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-sources
;; Check if this is still needed on upgrade.
(lambda _
(substitute* "python/openEMS/_nf2ff.pxd"
(("cimport cython.numeric")
"import cython
from cython cimport numeric"))))
(add-before 'build 'prepare-build
(lambda* _
(chdir "./python")
(setenv "CSXCAD_INSTALL_PATH"
#$(this-package-input "csxcad"))
(setenv "OPENEMS_INSTALL_PATH"
#$(this-package-input "openems")))))))
(native-inputs (list python-cython python-setuptools))
(inputs (list csxcad
fparser
openems
python-csxcad
python-hdf5storage
python-numpy
tinyxml))
(home-page "https://www.openems.de")
(synopsis "Python API for the electromagnetic field solver @code{OpenEMS}")
(description "@code{OpenEMS} is an electromagnetic field solver using
the @acronym{FDTD, Finite-Difference Time-Domain} method.")
(license license:gpl3+)))
(define-public python-pyucis
(package
(name "python-pyucis")
@@ -3608,16 +3317,15 @@ Standard} data mode.")
(version "0.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/SanDisk-Open-Source/pyvcd")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "pyvcd" version))
(sha256
(base32 "1a1fsgxmpy6gbrs7lp3a56b7d4g6srlp42y5azb1ywjx3w8fiwc6"))))
(base32 "15nnydvr1a4ykh8cagi484sfgvdg0dnjxaw6c0ivhjbrbblpaqnw"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest python-setuptools python-setuptools-scm))
(list python-pytest-cov
python-setuptools
python-setuptools-scm))
(home-page "http://pyvcd.readthedocs.io/")
(synopsis "Library to manipulate digital wave files")
(description
@@ -3805,7 +3513,7 @@ set.")
(define-public fusesoc
(package
(name "fusesoc")
(version "2.4.6")
(version "2.4.5")
(source
(origin
(method git-fetch)
@@ -3814,7 +3522,7 @@ set.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "11bmvk10mszv65ws84jmm220ivwn55v8664kkdm9d4m99pryi2kp"))))
(base32 "1sw0zl6hjlzp1a0agdl9yp901pih70ppzzss18l8f3jxs6q7jm1n"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -3894,7 +3602,10 @@ Automation}.")
#$output "/share/info/hdlmake-figures")))))
#:test-flags #~(list "test_all.py")))
(native-inputs
(list python-pytest python-setuptools python-sphinx texinfo))
(list python-pytest-cov
python-setuptools
python-sphinx
texinfo))
(propagated-inputs (list python-networkx))
(home-page "https://ohwr.gitlab.io/project/hdl-make/")
(synopsis "Generate multi-purpose makefiles for HDL projects")
@@ -4057,9 +3768,18 @@ design.")
;; Tests are expensive and may introduce race condition on systems with
;; high (more than 16) threads count; limit parallel jobs to 8x.
#~(list
"--numprocesses" (number->string (min 8 (parallel-job-count))))))
"--numprocesses" (number->string (min 8 (parallel-job-count))))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'pathch-pytest-options
(lambda _
(substitute* "pyproject.toml"
((".*--cov=.*") "")
((".*--self-contained-html.*") "")
((".*-n.*auto.*") "")))))))
(native-inputs
(list python-pytest
(list python-pytest-cov
python-pytest-html
python-pytest-xdist
python-setuptools))
(propagated-inputs
@@ -4071,36 +3791,6 @@ design.")
to enforce it.")
(license license:gpl3+)))
(define-public python-pyxhdl
(package
(name "python-pyxhdl")
(version "0.53")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/davidel/pyxhdl")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "16dqqhbg5q6fxlhnfcjimxv1zgziw5g46askjhfg8g2hn7i3vfal"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-backend #~'custom
#:test-flags #~(list "tests/test_runner.py")))
(native-inputs
(list python-setuptools))
(propagated-inputs
(list python-numpy python-misc-utils))
(home-page "https://github.com/davidel/pyxhdl")
(synopsis
"Python frontend for @acronym{HDL, Hardware Description Languages}")
(description
"PyXHDL replaces HDL code by Python, generating VHDL (>= 2008) and
Verilog (SystemVerilog >= 2012) code to be used for synthesis and simulation.")
(license license:asl2.0)))
(define-public python-vunit
(package
(name "python-vunit")
@@ -4189,71 +3879,6 @@ automated testing of HDL code.")
;; subdirectories are under ASL.
(license (list license:mpl2.0 license:asl2.0))))
(define-public qcsxcad
(package
(name "qcsxcad")
(version "0.6.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thliebig/QCSXCAD")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ag1shyhsmfsvqm35fi2kfnbcngmln8rjsv88f97gyx9wiqc808y"))))
(build-system qt-build-system)
(arguments
(list
#:tests? #f ;No tests.
#:qtbase qtbase ;For Qt 6
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-sources
;; Fix missing `std::`-prefix and missing include.
;; This is fixed in upstream but not tagged with a version.
(lambda _
(substitute* "vtkInteractorStyleRubberBand2DPlane.cpp"
(("#include \"vtkCamera.h\"")
"#include <iostream>\n#include \"vtkCamera.h\"")
(("\tcerr ")
"\tstd::cerr "))
(substitute* "VTKPrimitives.cpp"
(("#include \"VTKPrimitives.h\"")
"#include <iostream>\n#include \"VTKPrimitives.h\"")
(("\tcerr ")
"\tstd::cerr ")
(("\tcout ")
"\tstd::cout "))
(substitute* "QVTKStructure.cpp"
(("#include \"QVTKStructure.h\"")
"#include <iostream>\n#include \"QVTKStructure.h\"")
(("\tcerr ")
"\tstd::cerr ")
(("\tcout ")
"\tstd::cout ")))))))
(inputs (list boost
cgal
csxcad
eigen
freetype
gmp
libjpeg-turbo
libpng
libtiff
lz4
openmpi
qt5compat
tinyxml
vtk))
(home-page "https://github.com/thliebig/QCSXCAD")
(synopsis "GUI library for @code{csxcad}")
(description
"GUI library for @code{csxcad} --- a library for describing geometrical
objects and their properties. This library is used in @code{appcsxcad}
which provides a standalone graphical frontend to @{csxcad}.")
(license license:lgpl3+)))
(define-public qrouter
(package
(name "qrouter")
@@ -4376,7 +4001,7 @@ input and outputs an XML dataset.")
(define-public qucs-s
(package
(name "qucs-s")
(version "26.1.1") ;update qucsator-rf accordingly
(version "26.1.0") ;update qucsator-rf accordingly
(source
(origin
(method git-fetch)
@@ -4386,7 +4011,7 @@ input and outputs an XML dataset.")
(file-name (git-file-name name version))
(sha256
(base32
"009siqmn76r2l17hnjqmr6ap8nw969hd5fyqigb4p3i8cvjq7gmx"))))
"0aiyrcrxln4v6qm2dmigb54wl0mj499q3g18pz87m1s2lfgicpb1"))))
(build-system qt-build-system)
(arguments
(list
@@ -4608,7 +4233,7 @@ them usable as simple logic analyzer and/or oscilloscope hardware.")
(define-public sby
(package
(name "sby")
(version "0.65")
(version "0.64")
(source
(origin
(method git-fetch)
@@ -4617,16 +4242,17 @@ them usable as simple logic analyzer and/or oscilloscope hardware.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "19cvbvg6jjh7lj1sd7jz7yd5wrlswg6dmyajc7kxgl7dd97ivpwy"))))
(base32 "0jksspdgq2grk4a80i5yfc9bazfij37wpmrlkvygpz9ys5ny1432"))))
(build-system gnu-build-system)
(arguments
(list
#:parallel-tests? #f
#:test-target "test"
#:imported-modules %pyproject-build-system-modules
#:modules `((guix build gnu-build-system)
((guix build pyproject-build-system) #:prefix python:)
((guix build python-build-system) #:prefix python:)
(guix build utils))
#:imported-modules `(,@%default-gnu-imported-modules
(guix build python-build-system))
#:make-flags #~(list (string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
@@ -5039,7 +4665,7 @@ parallel computing platforms. It also supports serial execution.")
(define-public yosys
(package
(name "yosys")
(version "0.65")
(version "0.64")
(source
(origin
(method git-fetch)
@@ -5047,16 +4673,15 @@ parallel computing platforms. It also supports serial execution.")
(url "https://github.com/YosysHQ/yosys")
(commit (string-append "v" version))))
(sha256
(base32 "04sks9hj8h9vy6zii29zjgq38h2h4nz8a7xxiq33p1aivwq7bz8q"))
(base32 "13gw5msk1kv05jkb330nybvx2s0ixm6l6mdpyapnqmv3lkhby1mj"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
(list
#:test-target "all"
#:test-target "vanilla-test" ;TODO: restore to "test" with next release
#:make-flags
#~(list (string-append "PREFIX=" #$output)
"ENABLE_FUNCTIONAL_TESTS=1"
"ENABLE_EDITLINE=1"
"ENABLE_LIBYOSYS=1"
"ENABLE_PYOSYS=1"
@@ -5071,11 +4696,6 @@ parallel computing platforms. It also supports serial execution.")
#$(this-package-input "abc-yosyshq")))
#:phases
#~(modify-phases %standard-phases
;; TODO: Remove when fixed.
(add-after 'unpack 'remove-aiger
(lambda _
(substitute* "tests/Makefile"
((".*aiger.*") ""))))
(add-before 'configure 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "backends/smt2/smtio.py"
@@ -5166,12 +4786,12 @@ parallel computing platforms. It also supports serial execution.")
(git-reference
(url "https://github.com/povik/yosys-slang")
;; No tags, nor releases.
(commit "cf20b1ba0d2c9df0508f927930a87565e7e0d220")
(commit "4e53d772996184b07e9bfe784060f96e6cb0a267")
(recursive? #t))) ;requires slang and fmt
(file-name "yosys-slang")
(sha256
(base32
"1rl9i19a90yis33g549ida7lygfh1qka5k96zdrvk0shn2jnm8g4")))))
"1jjr1b6xd1sr9fkyfyl4y2wkzl51m7g10bw97mnw81v2mzssrs2q")))))
;; Optional dependencies increase considerably package closure.
;; - gtkwave: required only for vcd2fst binary, used by sim command.
;; - graphviz, xdot: used by show command to display schematics.
@@ -5202,7 +4822,7 @@ for various application domains, including FPGAs and ASICs.")
license:expat
;; yosys-slang/third_party/fmt
license:bsd-2 license:bsd-3 license:psfl
;; yosys, yosys-slang
;; yosys
license:isc))))
(define-deprecated-package yosys-clang yosys)
+160 -294
View File
@@ -242,7 +242,6 @@
#:use-module (gnu packages networking)
#:use-module (gnu packages ocr)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages python-check)
#:use-module (gnu packages telephony)
@@ -1093,8 +1092,8 @@ agentically, with any LLM.")
(define-public emacs-gptel-prompts
;; No releases.
(let ((commit "f6d590c70dd2a1bab4426e2d4e51543e9953feb2")
(revision "3"))
(let ((commit "f1c29208c1f0b62918ac6682038da5db4184fc51")
(revision "2"))
(package
(name "emacs-gptel-prompts")
(version (git-version "1.0" revision commit))
@@ -1105,7 +1104,7 @@ agentically, with any LLM.")
(commit commit)))
(method git-fetch)
(sha256
(base32 "1gnv2kzs09xzdywckwscg7sz3ay8904gj19k6vbwrmh7isyygxan"))
(base32 "1bw98biq7m1xigjmgm3w7dzac99vww619d0n24rq15kcrra7sg84"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments (list #:tests? #f)) ;no tests
@@ -3757,7 +3756,7 @@ organizing remote Go repository clones.")
(define-public emacs-ghub
(package
(name "emacs-ghub")
(version "5.2.0")
(version "5.1.0")
(source
(origin
(method git-fetch)
@@ -3766,7 +3765,7 @@ organizing remote Go repository clones.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "09bi4h71dvwnkq110zrm14a9qal4294kgmhlhaa44lsw8g3v4826"))))
(base32 "0d49qkkza9my2xz1vdyq7l3vmmjbamhsqm9xy7xikisyhsngvj73"))))
(build-system emacs-build-system)
(arguments
(list
@@ -4121,7 +4120,7 @@ prover, version 4.")
(define-public emacs-lem
(package
(name "emacs-lem")
(version "0.25")
(version "0.24")
(source
(origin
(method git-fetch)
@@ -4131,7 +4130,7 @@ prover, version 4.")
(file-name (git-file-name name version))
(sha256
(base32
"1h28bwy0nd08lxvpqdxqcbg0n2j09ilb7rf3nj6csflz64nhg40x"))))
"181cibmv6da4rjr6p3nqpza6i7v4scc4qndznhyjb9nhbf3gsil4"))))
(build-system emacs-build-system)
(arguments
(list
@@ -4547,6 +4546,43 @@ boilerplate code from defining new Flymake backend functions.")
(description "This package adds Clojure syntax checker clj-kondo.")
(license license:gpl3+)))
(define-public emacs-flymake-shellcheck
;; No tag, version grabbed from source .el file.
(let ((commit "ac534e9ef15c82ac86ae65fe5004d29dbc8c92c7")
(revision "1"))
(package
(name "emacs-flymake-shellcheck")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/federicotdn/flymake-shellcheck")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "04yfb4sy41spjzk9mhm4gy0h8vnjx09p2g6nm1yzgd9a5ph9sqgl"))))
(build-system emacs-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'substitute-shellcheck-path
(lambda* (#:key inputs #:allow-other-keys)
(make-file-writable "flymake-shellcheck.el")
(emacs-substitute-sexps "flymake-shellcheck.el"
("defcustom flymake-shellcheck-path"
`(or (executable-find "shellcheck")
,(search-input-file inputs "bin/shellcheck")))))))))
(inputs
(list shellcheck))
(home-page "https://github.com/federicotdn/flymake-shellcheck")
(synopsis "Flymake backend for Bash/Sh powered by ShellCheck")
(description
"This package provides a backend for Flymake to use the
tool ShellCheck for static analyzing @command{bash} and @command{sh}
scripts.")
(license license:gpl3+))))
(define-public emacs-a
(package
(name "emacs-a")
@@ -5266,39 +5302,6 @@ to prevent advertisers from tracking you when you open URLs (or listen to
podcasts) in Emacs.")
(license (list license:gpl3+)))))
(define-public emacs-emcp
(let ((commit "a91016452ef73813ea4a7e84cde233176d87a97f")
(revision "0"))
(package
(name "emacs-emcp")
(version (git-version "0.1.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/martenlienen/emcp")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"08wbpj95l38fsdihxhgryb74psl11agw5n9swnpf1j3qyhwa13cn"))))
(build-system emacs-build-system)
(arguments
(list
#:test-command
#~(list "emacs" "-Q" "-batch"
"-l" "emcp-tests.el"
"-f"
"ert-run-tests-batch-and-exit")))
(propagated-inputs
(list emacs-elisp-refs emacs-magit emacs-http-server))
(home-page "https://codeberg.org/martenlienen/emcp")
(synopsis "Emacs MCP client")
(description
"@code{emacs-emcp} is an Emacs client for the @acronym{Model Context
Protocol, MCP}, designed to connect LLM agents directly to Emacs.")
(license license:gpl3+))))
(define emacs-emms-print-metadata
(package
(name "emacs-emms-print-metadata")
@@ -7201,7 +7204,7 @@ that the binary uses instead of the actual binary contents.")
(define-public emacs-ellama
(package
(name "emacs-ellama")
(version "1.17.1")
(version "1.17.0")
(source
(origin
(method git-fetch)
@@ -7211,7 +7214,7 @@ that the binary uses instead of the actual binary contents.")
(file-name (git-file-name name version))
(sha256
(base32
"1ibqmhp6mszr85lfb6fwfx9npn46kzcb26vqprrla61w8nrplx97"))))
"03y4hyrsmq6m7si191r3ndp06x5w53adpig272ymm0i4v9gnzlr9"))))
(build-system emacs-build-system)
(arguments
(list
@@ -9321,16 +9324,14 @@ This mode supports Apache HTTP Server 2.4 and major modules.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radian-software/apheleia")
(url "https://github.com/raxod502/apheleia")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1vs532hjkwj19laigqvvk11r0gwhv5vd8v6wh5598dzmfw3yh4bm"))))
(build-system emacs-build-system)
(arguments (list #:include #~(cons "^scripts/formatters/" %default-include)
#:exclude #~(cons "\\.js$" %default-exclude)))
(native-inputs (list emacs-buttercup))
(home-page "https://github.com/radian-software/apheleia")
(home-page "https://github.com/raxod502/apheleia")
(synopsis "Reformat buffer stably")
(description
"This package allows for a buffer to be reformatted without moving point,
@@ -9979,13 +9980,13 @@ for the Zig programming language in Emacs.")
(define-public emacs-erc
(package
(name "emacs-erc")
(version "5.6.2")
(version "5.6.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/erc-" version ".tar"))
(sha256
(base32 "0rm7aw6p8736ssp4z7vmfmwff93h4dwcv9pz3b83f9060i2svvvn"))))
(base32 "13dzip6xhj0mf8hs8wk08pfxny5gwpbzfsqkmz146xvl2d8m621x"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-compat))
(home-page "https://www.gnu.org/software/emacs/erc.html")
@@ -14047,54 +14048,46 @@ libraries from Swagger specs.")
#:imported-modules (append %emacs-build-system-modules
%pyproject-build-system-modules)
#:modules '((guix build emacs-build-system)
((guix build pyproject-build-system) #:prefix py:)
((guix build python-build-system) #:prefix py:)
(guix build emacs-utils)
(guix build utils))
#:phases
(with-extensions (list (pyproject-guile-json))
#~(modify-phases %standard-phases
(add-after 'unpack 'avoid-server-installation-for-tests
(lambda _
(substitute* "Makefile"
;; Disable tox since it's only configured for python 3.8 and
;; python 3.9 by the project--that's ancient.
(("tox")
"echo tox")
(("env: .*$")
(string-append "env: " #$output "/bin/jediepcserver\n")))))
(add-after 'unpack 'ensure-no-mtimes-pre-1980
(assoc-ref py:%standard-phases 'ensure-no-mtimes-pre-1980))
(add-before 'check 'setenv
(lambda _
(setenv "HOME" "/tmp")))
(add-after 'ensure-no-mtimes-pre-1980 'relax-python-requirements
(lambda _
;; Argparse should only be required for Python < 3.2
;; (see: https://github.com/tkf/emacs-jedi/issues/365).
(substitute* "setup.py"
((".*argparse.*") ""))))
(add-after 'relax-python-requirements 'python:build
(assoc-ref py:%standard-phases 'build))
(add-after 'python:build 'python:add-install-to-pythonpath
(assoc-ref py:%standard-phases 'add-install-to-pythonpath))
(add-after 'python:add-install-to-pythonpath 'python:install
(assoc-ref py:%standard-phases 'install))
(add-after 'python:install 'python:create-entrypoints
(assoc-ref py:%standard-phases 'create-entrypoints))
(add-after 'python:create-entrypoints 'python:wrap
(assoc-ref py:%standard-phases 'wrap))
(add-after 'python:wrap 'patch-jedi:server-command
(lambda* (#:key outputs #:allow-other-keys)
(emacs-substitute-variables "jedi-core.el"
("jedi:server-command"
`(list ,(search-input-file outputs "bin/jediepcserver"))))))))))
#~(modify-phases %standard-phases
(add-after 'unpack 'avoid-server-installation-for-tests
(lambda _
(substitute* "Makefile"
;; Disable tox since it's only configured for python 3.8 and
;; python 3.9 by the project--that's ancient.
(("tox")
"echo tox")
(("env: .*$")
(string-append "env: " #$output "/bin/jediepcserver\n")))))
(add-after 'unpack 'ensure-no-mtimes-pre-1980
(assoc-ref py:%standard-phases 'ensure-no-mtimes-pre-1980))
(add-before 'check 'setenv
(lambda _
(setenv "HOME" "/tmp")))
(add-after 'ensure-no-mtimes-pre-1980 'relax-python-requirements
(lambda _
;; Argparse should only be required for Python < 3.2
;; (see: https://github.com/tkf/emacs-jedi/issues/365).
(substitute* "setup.py"
((".*argparse.*") ""))))
(add-after 'relax-python-requirements 'python:add-install-to-pythonpath
(assoc-ref py:%standard-phases 'add-install-to-pythonpath))
(add-after 'python:add-install-to-pythonpath 'python:install
(assoc-ref py:%standard-phases 'install))
(add-after 'python:install 'python:wrap
(assoc-ref py:%standard-phases 'wrap))
(add-after 'python:wrap 'patch-jedi:server-command
(lambda* (#:key outputs #:allow-other-keys)
(emacs-substitute-variables "jedi-core.el"
("jedi:server-command"
`(list ,(search-input-file outputs "bin/jediepcserver")))))))))
(native-inputs (list emacs-mocker python-wrapper))
(inputs (list python-wrapper python-epc python-jedi)) ;wrapped
(propagated-inputs
(list emacs-auto-complete
emacs-python-environment
emacs-epc
python-setuptools))
(list emacs-auto-complete emacs-python-environment emacs-epc))
(home-page "https://github.com/tkf/emacs-jedi")
(synopsis "Provides Python completion in Emacs")
(description
@@ -15522,6 +15515,34 @@ underlying library functionality for performing various activities related to
the game of chess.")
(license license:gpl3+)))
(define-public emacs-4clojure
;; There is no release. Base version is extracted from Version keyword in
;; the main file.
(let ((commit "4eccf8c7d4341a36c269451838114b27836699f9")
(revision "1"))
(package
(name "emacs-4clojure")
(version (git-version "0.2.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacsorphanage/4clojure")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "19x653lzc1dxil4ix257hciidbdmbhaxhs6qhlkwi9ygjrlrgvnk"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-request))
(home-page "https://github.com/emacsorphanage/4clojure/")
(synopsis "Open and evaluate 4clojure questions in Emacs")
(description "Emacs 4clojure interacts with
@url{http://www.4clojure.com, 4clojure} problems. You can open a specific
question and move to the next or previous one. You can also verify your
answers.")
(license license:gpl3+))))
(define-public emacs-base16-theme
(package
(name "emacs-base16-theme")
@@ -16790,51 +16811,6 @@ line program.")
requests library that uses the url library.")
(license license:gpl2+))))
(define-public emacs-http-server
(let ((commit "00e746baf4a622a7545b4af5c5237a55d51f801b")
(revision "0"))
(package
(name "emacs-http-server")
(version (git-version "0.1.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/martenlienen/http-server.el")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0j7ls15ljk22qxy6hs2qzcjnbdfvrq4qwly8s6kfbczi74mw5iji"))))
(build-system emacs-build-system)
(arguments
(list
#:test-command
#~(list "emacs" "-Q" "-batch"
"-l" "http-server.el"
"-l" "http-server-ws.el"
"-l" "http-server-tests.el"
"-l" "http-server-ws-tests.el"
"--eval"
(string-append
"(ert-run-tests-batch-and-exit "
"'(and (not http-server-accepts-extra-methods)
(not http-server-rejects-unsupported-methods)))"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'build-info-manual
(lambda _
(invoke "makeinfo" "--no-split"
"-o" "http-server.info" "docs/http-server.texi"))))))
(native-inputs
(list emacs-package-lint emacs-plz emacs-websocket texinfo))
(home-page "https://codeberg.org/martenlienen/http-server.el")
(synopsis "Emacs HTTP server")
(description
"This library implements an HTTP server inside of Emacs to communicate
with the user or other external programs.")
(license license:gpl3+))))
(define-public emacs-rtfm-mode
(package
(name "emacs-rtfm-mode")
@@ -18168,14 +18144,11 @@ Application Programming Interface}}, a free and open-source quotations
(name "emacs-spinner")
(version "1.7.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Malabarba/spinner.el")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/spinner-"
version ".tar"))
(sha256
(base32
"1m872dj1n05mkvgfyiqsbri489vmff5zdmv4xx5qj2s91sp046rl"))))
(base32 "140kss25ijbwf8hzflbjz67ry76w2cyrh02axk95n6qcxv7jr7pv"))))
(build-system emacs-build-system)
(home-page "https://github.com/Malabarba/spinner.el")
(synopsis "Emacs mode-line spinner for operations in progress")
@@ -18845,13 +18818,9 @@ and tooling.")
(lambda* (#:key inputs #:allow-other-keys)
(emacs-substitute-variables "elfeed-curl.el"
("elfeed-curl-program-name"
(search-input-file inputs "/bin/curl")))
(substitute* "elfeed-lib.el"
(("\\(executable-find \"gzip\"\\)")
(string-append
"\"" (search-input-file inputs "/bin/gzip") "\""))))))))
(search-input-file inputs "/bin/curl"))))))))
(inputs
(list curl gzip))
(list curl))
(home-page "https://github.com/skeeto/elfeed")
(synopsis "Atom/RSS feed reader for Emacs")
(description
@@ -20315,7 +20284,7 @@ multiple project types.")
(define-public emacs-tp
(package
(name "emacs-tp")
(version "0.9")
(version "0.8")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -20324,7 +20293,7 @@ multiple project types.")
(file-name (git-file-name name version))
(sha256
(base32
"01g72x2lqmrdh3qgd3135hgijka975xg92ki36qyv71vi20rhmnm"))))
"1zhvridy6p7dy9hpf088k166a1c918hqf6k3jmnm7raw8vflc7qq"))))
(build-system emacs-build-system)
(home-page "https://codeberg.org/martianh/tp.el")
(synopsis "Utilities to create transient menus for POSTing to an API")
@@ -20464,7 +20433,7 @@ implementation.")
(define-public emacs-cider
(package
(name "emacs-cider")
(version "1.21.0")
(version "1.20.0")
(source
(origin
(method git-fetch)
@@ -20473,30 +20442,26 @@ implementation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "19wx9mc488qipm08s7hc0zrfmiylw577lmf3jpvqcjq7amx14jgc"))))
(base32 "08hd281ybskkhir170hr3xpga1b1hwpph7rd0fk6fvm0ngdgxazs"))))
(build-system emacs-build-system)
(arguments
(list
#:lisp-directory "lisp"
#:include #~(cons* "^lein\\.sh$" "^clojure\\.sh$" %default-include)
#:exclude ;don't exclude 'cider-test.el'
#~(list "^\\.dir-locals\\.el$" "^test/")
#:test-command
#~(list "eldev" "--use-emacsloadpath" "-dtT" "-p" "test")
#:exclude
#~(list "^\\.dir-locals\\.el$" "^test/")
#:phases
;; XXX: file "test/cider-tests.el" contains a bogus "/bin/command"
;; string, and `patch-el-files' phase chokes on it (even though the
;; file is excluded from installation). Remove the phase altogether
;; since there is no "/bin/executable" to replace in the code base
;; anyway.
#~(modify-phases %standard-phases
(delete 'patch-el-files)
(add-after 'unpack 'remove-network-tests
(lambda _
(delete-file "../test/cider-jar-tests.el")))
(replace 'check
(lambda* (#:key test-command tests?
#:allow-other-keys)
(when tests?
(with-directory-excursion ".."
(setenv "EMACSLOADPATH"
(string-append (getcwd) ":"
(getenv "EMACSLOADPATH")))
(apply invoke test-command))))))))
(add-before 'check 'skip-failing-tests
(lambda _ ;; Require network.
(delete-file "test/cider-jar-tests.el"))))))
(native-inputs (list emacs-buttercup emacs-eldev))
(propagated-inputs
(list emacs-clojure-mode
@@ -23872,8 +23837,8 @@ actually changing the buffer's text.")
(define-public emacs-diff-hl
;; No new tags or releases since 2024.
(let ((commit "7d873b2f58908de1ea2f499da9bf993e088953d7")
(revision "1"))
(let ((commit "e79aa49ad3cbbe85379cf6646db3aaacd3b04708")
(revision "0"))
(package
(name "emacs-diff-hl")
(version (git-version "1.10.0" revision commit))
@@ -23885,7 +23850,7 @@ actually changing the buffer's text.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "15a9cjlpjsfcb2hxqbb123389qhiqs06mn01pas2l0jqhc2p86v9"))))
(base32 "0fvxngcbx36vqj72fllfp5iqwihcqd1dfhmqr3m1284191q83na3"))))
(build-system emacs-build-system)
(arguments
(list
@@ -23908,7 +23873,7 @@ actually changing the buffer's text.")
(invoke "git" "init")
(invoke "git" "add" ".")
(invoke "git" "commit" "-m" "Commit all."))))))
(native-inputs (list git-minimal/pinned))
(native-inputs (list git-minimal))
(home-page "https://github.com/dgutov/diff-hl")
(synopsis "Highlight uncommitted changes using VC")
(description
@@ -28714,7 +28679,7 @@ match and total match information in the mode-line in various search modes.")
(define-public emacs-pg
(package
(name "emacs-pg")
(version "0.66")
(version "0.65")
(source (origin
(method git-fetch)
(uri (git-reference (url "https://github.com/emarsden/pg-el")
@@ -28722,7 +28687,7 @@ match and total match information in the mode-line in various search modes.")
(file-name (git-file-name name version))
(sha256
(base32
"1il3p0pckmyrkr5sbrv04wnyqmy7pfknlps5lp56r294x59bdyw7"))))
"164kfd0lc1qw3wnlxqyjmqd3yhmkkf81qmgdx0kydlrij8a7z594"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-peg))
(home-page "https://github.com/emarsden/pg-el")
@@ -37026,48 +36991,6 @@ Nix expressions. It supports syntax highlighting, indenting and refilling of
comments.")
(license license:lgpl2.1+)))
(define-public emacs-nix-ts-mode
(package
(name "emacs-nix-ts-mode")
(version "0.1.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nix-community/nix-ts-mode.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1x8flq97vrxqvqmf25dr5wnmvwpa0l3zv5hyz2af3aj4yy1ic35n"))))
(build-system emacs-build-system)
(arguments
(list
#:emacs emacs-no-x ; tests need treesit support
#:test-command #~(list "ert-runner" "-l" "test/guix-treesit.el")
#:phases
#~(modify-phases %standard-phases
;; Tests load the Nix tree-sitter grammar. Guix informs Emacs of
;; tree-sitter grammars via site-run-file, which ert-runner does not
;; load by default.
(add-before 'check 'fix-tests
(lambda _
(with-output-to-file "test/guix-treesit.el"
(lambda _
(display "\
(with-eval-after-load 'treesit
(when-let* ((grammar-path (getenv \"TREE_SITTER_GRAMMAR_PATH\")))
(mapcar (lambda (x) (add-to-list 'treesit-extra-load-path x))
(split-string grammar-path \":\"))))
"))))))))
(native-inputs (list emacs-ert-runner))
(propagated-inputs (list tree-sitter-nix))
(home-page "https://github.com/nix-community/nix-ts-mode")
(synopsis "Major mode for Nix expressions, powered by tree-sitter")
(description
"This package provides a major mode for editing Nix expressions, powered
by built-in Emacs tree-sitter support.")
(license license:gpl3+)))
(define-public emacs-libmpdel
(package
(name "emacs-libmpdel")
@@ -38805,7 +38728,7 @@ as Emacs Lisp.")
(define-public emacs-transient
(package
(name "emacs-transient")
(version "0.13.2")
(version "0.13.1")
(source
(origin
(method git-fetch)
@@ -38814,7 +38737,7 @@ as Emacs Lisp.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0c5kdzs55xzn4ksrxlm94s4w4mbamh7l5ycjnq9pvgqvggzijqng"))))
(base32 "161drbhzdp9fn0xkc0aza992g9h8prml513y8byyxvi6lqbqn8x4"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #f ;no test suite
@@ -41894,7 +41817,7 @@ time.")
(define-public emacs-mastodon
(package
(name "emacs-mastodon")
(version "2.0.17")
(version "2.0.16")
(source
(origin
(method git-fetch)
@@ -41903,7 +41826,7 @@ time.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1pz0ac5r6g34x0nlwwh55c369swiv8h3dr6ndkkm7k2ql7f75xdv"))))
(base32 "1z8qwnc01d9hx5m1xj3acpdzllfh4rxmypzcr3jl4ipp6dybzbx6"))))
(build-system emacs-build-system)
(arguments
(list
@@ -42010,7 +41933,7 @@ a decentralized social network that runs on an Org Mode file over HTTP.")
(define-public emacs-fedi
(package
(name "emacs-fedi")
(version "0.4")
(version "0.3")
(source
(origin
(method git-fetch)
@@ -42019,7 +41942,7 @@ a decentralized social network that runs on an Org Mode file over HTTP.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0xlsh4a42mymi4jrb32ak4srbm28hq67jwijnpbyfzfkchjsqimj"))))
(base32 "0ldag8659nqphc2isw1n3xv8dqf468ppwf1q10zn03sdj4dc1i11"))))
(build-system emacs-build-system)
(arguments (list #:tests? #f)) ; no tests
(propagated-inputs (list emacs-markdown-mode))
@@ -42053,7 +41976,7 @@ Lisp's (relatively new) EIEIO object oriented libraries.")
(define-public emacs-fj
(package
(name "emacs-fj")
(version "0.37")
(version "0.36")
(source
(origin
(method git-fetch)
@@ -42062,9 +41985,17 @@ Lisp's (relatively new) EIEIO object oriented libraries.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "09ff20am16ysjpbqx7b92qgmvyar9b6blm32flkvzqxccqqinxya"))))
(base32 "10v79lxnaya8h8qkdpvr7ns8330nrrl2h5mz4wh15blcp87ha37l"))))
(build-system emacs-build-system)
(arguments (list #:test-command #~(list "make" "tests" "CASK=")))
(arguments
(list
#:test-command #~(list "make" "tests")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'remove-cask
(lambda _
(substitute* "Makefile"
(("cask ") "")))))))
(native-inputs
(list emacs-el-mock emacs-exemplify-ert emacs-exemplify-eval))
(propagated-inputs (list emacs-fedi emacs-magit emacs-tp emacs-transient))
@@ -42077,7 +42008,7 @@ Lisp's (relatively new) EIEIO object oriented libraries.")
(define-public emacs-keymap-popup
(package
(name "emacs-keymap-popup")
(version "0.3.0")
(version "0.2.7")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -42086,7 +42017,7 @@ Lisp's (relatively new) EIEIO object oriented libraries.")
(file-name (git-file-name name version))
(sha256
(base32
"1bzvjvczzzrnsjs3fjcaad3y1xdhbrvxab5pg9zxkypxhw3yzx8n"))))
"1p48nnzf6m4r5jg3qxp7cv78gfwz521zi4zq0d54jmjwyszjjw1z"))))
(build-system emacs-build-system)
(arguments
(list #:tests? #f)) ;tests need a live display read-loop
@@ -42120,7 +42051,7 @@ add popup descriptions to existing keymaps
(define-public emacs-forgejo
(package
(name "emacs-forgejo")
(version "0.2.3")
(version "0.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -42129,7 +42060,7 @@ add popup descriptions to existing keymaps
(file-name (git-file-name name version))
(sha256
(base32
"1c8s8a0hwb44jddxsrd74bh8rwaz8z5mn9ga8jmwxy7w045xfln1"))))
"1nqcxg902zdabwlgyx0iv4p339kh4n1nk293i2lnv752q8as0dc6"))))
(build-system emacs-build-system)
(arguments
(list #:lisp-directory "lisp"
@@ -47305,71 +47236,6 @@ notebooks")
execute code split into cells according to certain magic comments.")
(license license:gpl3+))))
(define-public emacs-codex-ide
(package
(name "emacs-codex-ide")
(version "0.3.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dgillis/emacs-codex-ide")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0xasn1yp494wqr2z9ddq3s71la27cvdvlv4alid2k5bjj89fv2gz"))))
(build-system emacs-build-system)
(arguments
(list
#:include #~(cons "^bin/codex-ide-mcp-server\\.py$" %default-include)
#:test-command #~(list "bin/run-tests.sh")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-bridge-script-path
(lambda _
(emacs-substitute-variables "codex-ide-mcp-bridge.el"
("codex-ide-emacs-bridge-script-path"
(string-append #$output "/share/emacs/site-lisp/codex-ide2-"
#$version "/bin/codex-ide-mcp-server.py")))))
(add-before 'check 'remove-failing-tests
(lambda _
(emacs-batch-edit-file "codex-ide.el"
'(progn
(defun remove-test (file all-test-names)
(with-current-buffer
(find-file-noselect
(format "tests/codex-ide-%s-tests.el" file))
(dolist (test-name all-test-names)
(save-excursion
(re-search-forward
(format "codex-ide-%s" test-name))
(beginning-of-defun)
(goto-char (match-beginning 0))
(kill-sexp)))
(basic-save-buffer)))
(remove-test
"context"
(list (concat "compose-turn-input-does-not-"
"duplicate-prompt-context-block")))
(remove-test
"mcp"
(list "mcp-script-uses-emacsclient-bridge-responses"
(concat "mcp-script-decodes-base64-bridge-"
"response-with-control-and-unicode-text")
(concat "mcp-script-starts-with-"
"optional-server-name-flag"))))))))))
(native-inputs (list zsh))
(propagated-inputs (list emacs-transient python))
(home-page "https://github.com/dgillis/emacs-codex-ide")
(synopsis "Codex app-server integration for Emacs")
(description
"Codex IDE for Emacs provides a native Emacs interface for Codex
app-server sessions. It renders conversations in Emacs buffers, supports
interactive approvals, clickable file references, diff views, session
management, and an optional MCP bridge for exposing live Emacs context to
Codex.")
(license license:expat)))
(define-public emacs-ein
;; XXX: Upstream doesn't make any release, and didn't set any version.
(let ((commit "998ba22660be2035cd23bed1555e47748c4da8a2"))
+16 -13
View File
@@ -45,6 +45,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module ((guix build utils) #:select (alist-replace delete-file-recursively))
#:use-module (gnu packages)
@@ -57,7 +58,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gdb)
#:use-module (gnu packages guile)
@@ -1919,7 +1920,7 @@ and Zilog Z80 families, plus many of their variants.")
(define-public python-psptool
(package
(name "python-psptool")
(version "3.6")
(version "3.1")
(source
(origin
(method git-fetch)
@@ -1928,40 +1929,36 @@ and Zilog Z80 families, plus many of their variants.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1s53bqimh1ih0xqmyppm2ikphi8r9492k67kn4pz3jngh2gp1wnf"))))
(base32 "1fbx3b42cr7dv07p2b9qgzrgs19i066ysfasgvlfjscg2v68j8d0"))))
(build-system pyproject-build-system)
(arguments
(list #:test-backend #~'unittest))
(native-inputs
(list python-hatch-vcs
python-hatchling
python-psptrace-bootstrap
(list python-psptrace-bootstrap
python-setuptools))
(propagated-inputs
(list python-cryptography
python-prettytable))
(home-page "https://github.com/PSPReverse/psptool")
(synopsis "Tool for dealing with AMD binary blobs")
(description "PSPTool is a tool for dealing with AMD binary blobs.")
(description "PSPTool is a tool for dealing with AMD binary blobs")
(license license:gpl3+)))
(define-public python-psptrace
(package
(name "python-psptrace")
(version "0.11")
(version "0.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "psptrace" version))
(sha256
(base32 "0lzv0dy2m5g6q4rpjd4wpw0p7n8v8crkx7akbp53lpy1c6y40iw8"))))
(base32 "1mrympnpkkns2dxq34h9x9qn667ihdvbbf0wpmbp3jli0n7bj7ih"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;no tests in PyPI or Git
(native-inputs
(list python-hatch-vcs
python-hatchling
python-setuptools))
(list python-setuptools))
(propagated-inputs
(list python-prettytable
python-psptool))
@@ -2036,7 +2033,13 @@ whereas kdmx creates pseudo-ttys.")
;; tests: 631 passed, 27 skipped, 1 warning
#:test-flags
;; E ModuleNotFoundError: No module named 'mbed_tools_ci_scripts'
#~(list "--ignore=tests/ci_scripts/test_sync_board_db.py")))
#~(list "--ignore=tests/ci_scripts/test_sync_board_db.py")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-pytest-config
(lambda _
(substitute* "pytest.ini"
(("addopts = .*") "")))))))
(native-inputs
(list python-factory-boy
python-pytest
+19 -23
View File
@@ -68,7 +68,6 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
@@ -81,7 +80,7 @@
#:use-module (gnu packages engineering)
#:use-module (gnu packages elf)
#:use-module (gnu packages file-systems)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fltk)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
@@ -108,6 +107,7 @@
#:use-module (gnu packages music)
#: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)
@@ -140,6 +140,7 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial))
@@ -147,7 +148,7 @@
(define-public ares
(package
(name "ares")
(version "147")
(version "145")
(source
(origin
(method git-fetch)
@@ -156,28 +157,23 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1b4xixngp8md2ishf3cyfwpzjcsvjb5zp678can5dcmv9z1dlsis"))
(modules '((guix build utils)))
(snippet
;; Delete non-free blobs: Supersoft Diagnostics II.
#~(delete-file-recursively "tests/i8080/tests"))))
(base32 "074kkgrbiga7grkwhnhw51ih7krxgf91m9zrrwjkj4q1hdjhlz5a"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ; non-free blobs
#:configure-flags
#~(list "-DARES_BUILD_LOCAL=FALSE"
"-DARES_BUILD_OFFICIAL=TRUE"
"-DARES_BUNDLE_SHADERS=FALSE"
"-DARES_SKIP_DEPS=TRUE"
(string-append "-DARES_VERSION_OVERRIDE=" #$version))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'avoid-libglvnd
(lambda _
;; TODO: Our mesa doesn't have libglvnd support.
(substitute* "ruby/cmake/os-linux.cmake"
(("OpenGL::GLX") "OpenGL::GL")))))))
(list #:tests? #f ; No tests
#:configure-flags
#~(list "-DARES_BUILD_LOCAL=FALSE"
"-DARES_BUILD_OFFICIAL=TRUE"
"-DARES_BUNDLE_SHADERS=FALSE"
"-DARES_SKIP_DEPS=TRUE"
(string-append "-DARES_VERSION_OVERRIDE=" #$version))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'avoid-libglvnd
(lambda _
;; XXX: Our mesa doesn't have libglvnd support.
(substitute* "ruby/cmake/os-linux.cmake"
(("OpenGL::GLX") "OpenGL::GL")))))))
(native-inputs
(list pkg-config))
(inputs
+1
View File
@@ -41,6 +41,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix licenses)
#:use-module (srfi srfi-1))
+283 -412
View File
@@ -33,7 +33,7 @@
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022, 2024-2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2022, 2024, 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2022, 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2022, 2023, 2025 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2023 Theofilos Pechlivanis <theofilos.pechlivanis@gmail.com>
@@ -46,7 +46,7 @@
;;; 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-2026 bdunahu <bdunahu@operationnull.com>
;;; Copyright © 2025 bdunahu <bdunahu@operationnull.com>
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2026 Daniel Khodabakhsh <d@niel.khodabakh.sh>
;;; Copyright © 2026 Spencer King <spencer.king@wustl.edu>
@@ -77,6 +77,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix download)
#:use-module (guix gexp)
@@ -113,7 +114,7 @@
#:use-module (gnu packages emacs-build)
#:use-module (gnu packages emacs-xyz)
#:use-module (gnu packages file)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk)
@@ -437,8 +438,9 @@ optimizer; and it can produce photorealistic and design review images.")
"0x37vfp6k0d2z3gnig0hbicvi0jp8v267xjnn3z8jdllpiaa6p3k"))
(snippet
;; Remove a non-free file.
#~(begin
(delete-file "doc/psfig.sty")))
'(begin
(delete-file "doc/psfig.sty")
#t))
(patches (search-patches "fastcap-mulSetup.patch"
"fastcap-mulGlobal.patch"))))
(build-system gnu-build-system)
@@ -448,93 +450,79 @@ optimizer; and it can produce photorealistic and design review images.")
;; LaTeX Warning: Citation `nabors91' on page 2 undefined on input line
;; 3.
`(("texlive" ,(texlive-local-tree))
("ghostscript" ,ghostscript)
("libfaketime" ,libfaketime)))
("ghostscript" ,ghostscript)))
(arguments
(list
#:make-flags #~(list "CC=gcc" "RM=rm" "SHELL=sh"
(string-append
"CFLAGS="
"-Wno-error=implicit-int"
" -Wno-error=return-mismatch"
" -Wno-error=implicit-function-declaration")
"all")
`(#:make-flags '("CC=gcc" "RM=rm" "SHELL=sh" "all")
#:parallel-build? #f
#:tests? #f ;; no tests-suite
#:modules `((srfi srfi-1)
,@%default-gnu-modules)
#:modules ((srfi srfi-1)
,@%default-gnu-modules)
#:phases
#~(modify-phases %standard-phases
(add-after 'build 'make-doc
(lambda _
(invoke "faketime"
"1970-01-01 00:00:00"
"make" "CC=gcc" "RM=rm" "SHELL=sh" "manual")))
(add-before 'make-doc 'fix-doc
(lambda _
(substitute* "doc/Makefile" (("/bin/rm") (which "rm")))
(substitute* (find-files "doc" "\\.tex")
(("\\\\special\\{psfile=([^,]*),.*scale=([#0-9.]*).*\\}"
all file scale)
(string-append "\\includegraphics[scale=" scale "]{"
file "}"))
(("\\\\psfig\\{figure=([^,]*),.*width=([#0-9.]*in).*\\}"
all file width)
(string-append "\\includegraphics[width=" width "]{"
file "}"))
(("\\\\psfig\\{figure=([^,]*),.*height=([#0-9.]*in).*\\}"
all file height)
(string-append "\\includegraphics[height=" height "]{"
file "}"))
(("\\\\psfig\\{figure=([^,]*)\\}" all file)
(string-append "\\includegraphics{" file "}")))
(substitute* '("doc/mtt.tex" "doc/tcad.tex" "doc/ug.tex")
(("^\\\\documentstyle\\[(.*)\\]\\{(.*)\\}"
all options class)
(string-append "\\documentclass[" options "]{"
class "}\n"
"\\usepackage{graphicx}\n"
"\\usepackage{robinspace}"))
(("\\\\setlength\\{\\\\footheight\\}\\{.*\\}" all)
(string-append "%" all))
(("\\\\setstretch\\{.*\\}" all)
(string-append "%" all)))))
(delete 'configure)
(add-before 'install 'clean-bin
(lambda _
(delete-file (string-append (getcwd) "/bin/README"))))
(add-before 'install 'make-pdf
(lambda _
(setenv "TEXMFVAR" "/tmp") ;For texlive font cache
(with-directory-excursion "doc"
(for-each (lambda (file)
(invoke "faketime"
"-f"
"1970-01-01 00:00:00"
"dvips" file "-o"))
(find-files "." "\\.dvi"))
(for-each (lambda (file)
(invoke "faketime"
"-f"
"1970-01-01 00:00:00"
"ps2pdf" file))
'("mtt.ps" "ug.ps" "tcad.ps"))
(invoke "make" "clean"))))
(replace 'install
(lambda _
(let* ((data (string-append #$output "/share"))
(bin (string-append #$output "/bin"))
(doc (string-append data "/doc/" #$name "-" #$version))
(examples (string-append doc "/examples")))
(with-directory-excursion "bin"
(for-each (lambda (f)
(install-file f bin))
(find-files "." ".*")))
(with-directory-excursion "doc"
(for-each (lambda (f)
(install-file f doc))
(find-files "." ".pdf")))
(copy-recursively "examples" examples)))))))
(modify-phases %standard-phases
(add-after 'build 'make-doc
(lambda _
(invoke "make" "CC=gcc" "RM=rm" "SHELL=sh" "manual")))
(add-before 'make-doc 'fix-doc
(lambda _
(substitute* "doc/Makefile" (("/bin/rm") (which "rm")))
(substitute* (find-files "doc" "\\.tex")
(("\\\\special\\{psfile=([^,]*),.*scale=([#0-9.]*).*\\}"
all file scale)
(string-append "\\includegraphics[scale=" scale "]{"
file "}"))
(("\\\\psfig\\{figure=([^,]*),.*width=([#0-9.]*in).*\\}"
all file width)
(string-append "\\includegraphics[width=" width "]{"
file "}"))
(("\\\\psfig\\{figure=([^,]*),.*height=([#0-9.]*in).*\\}"
all file height)
(string-append "\\includegraphics[height=" height "]{"
file "}"))
(("\\\\psfig\\{figure=([^,]*)\\}" all file)
(string-append "\\includegraphics{" file "}")))
(substitute* '("doc/mtt.tex" "doc/tcad.tex" "doc/ug.tex")
(("^\\\\documentstyle\\[(.*)\\]\\{(.*)\\}"
all options class)
(string-append "\\documentclass[" options "]{"
class "}\n"
"\\usepackage{graphicx}\n"
"\\usepackage{robinspace}"))
(("\\\\setlength\\{\\\\footheight\\}\\{.*\\}" all)
(string-append "%" all))
(("\\\\setstretch\\{.*\\}" all)
(string-append "%" all)))
#t))
(delete 'configure)
(add-before 'install 'clean-bin
(lambda _
(delete-file (string-append (getcwd) "/bin/README"))
#t))
(add-before 'install 'make-pdf
(lambda _
(setenv "TEXMFVAR" "/tmp") ;For texlive font cache
(with-directory-excursion "doc"
(and
(for-each (lambda (file)
(invoke "dvips" file "-o"))
(find-files "." "\\.dvi"))
(for-each (lambda (file)
(invoke "ps2pdf" file))
'("mtt.ps" "ug.ps" "tcad.ps"))
(invoke "make" "clean")))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(data (string-append out "/share"))
(bin (string-append out "/bin"))
(doc (string-append data "/doc/" ,name "-" ,version))
(examples (string-append doc "/examples")))
(with-directory-excursion "bin"
(for-each (lambda (f)
(install-file f bin))
(find-files "." ".*")))
(copy-recursively "doc" doc)
(copy-recursively "examples" examples)
#t))))))
(home-page "https://www.rle.mit.edu/cpg/research_codes.htm")
(synopsis "Multipole-accelerated capacitance extraction program")
(description
@@ -913,65 +901,64 @@ user-level language.")
;; TODO: Keep in sync with radare2.
(define-public iaito
(package
(name "iaito")
(version "6.1.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/iaito")
(commit version)))
(sha256
(base32
"16sp73k6ighjwp80nvf55lwzv0fb8p4ki76mnsc8xhl3vq7pka0w"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ;no tests
#:modules '((guix build gnu-build-system) (guix build qt-utils)
(guix build utils))
#:imported-modules `((guix build qt-utils)
,@%default-gnu-imported-modules)
#:phases
#~(modify-phases %standard-phases
;; The build system assumes the sdb lib is installed alongside
;; radare2. We already patch the radare2 package to use a
;; system-installed sdb rather than install its own, so we must
;; propagate those changes here.
(add-before 'configure 'add-sdb-libs
(lambda _
(substitute* '("./src/lib_radare2.pri")
(("pkg-config --libs r_core" all)
(string-append all " sdb")))))
(add-after 'install 'wrap-qt
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-all-qt-programs #:outputs outputs
#:inputs inputs
#:qtbase (assoc-ref inputs "qtbase")))))))
(inputs
(list capstone
libuv
libzip
lz4
openssl
qtbase
qtsvg
qtwayland
radare2
sdb))
(native-inputs
(list pkg-config python-minimal-wrapper))
(native-search-paths (list (search-path-specification
(variable "R2_LIBR_PLUGINS")
(files (list "lib/radare2"))
(separator #f)))) ;single value
(home-page "https://github.com/radareorg/iaito")
(synopsis "Official radare2 GUI")
(description "Iaito is the official graphical interface for radare2, a
;; Commit "Release 6.1.2"
(let ((commit "790878048ecb62f4d2f1b5f848948059dd5bb8fe")
(revision "1"))
(package
(name "iaito")
(version (git-version "6.1.2" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/iaito")
(commit commit)))
(sha256
(base32
"00nqn3mx2fj5higz4niwl0nx04vnjwzccw6zjx3rhwf6fj5yfamm"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ;no tests
#:modules '((guix build gnu-build-system) (guix build qt-utils)
(guix build utils))
#:imported-modules `((guix build qt-utils)
,@%default-gnu-imported-modules)
#:phases
#~(modify-phases %standard-phases
;; The build system assumes the sdb lib is installed alongside
;; radare2. We already patch the radare2 package to use a
;; system-installed sdb rather than install its own, so we must
;; propagate those changes here.
(add-before 'configure 'add-sdb-libs
(lambda _
(substitute* '("./src/lib_radare2.pri")
(("pkg-config --libs r_core" all)
(string-append all " sdb")))))
(add-after 'install 'wrap-qt
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-all-qt-programs #:outputs outputs
#:inputs inputs
#:qtbase (assoc-ref inputs "qtbase")))))))
(inputs
(list capstone
libuv
libzip
lz4
openssl
qtbase
qtsvg
qtwayland
radare2
sdb))
(native-inputs
(list pkg-config python-minimal-wrapper))
(home-page "https://github.com/radareorg/iaito")
(synopsis "Official radare2 GUI")
(description "Iaito is the official graphical interface for radare2, a
libre reverse engineering framework. Iaito focuses on simplicity, parity with
commands, features, and keybindings.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public inspekt3d
(let ((commit "703f52ccbfedad2bf5240bf8183d1b573c9d54ef")
@@ -1055,6 +1042,32 @@ in the context of per-cpu data. The library offers ABI headers to interface
with the kernel and various utilities such as per-cpu counters.")
(license (list license:lgpl2.1 license:expat)))))
(define-public linsmith
(package
(name "linsmith")
(version "0.99.33")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/linsmith/linsmith/linsmith-"
version "/linsmith-" version ".tar.gz"))
(sha256
(base32
"1629p29casy9pgy8hzva1bmgrvh923qk01ls3anik6zqn6swkjfn"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("CFLAGS=-fcommon")))
(native-inputs
(list pkg-config))
(inputs
(list gtk+-2 libgnomeui))
(home-page "https://jcoppens.com/soft/linsmith/index.en.php")
(synopsis "Smith Charting program")
(description "LinSmith is a Smith Charting program, mainly designed for
educational use. As such, there is an emphasis on capabilities that improve
the 'showing the effect of'-style of operation.")
(license license:gpl2+)))
(define-public valeronoi
(package
(name "valeronoi")
@@ -1227,7 +1240,7 @@ specified in rfc2217 and a (Linux specific) CAN mode.")
(define-public minicom
(package
(name "minicom")
(version "2.11.1")
(version "2.10")
(source
(origin
(method git-fetch)
@@ -1235,7 +1248,7 @@ specified in rfc2217 and a (Linux specific) CAN mode.")
(url "https://salsa.debian.org/minicom-team/minicom.git")
(commit version)))
(sha256
(base32 "15k20qbxrjdxadwzkp31hjy7apdasrsgs532kwmlkpzs92ff4ghs"))
(base32 "0sxbyf1li3lsrvkjpn04xz6ywa42ggfc1fhdrmsibfkhqja9abn0"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -1360,33 +1373,24 @@ determines the frequencies, decay constants, amplitudes, and phases of those sin
(define-public guile-libctl
(package
(name "guile-libctl")
(version "4.6.0")
(version "4.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/NanoComp/libctl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri
(string-append
"https://github.com/NanoComp/libctl/releases/download/v"
version "/libctl-" version ".tar.gz"))
(sha256
(base32
"1lsch1qc5w9yyprrvawfwbnz7na4qah0p752kxxv144xp8yq98x7"))))
"0x8r56lpfq83kfbq28vr25icl19xpfd6fjrxzcpdmv30l9pash83"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
#~(list "--enable-shared")
#:phases
#~(modify-phases %standard-phases
;; Avoid bin/sh shebang in configure.
(add-before 'bootstrap 'no-/bin/sh
(lambda _ (delete-file "autogen.sh"))))))
`(#:configure-flags '("--enable-shared")))
(native-inputs
(list autoconf
automake
libtool
gfortran))
`(("fortran" ,gfortran)))
(inputs
(list guile-3.0))
(home-page "https://libctl.readthedocs.io/en/latest/")
(list guile-2.2))
(home-page "http://ab-initio.mit.edu/wiki/index.php/Libctl")
(synopsis "Flexible control files implementation for scientific simulations")
(description
"Libctl is a Guile-based library implementing flexible control files
@@ -1396,7 +1400,7 @@ for scientific simulations.")
(define-public mpb
(package
(name "mpb")
(version "1.12.0")
(version "1.8.0")
(source (origin
(method url-fetch)
(uri
@@ -1405,41 +1409,50 @@ for scientific simulations.")
version "/mpb-" version ".tar.gz"))
(sha256
(base32
"197dm8z5hfikivb73rhywyq976rn1k621bf1admgc5xjaii20awd"))))
"1jgrb7dd6qs6j6y1gnxmdgrh79l2bvqa6nk60a4pw1annsks4brd"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list
(string-append "--with-libctl="
#$(this-package-input "guile-libctl") "/share/libctl")
"--enable-shared")))
`(#:configure-flags
(list (string-append "--with-libctl="
(assoc-ref %build-inputs "libctl")
"/share/libctl")
"--enable-shared")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'relax-gcc-14-strictness
(lambda _
(setenv "CFLAGS"
(string-join
(list "-Wno-error=incompatible-pointer-types"
"-Wno-error=implicit-function-declaration"
"-Wno-error=int-conversion")
" ")))))))
(native-inputs
(list gfortran
pkg-config
swig-4.4))
`(("fortran" ,gfortran)
("pkg-config" ,pkg-config)
("swig" ,swig-4.0)))
(inputs
(list fftw
gsl
guile-3.0
guile-libctl
hdf5
openblas
readline
zlib))
(home-page "https://mpb.readthedocs.io/en/latest/")
`(("fftw" ,fftw)
("gsl" ,gsl)
("guile" ,guile-2.2)
("hdf5" ,hdf5)
("openblas" ,openblas)
("libctl" ,guile-libctl)
("readline" ,readline)
("zlib" ,zlib)))
(home-page "http://ab-initio.mit.edu/wiki/index.php/MIT_Photonic_Bands")
(synopsis "Computes band structures and electromagnetic modes of dielectric
structures")
(description
"MIT Photonic-Bands (MPB) computes definite-frequency eigenstates
(harmonic modes) of Maxwell's equations in periodic dielectric structures for
arbitrary wavevectors, using fully-vectorial and three-dimensional methods.")
"MIT Photonic-Bands (MPB) computes definite-frequency eigenstates (harmonic modes)
of Maxwell's equations in periodic dielectric structures for arbitrary wavevectors, using
fully-vectorial and three-dimensional methods.")
(license license:gpl2+)))
(define-public meep
(package
(name "meep")
(version "1.33.0")
(version "1.30.1")
(source (origin
(method url-fetch)
(uri
@@ -1448,7 +1461,7 @@ arbitrary wavevectors, using fully-vectorial and three-dimensional methods.")
version "/meep-" version ".tar.gz"))
(sha256
(base32
"1azhgz6s95siqmnxb3if6waxbvia3bij5jmxgxjz4sgn2ahw1axx"))))
"1h80d7i7v06fxfdsa496b542dvr105c4v1n7pk8m3jssvbxvv2a0"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
@@ -1458,11 +1471,11 @@ arbitrary wavevectors, using fully-vectorial and three-dimensional methods.")
(native-inputs
(list gfortran
pkg-config
swig-4.4))
swig-4.0))
(inputs
(list fftw
gsl
guile-3.0
guile-2.2
guile-libctl
harminv
hdf5
@@ -1672,7 +1685,7 @@ multiple services and devices with hundreds of supported integrations.")
(define-public python-esptool
(package
(name "python-esptool")
(version "5.2.0")
(version "5.0.2")
(source
(origin
(method git-fetch)
@@ -1681,7 +1694,7 @@ multiple services and devices with hundreds of supported integrations.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0rgwa7mimznwkn8ql17yxwxsfp0is3i75y7bf62mgsxjyx7zawcd"))))
(base32 "1wl75j6ncm5lahy9pzc38qivhaf9p42a2bijishdkwkw388fs6x1"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -1717,7 +1730,7 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
(define-public radare2
(package
(name "radare2")
(version "6.1.4") ;keep in sync with iaito
(version "6.1.2") ;keep in sync with iaito
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1725,7 +1738,7 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
(commit version)))
(sha256
(base32
"0gq90rwwmkfc7v1rhyr3lw859rsm1ryhzrwidhhh6pbp6jv03k6w"))
"1d4sslhjxm00fchqcszfa59wf51v632jvf7aj4af0vdhl9f9n8k2"))
(file-name (git-file-name name version))
(patches
(search-patches "radare2-fix-meson-build-to-use-sys-sdb.patch"
@@ -1781,10 +1794,6 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
(propagated-inputs
;; In the Libs: section of r_hash.pc.
(list xxhash))
(native-search-paths (list (search-path-specification
(variable "R2_LIBR_PLUGINS")
(files (list "lib/radare2"))
(separator #f)))) ;single value
(home-page "https://radare.org/")
(synopsis "Reverse engineering framework")
(description
@@ -1802,183 +1811,24 @@ like relocation symbols. It is able to deal with malformed binaries, making
it suitable for security research and analysis.")
(license license:lgpl3)))
(define-public r2ghidra
(package
(name "r2ghidra")
(version "6.1.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/r2ghidra")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "04x7vmg67zz0llkz3r3nmcky5z8c4ha31z8jzkm19dnyslw2qlxr"))
(modules '((guix build utils)))
(snippet
;; Delete bundled libs and remove their references.
#~(begin (delete-file-recursively "subprojects")
(substitute* "ghidra/deps.mk"
(("ZLIB_LDFLAGS=.*") "")
(("ZLIB_CFLAGS=.*") ""))
(substitute* "src/Makefile"
(("(all:) subprojects-zlib" _ f) f)
(("PUGIXML_OBJS=.*") "")
(("PUGIXML_SRCS=.*") "")
(("PUGIXML_CFLAGS=.*") ""))))))
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~(let* ((zlib #$(this-package-input "zlib"))
(pugixml #$(this-package-input "pugixml-next")))
(list (string-append "CC=" #$(cc-for-target))
(format #f "ZLIB_LDFLAGS=-L~a/lib/ -lz" zlib)
(format #f "LDFLAGS=-L~a/lib/ -lpugixml" pugixml)
(format #f "ZLIB_CFLAGS=-I~a/include/" zlib)
(format #f "PUGIXML_CFLAGS=-I~a/include/" pugixml)
;; Ensure this matches R2_LIBR_PLUGINS as exported
;; by radare2 & iaito.
(format #f "PLUGDIR=~a/lib/radare2" #$output)))
#:tests? #f ;no 'check' rule, test dir may require 3rd-party binaries
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'skip-git-and-copy-ghidra
(lambda _
;; GIT is assumed to point to the git binary, but it is
;; only checked to be a file; this short-circuits the check.
(setenv "GIT" "configure")
(copy-recursively
(search-input-directory %build-inputs "share/ghidra-native")
"subprojects/ghidra-native")))
(add-before 'build 'set-system-sleighhome
;; Helper files which try to install in radare2's path
;; in the store, irrespective of PLUGDIR. As long as
;; r2ghidra knows where to find them, we can place them
;; anywhere.
(lambda _
(let ((sleighhome
(in-vicinity #$output "lib/radare2/sleighhome")))
;; Hardcoded path to check.
(substitute* "src/SleighAsm.cpp"
(("(path = strdup \\()[^\\)]*" _ f)
(string-append f "\"" sleighhome "\"")))
;; Install location.
(substitute* "ghidra/Makefile"
(("(sleigh-install D=\")\\$\\(DD\\)" _ f)
(string-append f sleighhome)))))))))
(inputs
(list capstone
libuv
libzip
lz4
openssl
pugixml-next
radare2
sdb
zlib))
(native-inputs
(list ghidra-native
pkg-config
python-minimal))
(home-page "https://www.radare.org/")
(synopsis "Native Ghidra Decompiler for radare2")
(description
"r2ghidra is a radare2 plugin which integrates the
@url{https://www.nsa.gov/ghidra,Ghidra} decompiler.")
;; Specified lgpl3 'only' in README.
(license license:lgpl3)))
(define-public ghidra-native
;; Latest commit; last release (8/2025) incompatible with current r2ghidra.
(let ((commit "df065bad0f9e7cea233479048681f811c4f640a2")
(revision "1"))
(package
(name "ghidra-native")
(version (git-version "0.6.2" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/ghidra-native")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "14bzrl856x3bsqjpks85rzxcxncfmnjwc5knv2h4lybfz4bxcn39"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ;no tests
#:make-flags #~(list "patch")
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(replace 'install ;no install target
(lambda _
(let ((ghidra-native-patched
(in-vicinity #$output "/share/ghidra-native/src")))
(copy-recursively "src" ghidra-native-patched)))))))
(home-page "https://www.radare.org/")
(synopsis "Native parts of ghidra")
(description
"This package contains the native parts of ghidra, to be used from
r2ghidra.")
(properties '((hidden? . #t))) ;only provides source files
(license license:asl2.0))))
(define-public rayforge
(package
(name "rayforge")
(version "1.7.7") ;newer version requires python-raygeo (Rust)
(version "1.0.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/barebaric/rayforge")
(commit version)))
(url "https://github.com/barebaric/rayforge")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1w44qw51nynf1rk61y0d0wj6xl66ciswpcsp38dnwrpfwsqgafxw"))))
(base32 "1c6dl0x3pafmh4p533jbk2cj73q90vz1797jya3hzzxdv0h383yc"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 1626 passed
#:test-flags
;; XXX: Tests fail to pick exact version of cairo: E gi.RepositoryError:
;; Typelib file for namespace 'cairo', version '1.0' not found
#~(list "--ignore=tests/core/geo/test_font_config.py"
"--ignore=tests/core/geo/test_geo_text.py"
"--ignore=tests/core/geo/test_geometry.py"
"--ignore=tests/core/geo/test_text.py"
"--ignore=tests/core/geo/test_transform.py"
;; XXX: Projects ships a huge test suite which the majority
;; fail, run bare minimal core tests.
"tests/core")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
;; All of the dependencies are pined to exact version.
(substitute* "requirements.txt"
(("[=~]=.*") "\n")
;; XXX: Guix's opencv package does not provide Python's
;; version metadata.
(("opencv_python") ""))))
(add-before 'sanity-check 'set-home
(lambda _
(setenv "HOME" "/tmp")))
(add-before 'check 'remove-local-source
(lambda _
(delete-file-recursively "rayforge")))
(add-after 'wrap 'wrap-rayforge
(lambda _
(wrap-program (string-append #$output "/bin/rayforge")
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")))))))))
(native-inputs (list python-gitpython
python-pytest
python-pytest-asyncio
python-pytest-cov
python-pytest-mock
python-setuptools))
(inputs (list bash-minimal
@@ -1988,27 +1838,54 @@ r2ghidra.")
python-asyncudp
python-blinker
python-ezdxf
python-gitpython
python-numpy
python-platformdirs
python-pluggy
python-pycairo
python-pyclipper
python-pygobject
python-pymupdf
python-pyopengl
python-pyopengl-accelerate
python-pypdf
python-pyserial
python-pyserial-asyncio
python-pyvips
python-pyyaml
python-scipy
python-semver
python-svgelements
python-trimesh
python-websockets
vtracer))
(home-page "https://rayforge.org/")
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'write-version-file
(lambda _
(call-with-output-file "rayforge/version.txt"
(lambda (port)
(display #$version port)))
(let ((port (open-file "MANIFEST.in" "a")))
(display "include rayforge/version.txt\n" port)
(close-port port))))
(add-after 'unpack 'fix-tests
(lambda _
(mkdir "tmp-home")
(setenv "HOME"
(string-append (getcwd) "/tmp-home"))
;; Fix abstract class test for older Python error message format
(substitute* "tests/pipeline/stage/test_base_stage.py"
(("without an implementation for abstract method 'reconcile'")
"abstract method '?reconcile'?"))
;; Fix arc fitting test: add looser tolerance for floating point comparison
(substitute* "tests/core/geo/test_fitting.py"
(("(assert np\\.allclose\\(.*, \\(-10\\.0, 0\\.0\\))" match)
(string-append match ", atol=1e-3")))))
(delete 'sanity-check) ; Tests against python package version of rayforge
(add-after 'wrap 'wrap-rayforge
(lambda _
(wrap-program (string-append #$output "/bin/rayforge")
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")))))))))
(home-page "https://github.com/barebaric/rayforge")
(synopsis "Desktop application for laser cutting and engraving")
(description
"Rayforge is a cross-platform 2D CAD and G-code control software designed
@@ -2134,7 +2011,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
(define-public gpx
(package
(name "gpx")
(version "2.6.8")
(version "2.5.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2143,7 +2020,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
(file-name (git-file-name name version))
(sha256
(base32
"1izs8s5npkbfrsyk17429hyl1vyrbj9dp6vmdlbb2vh6mfgl54h8"))))
"1yab269x8qyf7rd04vaxyqyjv4pzz9lp4sc4dwh927k23avr3rw5"))))
(build-system gnu-build-system)
(home-page "https://github.com/markwal/GPX")
(synopsis "Converting gcode to x3g files for 3D printing")
@@ -2258,7 +2135,7 @@ specification can be downloaded at @url{http://3mf.io/specification/}.")
(define-public manifold
(package
(name "manifold")
(version "3.4.1")
(version "3.3.2")
(source
(origin
(method git-fetch)
@@ -2267,7 +2144,7 @@ specification can be downloaded at @url{http://3mf.io/specification/}.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0x65708r6xln8sd53abbn1qnhz3wxnicn2837ida73ihargk5js1"))))
(base32 "0bq1gzvhyp0b9v0q6magwf0yi9lzqgh3fj9104wqfvpl2skgzkg7"))))
(build-system cmake-build-system)
(inputs (list onetbb clipper2 assimp python-nanobind googletest))
(arguments
@@ -2490,6 +2367,7 @@ Newton-Raphson power flow solvers in the C++ library lightsim2grid, and the
python-networkx
python-openpyxl
python-pytest
python-pytest-cov ; --cov runs by default on skrf
python-pytest-mock
python-pyvisa
python-setuptools
@@ -2764,7 +2642,7 @@ but also adds new features and improves existing ones.")
(define-public emacs-scad-mode
(package
(name "emacs-scad-mode")
(version "99.0")
(version "98.0")
(source
(origin
(method git-fetch)
@@ -2772,10 +2650,9 @@ but also adds new features and improves existing ones.")
(url "https://github.com/openscad/emacs-scad-mode")
(commit version)))
(sha256
(base32 "0mqfvff8f7lqjviwz30j7vkb098xd0k8bdzznb77aw4q7gdsf8nm"))
(base32 "19mn6z98c8s7mspa7j8xw7za33gmpsy4iw2r9xiggdv7yh6mh8h8"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments (list #:tests? #f)) ; no tests
(propagated-inputs (list emacs-compat))
(synopsis "Emacs mode to edit OpenSCAD files")
(description
@@ -3024,22 +2901,20 @@ interpolation toolkit.")
(define-public python-motulator
(package
(name "python-motulator")
(version "0.6.2")
(version "0.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Aalto-Electric-Drives/motulator/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "motulator" version))
(sha256
(base32 "1di2r1i19jl751v0hj426zkwk48w5yf8zpw2bl6qzk0vq4z2vpbw"))))
(base32 "1kh13zfa4w73q04pny2w2zgym47fp8xy7glwfx82fdx4fihk7dv7"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ; there are no tests
(propagated-inputs
(list python-numpy python-matplotlib python-scipy python-tqdm))
(native-inputs (list python-hatchling))
(propagated-inputs (list python-matplotlib python-numpy python-scipy))
(native-inputs (list python-hatchling
python-ipykernel
python-toml))
(home-page "https://aalto-electric-drives.github.io/motulator/")
(synopsis "Motor Drive Simulator in Python")
(description "This package includes simulation models for an induction
@@ -3052,7 +2927,7 @@ Runge-Kutta method of order 5(4) from @code{scipy.integrate.solve_ivp.}")
(define-public cgns
(package
(name "cgns")
(version "4.5.2")
(version "4.3.0")
(source
(origin
(method git-fetch)
@@ -3061,7 +2936,7 @@ Runge-Kutta method of order 5(4) from @code{scipy.integrate.solve_ivp.}")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0r8y6lddp7q9nb6804c6bbr4y0pv7ssdzi9m5ddx50ksvfv382fw"))))
(base32 "0jig1y7lv9qk1ri2gqws7ffpajmhxnank7gbyna9hfaghsxdlnvd"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags
@@ -4094,7 +3969,7 @@ G-codes to binary and vice versa.")
(list bash-minimal
boost-1.83
cereal
cgal-5
cgal
curl
dbus
eigen
@@ -4183,6 +4058,10 @@ BOM creation and has a lot of extra features.")
(sha256
(base32 "19fi0y0lk45cyampczgh3kz2swai4zcgzkffp0xf5h55rxxrdpvk"))))
(build-system cmake-build-system)
(inputs
(list protobuf
python
python-sip-4))
(arguments
`(#:tests? #f
#:configure-flags '("-DBUILD_EXAMPLES=OFF")
@@ -4203,11 +4082,6 @@ BOM creation and has a lot of extra features.")
(package-version python))
"/site-packages"
" Python3_SITEARCH"))))))))
(inputs
(list protobuf
python
python-sip-4))
(native-inputs (list python-setuptools))
(home-page "https://github.com/Ultimaker/libArcus")
(synopsis "Communication library for Ultimaker software components")
(description "This library contains C++ code and Python3 bindings for
@@ -4426,6 +4300,15 @@ problem. It was inspired from the SVGNest Javascript library.")
(sha256
(base32 "0jhqfylg6vzlbz9rqs981bg6y8s18iklw1p8hmax72xq2c7561s1"))))
(build-system cmake-build-system)
(native-inputs
(list pkg-config))
(inputs
(list boost
clipper
libnest2d-for-cura
nlopt
python
python-sip-4))
(arguments
`(#:tests? #f
#:phases
@@ -4445,16 +4328,6 @@ problem. It was inspired from the SVGNest Javascript library.")
(string-append path " Python3_SITEARCH"))
(("\\$\\{_process_output\\} Python3_SITELIB")
(string-append path " Python3_SITELIB")))))))))
(native-inputs
(list pkg-config
python-setuptools))
(inputs
(list boost
clipper
libnest2d-for-cura
nlopt
python
python-sip-4))
(home-page "https://github.com/Ultimaker/pynest2d")
(synopsis "Python bindings for libnest2d")
(description
@@ -4499,6 +4372,8 @@ belongs to the Cura project from Ultimaker.")
(sha256
(base32 "1cq85x0xizsjwf9nl7v7x4i9vl335mgv2lda3q2c9fcwrndsc3wk"))))
(build-system cmake-build-system)
(inputs
(list python python-sip-4))
(arguments
`(#:tests? #f ; No test suite.
#:phases
@@ -4515,8 +4390,6 @@ belongs to the Cura project from Ultimaker.")
(string-append path " Python3_SITEARCH"))
(("\\$\\{_process_output\\} Python3_SITELIB")
(string-append path " Python3_SITELIB")))))))))
(inputs (list python python-sip-4))
(native-inputs (list python-setuptools))
(home-page "https://github.com/Ultimaker/libSavitar")
(synopsis "C++ implementation of 3mf loading with SIP python bindings")
(description "LibSavitar is a C++ implementation of 3mf loading with SIP
@@ -4959,9 +4832,7 @@ and mogan.")
(("'\" [+] python_path [+]")
(string-append "'\" + std::string(\""
(assoc-ref outputs "out")
"/lib/python"
#$(version-major+minor (package-version python))
"/site-packages"
"/lib/python3.11/site-packages"
"\") +")))))
(add-before 'check 'prepare-checks
(lambda _
+1
View File
@@ -30,6 +30,7 @@
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
+39 -1
View File
@@ -24,7 +24,7 @@
(define-module (gnu packages esolangs)
#:use-module (gnu packages)
#:use-module (gnu packages bison)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
@@ -136,3 +136,41 @@ whenever possible to the extent that the above points are not compromised.
affect your score when code golfing.")
(properties `((lint-hidden-cpe-vendors "premio" "jenkins")))
(license license:expat)))
(define-public shakespeare-spl
(package
(name "shakespeare-spl")
(version "1.2.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/shakespearelang/spl-"
version ".tar.gz"))
(sha256
(base32
"1lxpfhv01kcwy4l4xgx7j765g8g0v74jns0cr908nfw55h5fy1hj"))
(patches
(search-patches
"shakespeare-spl-fix-grammar.patch"))))
(build-system copy-build-system)
(arguments
`(#:imported-modules (,@%default-gnu-imported-modules
(guix build copy-build-system))
#:modules ((guix build copy-build-system)
((guix build gnu-build-system) #:prefix gnu:)
(guix build utils))
#:install-plan '(("spl/bin" "bin")
("spl/lib" "lib")
("spl/include" "include"))
#:phases
(modify-phases %standard-phases
(add-before 'install 'build
(assoc-ref gnu:%standard-phases 'build)))))
(native-inputs
(list bison flex))
(home-page "http://shakespearelang.sourceforge.net/")
(synopsis "Write programs like Shakespearean plays")
(description "Shakespeare is a programming language with the design goal
of making programs read like plays. The characters in the play are variables.
If you want to assign a character, let's say Juliet, a positive value, you put
her and another character on the stage and let that character praise Juliet.")
(license license:gpl2+)))
+1 -1
View File
@@ -30,7 +30,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bison)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages glib)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages linux)
+2
View File
@@ -29,6 +29,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (gnu packages)
@@ -244,6 +245,7 @@ seamlessly with your desktop environment.")
(native-inputs
(list nss-certs-for-test
python-pytest
python-pytest-cov
python-pytest-mock
python-pytest-recording
python-pytest-retry

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