Compare commits

..

10 Commits

Author SHA1 Message Date
Julien Lepiller
91bda669ab gnu: ant/java8: Rename to ant.
* gnu/packages/java.scm (ant): Rename to...
(ant/java7): ...this.
(ant/java8): Rename to...
(ant): ...this.
(java-qdox-1.12, java-jarjar, java-hamcrest-core, java-hamcrest-parent-pom)
(java-junit, java-org-ow2-parent-pom-1.3, java-asm-bootstrap): Rename
inputs accordingly.
* gnu/packages/axoloti.scm: Rename accordingly.
* gnu/packages/bioinformatics.scm: idem.
* gnu/packages/groovy.scm: idem.
* gnu/packages/java-maths.scm: idem.
* guix/build-system/ant.scm: idem.

Change-Id: I9d79ce8e351862747420fc2a58301b7f61212293
2026-04-20 08:31:21 +02:00
Mathieu Lirzin
f384e4f25a gnu: ant/java8: Wrap binary.
This ant package variant is meant to be used in profiles.

* gnu/packages/java.scm (ant/java8)[arguments]<fix-executable-paths>: New phase.

Change-Id: I06ea8a399576132f395bf1fea643a8af4ea206cd
2026-04-20 08:31:17 +02:00
Julien Lepiller
86330b7344 gnu: ant-junit: Deprecate.
* gnu/packages/bioinformatics (java-picard-1.113): Remove ant-junit
  dependency.
* gnu/packages/groovy.scm (groovy-ant): Remove ant-junit dependency.
* gnu/packages/java.scm (ant-junit): Deprecate in favor of ant/java8.

Change-Id: Ic877958cc559acd710ac38b7b9d4b271d3982c3f
2026-04-20 08:31:15 +02:00
Julien Lepiller
d3a0108415 gnu: ant/java8: Enable tests.
As a side-effect, this also builds ant-junit.

* gnu/packages/java.scm (ant/java8)[build-system]: Use ant-build-system.
[arguments]: Enable tests and build of ant-junit.
[native-inputs]: Remove.
[inputs]: Add junit and hamcrest.

Change-Id: Ia6fe325b11f4a50a2466c88befcdc1f56cef7c31
2026-04-20 08:31:13 +02:00
Julien Lepiller
1a7e8d47e3 gnu: java-junitparams: Disable failing tests.
gnu/packages/java.scm (java-junitparams)[arguments]: Disable failing tests.

Change-Id: Ibe4af6c58f590e87728792be5c57e37ed59dffd2
2026-04-20 08:31:10 +02:00
Julien Lepiller
927469313c gnu: java-junit: Update to 4.13.2.
* gnu/packages/java.scm (java-junit): Update to 4.13.2.

Change-Id: I82e7e3bb294375ddc3f81b66d741f8881adfd22d
2026-04-20 08:31:06 +02:00
Julien Lepiller
5043ec49c5 guix: ant: Use ant/java8 by default.
This is the latest version.

* guix/build-system/ant.scm (default-ant): Use ant/java8.

Change-Id: I3bd1cb9ff7520d2b44a1a4f8467e7df37b082f23
2026-04-20 08:31:04 +02:00
Julien Lepiller
5660474bfa gnu: ant: Do not inherit.
The derivation does not change, but drop inheritance so we can modify
the latest ant package independently.

* gnu/packages/java.scm (ant): Do not inherit.

Change-Id: I559103d2662f920bc77e0e0107e15fbb75117425
2026-04-20 08:30:59 +02:00
Julien Lepiller
5bef6564ba gnu: java-junit: Explicitely use the older ant.
Its dependencies need to use the same ant version.

* gnu/packages/java.scm (java-junit)[arguments]: Use ant.
(java-qdox-1.12, java-jarjar, java-hamcrest-core)
(java-hamcrest-parent-pom, java-org-ow2-parent-pom-1.3)
(java-asm-bootstrap)[arguments]: Use ant.

Change-Id: I522760227a450ac937ad0f4fc0ed27c7e3ec5348
2026-04-20 08:30:44 +02:00
Julien Lepiller
c781426226 gnu: ant: Simplify definition.
* gnu/packages/java.scm (ant)[arguments]: Clean up phases.

Change-Id: I9aac740918e1ac54a9c9333a8dace9a3075fb4d0
2026-04-20 08:30:27 +02:00
267 changed files with 12754 additions and 21821 deletions

View File

@@ -16,8 +16,6 @@
( ;; primary: "D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F"
"01FD 85F4 1A7B 7F82 0583 06A5 935E BE07 36DC 857E"
(name "avp"))
("5D54 CF25 57B2 38E8 8DC1 80A2 2D22 3241 0AB7 4043"
(name "baleine"))
( ;; primary: "34FF 38BC D151 25A6 E340 A0B5 3453 2F9F AFCA 8B8E"
"A3A4 B419 0074 087C A7DE 5698 BC45 CA67 E2F8 D007"
(name "bavier"))

View File

@@ -179,7 +179,6 @@ guix/scripts/import/elpa\.scm @guix/emacs
tests/import/elpa\.scm @guix/emacs
gnu/packages/bootloaders\.scm @guix/embedded
gnu/packages/coreboot\.scm @guix/embedded
gnu/packages/firmware\.scm @guix/embedded
gnu/packages/emulators\.scm @guix/games
@@ -319,7 +318,6 @@ gnu/packages/tor-browsers\.scm @guix/mozilla
gnu/packages/ocaml\.scm @guix/ocaml
gnu/packages/coq\.scm @guix/ocaml
gnu/packages/rocq\.scm @guix/ocaml
guix/build/ocaml-build-system\.scm @guix/ocaml
guix/build/dune-build-system\.scm @guix/ocaml
guix/build-system/ocaml\.scm @guix/ocaml
@@ -336,7 +334,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

View File

@@ -486,7 +486,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 \

View File

@@ -1667,9 +1667,6 @@ can be turned into a version string via @code{git-version}, for example
@code{rust-pipewire-0.8.0.fd3d8f7} and @code{rust-pubgrub-0.3.0.b70cf70}.
@end table
When contributing Rust packages, we should have all modifications to these
two modules, in the same commit as the package we are contributing.
To avoid merge conflicts with changes from multiple branches, these two modules
are maintained by the Rust team (@pxref{Teams}).
@@ -1699,68 +1696,6 @@ tree.
@xref{Packaging Rust Crates,,, guix-cookbook, GNU Guix Cookbook}, for
packaging workflow.
@subsubsection Commit messages
The commit message must have a general brief mention to entry changes
in @code{(gnu packages rust-crates)}. For changes in @code{(gnu packages
rust-sources)}, the commit message must explicitly mention all changes to the
packages.
Here are some examples for different situations:
@itemize
@item
Adding a new Rust package:
@example
gnu: Add catppuccin-whiskers.
* gnu/packages/rust-apps.scm (catppuccin-whiskers): New variable.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs)
[catppuccin-whiskers]: New entry.
@end example
@item
Updating a simple package:
@example
gnu: watchexec: Update to 2.3.2.
* gnu/packages/rust-apps.scm (watchexec): Update to 2.3.2.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs)[watchexec]:
Update entry.
@end example
@item
Updating a package with sources:
@example
gnu: typst: Update to 0.14.0.
* gnu/packages/rust-apps.scm (typst): Update to 0.14.0.
[arguments]<#:rust>: Use rust-1.88.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs)[typst]: Update
entry.
[rust-syntect-5]: Rename to rust-syntect-5.2.
[rust-syntect-5.3]: New entry.
* gnu/packages/rust-sources.scm (rust-hypher-0.1): Update to 0.1.6.
(rust-syntect-5): Rename to rust-syntect-5.2.
[inputs]: Rename cargo-inputs rust-syntect-5 to rust-syntect-5.2.
(rust-syntect-5.3): New variable.
@end example
@end itemize
@subsubsection Resolving merge conflicts in Pull Requests
For Rust crates, the recommended way to solve merge conflicts is to drop all
changes to @code{gnu/packages/rust-crates.scm}, rebase onto the desired branch
and run the lockfile importer again, manually adding back all relevant snippets
(if any).
@xref{Common Workflow for Resolving Merge Conflicts on Existing Pull Requests,,, guix-cookbook, GNU Guix Cookbook} for
a suggested workflow on resolving merge conflicts.
@node Elm Packages
@subsection Elm Packages
@@ -2715,7 +2650,6 @@ applications settings page}, granting read/write access to the
@cindex decision making
@cindex consensus seeking
Every contribution to the project involves a form of decision making.
It is expected from all contributors, and even more so from committers,
to help build consensus and make decisions based on consensus. By using
consensus, we are committed to finding solutions that everyone can live
@@ -2730,26 +2664,6 @@ resolve the deadlock. To learn what consensus decision making means and
understand its finer details, you are encouraged to read
@url{https://www.seedsforchange.org.uk/consensus}.
Day-to-day decision making, for instance discussions about pull requests
(@pxref{Reviewing the Work of Others}), happens informally among
interested parties such as contributors and members of the relevant
teams (@pxref{Teams}).
@cindex GCD, Guix Consensus Documents
@cindex Guix Consensus Documents (GCD)
Decisions that are expected to have an impact on most contributors
and/or on the broader user community---e.g., changes to project-wide
policies, to core functionality, and so on---are made following the
@acronym{GCD, Guix Consensus Document} process. The process provides a
framework to formalize proposals and draw attention to them, to leave
time for interested parties to discuss them, and to collectively accept
or withdraw them based on input from participating team members. It is
defined in
@uref{https://consensus.guix.gnu.org/gcd/001-gcd-process.html,
GCD@tie{}001}. Past GCDs can be seen at
@uref{https://consensus.guix.gnu.org}, and discussions take place at
@uref{https://codeberg.org/guix/guix-consensus-documents}.
@node Commit Access
@section Commit Access

View File

@@ -146,8 +146,6 @@ Packaging Rust Crates
* Common Workflow for Rust Packaging::
* Cargo Workspaces and Development Snapshots::
* Using Rust Libraries in Other Build Systems::
* Common Workflow for Updating Existing Rust Packages::
* Common Workflow for Resolving Merge Conflicts on Existing Pull Requests::
System Configuration
@@ -1649,8 +1647,6 @@ $ guix shell rust rust:cargo cargo-audit cargo-license
* Common Workflow for Rust Packaging::
* Cargo Workspaces and Development Snapshots::
* Using Rust Libraries in Other Build Systems::
* Common Workflow for Updating Existing Rust Packages::
* Common Workflow for Resolving Merge Conflicts on Existing Pull Requests::
@end menu
@node Common Workflow for Rust Packaging
@@ -1709,15 +1705,6 @@ $ cargo audit
$ cargo license
@end example
@quotation Note
Before running @command{cargo generate-lockfile}, make sure you have checked
out the correct tag for the version you are packaging. This ensures that
@code{Cargo.toml} matches the file used in the packages's @code{source} field.
To make sure, you can obtain the exact source with @command{./pre-inst-env guix
build --source <package>} and only then run @command{cargo generate-lockfile} on
that source tree.
@end quotation
@command{cargo generate-lockfile} updates dependencies to compatible versions.
Applying it to all Rust applications helps reduce a great number of Rust
libraries we need to check later. Although sometimes libraries may fail to
@@ -2000,316 +1987,6 @@ method, one of the most popular choices for Traditional Chinese users.")
(license license:lgpl2.1+)))
@end lisp
@node Common Workflow for Updating Existing Rust Packages
@subsubsection Common Workflow for Updating Existing Rust Packages
For this example, we'll update @code{niri}. The package definition looks like
this initially:
@lisp
(define-public niri
(package
(name "niri")
(version "25.08")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/YaLTeR/niri")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"09nsxd211mly8r1ys2lq6ia4jxgb980h1axrbgw748r0knfbbj7n"))))
(build-system cargo-build-system)
...
@end lisp
We start by running the usual @command{guix refresh -u niri}.
The @command{-u} flag will update in place the version and hash for the
@code{niri} package.
The package definition will then look like this:
@lisp
(define-public niri
(package
(name "niri")
(version "25.11")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/YaLTeR/niri")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0752qm245wc2gak0jhp0fnr0rdj3z54m2h97k3cxbjym9pcn658n"))))
(build-system cargo-build-system)
...
@end lisp
This means the source field was updated successfully, thus we can now proceed to
get the updated source with @command{guix build --source niri} as follows:
@example shell
$ cp -r $(./pre-inst-env guix build --source niri) /tmp
$ cd /tmp/<hash>-niri-25.11-checkout/
@end example
@quotation Note
In this specific example, the source is a git checkout, thus a directory. If the
package source is a compressed archive, you would at this point extract it to a
directory to proceed.
@end quotation
Now, given that we have access to the @code{Cargo.toml} file, we can now run
the following inside the checkout:
@example shell
$ guix shell rust rust:cargo -- cargo generate-lockfile
$ guix shell rust rust:cargo -- cargo audit
$ guix shell rust rust:cargo -- cargo license
@end example
@quotation Note
Sometimes the package will require a more up-to-date version of rust, that is
not yet the default rust on guix. For these cases you can use:
@example shell
$ guix shell -e "(@ (gnu packages rust) rust-1.90)" \
-e '`(,(@ (gnu packages rust) rust-1.90) "cargo")'
@end example
@end quotation
The first command will ensure that all cargo dependencies are up to date
and semver compatible, while also providing some other benefits, as further
explained in @ref{Common Workflow for Rust Packaging}.
The following command will warn if there are any known vulnerabilities in the
crates being imported. The last one will output the license information of all
the dependent crates.
If everything looks good, we can now replace the contents of the @code{niri}
indentifier, located inside the @code{lookup-cargo-inputs} variable on the
bottom of the @file{gnu/packages/rust-crates.scm} module, with the newer updated
crates by running the importer on the lockfile as follows:
@example shell
$ guix import -i /path/to/gnu/packages/rust-crates.scm \
crate -f Cargo.lock niri
@end example
@quotation Note
For the purpose of contributing a package to Guix (@pxref{Contributing,,,
guix, GNU Guix Reference Manual}), there is no need to cleanup the leftover
crates as a result of the package update. This is tasked to the rust-team
(@pxref{Teams,,, guix, GNU Guix Reference Manual}) to periodically run a
convenient script in @code{etc/teams/rust} to cleanup unused crates from
@file{gnu/packages/rust-crates.scm}.
@end quotation
We then need to check whether the importer has placed some TODOs for us,
inside @file{gnu/packages/rust-crates.scm} (you can use @command{git diff --
gnu/packages/rust-crates.scm} for this purpose).
There are a few types of TODO messages that you might encounter during this
step, each type requiring you to perform a different action.
The first one we encounter in our example is:
@lisp
(define rust-libdisplay-info-sys-0.3.0
;; TODO REVIEW: Check bundled sources.
(crate-source "libdisplay-info-sys" "0.3.0"
"07xmkc2aqcdn6d58321y87rd3gzdr4nx3ncm1mmrr7w1p1ahsn96"))
@end lisp
This specific TODO message tells us that there is a high probability of
encountering bundled sources within a crate definition generated by the
importer.
We then check if there are any bundled sources within the
@code{rust-libdisplay-info-sys-0.3.0} crate. Since there are none (in our
example), we can simply remove the TODO line, and continue to the next TODO.
If there were any bundled sources inside the crate, we would have to patch
it with a snippet, in order to unbundle it. You can see some examples on
how to unbundle inside @file{gnu/packages/rust-crates.scm} (search for the
@code{#:snippet} keyword).
@quotation Note
If the unbundle is considered too difficult to be executed (e.g. the effort
needed to unbundle is unreasonable), the @code{TODO REVIEW} line should be
converted to a regular TODO comment explicitly stating the unbundle was not done
(e.g. @code{TODO: Unbundle rust-libdisplay-info-sys.}).
@end quotation
Continuing, another TODO message we encounter in this example is the following:
@lisp
(define rust-smithay-0.7.0.d743e1a
;; TODO REVIEW: Define standalone package if this is a workspace.
(origin
(method git-fetch)
(uri (git-reference (url "https://github.com/Smithay/smithay.git")
(commit "d743e1a317fa0f01d1c4cadd96d277a1ec7b59d9")))
(file-name (git-file-name "rust-smithay" "0.7.0.d743e1a"))
(sha256 (base32 "11327mhxxf844bs0v5bw1g9bzjssnzhidsissywy6kwng16x727v"))))
@end lisp
This specific TODO message tells us that there is a high probability of the
@code{rust-smithay-0.7.0.d743e1a} crate being a workspace.
After verifying that it is indeed a workspace, we now need to make it an
actual package in @file{gnu/packages/rust-sources.scm}, referencing it in the
crate-source definition (see @ref{Common Workflow for Rust Packaging} for more
details).
@quotation Note
You can verify if a crate is a workspace by cloning the crate repository (in
this case @code{https://github.com/Smithay/smithay.git}), checking out the
specific revision (in this case @command{git checkout d743e1a}), and looking
for @code{[workspace]} in its main @file{Cargo.toml} file. If it does not have a
TOML @code{[workspace]} section, then it is not a workspace.
@end quotation
After defining the separate source package for the workspace in
@file{gnu/packages/rust-sources.scm} (see @ref{Common Workflow for Rust
Packaging} for more details on how to do this), the crate definition for
@code{rust-smithay-0.7.0.d743e1a} would then become the following (notice we
also remove the TODO line):
@lisp
(define rust-smithay-0.7.0.d743e1a package:rust-smithay-0.7.0.d743e1a)
@end lisp
If @code{rust-smithay-0.7.0.d743e1a} was not a workspace, we would simply remove
the TODO line and move on.
We then try to build the package with @command{guix build niri}, and make sure
whether it builds successfully, which it does.
As a good practice, we can further check the output of the
@code{check-for-pregenerated-files} phase to ensure there are no extraneous
pregenerated files inside the crates. If there are any, it is important to
snippet them out, like these:
@lisp
(define rust-winapi-x86-64-pc-windows-gnu-0.4.0
(crate-source "winapi-x86_64-pc-windows-gnu" "0.4.0"
"0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki"
#:snippet '(delete-file-recursively "lib")))
(define rust-flate2-1.1.4
(crate-source "flate2" "1.1.4"
"1a8a3pk2r2dxays4ikc47ygydhpd1dcxlgqdi3r9kiiq9rb4wnnw"
#:snippet '(for-each delete-file-recursively '("examples" "tests"))))
(define rust-flo-curves-0.3.1
(crate-source "flo_curves" "0.3.1"
"16x293dp8825jh465kgms4yyvl4960j26gh37h3skflq9zxpy8hw"
#:snippet '(for-each delete-file '("logo-small.png" "logo.png"))))
(define rust-interception-sys-0.1.3
(crate-source "interception-sys" "0.1.3"
"1lgwbml7gzq5a5rriy708w68gx6yiw9cdg7xy2c5vsrrck7pbs5b"
#:snippet '(for-each delete-file (find-files "." "\\.(dll|lib)$"))))
@end lisp
@node Common Workflow for Resolving Merge Conflicts on Existing Pull Requests
@subsubsection Common Workflow for Resolving Merge Conflicts on Existing Pull Requests
Whenever a Rust package change is merged into our target branch from a different
Pull Request, we often encounter many merge conflicts in @code{(gnu packages
rust-crates)} when rebasing the Pull Request on top of the target branch. Since
we should avoid modifying the rust-crates file manually (e.g. using the git
interface to solve merge conflicts), it is recommended (and often much faster)
to drop all changes to @code{(gnu packages rust-crates)} and run the lockfile
importer once again, manually adding back all the manual changes.
This workflow describes one of many ways to do the described procedure.
In this example we'll update the @code{codeberg-cli} package, which has produced
some merge conflicts in @file{gnu/packages/rust-crates.scm} when we tried a git
pull rebase.
Before starting, make sure we're not in a rebase environment, by aborting the
rebase we tried previously (the one which created the merge conflicts by git
pulling):
@example
$ git rebase --abort
@end example
@cindex git rebase --interactive
@cindex interactive rebase
To begin, we interactively rebase our PR branch by marking as
@code{edit} the commit we want to edit, which is the one containing the
@file{gnu/packages/rust-crates.scm} changes:
@example
# Change 1 to the number of relevant commits
$ git rebase -i HEAD~1
@end example
In our example, we would mark the @code{codeberg-cli} commit like so:
@example
edit 6ef4f1ad043 # gnu: codeberg-cli: Update to 0.5.4.
@end example
After that, we'll be in rebase mode, where we can restore the changes made to
@file{gnu/packages/rust-crates.scm}:
@quotation Note
Notice that we will lose all manual changes we have previously made to
@file{gnu/packages/rust-crates.scm} (e.g. snippets, deleting TODO comments,
if there were any). We'll need to manually add them back after we run the guix
lockfile importer once again, so make sure you have them saved somewhere, for
example in your PR link under the @code{Files changed} tab.
@end quotation
@example
$ git restore --source=HEAD~ gnu/packages/rust-crates.scm
@end example
Having restored the file, we can stage the changes, commit, finish the rebase
and pull rebase from the target branch:
@example
$ git add gnu/packages/rust-crates.scm
$ git commit --amend --no-edit
$ git rebase --continue
$ git pull <remote> <target branch>
@end example
We then proceed to run the guix lockfile importer:
@quotation Note
Remember to checkout the correct tag you're packaging in the package repository
checkout. Don't forget to run @code{cargo generate-lockfile} before running
the lockfile importer, see @ref{Common Workflow for Rust Packaging} for more
detailed steps on what to do before running the guix lockfile importer.
@end quotation
@example
$ guix import --insert=gnu/packages/rust-crates.scm \
crate --lockfile=/path/to/Cargo.lock codeberg-cli
@end example
Now is the time we manually add back the snippets and remove the relevant TODOs
we have already checked (if there are any).
After running the lockfile importer and checking if there are any changes to
manually add back, we can finally:
@example
$ git add gnu/packages/rust-crates.scm
# Our target commit is the last one:
$ git commit --amend --no-edit
@end example
We now have a non-conflicting tree, from which we can now update our PR with.
@c *********************************************************************
@node System Configuration

View File

@@ -2658,13 +2658,12 @@ bootloaders.
Once you are done partitioning the target hard disk drive, you have to
create a file system on the relevant partition(s)@footnote{Currently
Guix System can mount only ext4, btrfs, JFS, F2FS, and XFS file systems
at boot time. In particular, code that reads file system UUIDs and
labels works only for these file system types. The code for bcachefs is
in place, but support for loading out-of-tree kernel modules in the
initrd is not.}.
For the ESP, if you have one and assuming it is @file{/dev/sda1}, run:
Guix System supports only ext4, btrfs, bcachefs, JFS, F2FS, and XFS
file systems. In particular, code that reads file system UUIDs and
labels works only for these file system types. For bcachefs, also add
the @code{bcachefs-linux-module} to your @code{operating-system}'s
@code{initrd-modules}.}. For the ESP, if you have one and assuming it is
@file{/dev/sda1}, run:
@example
mkfs.fat -F32 /dev/sda1
@@ -8844,12 +8843,12 @@ dependencies than the original package. For example, the default
optional dependency, you can define a variant that removes that
dependency like so:
@findex package/inherit
@lisp
(use-modules (gnu packages gdb)) ;for 'gdb'
(define gdb-sans-guile
(package/inherit gdb
(package
(inherit gdb)
(inputs (modify-inputs inputs
(delete "guile")))))
@end lisp
@@ -8857,23 +8856,6 @@ dependency like so:
In the body of the @code{inputs} field above, @code{inputs} is bound to
the inherited value. Thus, the @code{modify-inputs} form above removes
the @code{"guile"} package from the @code{inputs} field of @code{gdb}.
@quotation Note
The example above uses @code{(package/inherit gdb @dots{})} instead of
the usual @code{(package (inherit gdb) @dots{})}. While the latter
would work, @code{package/inherit} does extra work: if @code{gdb} has a
@code{replacement} field (@pxref{Security Updates}),
@code{package/inherit} propagates the @code{inputs} changes of this
variant to the replacement.
In other words, @code{package/inherit} ensures the variant gets a
consistent @code{replacement} when the original package has one. Thus,
one should generally use @code{package/inherit} when creating a variant
for the same version, but not when targeting a different version, as in
the @code{hello} example we saw earlier, where the replacement may be
incorrect.
@end quotation
The @code{modify-inputs} macro is a helper that can prove useful anytime
you want to remove, add, or replace package inputs.
@@ -15552,7 +15534,7 @@ gnu/packages/qt.scm:452:13: qtbase would be upgraded from 5.15.8 to 5.15.10
@end example
@cindex partial version specification, guix refresh
A per-package equivalent to @option{--target-version} is made available by
A per-package equivalent to --target-version is made available by
prefixing the version specification with the @samp{~} (tilde) character.
For example:
@@ -16113,7 +16095,7 @@ it unchanged.
@item git-source
If the @code{home-page} is a Git repository (as per
@code{git-repository-url?}), and the actual Git repository is tagged
with a version string, possibly prefixed by ``v'', change the
with @code{version} or @code{(string-append ``v'' version)}, change the
package origin to the @code{git-fetch} method
(@pxref{origin Reference}). Consider this example:
@@ -16142,16 +16124,14 @@ its @code{source} field like to:
(inherit guile-json-3)
(name "guile-json")
(version "4.7.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aconchillo/guile-json")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0akhm8xjv8fl55fyq0w6c9c6hi5j7mifjx01w07np7qg1cjl9f06"))))))
(source (origin
(method git-fetch)
(uri (git-reference (url
"https://github.com/aconchillo/guile-json")
(commit version)))
(file-name (git-file-name name version))
(sha256 (base32
"0akhm8xjv8fl55fyq0w6c9c6hi5j7mifjx01w07np7qg1cjl9f06"))))))
@end lisp
@end table
@@ -19216,7 +19196,7 @@ Partitioning}, for an example.
When using GRUB as the bootloader, the LUKS password is only requested
once: GRUB passes the master key to the initial RAM disk automatically.
@xref{grub-luks-root-device-key, Automatic LUKS Master Key Passing}, for
@xref{Bootloader Configuration, Automatic LUKS Master Key Passing}, for
details.
@end defvar
@@ -27268,28 +27248,6 @@ Package object for GVfs.
@end table
@end deftp
@defvar kmonad-service-type
This is the type of the service that runs
@uref{https://github.com/kmonad/kmonad, KMonad}. Its value is a
@code{kmonad-configuration} object. This service allows spawning
@command{kmonad} configurations to manage keyboards.
@deftp {Data Type} kmonad-configuration
Configuration record for the KMonad service.
@table @asis
@item @code{kmonad} (default: @code{kmonad})
The KMonad package to use.
@item @code{keymaps}
A list of files with KMonad configurations. One shepherd service will be
created to control each configuration. Each configuration should target
a distinct input device as KMonad operates on a per-input basis.
@end table
@end deftp
@end defvar
@defvar colord-service-type
This is the type of the service that runs @command{colord}, a system
service with a D-Bus
@@ -48960,28 +48918,8 @@ This option in enabled by default. In some cases involving the
in RAM, it can be handy to disable the option by setting it to
@code{#f}.
@item @code{extra-initrd} (default: @code{#f})
File name of an additional initrd to load during the boot. It may or
may not point to a file in the store, but the main use case is for
out-of-store files containing secrets.
@subsubheading Automatic LUKS Master Key Passing
For any use case not involving secrets, you should use regular initrd
(@pxref{operating-system Reference, @code{initrd}}) instead.
Be careful when using this option, since pointing to a file that is not
readable by the grub while booting will cause the boot to fail and
require a manual edit of the initrd line in the grub menu.
Currently only supported by GRUB.
@end table
@end deftp
@anchor{grub-luks-root-device-key}
@unnumberedsubsec Automatic LUKS Master Key Passing
@cindex LUKS, root file system encryption
@cindex passphrase, for LUKS-encrypted root
When booting from a LUKS-encrypted device using GRUB, the password is
normally requested twice: once by GRUB to access @file{/boot}, and a
second time by the initial RAM disk to mount the root file system.
@@ -49022,7 +48960,22 @@ No configuration is required: GRUB's @code{procfs} and @code{luks}
modules are loaded automatically when encrypted devices are declared
via @code{luks-device-mapping} (@pxref{Mapped Devices}).
@unnumberedsubsec Additional Boot Entries
@item @code{extra-initrd} (default: @code{#f})
File name of an additional initrd to load during the boot. It may or
may not point to a file in the store, but the main use case is for
out-of-store files containing secrets.
For any use case not involving secrets, you should use regular initrd
(@pxref{operating-system Reference, @code{initrd}}) instead.
Be careful when using this option, since pointing to a file that is not
readable by the grub while booting will cause the boot to fail and
require a manual edit of the initrd line in the grub menu.
Currently only supported by GRUB.
@end table
@end deftp
@cindex dual boot
@cindex boot menu
@@ -49151,13 +49104,9 @@ example of chainloading a different GNU/Linux system.
@end table
@end deftp
@unnumberedsubsec Themes
@cindex HDPI
@cindex HiDPI
@cindex resolution
@cindex themes, for GRUB
@cindex bootloader themes
@c FIXME: Write documentation once it's stable.
For now only GRUB has theme support. GRUB themes are created using
the @code{grub-theme} form, which is not fully documented yet.
@@ -49177,7 +49126,7 @@ Return the default GRUB theme used by the operating system if no
@code{theme} field is specified in @code{bootloader-configuration}
record.
It comes with a fancy background image displaying the Guix
It comes with a fancy background image displaying the GNU and Guix
logos.
@end deffn

View File

@@ -16,7 +16,6 @@ exec $pre_inst_env_maybe guix repl -- "$0" "$@"
;;; Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2025-2026 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2025 jgart <jgart@dismail.de>
;;; Copyright © 2026 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -691,7 +690,6 @@ ecosystem."
(team 'embedded
#:name "Embedded"
#:scope (list "gnu/packages/bootloaders.scm"
"gnu/packages/coreboot.scm"
"gnu/packages/firmware.scm")))
(define-team games
@@ -945,7 +943,6 @@ importer, and the ocaml-build-system."
#:scope
(list "gnu/packages/ocaml.scm"
"gnu/packages/coq.scm"
"gnu/packages/rocq.scm"
"guix/build/ocaml-build-system.scm"
"guix/build/dune-build-system.scm"
"guix/build-system/ocaml.scm"
@@ -975,8 +972,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"
@@ -1250,11 +1246,6 @@ the \"texlive\" importer."
"jonsger")
mozilla)
(define-member (person "Denis Carikli"
"GNUtoo@cyberdimension.org"
"GNUtoo")
embedded)
(define-member (person "Ludovic Courtès"
"ludo@gnu.org"
"civodul")

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env -S gawk -f
# GNU Guix --- Functional package management for GNU
# Copyright © 2025, 2026 Efraim Flashner <efraim@flashner.co.il>
# Copyright © 2025 Efraim Flashner <efraim@flashner.co.il>
#
# This file is part of GNU Guix.
#
@@ -21,22 +21,20 @@
# ./etc/teams/rust/audit-rust-crates ./path/to/file.scm
# Prints the output of cargo-audit to the shell.
# Make sure we have cargo-audit in our PATH
BEGIN {
"which cargo-audit" | getline cargoAudit
close("which cargo-audit")
cargoAudit = cargoAudit " audit --file -"
if (system("which cargo-audit 1> /dev/null"))
exit 1;
# Parse a record at a time.
RS = "\n\n"
cargoAudit = "cargo-audit audit --file -"
}
# Check the crate-source origin-only inputs, like in rust-crates.scm
# Check the crate-source origin-only inputs
/crate-source/ {
for(i=3; i <= NF-2; i++) {
if($i == "(crate-source") {
crateName = $(i+1)
crateVersion = $(i+2)
cargoLock = cargoLock "[[package]]\nname = " crateName "\nversion = " crateVersion "\n"
cargoLock = cargoLock "[[package]]\nname = " $(i+1) "\nversion = " $(i+2) "\n"
next
}
}
@@ -46,64 +44,27 @@ BEGIN {
/crate-uri/ {
for(i=3; i <= NF; i++) {
if($i == "(version")
crateVersion = $(i+1)
crateVersion = $(i+1)
if($i == "(crate-uri")
crateName = $(i+1)
crateName = $(i+1)
}
gsub(/)/, "", crateVersion)
cargoLock = cargoLock "[[package]]\nname = " crateName "\nversion = " crateVersion "\n"
next
}
# Parse the crates created from packages using 'cargo package'
/package:rust/ {
pkg = $2
split(pkg, name_version, "-")
crateVersion = name_version[length(name_version)]
crateName = substr(pkg, 6, (length(pkg) - length(crateVersion) - 6))
split(crateVersion, versionDots, ".")
if(crateVersion && (crateVersion != "(git-version") && (length(versionDots) == 3) && crateName) {
cargoLock = cargoLock "[[package]]\nname = \"" crateName "\"\nversion = \"" crateVersion "\"\n"
} else {
untested++
#print("Unable to test " $0)
}
next
}
# The xxxx-cargo-input variables have a set style
# TODO: Replace the last dash between the name and the version with a space!
# This doesn't take into account swapping between "-" and "_" so we skip it.
#( $2 ~ /-cargo-inputs/ ) {
# sub(/-cargo-inputs/, "", $2)
# gsub(/)/, "", $0)
# gsub(/rust-/, "", $0)
# #gensub(/([[:alpha:]])-([[:digit:]]+)/, "\\1 \\2", "g", $i)
# print "[[package]]\nname = \"" $2 "\"\nversion = \"1.0.0\"\ndependencies = ["
# for (i = 4; i <= NF; i++) {
# print "\"" $i "\","
# }
# print "]"
#}
# We make an attempt to create the crate name from the package name otherwise
/git-reference/ {
for(i=3; i <= NF; i++) {
if($i == "(version")
crateVersion = $(i+1)
if($i == "(name")
crateName = $(i+1)
if($i == "(git-file-name") {
crateName = $(i+1)
crateVersion = $(i+2)
}
}
gsub(/)/, "", crateVersion)
gsub(/)/, "", crateName)
sub(/rust-/, "", crateName)
# The crate version MUST be major.minor.patch
split(crateVersion, versionParts, ".")
if(crateVersion && (crateVersion != "(git-version") && (length(versionParts) == 3) && crateName) {
cargoLock = cargoLock "[[package]]\nname = " crateName "\nversion = " crateVersion "\n"
} else {
untested++
#print("Unable to test " $0)
}
next
}
# Note those which we were unable to parse
/define rust/ {
if($3 == "#f)")
next
print("Unable to parse " $0)
}
{ untested++ }
END { print("Number of crates untested: " untested); print cargoLock | cargoAudit }
END { print cargoLock | cargoAudit }

View File

@@ -445,14 +445,10 @@ load path must be adjusted as needed."
;; Behave like an init process: create a sub-process that calls
;; THUNK, and wait for child processes. Furthermore, forward
;; RELAYED-SIGNALS to the child process.
;; We presently use `safe-clone` here due to a bug in the interaction
;; between Guix and `primitive-fork` in Guile 3.0.11:
;; https://codeberg.org/guix/guix/issues/7690#issuecomment-12744123
(safe-clone
SIGCHLD
(lambda ()
(match (primitive-fork)
(0
(call-with-clean-exit thunk))
(lambda (pid)
(pid
(install-signal-handlers pid)
(let loop ()
(match (wait-child-process)

View File

@@ -610,7 +610,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/rocm-apps.scm \
%D%/packages/rocm-libs.scm \
%D%/packages/rocm-tools.scm \
%D%/packages/rocq.scm \
%D%/packages/rpc.scm \
%D%/packages/rpm.scm \
%D%/packages/rrdtool.scm \
@@ -1130,10 +1129,10 @@ 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/codex-acp-0.11.1-disable-code-mode.patch \
%D%/packages/patches/codex-acp-0.11.1-remove-patch-sections.patch \
%D%/packages/patches/coda-use-system-libs.patch \
%D%/packages/patches/codex-acp-0.9.2-remove-patch-sections.patch \
%D%/packages/patches/codex-acp-0.9.2-replace-result-flatten.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 \
@@ -1186,7 +1185,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 \
@@ -1468,6 +1466,7 @@ dist_patch_DATA = \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
%D%/packages/patches/gimp-fix-metadata-editor.patch \
%D%/packages/patches/gimp-fix-tiff-load.patch \
%D%/packages/patches/git-clar-path-max.patch \
%D%/packages/patches/git-filter-repo-generate-doc.patch \
%D%/packages/patches/gklib-suitesparse.patch \
%D%/packages/patches/glib-appinfo-watch.patch \
@@ -1586,9 +1585,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 \
@@ -1619,6 +1616,7 @@ dist_patch_DATA = \
%D%/packages/patches/hurd-refcounts-assert.patch \
%D%/packages/patches/hurd-rumpdisk-no-hd.patch \
%D%/packages/patches/hurd-startup.patch \
%D%/packages/patches/hwloc-1-test-btrfs.patch \
%D%/packages/patches/hwloc-add-with-opencl.patch \
%D%/packages/patches/i3lock-blur-fix-build-on-gcc-10.patch \
%D%/packages/patches/i7z-gcc-10.patch \
@@ -1654,7 +1652,6 @@ dist_patch_DATA = \
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
%D%/packages/patches/id3lib-UTF16-writing-bug.patch \
%D%/packages/patches/ilmbase-fix-tests.patch \
%D%/packages/patches/inetutils-drop-test.patch \
%D%/packages/patches/inferno-fix-crash.patch \
%D%/packages/patches/iniparser-remove-fetchcontent-usage.patch \
%D%/packages/patches/inkscape-libxml2.patch \
@@ -1701,6 +1698,7 @@ dist_patch_DATA = \
%D%/packages/patches/libcss-check-format.patch \
%D%/packages/patches/libeb-gcc-14.patch \
%D%/packages/patches/libextractor-tidy-support.patch \
%D%/packages/patches/libfossil-skip-amalgamation.patch \
%D%/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch \
%D%/packages/patches/libgeotiff-fix-tests-with-proj-9.1.1.patch \
%D%/packages/patches/libgeotiff-fix-tests-with-proj-9.3.0.patch \
@@ -1715,7 +1713,6 @@ dist_patch_DATA = \
%D%/packages/patches/libretro-dolphin-emu-libusb-assert.patch \
%D%/packages/patches/libretro-dolphin-emu-vulkan-headers.patch \
%D%/packages/patches/libretranslate-use-flasgger.patch \
%D%/packages/patches/librewolf-150.0-encoding_rs-rust-fix.patch \
%D%/packages/patches/librewolf-add-store-to-rdd-allowlist.patch \
%D%/packages/patches/librewolf-compare-paths.patch \
%D%/packages/patches/librewolf-neuter-locale-download.patch \
@@ -2123,7 +2120,6 @@ 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 \
@@ -2398,13 +2394,6 @@ dist_patch_DATA = \
%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 \
%D%/packages/patches/rust-codex-0.124.0-remove-patch-sections.patch \
%D%/packages/patches/rust-ring-0.17-ring-core.patch \
%D%/packages/patches/rw-igraph-0.10.patch \
%D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \
@@ -2510,6 +2499,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 \

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

View File

@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012-2026 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012-2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2015, 2016, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015-2018, 2020-2023 Eric Bavier <bavier@posteo.net>
@@ -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)
@@ -1157,7 +1158,7 @@ on memory usage on GNU/Linux systems.")
(define-public htop
(package
(name "htop")
(version "3.5.0")
(version "3.4.1")
(source
(origin
(method git-fetch)
@@ -1165,7 +1166,7 @@ on memory usage on GNU/Linux systems.")
(url "https://github.com/htop-dev/htop")
(commit version)))
(sha256
(base32 "1r07ri0dl9xz0jn1hc2g8q3l0q4clvnxs05yagpzsz0zigp4flj5"))
(base32 "058y4a4mvx9m179dyr4wi8mlm6i4ybywshadaj4cvfn9fv0r0nkx"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -1308,8 +1309,7 @@ re-executing them as necessary.")
version ".tar.gz"))
(sha256
(base32
"11n01vsd51r7qraaaylhhx04hq4s6vcq0896zkz0yp1wvqfbwmm1"))
(patches (search-patches "inetutils-drop-test.patch"))))
"11n01vsd51r7qraaaylhhx04hq4s6vcq0896zkz0yp1wvqfbwmm1"))))
(build-system gnu-build-system)
(arguments
(list
@@ -3441,7 +3441,7 @@ modules and plugins that extend Ansible.")
(list ansible
bash-minimal
encfs
fuse
fuse-2
util-linux ;; for umount
findutils
git
@@ -3750,68 +3750,59 @@ summarizes network bandwidth by process and remote host.")
(define-public munge
(package
(name "munge")
(version "0.5.18")
(version "0.5.14")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dun/munge")
(commit (string-append "munge-" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (string-append "https://github.com/dun/munge/releases/"
"download/munge-" version "/munge-"
version ".tar.xz"))
(sha256
(base32
"1b7gm680dlvmgvj9vxy7n0cqmnv1rl9n4563vasxdxx54f78j30s"))
"0h06sghb4rqvv1ywyd6mzsmbcgh712v6ygrff0gzm440y4ca41k6"))
(modules '((guix build utils)))
(snippet
;; Don't insist on write access to /var.
#~(substitute* "src/etc/Makefile.am"
(("\\$\\(MKDIR_P\\) .*(local|run)statedir.*" all)
(string-append ": " all))))))
'(begin
;; Don't insist on write access to /var.
(substitute* "src/etc/Makefile.in"
(("\\$\\(INSTALL\\)(.*)localstatedir" _ middle)
(string-append "-$(INSTALL)" middle "localstatedir"))
(("\\$\\(MKDIR_P\\) .*(local|run)statedir.*")
""))
#t))))
(inputs
(list openssl libgcrypt))
(native-inputs
(list autoconf
automake
libtool
procps)) ;for tests
(build-system gnu-build-system)
(arguments
(list #:configure-flags
#~(list "--localstatedir=/var"
"--disable-static"
#$@(if (%current-target-system)
;; Assume yes on pipes when cross compiling.
`("ac_cv_file__dev_spx=yes"
"x_ac_cv_check_fifo_recvfd=yes")
'())
;; The '.pc' file is not installed when omitting this flag.
(string-append "--with-pkgconfigdir="
#$output "/lib/pkgconfig"))
#:phases
#~(modify-phases %standard-phases
(add-before 'bootstrap 'pre-bootstrap
(lambda _
(for-each patch-shebang (find-files "build-aux"))))
(add-after 'unpack 'skip-failing-tests
(lambda _
;; Pass '--force' to 'munged'; without it, it fails with "Socket
;; is inaccessible" due to the build directory not being
;; world-readable.
(substitute* "tests/sharness.d/03-munged.sh"
(("--group-update-time=-1" all)
(string-append all " --force")))
;; The tests below invoke 'sudo' or have special expectations
;; about network interfaces.
(for-each (lambda (test)
(substitute* "tests/Makefile.am"
(((string-append test "\\.t "))
"")))
(list "0100-munged-lock"
"0101-munged-security-socket"
"0102-munged-security-keyfile"
"0103-munged-security-logfile"
"0110-munged-origin-addr")))))))
`(#:configure-flags
(list "--localstatedir=/var"
(string-append "--with-pkgconfigdir="
(assoc-ref %outputs "out") "/lib/pkgconfig")
(string-append "--with-libgcrypt-prefix="
(assoc-ref %build-inputs "libgcrypt"))
,@(if (%current-target-system)
;; Assume yes on pipes when cross compiling.
`("ac_cv_file__dev_spx=yes"
"x_ac_cv_check_fifo_recvfd=yes")
'()))
#:phases
(modify-phases %standard-phases
;; XXX Many test series fail. Some might be fixable, others do no-no
;; things like invoking sudo.
(add-after 'unpack 'skip-failing-tests
(lambda _
(for-each (lambda (test)
(substitute* "t/Makefile.in"
(((string-append test "\\.t ")) "")))
(list "0100-munged-lock"
"0010-basic"
"0011-munged-cmdline"
"0012-munge-cmdline"
"0013-unmunge-cmdline"
"0101-munged-security-socket"
"0102-munged-security-keyfile"
"0103-munged-security-logfile"
"0110-munged-origin-addr"))
#t)))))
(home-page "https://dun.github.io/munge/")
(synopsis "Cluster computing authentication service")
(description
@@ -3926,18 +3917,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 +4046,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
@@ -7198,35 +7169,6 @@ stored in an SQL database.")
(connects via USB OTG).")
(license license:expat)))
(define-public yoctofetch
(package
(name "yoctofetch")
(version "2.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/Phosphenius/yoctofetch.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0smkaydv74p2231gafibvqbwsy469w56hya8gz8wq0gw7m2l7zh3"))))
; Support for other platforms not available per upstream:
; https://codeberg.org/Phosphenius/yoctofetch#supported-platforms
(supported-systems '("x86_64-linux" "aarch64-linux"))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f)) ; No tests available.
(home-page "https://codeberg.org/Phosphenius/yoctofetch")
(synopsis "Fast and low footprint system fetch tool for the Linux UAPI")
(description
"This package provides a system fetch tool, similar to
@command{neofetch}, @command{fastfetch}, etc. It is lightweight and
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 zzz
(package
(name "zzz")

View File

@@ -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)

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)

View File

@@ -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

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)
@@ -3789,6 +3790,10 @@ bad pixel tracking throughout the reduction process.")
#~(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-env
(lambda _
(setenv "HOME" (getcwd)))))))
@@ -4420,6 +4425,7 @@ Cesium.")
(native-inputs
(list python-pydot
python-pytest
python-pytest-cov
python-pytest-asdf-plugin
python-pytest-doctestplus
python-pytest-filter-subpackage
@@ -4944,6 +4950,7 @@ files.")
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
python-pytest-cov
python-setuptools
python-setuptools-scm
python-wheel))
@@ -5505,6 +5512,7 @@ across many files.")
(list python-mock
python-objgraph
python-pytest
python-pytest-cov
;; python-pytest-faulthandler
python-setuptools
python-wheel
@@ -6318,6 +6326,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"))))))
@@ -9902,7 +9923,13 @@ implemented in the @acronym{JWST, James Webb Space Telescope} and
"test_step.py::test_build_config_pipe_kwarg"
"test_step.py::test_build_config_step_config_file"
"test_step.py::test_build_config_step_kwarg"
"test_step.py::test_step_list_args")))))
"test_step.py::test_step_list_args")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-version
(lambda _
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION"
#$(version-major+minor+point version)))))))
(native-inputs
(list python-pytest
python-pytest-doctestplus
@@ -10910,6 +10937,7 @@ cosmological simulations.")
(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))

View File

@@ -179,6 +179,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)
@@ -3237,27 +3238,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
@@ -3283,7 +3287,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))
@@ -4086,7 +4090,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))
@@ -6523,23 +6529,22 @@ on the ALSA software PCM plugin.")
(define-public snd
(package
(name "snd")
(version "26.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://ccrma.stanford.edu/software/snd/snd-"
version ".tar.gz"))
(sha256
(base32
"1d573mjlrn9rhl9g0a3d1rkar34q60ln8mwlbibfalpn8lsz59a0"))))
(version "25.2")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
"snd-" version ".tar.gz"))
(sha256
(base32
"0fgxqk0byxdj6059mb9d5qic2dqjabz49j0szsrn2y3c9nz6iyq4"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; No tests.
#:out-of-source? #f ; Required by 'install-doc'.
#:tests? #f ; no tests
#:out-of-source? #f ; for the 'install-doc' phase
#:configure-flags
#~(let
((docdir (string-append #$output "/share/doc/snd-" #$version)))
#~(let ((docdir (string-append #$output "/share/doc/"
#$name "-" #$version)))
(list "--with-alsa"
"--with-jack"
"--with-gmp"
@@ -6547,20 +6552,18 @@ on the ALSA software PCM plugin.")
(string-append "--with-doc-dir=" docdir)))
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-s7-h
(add-after 'install 'install-s7
(lambda _
(install-file "s7.h" (string-append #$output
"/include"))))
(install-file "s7.h" (string-append #$output "/include"))))
(add-after 'install 'install-doc
(lambda _
(let
((docdir (string-append #$output "/share/doc/snd-"
#$version)))
(let ((doc (string-append #$output "/share/doc/"
#$name "-" #$version)))
(for-each
(lambda (f)
(install-file f docdir))
(install-file f doc))
(find-files "." "\\.html$"))
(copy-recursively "pix" (string-append docdir "/pix"))))))))
(copy-recursively "pix" (string-append doc "/pix"))))))))
(native-inputs
(list pkg-config))
(inputs
@@ -6579,16 +6582,13 @@ on the ALSA software PCM plugin.")
timidity++
vorbis-tools
wavpack))
(home-page "https://ccrma.stanford.edu/software/snd/snd/snd.html")
(synopsis "Sound editor")
(home-page "https://ccrma.stanford.edu/software/snd/")
(description
"Snd is a sound editor modelled loosely after Emacs. It can be
customized and extended using either the s7 Scheme implementation (included in
the Snd sources), Ruby, or Forth.")
(license
;; INFO: pkgsrc classifies this as `esdl-license', a license not included
;; in OSI or FSF lists, despite being similar to ISC.
(license:non-copyleft "file://COPYING"))))
(license (license:non-copyleft "file://COPYING"))))
(define-public libspecbleach
(package
@@ -7821,59 +7821,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
@@ -8059,7 +8060,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
@@ -8089,7 +8090,8 @@ Home Page}.")
(list
#:test-flags
;; Ignore --mpl flag.
'(list "-k" (string-append
'(list "-c" "/dev/null"
"-k" (string-append
;; Resampling tests require python-samplerate.
"not resample"
;; These tests use Pooch and download data files.
@@ -8114,6 +8116,7 @@ Home Page}.")
(list python-matplotlib
python-packaging
python-pytest
python-pytest-cov
python-resampy
python-setuptools
python-wheel))

View File

@@ -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="?")

View File

@@ -341,7 +341,7 @@ runtime.")
("java-jgit" ,java-jgit-4.2)
("axoloti-runtime" ,axoloti-runtime)))
(native-inputs
(list ant zip ; for repacking the jar
(list ant/java7 zip ; for repacking the jar
unzip))
(description
"The Axoloti patcher offers a patcher environment similar to Pure Data
@@ -647,7 +647,7 @@ This package provides the runtime.")
("java-slf4j-api" ,java-slf4j-api)
("ksoloti-runtime" ,ksoloti-runtime)))
(native-inputs
(list ant zip ;for repacking the jar
(list ant/java7 zip ;for repacking the jar
unzip))
(description
"Ksoloti is an environment for generating and processing digital audio.

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")
@@ -1303,6 +1299,7 @@ compression parameters used by Gzip.")
(native-inputs
(list python-flexmock
python-pytest
python-pytest-cov
python-setuptools
python-wheel))
(inputs
@@ -1366,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

View File

@@ -42,6 +42,7 @@
#:use-module (guix search-paths)
#:use-module (guix build-system cmake)
#: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)

View File

@@ -65,6 +65,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 r)
#:use-module (guix build-system ruby)
@@ -2287,6 +2288,7 @@ version = ~s
(delete-file-recursively
(string-append #$output "/.pytest_cache")))))))))
(native-inputs (list python-pytest
python-pytest-cov
python-pytest-datadir
python-pytest-doctestplus
python-recommonmark
@@ -3377,36 +3379,35 @@ encountered in PDB files prior to simulation tasks.")
(define-public python-peaks2utr
(package
(name "python-peaks2utr")
(version "1.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/haessar/peaks2utr")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1b4qiccp5j394pzqd1d4ss3k90zv3kdr84lykl6p8izn3k85b2bl"))))
(version "1.4.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "peaks2utr" version))
(sha256
(base32
"104il0kk61q07b58g9xrss7xflwlbx4kzsmw9iih99lhfsii0wzg"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; These tests fail because file names are not URLs.
'(list "-k" (string-join
(list "not test_forward_strand_annotations"
"test_matching_chr"
"test_reverse_strand_annotations")
" and not "))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "setup.cfg"
(("==") ">=")
;; See: <https://github.com/haessar/peaks2utr/issues/47>.
(("numpy >= 1.21.4, <= 1.26.4") "numpy >= 1.21.4")))))))
(native-inputs
(list python-pytest
python-setuptools))
'(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "setup.cfg"
(("==") ">=")))))))
(propagated-inputs
(list python-asgiref
python-gffutils
python-importlib-resources
macs-3
python-numpy
macs
python-numpy-1
python-psutil
python-pybedtools
python-pysam
@@ -3414,6 +3415,7 @@ encountered in PDB files prior to simulation tasks.")
python-tqdm
python-typing-extensions
python-zipp))
(native-inputs (list python-setuptools python-wheel))
(home-page "https://github.com/haessar/peaks2utr")
(synopsis "Python CLI for annotating three prime UTR")
(description
@@ -3862,6 +3864,7 @@ raw/ed14e050b2b75e7f4ddb73d512fbe928bbdb2b85")
python-scipy))
(native-inputs
(list python-pytest
python-pytest-cov
python-pytest-datadir
python-pytest-doctestplus
python-setuptools
@@ -4287,6 +4290,7 @@ e.g. microbiome samples, genomes, metagenomes.")
(native-inputs
(list python-cython
python-pytest
python-pytest-cov
python-setuptools
python-wheel))
(propagated-inputs
@@ -6962,6 +6966,7 @@ and v1.1 to v1.2.")
(list python-mypy-extensions
python-pytest
python-pytest-mock
python-pytest-runner
python-setuptools
python-wheel))
(propagated-inputs
@@ -8841,8 +8846,7 @@ high-throughput sequencing (HTS) assays")
;; Needed by tests
(add-after 'unpack 'set-HOME
(lambda _ (setenv "HOME" "/tmp"))))))
(propagated-inputs (list mysql-connector-python
python-appdirs
(propagated-inputs (list python-appdirs
python-biopython
python-click
python-colorama
@@ -8850,6 +8854,7 @@ high-throughput sequencing (HTS) assays")
python-filelock
python-loguru
python-mygene
python-mysql-connector-python
python-norns
python-numpy
python-pandas
@@ -9278,7 +9283,7 @@ VCF.")
;; [testng] Exception in thread "main" java.lang.NoClassDefFoundError: com/beust/jcommander/ParameterException
#:tests? #f
#:jdk ,icedtea-8
#:ant ,ant/java8
#:ant ,ant
;; This is only used for tests.
#:make-flags
(list "-Dsamjdk.intel_deflater_so_path=lib/jni/libIntelDeflater.so")
@@ -9348,11 +9353,10 @@ VCF.")
(list java-snappy-1
java-commons-jexl-2
java-cofoja
ant/java8 ;for bzip2 support at runtime
ant ;for bzip2 support at runtime
zlib))
(native-inputs
`(("ant-apache-bcel" ,ant-apache-bcel)
("ant-junit" ,ant-junit)
("java-testng" ,java-testng)
("java-commons-bcel" ,java-commons-bcel)
("java-jcommander" ,java-jcommander)
@@ -9805,39 +9809,29 @@ sequencing tag position and orientation.")
(define-public macs-3
(package
(name "macs")
(version "3.0.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/macs3-project/MACS")
(commit (string-append "v" version))
(recursive? #true)))
(file-name (git-file-name name version))
(sha256
(base32 "16cv6bvvppi0z69r5l357ai8x4jg61rx8xrvcapk1wz6mh9naf5s"))))
(version "3.0.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/macs3-project/MACS")
(commit (string-append "v" version))
(recursive? #true)))
(file-name (git-file-name name version))
(sha256
(base32
"08hi0a2a0md9gfg7jc75wxv69rggv2yqfd1hyrg4mi5bhi712m0v"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; AssertionError: np.float32(1.0) != np.float64(-1.0)
;; calculated step by step:
;; 6.559423e-18
;; expected:
;; -2.98155597e-18
#~(list (string-append "--deselect=test/test_SignalProcessing.py::"
"Test_maxima::test_implement_smooth_here"))))
(native-inputs
(list python-cython
python-pytest
python-setuptools
zlib))
(propagated-inputs
(list python-cykhash
python-hmmlearn
python-numpy
python-scikit-learn
python-scipy))
(native-inputs
(list python-cython
python-pytest
python-setuptools
zlib))
(home-page "https://github.com/macs3-project/MACS")
(synopsis "Model based analysis for ChIP-Seq data")
(description
@@ -14310,7 +14304,11 @@ quality control are provided.")
(lambda _
(substitute* "setup.cfg"
(("intervaltree~=3.0.2") "intervaltree")
(("termcolor~=1.1.0") "termcolor")))))))
(("termcolor~=1.1.0") "termcolor"))))
(add-after 'unpack 'fix-pytest-config
(lambda _
(substitute* "pyproject.toml"
((" --cov=gdc_client --cov-report term") "")))))))
(native-inputs
(list python-flask
python-httmock
@@ -20231,7 +20229,13 @@ fasta subsequences.")
" and not test_roundtrip"
;; This test depends on ipytree, which contains a lot of
;; minified JavaScript.
" and not test_print_trees"))))
" and not test_print_trees"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-pytest-config
(lambda _
(substitute* "pyproject.toml"
((".*--cov.*") "")))))))
(native-inputs
(list python-hatchling
python-pytest))
@@ -22344,6 +22348,37 @@ combinatorial configurations.\", G. Ehrlich - Journal of the ACM (JACM),
1973. (Algorithm 7.)")
(license license:expat)))
(define-public fsom
(let ((commit "a6ef318fbd347c53189384aef7f670c0e6ce89a3"))
(package
(name "fsom")
(version (git-version "0.0.0" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ekg/fsom/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0gw1lpvr812pywg9y546x0h1hhj261xwls41r6kqhddjlrcjc0pi"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests to run.
#:phases
(modify-phases %standard-phases
(delete 'configure) ; There is no configure phase.
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(install-file "fsom" bin)))))))
(native-inputs
(list gcc-6))
(home-page "https://github.com/ekg/fsom")
(synopsis "Manage SOM (Self-Organizing Maps) neural networks")
(description "A tiny C library for managing SOM (Self-Organizing Maps)
neural networks.")
(license license:gpl3))))
(define-public fastahack
(package
(name "fastahack")

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)
@@ -532,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

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)

View File

@@ -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)
@@ -274,14 +275,14 @@ generate such a compilation database.")
(define-public bmake
(package
(name "bmake")
(version "20260406")
(version "20260313")
(source
(origin
(method url-fetch)
(uri (string-append
"http://www.crufty.net/ftp/pub/sjg/bmake-" version ".tar.gz"))
(sha256
(base32 "09nzd9v12n2pwxmf67056kzjnvxcpk5q2x1fs5qkrsk1ssh5yvpd"))
(base32 "0xgryknmv625idw37rq89mpl5rymwdb15j5w8zxwy1gf8b6z7j3n"))
(patches (search-patches "bmake-run-check-separately.patch"))))
(build-system gnu-build-system)
(inputs
@@ -431,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)

View File

@@ -23,7 +23,7 @@
;;; Copyright © 2023, 2024 David Elsing <david.elsing@posteo.net>
;;; Copyright @ 2022, Kitzman <kitzman@disroot.org>
;;; Copyright @ 2025 Dariqq <dariqq@posteo.net>
;;; Copyright © 2025, 2026 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2026 Sharlatan Hellseher <sharlatanus@gmail.com>
;;;
@@ -54,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)
@@ -1761,7 +1762,7 @@ string.h, but with a utf8* prefix instead of the str* prefix.")
(define-public simdutf
(package
(name "simdutf")
(version "9.0.0")
(version "7.7.1")
(source
(origin
(method git-fetch)
@@ -1770,7 +1771,7 @@ string.h, but with a utf8* prefix instead of the str* prefix.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0f5ccvqj7pfa69m9y1kxp2v1lybx6x8i9pykdqfkr7dydqbhrhx6"))))
(base32 "0kw4j4qqcfjaii667xa745pklj50m70nqq8cj5agj714acczbk7y"))))
(build-system cmake-build-system)
(arguments (list #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON")))
(synopsis "SIMD Unicode validation and transcoding")

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)

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")
@@ -2918,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
@@ -3044,6 +3086,7 @@ possible to write plugins to add your own checks.")
python-path
python-pyhamcrest
python-pytest
python-pytest-html
python-setuptools))
(propagated-inputs
(list python-colorama
@@ -3088,7 +3131,7 @@ time by mocking the datetime module.")
(define-public python-flaky
(package
(name "python-flaky")
(version "3.8.1") ; On bump, remove some skipped tests in python-cherrypy.
(version "3.8.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "flaky" version))
@@ -3676,6 +3719,30 @@ system. The code under test requires no modification to work with pyfakefs.")
directories and files.")
(license license:expat)))
(define-public python-pytest-tornado5
(package
(name "python-pytest-tornado5")
(version "2.0.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "pytest-tornado5" version))
(sha256
(base32
"0qb62jw2w0xr6y942yp0qxiy755bismjfpnxaxjjm05gy2pymr8d"))))
(build-system pyproject-build-system)
(arguments
;; Tests require pytest < 6
(list #:tests? #f))
(propagated-inputs (list python-pytest python-tornado))
(native-inputs (list python-setuptools python-wheel))
(home-page "https://github.com/vidartf/pytest-tornado")
(synopsis
"Fixtures and markers to simplify testing of Tornado applications")
(description
"This package provides a @code{py.test} plugin supplying fixtures and
markers to simplify testing of asynchronous tornado applications.")
(license license:asl2.0)))
(define-public guile-proba
(package
(name "guile-proba")

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)
@@ -579,7 +580,7 @@ stored with user-specified precision.")
python-sphinx))
(inputs
(list fftwf
`(,hwloc "lib")
`(,hwloc-2 "lib")
libtirpc
lmfit
muparser
@@ -825,7 +826,7 @@ colleagues, or to generate pre-rendered animations.")
(define-public python-pyscf
(package
(name "python-pyscf")
(version "2.12.1")
(version "2.9.0")
(source
(origin
(method git-fetch)
@@ -834,10 +835,14 @@ colleagues, or to generate pre-rendered animations.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "00q5c0r5yzp05m65679164s7jzm9678b63msm8g7953vh8v9g25y"))))
(base32 "1lj48c749aqf9zd5xbshjsfr0y972r2nsm8lf3760jbfadg9jdsi"))))
(build-system pyproject-build-system)
(arguments
(list
#:modules
'((guix build pyproject-build-system)
(guix build utils)
(ice-9 textual-ports))
;; Some tests take a very long time and libxc support is not enabled.
#:tests? #f
#:phases
@@ -863,8 +868,16 @@ colleagues, or to generate pre-rendered animations.")
"-DBUILD_XCFUN=OFF"
"-DBUILD_LIBCINT=OFF"))))))))
(native-inputs
(list cmake-minimal
python-setuptools))
(list
cmake-minimal
;; HACK: Add gcc, make tune work.
;; build-system-with-tuning-compiler on guix/transformations.scm
;; want to find compiler on the build-inputs, but gcc is on the
;; python-build-system's host-inputs, so when tune it , will report:
;; "failed to determine which compiler is used"
(canonical-package gcc)
python-setuptools
python-wheel))
(inputs
(list
;; Use qcint when tuning for x86_64.

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)

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)

View File

@@ -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)

View File

@@ -18,10 +18,10 @@
;;; This module is separate from (gnu packages rust-apps) to avoid a
;;; circular module dependency: (gnu packages rust-sources), which
;;; defines rust-codex-0.124.0, transitively loads (gnu packages
;;; defines rust-codex-0.98.0, transitively loads (gnu packages
;;; rust-apps) through its #:use-module chain. If the codex package
;;; lived in rust-apps.scm, loading rust-sources would trigger loading
;;; rust-apps before rust-codex-0.124.0 is defined, causing an unbound
;;; rust-apps before rust-codex-0.98.0 is defined, causing an unbound
;;; variable error.
(define-module (gnu packages codex)
@@ -36,46 +36,33 @@
#:use-module (gnu packages base)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages linux)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages llvm)
#:use-module (gnu packages lsof)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages rust-sources)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages textutils)
#:use-module (gnu packages nss)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages virtualization))
#:use-module (gnu packages version-control))
(define-public codex
(package
(name "codex")
(version (package-version rust-codex-0.124.0))
(version (package-version rust-codex-0.98.0))
(source
(origin
(inherit (package-source rust-codex-0.124.0))
(inherit (package-source rust-codex-0.98.0))
(patches (search-patches
"codex-acp-0.11.1-disable-code-mode.patch"
"rust-codex-0.124.0-code-mode-stub-toolname.patch"
"rust-codex-0.124.0-remove-patch-sections.patch"
"rust-codex-0.120.0-remove-libwebrtc.patch"
"codex-0.98.0-remove-patch-sections.patch"
"rust-codex-0.98.0-test-shebangs.patch"
"rust-codex-0.120.0-test-timeout.patch"))))
"rust-codex-0.98.0-test-timeout.patch"))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
;; exec-server is library-only in 0.124 (no [[bin]] in
;; exec-server/Cargo.toml); cargo install --path exec-server fails
;; with "no packages found with binaries or examples". Drop it
;; from the install paths -- the library is consumed via the
;; workspace by other binaries here, not installed standalone.
#:cargo-install-paths '(list "cli" "exec"
"linux-sandbox" "mcp-server"
#:cargo-install-paths '(list "cli" "exec" "exec-server"
"linux-sandbox" "mcp-server" "network-proxy"
"app-server" "tui")
;; schema_fixtures_match_generated (upstream fixture is stale:
;; FileChange::Update in codex-protocol gained old_content,
@@ -84,55 +71,72 @@
#:cargo-test-flags '(list "--workspace"
"--exclude" "codex-app-server-protocol"
"--"
;;; BEGIN Landlock returns NotEnforced
;;; in the build container; the sandbox
;;; binary panics instead of cleanly
;;; denying filesystem access.
;; Sandbox denial and escalation tests.
;; These tests exercise sandbox denial and
;; escalation, which requires Landlock to
;; cleanly deny filesystem access. Inside the
;; build container Landlock returns NotEnforced
;; and the sandbox binary panics instead.
;; Disabling Landlock would not help either,
;; since these tests need a working sandbox to
;; have anything to deny and escalate.
"--skip" "sandbox_denied_shell_returns_original_output"
;; Sandbox denial and escalation tests.
"--skip" "shell_escalated_permissions_rejected_then_ok"
;; Sandbox denial and escalation tests.
"--skip" "unified_exec_runs_under_sandbox"
;; codex-exec: spawn_command_under_linux_sandbox
;; panics with LandlockRestrict (exit 101).
;; These tests (in codex-exec) directly call
;; spawn_command_under_linux_sandbox to verify
;; that python and bash work correctly inside
;; the Landlock sandbox. The sandbox binary
;; (codex-exec) panics with LandlockRestrict
;; (exit code 101) before the inner command
;; even starts.
"--skip" "python_getpwuid_works_under_sandbox"
;; Same as above.
"--skip" "python_multiprocessing_lock_works_under_sandbox"
;; Same as above.
"--skip" "sandbox_distinguishes_command_and_policy_cwds"
;; linux-sandbox: process_exec_tool_call
;; invokes Landlock; same panic.
;; These linux-sandbox tests directly invoke
;; the Landlock sandbox via
;; process_exec_tool_call; same root cause.
"--skip" "test_writable_root"
;; Same as above.
"--skip" "test_timeout"
;; Same as above.
"--skip" "test_root_read"
;; Same as above.
"--skip" "test_dev_null_write"
;; Same as above.
"--skip" "test_no_new_privs_is_enabled"
;; One scenario runs through Landlock
;; which panics; cargo --skip cannot
;; target individual scenarios.
;; This test iterates many approval scenarios;
;; one of them
;; (danger_full_access_on_request_allows_network)
;; runs a command through the Landlock sandbox
;; binary, which panics with LandlockRestrict
;; inside the build container. Cargo --skip
;; cannot target individual scenarios, so we
;; skip the entire matrix.
"--skip" "approval_matrix_covers_all_modes"
;; Landlock panic triggers escalation-retry
;; which interferes with the approval cache.
;; This test verifies session-level patch
;; approval caching: approve once, skip
;; future prompts for the same file. When
;; Landlock is unavailable (as in the Guix
;; build container) the sandbox binary panics,
;; triggering the escalation-retry path, which
;; interferes with the approval cache and
;; causes a spurious re-prompt on the second
;; patch.
"--skip" "approving_apply_patch_for_session_skips_future_prompts_for_same_file"
;; These tests expect to interrupt a
;; long-running 'sleep 60' and receive
;; TurnAborted. What happens:
;; TurnAborted. Default test config is
;; OnRequest + ReadOnly. What happens:
;;
;; 1. ReadOnly wraps the command with
;; codex-linux-sandbox (Landlock-based).
;; 2. Landlock is unavailable, so the
;; sandbox binary exits instantly.
;; 2. Landlock is unavailable in the Guix
;; build container, so the sandbox
;; binary exits instantly (~1 ms).
;; 3. Orchestrator gets SandboxErr::Denied.
;; wants_no_sandbox_approval(OnRequest)
;; returns false, so no escalation --
;; denial returned directly.
;; returns false (sandboxing.rs:222),
;; so no escalation -- denial returned
;; directly.
;; 4. ToolEmitter::finish sends the error
;; to the mock model.
;; to the mock model as
;; function_call_output.
;; 5. Second mock SSE response fires,
;; turn finishes with TurnComplete.
;; 6. Op::Interrupt arrives 100 ms later,
@@ -146,370 +150,74 @@
;; has only one mock response (so the turn
;; cannot complete first).
"--skip" "interrupt_persists_turn_aborted_marker_in_next_request"
;; Same causal chain as above.
"--skip" "interrupt_tool_records_history_entries"
;; WorkspaceWrite sandbox policy wraps
;; commands with codex-linux-sandbox;
;; Landlock panics, command never runs,
;; exit_code is None instead of Some(0).
"--skip" "request_permissions_grants_apply_to_later_exec_command_calls"
;; Same root cause.
"--skip" "request_permissions_grants_apply_to_later_shell_command_calls"
;; Same root cause.
"--skip" "partial_request_permissions_grants_do_not_preapprove_new_permissions"
;;; END Landlock
;;; BEGIN mcp_process.rs initialize
;;; assertion expects "version":"0.0.0"
;;; but the server returns "0.120.0".
;; Upstream bug: test hardcodes "0.0.0" in the
;; expected user-agent string but the workspace
;; version is "0.98.0".
"--skip" "get_user_agent_returns_current_codex_user_agent"
;; Same upstream bug: mcp-server tests
;; check the initialize response which
;; includes "version": "0.0.0" but the
;; server returns "0.98.0".
"--skip" "test_codex_tool_passes_base_instructions"
"--skip" "test_shell_command_approval_triggers_elicitation"
"--skip" "test_patch_approval_triggers_elicitation"
;;; END version mismatch
;;; BEGIN Test isolation bug:
;;; unique_temp_dir() in
;;; state/src/runtime.rs names dirs
;;; using nanosecond timestamps, so
;;; parallel tests can collide. The
;;; SQLite migration runs CREATE TABLE
;;; threads (without IF NOT EXISTS),
;;; so the second init panics with
;;; "table threads already exists".
;; These codex-exec-server tests need
;; "dotslash", a Meta tool that lazily
;; downloads pre-built binaries from a
;; JSON manifest. The test helper
;; create_transport runs
;; `dotslash -- fetch <path>` to obtain a
;; custom bash binary described in
;; exec-server/tests/suite/bash.
;; dotslash is not available in the build
;; container.
"--skip" "list_tools"
"--skip" "accept_elicitation_for_prompt_rule"
;;; Test isolation bug: each test in
;;; state/src/runtime.rs calls
;;; unique_temp_dir() to get its own
;;; temporary directory (and thus its
;;; own SQLite database). That function
;;; names directories using the current
;;; nanosecond timestamp, so when tests
;;; run in parallel several can receive
;;; the same name and open the same
;;; database. The initial SQLite
;;; migration runs CREATE TABLE threads
;;; (without IF NOT EXISTS), so any init
;;; after the first panics with "table
;;; threads already exists". Any of
;;; these tests
;;; can be the victim.
"--skip" "init_removes_legacy_state_db_files"
"--skip" "upsert_and_get_thread_memory"
"--skip" "get_last_n_thread_memories_for_cwd_matches_exactly"
"--skip" "upsert_thread_memory_errors_for_unknown_thread"
"--skip" "get_last_n_thread_memories_for_cwd_zero_returns_empty"
"--skip" "get_last_n_thread_memories_for_cwd_does_not_prefix_match"
"--skip" "deleting_thread_cascades_thread_memory"
;;; END SQLite test isolation
;; The test spawns 'sh' after
;; env_clear() with an empty env map;
;; glibc execvp uses confstr(_CS_PATH)
;; ("/bin:/usr/bin") when PATH is
;; unset, but /bin/sh does not exist
;; in the build container.
"--skip" "cancellation_expiration_keeps_process_alive_until_terminated"
;; Proxy baseline_policy returns 403
;; "not_allowed_local" for example.com;
;; test expects 200.
"--skip" "managed_network_proxy_decider_survives_full_access_start"
;;; BEGIN bash_snapshot_script() uses
;;; "compgen -e" to list exports but
;;; bash-minimal lacks programmable
;;; completion; export section is empty.
;; stdout.contains("VALID_NAME") fails.
"--skip" "bash_snapshot_filters_invalid_exports"
;; stdout.contains("MULTILINE_CERT") fails.
"--skip" "bash_snapshot_preserves_multiline_exports"
;; snapshot.contains("PATH") fails.
"--skip" "linux_bash_snapshot_includes_sections"
;;; END compgen
;; substitute* patches PAGER to store
;; path of cat; test expects bare "cat".
"--skip" "unified_exec_env_injects_defaults"
;;; BEGIN V8 disabled (codex-code-mode
;;; default-features = false).
"--skip" "suite::code_mode::"
"--skip" "suite::js_repl::"
"--skip" "suite::view_image::js_repl_"
;;; END V8 disabled
;;; BEGIN same compgen root cause:
;;; assert_posix_snapshot_sections
;;; asserts snapshot.contains("PATH").
"--skip" "linux_shell_command_uses_shell_snapshot"
"--skip" "linux_unified_exec_uses_shell_snapshot"
"--skip" "shell_command_snapshot_still_intercepts_apply_patch"
;;; END compgen / shell snapshot
;;; BEGIN These sandbox tests set
;;; exclude_slash_tmp: true which makes
;;; bwrap exclude /tmp from its mount
;;; namespace. Since Guix builds under
;;; /tmp, the codex-linux-sandbox binary
;;; becomes invisible to bwrap even though
;;; the test adds the helper dir as a
;;; filesystem carve-out -- the parent /tmp
;;; bind-mount is absent so the carve-out
;;; has nothing to carve out of.
"--skip" "sandbox_reenables_writable_subpaths_under_unreadable_parents"
"--skip" "managed_proxy_mode_routes_through_bridge_and_blocks_direct_egress"
;;; END exclude_slash_tmp
;; Expects 3 TerminalInteraction events
;; across timed poll windows; under CPU
;; contention events merge into 2.
"--skip" "unified_exec_terminal_interaction_captures_delayed_output"
;;; BEGIN assert_parallel_duration
;;; requires < 1600 ms for parallel ops.
;; Two 300 ms test_sync_tool calls.
"--skip" "read_file_tools_run_in_parallel"
;; Two "sleep 0.25" shell commands.
"--skip" "shell_tools_run_in_parallel"
;; One test_sync_tool + one shell sleep.
"--skip" "mixed_parallel_tools_run_in_parallel"
;;; END assert_parallel_duration
;; Asserts elapsed >= 4500 ms and
;; < 5800 ms for a 5 s timeout; under
;; contention elapsed drifts past 5800.
"--skip" "remote_models_request_times_out_after_5s"
;; Queued inter-agent mail must be
;; injected between the reasoning/
;; commentary item and the gate release;
;; under contention the gate fires before
;; the mail is processed, so the snapshot
;; shows the stale function_call instead
;; of the expected mail message.
"--skip" "queued_inter_agent_mail_triggers_follow_up_after_commentary_message_item"
;; Same root cause: snapshot mismatch at
;; pending_input.rs assert_two_responses_
;; input_snapshot; expects mail at position
;; 04 but gets function_call/shell instead.
"--skip" "queued_inter_agent_mail_triggers_follow_up_after_reasoning_item"
;;; BEGIN DNS for hostnames like
;;; example.com fails in the build
;;; sandbox. host_resolves_to_non_
;;; public_ip() in runtime.rs treats
;;; failed DNS as non-public and
;;; returns NotAllowedLocal, so tests
;;; expecting Allowed or Decider get
;;; Deny/BaselinePolicy instead.
"--skip" "host_blocked_requires_allowlist_match"
"--skip" "add_allowed_domain_removes_matching_deny_entry"
"--skip" "host_blocked_subdomain_wildcards_exclude_apex"
"--skip" "host_blocked_global_wildcard_allowlist_allows_public_hosts_except_denylist"
"--skip" "evaluate_host_policy_emits_domain_event_for_decider_ask"
"--skip" "evaluate_host_policy_emits_domain_event_for_decider_allow_override"
"--skip" "http_connect_accept_blocks_in_limited_mode"
"--skip" "http_connect_accept_allows_allowlisted_host_in_full_mode"
"--skip" "mitm_policy_blocks_disallowed_method_and_records_telemetry"
;;; END DNS failure / NotAllowedLocal
;;; BEGIN Flaky: wiremock mock expects
;;; 1 POST to /codex/safety/arc but
;;; receives 0. Passes in some builds,
;;; fails in others with identical code
;;; and env. The identical custom_
;;; variant always passes; only the
;;; CODEX_APPS_MCP_SERVER_NAME variant
;;; flakes, suggesting a timing race
;;; in the async POST under contention.
"--skip" "approve_mode_blocks_when_arc_returns_interrupt_for_model"
"--skip" "approve_mode_blocks_when_arc_returns_interrupt_without_annotations"
;;; END ARC monitor flake
;;; BEGIN nss-certs sets SSL_CERT_FILE
;;; which makes build_reqwest_client load
;;; 171 CA certs via add_root_certificate.
;;; This changes the reqwest TLS backend
;;; configuration; the ARC safety POST to
;;; the localhost mock server never arrives
;;; (wiremock expects 1 request, gets 0).
"--skip" "approve_mode_blocks_when_arc_returns_interrupt_for_model"
"--skip" "approve_mode_blocks_when_arc_returns_interrupt_without_annotations"
;;; END nss-certs / ARC monitor
;; Upstream bug: JsonRpcConnection has
;; no websocket keepalive or read timeout.
;; When the exec-server is killed, the
;; client's reader task blocks on
;; websocket_reader.next() forever because
;; TCP doesn't detect the dead peer without
;; a write or keepalive probe. Previously
;; masked because empty env made "sleep 10"
;; fail instantly; with PATH the process
;; lives long enough to hit the deadlock.
"--skip" "remote_exec_process_reports_transport_disconnect"
;; 500 ms timeout on MCP list response
;; (mcp_server_status.rs timeout at
;; Duration::from_millis(500)). With
;; nss-certs TLS now works, so the
;; startup plugin sync HTTP requests
;; (chatgpt.com, api.github.com) wait
;; for TCP timeout instead of failing
;; instantly at TLS, eating the budget.
"--skip" "mcp_server_status_list_tools_and_auth_only_skips_slow_inventory_calls"
;;; BEGIN Stack overflow in 'current_thread'
;;; tokio runtime. The sibling tests in
;;; tracing_tests.rs use the local helper
;;; run_current_thread_test_with_stack
;;; (4 MiB) but this one uses bare
;;; #[tokio::test] on the 2 MiB default
;;; test-thread stack, and TurnStart's
;;; future graph exceeds it. With
;;; RUST_MIN_STACK raised the overflow is
;;; gone but the test then deterministically
;;; times out waiting for a span tagged
;;; codex.op = "user_input" on the remote
;;; trace that upstream never emits on that
;;; trace in our environment.
"--skip" "turn_start_jsonrpc_span_parents_core_turn_spans"
;;; END tracing test stack/timeout
;;; BEGIN The upstream loader resolves the
;;; MCP OAuth credentials store mode by
;;; calling
;;; resolve_mcp_oauth_credentials_store_mode
;;; with env!("CARGO_PKG_VERSION") -- which
;;; in the released 0.124.0 tarball is
;;; "0.124.0". These fixture tests
;;; construct the expected Config by
;;; passing the LOCAL_DEV_BUILD_VERSION
;;; constant ("0.0.0") to the same
;;; resolver, and the resolver only returns
;;; File for "0.0.0" -- Auto otherwise.
;;; Upstream CI builds from a checkout
;;; still carrying version = "0.0.0" so the
;;; tests pass there; they cannot pass
;;; against a released tag.
"--skip" "test_precedence_fixture_with_gpt3_profile"
"--skip" "test_precedence_fixture_with_gpt5_profile"
"--skip" "test_precedence_fixture_with_o3_profile"
"--skip" "test_precedence_fixture_with_zdr_profile"
;;; END LOCAL_DEV_BUILD_VERSION fixture mismatch
;;; BEGIN Verifies that Codex's user-shell
;;; spawn produces a child where
;;; CODEX_SANDBOX_NETWORK_DISABLED is unset
;;; (asserts stdout == "not-set"). We
;;; deliberately set that env var at the
;;; check phase to trigger upstream's
;;; skip_if_no_network! guards; the var then
;;; leaks into the spawned shell and the
;;; assertion fails. The guix skip is a
;;; direct cost of the network-gate fix --
;;; trading one broken test for two that
;;; now skip cleanly.
"--skip" "user_shell_command_does_not_set_network_sandbox_env_var"
;;; END CODEX_SANDBOX_NETWORK_DISABLED leak
;;; BEGIN The exec-server/tests/file_system
;;; integration tests invoke the real
;;; system bwrap, which tries to execvp the
;;; test binary at the cargo target path
;;; under the build dir. Same root cause
;;; as the existing
;;; sandbox_reenables_writable_subpaths_under_unreadable_parents
;;; skip: guix builds live under /tmp but
;;; bwrap's mount namespace excludes /tmp,
;;; making the binary invisible inside the
;;; namespace.
"--skip" "file_system_copy_preserves_symlink_source"
"--skip" "file_system_copy_rejects_symlink_escape_destination"
"--skip" "file_system_copy_rejects_symlink_escape_source"
"--skip" "file_system_create_directory_rejects_symlink_escape"
"--skip" "file_system_read_directory_rejects_symlink_escape"
"--skip" "file_system_remove_rejects_symlink_escape"
"--skip" "file_system_remove_removes_symlink_not_target"
"--skip" "file_system_sandboxed_read_allows_readable_root"
"--skip" "file_system_sandboxed_read_rejects_symlink_escape"
"--skip" "file_system_sandboxed_read_rejects_symlink_parent_dotdot_escape"
"--skip" "file_system_sandboxed_write_allows_additional_write_root"
"--skip" "file_system_sandboxed_write_rejects_symlink_escape"
"--skip" "file_system_sandboxed_write_rejects_unwritable_path"
;;; END bwrap-cant-see-/tmp file_system tests
;;; BEGIN Landlock is unavailable on Guix,
;;; so the sandbox cannot deny network
;;; syscalls. These tests expect
;;; SandboxErr::Denied for the nc, ping,
;;; ssh, getent, and dev_tcp_redirection
;;; commands but those commands instead
;;; block on connect() until the test's 2s
;;; timeout fires (Timeout, exit 124).
;;; Same root cause as the Landlock skips
;;; at the top of this list; new test names
;;; in 0.124.
"--skip" "sandbox_blocks_nc"
"--skip" "sandbox_blocks_ping"
"--skip" "sandbox_blocks_dev_tcp_redirection"
"--skip" "sandbox_blocks_getent"
"--skip" "sandbox_blocks_ssh"
;;; END Landlock network block
;;; BEGIN Requires github.com network access.
;;; With no "extraKnownMarketplaces" entry
;;; in settings.json,
;;; collect_marketplace_import_sources
;;; inserts a fallback entry for the
;;; "claude-plugins-official" marketplace
;;; pointing at the github shorthand
;;; "anthropics/claude-plugins-official".
;;; add_marketplace -> parse_marketplace_source
;;; expands that to a github.com/.git URL
;;; and clone_git_source runs 'git clone'.
;;; The Guix build sandbox has no network,
;;; so the clone fails and the marketplace
;;; lands in failed_marketplaces. No mock
;;; cloner is injected via
;;; ExternalAgentConfigService::new_for_test,
;;; so there is no in-tree way to satisfy
;;; the test offline.
"--skip" "import_plugins_infers_claude_official_marketplace_when_missing_from_settings"
;;; END github.com network access
;;; BEGIN Async race between the rollout
;;; writer task and a direct SQLite read.
;;; The test calls
;;; update_memory_settings_with_app_server,
;;; which routes through the in-memory
;;; thread path on the app-server's
;;; ThreadMemoryModeSet handler ->
;;; Session::set_thread_memory_mode ->
;;; persist_thread_memory_mode_update,
;;; which writes a RolloutItem::SessionMeta
;;; with the new mode to the rollout file
;;; via recorder.record_items + flush. The
;;; rollout writer task then asynchronously
;;; calls sync_thread_state_after_write,
;;; which calls state_db::apply_rollout_items
;;; to mirror the SessionMeta into SQLite.
;;; flush() only awaits the rollout-file
;;; write, not the subsequent SQLite sync.
;;; The test opens a fresh StateRuntime and
;;; reads get_thread_memory_mode
;;; immediately, so it observes the creation
;;; default of "enabled" written by
;;; upsert_thread_with_creation_memory_mode
;;; instead of the new "disabled". Upstream
;;; CI wins this race; we lose.
"--skip" "update_memory_settings_updates_current_thread_memory_mode"
;;; END memory-mode rollout/sqlite race
;;; BEGIN The Stopwatch::new constructor in
;;; codex_shell_escalation anchors
;;; T0 = Instant::now() at construction;
;;; the spawned cancellation task fires at
;;; T0 + limit. The test captures
;;; start = Instant::now() at T1 > T0 (after
;;; cancellation_token() returns) and
;;; asserts start.elapsed() >= limit,
;;; i.e. (T0 + limit) - T1 >= limit, which
;;; is always false by the offset T1 - T0.
;;; The test only passes when scheduler
;;; jitter on the sleep wakeup happens to
;;; exceed that offset. Upstream wins the
;;; race; we don't always.
"--skip" "cancellation_receiver_fires_after_limit"
;;; END Stopwatch construction/start offset race
)
"--skip" "deleting_thread_cascades_thread_memory")
#:cargo-package-crates
''(;;; Tier 0: No internal deps.
"codex-ansi-escape"
"codex-async-utils"
"codex-backend-openapi-models"
"codex-client"
"codex-execpolicy"
"codex-file-search"
"codex-git-utils"
"codex-git"
"codex-keyring-store"
"codex-process-hardening"
"codex-utils-absolute-path"
"codex-utils-cache"
"codex-utils-cargo-bin"
"codex-utils-elapsed"
"codex-utils-fuzzy-match"
"codex-utils-home-dir"
"codex-utils-json-to-toml"
"codex-utils-path"
"codex-utils-plugins"
"codex-utils-pty"
"codex-utils-readiness"
"codex-utils-rustls-provider"
"codex-utils-sleep-inhibitor"
"codex-utils-stream-parser"
"codex-utils-string"
"codex-utils-template"
;;; Tier 1.
"codex-backend-openapi-models"
"codex-process-hardening"
"codex-ansi-escape"
;;; Tier 1: Depends on tier 0.
"codex-utils-image"
"codex-utils-output-truncation"
"codex-apply-patch"
"codex-protocol"
"codex-windows-sandbox"
@@ -518,69 +226,35 @@
"codex-secrets"
"codex-execpolicy-legacy"
"codex-debug-client"
"codex-analytics"
"codex-rollout"
"codex-rollout-trace"
"codex-terminal-detection"
"codex-utils-approval-presets"
"codex-utils-cli"
"codex-uds"
"codex-install-context"
"codex-device-key"
;;; Tier 2.
"codex-app-server-protocol"
"codex-rmcp-client"
"codex-otel"
"codex-thread-store"
"codex-state"
"codex-features"
"codex-model-provider"
"codex-config"
"codex-agent-identity"
"codex-aws-auth"
"codex-hooks"
"codex-code-mode"
"codex-feedback"
"codex-skills"
"codex-test-binary-support"
"codex-core"
"codex-core-plugins"
"codex-utils-sandbox-summary"
"codex-linux-sandbox"
"codex-sandboxing"
"codex-connectors"
"codex-core-skills"
"codex-feedback"
;;; Tier 3.
"codex-arg0"
"codex-lmstudio"
"codex-login"
"codex-ollama"
"codex-utils-oss"
"codex-common"
"codex-mcp-server"
"codex-backend-client"
"codex-responses-api-proxy"
"codex-shell-command"
"codex-shell-escalation"
"codex-plugin"
"codex-model-provider-info"
"codex-models-manager"
;;; Tier 4.
"codex-cloud-requirements"
"codex-exec"
"codex-exec-server"
"codex-network-proxy"
"codex-stdio-to-uds"
"codex-network-proxy"
"codex-chatgpt"
"codex-cloud-tasks-client"
"codex-cloud-tasks-mock-client"
"codex-tools"
"codex-mcp"
"codex-collaboration-mode-templates"
;;; Tier 5.
"codex-app-server"
"codex-app-server-test-client"
"codex-tui"
"codex-response-debug-context"
;;; Tier 6.
"codex-cloud-tasks"
;; The main executable.
@@ -596,7 +270,7 @@
;; Update them to match the actual package version.
(let ((snap-files (find-files "." "\\.snap$")))
(substitute* snap-files
(("\\(v0\\.0\\.0\\) ") "(v0.124.0) ")))))
(("\\(v0\\.0\\.0\\) ") "(v0.98.0)")))))
(add-after 'chdir-to-workspace 'patch-git-deps-to-vendor
(lambda _
;; Replace git dependencies with version references so cargo
@@ -605,57 +279,23 @@
(("nucleo = \\{ git = [^}]+\\}")
"nucleo = \"0.5.0\"")
(("runfiles = \\{ git = [^}]+\\}")
"runfiles = \"0.1.0\""))
;; Remove workspace members that have unbuildable deps
;; (v8-poc requires V8). code-mode stays a workspace member
;; so its codex-protocol resolves to the same local copy as
;; the rest of the build; disabling its default features
;; (below) avoids pulling in V8.
(substitute* "Cargo.toml"
(("\"v8-poc\",") ""))
;; Disable V8 runtime in codex-code-mode by turning off
;; default features. Keep path= so code-mode is resolved
;; from the local source tree and shares codex-protocol
;; (and other workspace crates) with the rest of the build;
;; resolving it from the vendor instead introduces a
;; duplicate codex-protocol and causes E0308 type
;; mismatches in codex-tools.
(substitute* "Cargo.toml"
(("codex-code-mode = \\{ path = \"code-mode\" \\}")
"codex-code-mode = { path = \"code-mode\", default-features = false }"))
;; cargo build at workspace root ignores per-dep
;; default-features=false and builds code-mode with its
;; own default features, which include v8-runtime and
;; would pull in V8. Make the default feature empty.
(substitute* "code-mode/Cargo.toml"
(("^default = \\[\"v8-runtime\"\\]") "default = []"))))
(add-after 'patch-git-deps-to-vendor 'add-version-to-workspace-deps
"runfiles = \"0.1.0\""))))
(add-after 'chdir-to-workspace 'add-version-to-workspace-deps
(lambda _
;; cargo package requires all dependencies to have versions.
;; Add version = "0.124.0" to internal path dependencies.
;; cargo package requires all dependencies to have versions.
;; Add version = "0.98.0" to internal path dependencies.
(let ((cargo-files (find-files "." "^Cargo\\.toml$")))
(substitute* cargo-files
;; Handle inline deps: name = { path = "..." }
(("(codex-[a-z0-9-]+) = \\{ path = " all name)
(string-append name " = { version = \"0.124.0\", path = "))
(string-append name " = { version = \"0.98.0\", path = "))
;; Handle inline deps with package: name = { package = "...", path = "..." }
(("(codex-[a-z0-9-]+) = \\{ package = " all name)
(string-append name " = { version = \"0.124.0\", package = "))
(string-append name " = { version = \"0.98.0\", package = "))
;; Handle section deps: [dependencies.X] with path = "..."
(("^(path = \"\\.\\./[^\"]*\")" all path-line)
(string-append path-line "\nversion = \"0.124.0\""))))))
(add-after 'chdir-to-workspace 'use-gnu-store-in-sandbox
(lambda _
;; LINUX_PLATFORM_DEFAULT_READ_ROOTS in linux-sandbox/src/
;; bwrap.rs is the read-only baseline that codex's bwrap
;; sandbox bind-mounts so commands can read /usr/bin/ls,
;; libc, etc. Upstream lists "/nix/store" for NixOS;
;; Guix's equivalent is "/gnu/store". Without this swap,
;; the codex sandbox cannot locate any binaries on a Guix
;; system because every "system" path resolves into
;; /gnu/store/<hash>-pkg/bin/...
(substitute* "linux-sandbox/src/bwrap.rs"
(("\"/nix/store\"") "\"/gnu/store\""))))
(string-append path-line "\nversion = \"0.98.0\""))))))
(add-after 'chdir-to-workspace 'patch-hardcoded-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash-bin (string-append
@@ -685,14 +325,6 @@
(string-append "\"" bash-bin "/bash "))
(("\"/bin/sh ")
(string-append "\"" bash-bin "/sh "))
;; Single-quoted paths in test assertion strings,
;; e.g. "exec '/bin/bash' -c ...". Must match the
;; double-quoted substitutions above so both sides
;; of assert_eq!/contains use the store path.
(("'/bin/bash'")
(string-append "'" bash-bin "/bash'"))
(("'/bin/sh'")
(string-append "'" bash-bin "/sh'"))
;; coreutils.
(("\"/bin/(cat|cp|date|echo|head|ls|rm|sleep|true|touch)\"" all cmd)
(string-append "\"" coreutils-bin "/" cmd "\""))
@@ -707,132 +339,28 @@
(string-append "\"" git-bin "/git\""))
(("\"/usr/bin/sed\"")
(string-append "\"" sed-bin "/sed\"")))
;; Bare Command::new("git") and Command::new("ls")
;; in codex source files that exec internally.
(substitute* (find-files "git-utils" "\\.rs$")
(("Command::new\\(\"git\"\\)")
(string-append "Command::new(\"" git-bin "/git\")")))
(substitute* "tui/src/get_git_diff.rs"
(("Command::new\\(\"git\"\\)")
(string-append "Command::new(\"" git-bin "/git\")")))
(substitute* "core/src/turn_diff_tracker.rs"
(("Command::new\\(\"git\"\\)")
(string-append "Command::new(\"" git-bin "/git\")")))
(substitute* "cloud-tasks/src/env_detect.rs"
(("Command::new\\(\"git\"\\)")
(string-append "Command::new(\"" git-bin "/git\")")))
(substitute* "core/src/plugins/startup_sync.rs"
(("\"git\",")
(string-append "\"" git-bin "/git\",")))
(substitute* "file-search/src/lib.rs"
(("Command::new\\(\"ls\"\\)")
(string-append "Command::new(\"" coreutils-bin "/ls\")")))
;; Neutralize pager with absolute path to cat.
(substitute* "core/src/unified_exec/process_manager.rs"
(("\"PAGER\", \"cat\"")
(string-append "\"PAGER\", \"" coreutils-bin "/cat\""))
(("\"GIT_PAGER\", \"cat\"")
(string-append "\"GIT_PAGER\", \"" coreutils-bin "/cat\""))
(("\"GH_PAGER\", \"cat\"")
(string-append "\"GH_PAGER\", \"" coreutils-bin "/cat\"")))
;; Bare /bin/sleep inside a format! string
;; (no surrounding double quotes, so the main
;; pattern does not match).
(substitute*
"shell-escalation/src/unix/escalate_server.rs"
(("/bin/sleep")
(string-append coreutils-bin "/sleep")))
;; @SHELL@ placeholder from test-shebangs patch
(substitute*
(list "rmcp-client/src/program_resolver.rs"
"tui/src/external_editor.rs")
(("@SHELL@")
(string-append bash-bin "/sh")))
;; Shebangs inside raw string literals (r#"..."#)
;; that are written to scripts at runtime. The
;; main "/bin/sh" patterns only match double-quoted
;; occurrences; these shebangs have no surrounding
;; double quotes.
;; shebang in test-only file
(substitute*
(list "core/src/plugins/startup_sync_tests.rs"
"core/src/tools/runtimes/shell/unix_escalation_tests.rs"
"core/tests/suite/client.rs"
"core/tests/suite/js_repl.rs"
"core/tests/suite/skill_approval.rs"
"core/tests/suite/user_notification.rs"
"exec-server/tests/file_system.rs"
"login/src/auth/auth_tests.rs"
"models-manager/src/manager_tests.rs"
"sandboxing/src/bwrap_tests.rs")
"core/tests/suite/user_notification.rs"
(("#!/bin/bash")
(string-append "#!" bash-bin "/bash"))
(("#!/bin/sh")
(string-append "#!" bash-bin "/sh")))
;; Test helpers pass env: Default::default() to the
;; spawn code which calls env_clear(), leaving
;; processes with no PATH. Inject the build-time
;; PATH so tests find coreutils, bash, etc.
(substitute* (find-files "." "\\.rs$")
(("env: Default::default\\(\\)")
(string-append
"env: std::env::var(\"PATH\")"
".into_iter()"
".map(|p| (\"PATH\".to_string(), p))"
".collect()")))
;; Test-only absolute path; bare name works via PATH.
(substitute* "exec-server/tests/exec_process.rs"
(("\"/usr/bin/python3\"")
"\"python3\""))
;; Same empty-env issue but in JSON literals
;; (serde_json::json! macro).
(substitute* "exec-server/tests/process.rs"
(("\"env\": \\{\\}")
(string-append
"\"env\": {\"PATH\": \""
(getenv "PATH")
"\"}"))))))
(add-before 'build 'set-bubblewrap-source
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CODEX_BWRAP_SOURCE_DIR"
(string-append
(assoc-ref inputs "bubblewrap-source")
"/"))))
(add-before 'build 'create-node-version-file
(lambda _
(call-with-output-file "guix-vendor/node-version.txt"
(lambda (port)
(display "22.22.0" port)))))
(string-append "#!" bash-bin "/bash"))))))
(add-before 'check 'set-home
(lambda _
;; HOME must not be a prefix of /tmp, otherwise
;; the TUI's path shortener replaces /tmp/... with
;; ~/... and 30 snapshot tests fail.
(setenv "HOME" "/tmp/guix-home")
(mkdir-p "/tmp/guix-home")
(setenv "USER" "nixbld")
;; Default libtest thread stack is 2 MiB, which is not
;; enough for tokio current_thread tests that drive
;; codex-core's full turn pipeline. Upstream gates such
;; tests through run_current_thread_test_with_stack (4 MiB)
;; in app-server/src/message_processor/tracing_tests.rs;
;; raise the global default so future additions that
;; forget the wrapper still pass.
(setenv "RUST_MIN_STACK" "8388608")
;; Disable network access.
(setenv "CODEX_SANDBOX_NETWORK_DISABLED" "1"))))))
(native-inputs `(("bubblewrap" ,bubblewrap) ;tests need bwrap on PATH
("clang" ,clang)
("cmake-minimal" ,cmake-minimal)
("libunwind" ,libunwind)
("lsof" ,lsof) ;app-server tests
("nss-certs-for-test" ,nss-certs-for-test) ;OTLP gRPC TLS
("perl" ,perl)
("procps" ,procps) ;tests use ps
("python-minimal" ,python-minimal)
("pkg-config" ,pkg-config)
("bubblewrap-source" ,(package-source bubblewrap))))
(setenv "HOME" "/tmp")
(setenv "USER" "nixbld"))))))
(native-inputs (list clang ;bindgen uses libclang to parse BoringSSL's C headers
cmake-minimal ;BoringSSL is compiled from C source
libunwind ;BoringSSL tests verify stack unwinding in assembly
perl python-minimal ;for tests
pkg-config))
(inputs (cons* bash-minimal coreutils git-minimal sed
libcap oniguruma openssl sqlite zlib `(,zstd "lib")
openssl sqlite `(,zstd "lib")
(cargo-inputs 'codex)))
(home-page "https://github.com/openai/codex")
(synopsis "AI-assisted coding CLI and TUI")
@@ -840,15 +368,13 @@
"Codex is an AI-powered coding assistant that runs in the terminal.
It provides an interactive TUI for conversations with AI models, with
support for shell command execution, file editing, and code generation.
Configure providers via @file{~/.codex/config.toml}.
codex-code-mode's V8 Javascript executor is disabled.")
Configure providers via @file{~/.codex/config.toml}.")
(license license:asl2.0)))
(define-public codex-acp
(package
(name "codex-acp")
(version "0.11.1")
(version "0.9.2")
(source
(origin
(method git-fetch)
@@ -857,8 +383,9 @@ codex-code-mode's V8 Javascript executor is disabled.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1rlgkbvrbdl5jhf49sjn2mifn2rq6z0vwf0gard23y1bz6sr3wmr"))
(patches (search-patches "codex-acp-0.11.1-remove-patch-sections.patch"))))
(base32 "190sq6s6jfz8dkj1y8305r7x6ln86qqr2j1bnfjci7f1x2wyzmsj"))
(patches (search-patches "codex-acp-0.9.2-remove-patch-sections.patch"
"codex-acp-0.9.2-replace-result-flatten.patch"))))
(build-system cargo-build-system)
(arguments
(list
@@ -866,43 +393,13 @@ codex-code-mode's V8 Javascript executor is disabled.")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-codex-deps
(lambda* (#:key inputs #:allow-other-keys)
(lambda _
;; Rewrite git dependencies to use vendored sources from rust-codex
(substitute* "Cargo.toml"
(("git = \"https://github.com/openai/codex\", tag = \"rust-v0.117.0\"")
"version = \"0.117.0\""))
;; Disable V8 runtime in codex-code-mode (transitive dep).
(let ((port (open-file "Cargo.toml" "a")))
(display "
[dependencies.codex-code-mode]
version = \"0.117.0\"
default-features = false
" port)
(close-port port))
;; Point codex-linux-sandbox at system bubblewrap source.
(setenv "CODEX_BWRAP_SOURCE_DIR"
(string-append
(assoc-ref inputs "bubblewrap-source")
"/"))))
(add-before 'check 'set-home
(lambda _
(setenv "HOME" "/tmp")
(setenv "USER" "nixbld")))
(add-before 'build 'create-node-version-file
(lambda _
;; codex-core's js_repl uses include_str! to read
;; node-version.txt four directories up from its source;
;; create it where the vendored crate expects it.
(call-with-output-file "guix-vendor/node-version.txt"
(lambda (port)
(display "22.22.0" port))))))))
(native-inputs
`(("cmake-minimal" ,cmake-minimal)
("clang" ,clang)
("pkg-config" ,pkg-config)
("bubblewrap-source" ,(package-source bubblewrap))))
(inputs (cons* libcap openssl sqlite zlib `(,zstd "lib")
(cargo-inputs 'codex-acp)))
(("git = \"https://github.com/zed-industries/codex\", branch = \"acp\"")
"version = \"0.0.0\"")))))))
(native-inputs (list pkg-config))
(inputs (cons* openssl sqlite `(,zstd "lib") (cargo-inputs 'codex-acp)))
(home-page "https://github.com/zed-industries/codex-acp")
(synopsis "ACP-compatible agent bridging Zed Codex with ACP clients")
(description

View File

@@ -150,7 +150,7 @@ as created by Podman, CRI-O and containerd.")))
(define-public crun
(package
(name "crun")
(version "1.26")
(version "1.25.1")
(source
(origin
(method url-fetch)
@@ -160,7 +160,7 @@ as created by Podman, CRI-O and containerd.")))
"/crun-" version ".tar.gz"))
(sha256
(base32
"1hdwk5dpsz9danxiyfli07b7sqid6hr34qmhs5qjl2dcc00is89j"))))
"02kksvnja234k8mpq5j7yms8npbpvh8iz3k03h21lwcqzqsb88rx"))))
(build-system gnu-build-system)
(arguments
(list

View File

@@ -44,7 +44,7 @@
;;; Copyright © 2024 Jakob Kirsch <jakob.kirsch@web.de>
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Sergio Pastor Pérez <sergio.pastorperez@gmail.com>
;;; Copyright © 2025, 2026 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 Romain Garbage <romain.garbage@inria.fr>
;;; Copyright © 2024, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
@@ -78,6 +78,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)
@@ -1903,7 +1904,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
@@ -3358,7 +3360,7 @@ which can evaluate Jsonnet files and expressions.")))
(define-public simdjson
(package
(name "simdjson")
(version "4.6.3")
(version "3.13.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3367,7 +3369,7 @@ which can evaluate Jsonnet files and expressions.")))
(file-name (git-file-name name version))
(sha256
(base32
"0729mxnc2wjb94gr4znwlzfmgw5w2v9kd8glvn3vnjhkdnd87zry"))))
"005yli56nrkvlyx9g9cq8dczk42r9a18l162i2s5k81lj3y7mcrp"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; tests require downloading dependencies
@@ -3606,7 +3608,7 @@ std::wstring, etc).")
(define-public fast-float
(package
(name "fast-float")
(version "8.2.5")
(version "8.0.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3615,7 +3617,7 @@ std::wstring, etc).")
(file-name (git-file-name name version))
(sha256
(base32
"1l13nsl4sgq71m7aifrmmmfyl14vp48vqdh7pb50hxqq6f8bq2b5"))))
"19x1yklf641yrpad6lk4cq3jmird10d5ig8hicm3p9lxh92k78cl"))))
(build-system cmake-build-system)
(arguments
(list
@@ -3626,10 +3628,12 @@ std::wstring, etc).")
(add-after 'unpack 'patch-cmake-tests
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(substitute* "tests/CMakeLists.txt"
(("FetchContent_MakeAvailable\\(supplemental_test_files.*")
(("FetchContent_GetProperties\\(supplemental_test_files.*")
"")
(("if\\(NOT supplemental_test_files_POPULATED.*")
(string-append
"set(supplemental_test_files_BINARY_DIR "
#$fast-float-test-files ")\n"))))))))
#$fast-float-test-files ")\nif(0)\n"))))))))
(native-inputs (list doctest fast-float-test-files))
(home-page "https://github.com/fastfloat/fast_float")
(synopsis "Floating point number parser for C++")

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)
@@ -275,17 +276,18 @@ Ed448-Goldilocks and Curve448, using the Decaf encoding.")
(define-public libsodium
(package
(name "libsodium")
(version "1.0.22")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jedisct1/libsodium")
(commit (string-append version "-RELEASE"))))
(file-name (git-file-name name version))
(sha256
(base32
"05lqdn6nzldsia5mv5a9xfvc5k0kybh9snwv7qsb135gva4bpjwk"))))
(version "1.0.18")
(source (origin
(method url-fetch)
(uri (list (string-append
"https://download.libsodium.org/libsodium/"
"releases/libsodium-" version ".tar.gz")
(string-append
"https://download.libsodium.org/libsodium/"
"releases/old/libsodium-" version ".tar.gz")))
(sha256
(base32
"1h9ncvj23qbbni958knzsli8dvybcswcjbx0qjjgi922nf848l3g"))))
(build-system gnu-build-system)
(synopsis "Portable NaCl-based crypto library")
(description

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)

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)

View File

@@ -70,7 +70,6 @@
;;; Copyright © 2025 bdunahu <bdunahu@operationnull.com>
;;; Copyright © 2026 Spencer King <spencer.king@wustl.edu>
;;; Copyright © 2026 Peter Polidoro <peter@polidoro.io>
;;; Copyright © 2026 Josep Bigorra <jjbigorra@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -127,7 +126,6 @@
#:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages language)
@@ -200,10 +198,10 @@
#:use-module (guix build-system emacs)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system guile)
#: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)
@@ -1255,98 +1253,6 @@ management system that supports the standardized Structured Query
Language.")
(license license:gpl2)))
(define-public mysql-connector-python
(package
(name "mysql-connector-python")
(version "8.3.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 "18jvpnnwmfrn961rvqmsygp7dw3spf3swhxhal4hhj5hqddckj5f"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 1371 passed
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'compatibility
(lambda _
(substitute* "src/mysql_capi.c"
(("res = mysql_options\\(&self->session, MYSQL_OPT_LOAD_DATA_LOCAL_DIR.*")
"res = 0;")
(("mysql_options\\(&self->session, MYSQL_OPT_LOAD_DATA_LOCAL_DIR.*")
"")
(("mysql_options\\(&self->session, MYSQL_OPT_TLS_CIPHERSUITES.*")
"")
;; The C API does not have mysql_bind_param, so we produce an
;; error here.
(("status = mysql_bind_param.*") "status = 1;")
(("#include \"mysql_capi_conversion\\.h\"" all)
(string-append all "\n" "#include <stdbool.h>")))))
(add-after 'unpack 'chdir
(lambda _
(chdir "mysql-connector-python")))
(add-before 'build 'prepare-build
(lambda _
(setenv "MYSQL_CAPI" #$(this-package-input "mysql"))))
(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.
(substitute* "tests/cext/test_cext_api.py"
(("def test_change_user") "def _do_not_test_change_user")
(("def test_get_character_set_info")
"def _do_not_test_get_character_set_info"))
(substitute* "tests/test_bugs.py"
(("def test_change_user") "def _do_not_test_change_user")
(("def test_lost_connection") "def _do_not_test_lost_connection")
(("def test_kill_query") "def _do_not_test_kill_query")
;; These all fail because of expired certificates.
(("def test_cext_verify_server_certificate")
"def _do_not_test_cext_verify_server_certificate")
(("def test_pure_verify_server_certificate")
"def _do_not_test_pure_verify_server_certificate")
(("def test_verify_server_name_cext_cnx")
"def _do_not_test_verify_server_name_cext_cnx")
(("def test_verify_server_name_pure_cnx")
"def _do_not_test_verify_server_name_pure_cnx"))
(substitute* '("tests/test_connection.py"
"tests/test_aio_connection.py")
(("def test_allow_local_infile_in_path")
"def _do_not_test_allow_local_infile_in_path")
;; This fails because of expired certificates.
(("def test_connect_with_unix_socket")
"def _do_not_test_connect_with_unix_socket"))
(substitute* "tests/test_constants.py"
(("def test_deprecated")
"def _do_not_test_deprecated"))
(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")))))))
(propagated-inputs (list python-protobuf))
(inputs (list mysql protobuf-3.20 openssl-1.1 zlib))
(native-inputs (list python-setuptools))
(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")
@@ -4806,24 +4712,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
@@ -5131,54 +5046,6 @@ postgresql = postgresql://nixbld@/yoyo_test~%")))
files or Python scripts that define a list of migration steps.")
(license license:asl2.0)))
(define-public mutastructura
(package
(name "mutastructura")
(version "0.6.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/jjba23/mutastructura")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "08vzlc5imavqf3bdzgbh70c7z44xjhf05gr7i2g5ksl49lv39gzh"))))
(build-system guile-build-system)
(arguments
(list
#:source-directory "src"
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'install-program-files
(lambda _
(let* ((bin (string-append #$output "/bin"))
(share (string-append #$output "/share")))
(copy-recursively "resources"
(string-append share "/resources"))
(install-file "scripts/mutastructura" bin)
(install-file "scripts/log.bash"
(string-append share "/scripts/"))
(chmod (string-append bin "/mutastructura") #o755)))))))
(native-inputs (list guile-3.0))
(propagated-inputs (list guile-dbi
guile-dbd-mysql
guile-dbd-sqlite3
guile-dbd-postgresql
guile-gcrypt))
(inputs (list guile-3.0 bash-minimal))
(home-page "https://codeberg.org/jjba23/mutastructura")
(synopsis "Relational database schema migrations powered by Guile Scheme")
(description
"Mutastructura provides a familiar, declarative and transactional
approach to managing database states. It exposes a user-friendly
@acronym{CLI, command-line interface} and has support for PostgreSQL, MySQL, and SQLite.
It also exposes library functions and can be imported and used directly from other Guile code.
Features include executing migrations transactionally and computing SHA256
checksums to track schema evolution in a @code{migrations_history} table.")
(license license:agpl3+)))
(define-public python-mysqlclient
(package
(name "python-mysqlclient")
@@ -5800,6 +5667,7 @@ __version_tuple__ = version_tuple = (~a)~%" version version-tuple))))))
pkg-config
python-cython
python-pytest
python-pytest-runner
python-setuptools-scm
python-setuptools))
(outputs '("out"))
@@ -6396,7 +6264,7 @@ mechanism of @code{dogpile}.")
(define-public datasette
(package
(name "datasette")
(version "1.0a26")
(version "1.0a19")
(source
(origin
(method git-fetch)
@@ -6405,20 +6273,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
@@ -6433,6 +6304,7 @@ mechanism of @code{dogpile}.")
python-janus
python-jinja2
python-mergedeep
python-pint
python-pluggy
python-pyyaml
python-sqlite-utils
@@ -6441,9 +6313,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

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

View File

@@ -275,7 +275,7 @@ simple way to add custom protocol messages.")
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(native-inputs
(list flex python-pytest))
(list flex python-pytest python-pytest-flake8))
(inputs
(list bash-minimal clang llvm unifdef
python python-pebble python-psutil python-chardet))
@@ -1213,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

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)

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

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)

View File

@@ -31,7 +31,7 @@
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024-2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025, 2026 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2025 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2025 Grigory Shepelev <shegeley@gmail.com>
;;; Copyright © 2026 Luis Guilherme Coelho <lgcoelho@disroot.org>
@@ -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)
@@ -93,8 +94,6 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-compression)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages graphics)
#:use-module (gnu packages gtk)
@@ -421,49 +420,6 @@ tables, and it understands a variety of different formats.")
similarity.")
(license license:gpl3+)))
(define-public gdu
(package
(name "gdu")
(version "5.35.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dundee/gdu")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "051xf3wncdiavjwyl9djmni5vd2dqjgn6drkw2nm21c9l0rjfv6d"))))
(build-system go-build-system)
(arguments
(list
#:install-source? #f
#:import-path "github.com/dundee/gdu/v5/cmd/gdu"
#:unpack-path "github.com/dundee/gdu/v5"))
(native-inputs
(list go-github-com-dgraph-io-badger-v4
go-github-com-fatih-color
go-github-com-gdamore-tcell-v2
go-github-com-h2non-filetype
go-github-com-maruel-natural
go-github-com-mattn-go-isatty
go-github-com-pkg-errors
go-github-com-rivo-tview
go-github-com-sirupsen-logrus
go-github-com-spf13-cobra
go-github-com-stretchr-testify
go-github-com-ulikunitz-xz
go-golang-org-x-sys
go-golang-org-x-text
go-gopkg-in-yaml-v3
go-modernc-org-sqlite))
(home-page "https://github.com/dundee/gdu")
(synopsis "Disk usage analyzer")
(description "Gdu is a disk usage analyzer written in Go. It is intended
primarily for SSD disks where it can fully utilize parallel processing, but it
also works on HDDs.")
(license license:expat)))
(define-public gpart
;; The latest (0.3) release is from 2015 and is missing a crash fix.
(let ((commit "ec03350a01ad69708b5a3e2d47b8e002b0eba6c9")

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)
@@ -200,13 +201,13 @@ your project into different processes.")
(define-public python-django
(package
(name "python-django")
(version "5.2.13")
(version "5.2.11")
(source
(origin
(method url-fetch)
(uri (pypi-uri "django" version))
(sha256
(base32 "1i1vlffzhwbzp6r6y8ycvwklc45diy4c6i897z379l48a7dqj5d3"))))
(base32 "1lq2dynfw6jmvzrzgfrlij2qnxcksaxgnrfr0pj3bvmrv0m2jbbz"))))
(build-system pyproject-build-system)
(arguments
'(#:test-flags
@@ -328,7 +329,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
@@ -419,6 +420,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
@@ -1327,6 +1329,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
@@ -2183,6 +2186,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))

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)

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

View File

@@ -39,6 +39,7 @@
#: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)

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)
@@ -471,8 +472,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)

View File

@@ -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

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)

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)

View File

@@ -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))

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)
@@ -479,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
@@ -508,7 +507,8 @@ individual low-level driver modules.")
;; https://github.com/YosysHQ/eqy/actions/runs/18767539188/job/53545383858
(invoke "make" "-C" "examples/spm")
(invoke "make" "-C" "examples/simple"))))
(add-after 'install 'python:wrap py:wrap))))
(add-after 'install 'python:wrap
(@@ (guix build python-build-system) wrap)))))
(native-inputs
(list clang python-minimal-wrapper python-sphinx texinfo yosys))
(inputs
@@ -2074,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
@@ -2105,7 +2102,8 @@ versus schematic} tests and can assist with automatic routing.")
(chmod bin_ #o755)))
(install-it "mcy")
(install-it "mcy-dash")))
(add-after 'make-install 'python:wrap py:wrap))))
(add-after 'make-install 'python:wrap
(@@ (guix build python-build-system) wrap)))))
(native-inputs
(list pkg-config
python-sphinx
@@ -3012,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
@@ -3324,7 +3323,9 @@ Standard} data mode.")
(base32 "15nnydvr1a4ykh8cagi484sfgvdg0dnjxaw6c0ivhjbrbblpaqnw"))))
(build-system pyproject-build-system)
(native-inputs
(list 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
@@ -3601,7 +3602,10 @@ Automation}.")
#$output "/share/info/hdlmake-figures")))))
#:test-flags #~(list "test_all.py")))
(native-inputs
(list 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")
@@ -3764,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
@@ -4235,10 +4248,11 @@ them usable as simple logic analyzer and/or oscilloscope hardware.")
(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

View File

@@ -290,7 +290,7 @@ based upon the Common Locale Data Repository (CLDR).")
(package
(inherit elixir-ex-cldr-minimal)
(name "elixir-ex-cldr")
(version "2.47.2")
(version "2.43.2")
(source
(origin
;; The hex.pm package ships only the en locale.
@@ -300,7 +300,7 @@ based upon the Common Locale Data Repository (CLDR).")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1rivy61aq0c9zfklm4bpvvkj7lzjgy316rwxl8qz92xqp6xa292y"))))
(base32 "1wgwp74ya0gkvd5pk4qv9s38p85r5yw370y4wv7jywy3hrbrj9f5"))))
(arguments
(list
#:phases

View File

@@ -303,17 +303,7 @@ purposes. Its goal is to be as close as possible to
(list
#:test-flags
;; These tests require network access to badssl.com.
#~(list "--exclude" "network")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'make-reproducible
(lambda _
;; Buffer size has been increased in OTP 28+. For more info see:
;; https://github.com/erlang/otp/issues/9722#issuecomment-2808683303
(substitute* "test/httpoison_test.exs"
(("stream/20") "stream/100")
(("<= expected_length") "<= expected_length * 1.1")
((">= max_length") ">= max_length * 0.9")))))))
#~(list "--exclude" "network")))
(native-inputs
(list erlang-cowboy
elixir-earmark

View File

@@ -56,7 +56,7 @@
;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2019 Stephen Webber <montokapro@gmail.com>
;;; Copyright © 2019, 2021—2026 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2019, 2021 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
@@ -147,7 +147,7 @@
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024, 2025 Spencer King <spencer.king@wustl.edu>
;;; Copyright © 2024 emma thompson <bigbookofbug@proton.me>
;;; Copyright © 2024-2026 Liam Hupfer <liam@hpfr.net>
;;; Copyright © 2024-2025 Liam Hupfer <liam@hpfr.net>
;;; Copyright © 2024-2025 Alvin Hsu <aurtzy@gmail.com>
;;; Copyright © 2024 Olivier Rojon <o.rojon@posteo.net>
;;; Copyright © 2024 Divya Ranjan Pattanaik <divya@subvertising.org>
@@ -656,30 +656,6 @@ supported algorithm is chosen to ensure interoperability with
Emacs Lisp.")
(license license:gpl3)))
(define-public emacs-org-arbeitszeit
(package
(name "emacs-org-arbeitszeit")
(version "0.0.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bkaestner/org-arbeitszeit")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0krxainwpn7bnnvbrrhivmh302i9dyfixs6l5wb7xw7qpjgwqzc8"))))
(build-system emacs-build-system)
(arguments (list #:tests? #f)) ; no tests
(home-page "https://github.com/bkaestner/org-arbeitszeit")
(synopsis "Calculate your worktime")
(description
"This package provides a new dynamic block for Org called \"arbeitszeit\"
(German for \"working hours\"). The dynamic block collects all clocked hours and
provides a weekly table to quickly see your accumulated overtime. To insert a
new block, use @samp{M-x org-dynamic-block-insert-dblock}.")
(license license:gpl3+)))
(define-public emacs-perl-doc
(package
(name "emacs-perl-doc")
@@ -781,54 +757,6 @@ balance windows (keeping them roughly the same size) whenever the window
configuration changes, e.g. after splitting or deleting a window.")
(license license:bsd-3))))
(define-public emacs-ben
(package
(name "emacs-ben")
(version "0.12.11")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/pastor/ben.el")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0iqrk87dl567vwpwm8rmplrpva475a04s6c34rm24xfy2m7wrwk6"))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-environment
(lambda _
;; Since the testsuite uses `direnv', the build needs a home
;; directory so `direnv' can allow the contents of the `.envrc`
;; files generated for the different tests.
(setenv "HOME" "/tmp")
(setenv "OFFLINE" "1") ;Enable offline tests.
(emacs-substitute-variables "ben.el"
("ben-direnv-executable"
#$(file-append (this-package-input "direnv")
"/bin/direnv"))))))))
(inputs (list direnv))
(propagated-inputs (list emacs-inheritenv))
(home-page "https://codeberg.org/pastor/ben.el")
(synopsis "Asynchronous buffer-local environments via @command{direnv}")
(description
"This package allows you to load environments buffer locally. The
package is named @command{ben}, which stands for Buffer ENvironments.
The project relies on @uref{https://direnv.net, direnv} which allows setting
per-directory environments through @file{.envrc} files.
The main improvement of @command{ben} over @command{envrc} is the asynchronous
processing of environments, which prevents Emacs from freezing. This is
especially useful while loading computationally heavy environments, such when
loading @file{.envrc} files that rely on Guix. In these cases, computations
can take hours to complete. This package aims to facilitate loading such
environments in the background.")
(license license:gpl3+)))
(define-public emacs-bookmark-plus
(package
(name "emacs-bookmark-plus")
@@ -906,7 +834,7 @@ input via a small child-frame spawned at the position of the cursor.")
(define-public emacs-arei
(package
(name "emacs-arei")
(version "0.9.7")
(version "0.9.6")
(source
(origin
(method git-fetch)
@@ -916,13 +844,10 @@ input via a small child-frame spawned at the position of the cursor.")
(file-name (git-file-name name version))
(sha256
(base32
"1fp4l8rzfd7cds80p8c9jgwwlb7rsw35djh0hs50g89h937w5s02"))))
"1m8ic5pcshz2y2maxvbgg70n4k2kgxvj98zisqal15j7djz0hzji"))))
(build-system emacs-build-system)
(arguments
(list #:lisp-directory "lisp"
#:tests? #f)) ; no tests
(propagated-inputs
(list emacs-consult emacs-eros emacs-sesman emacs-queue))
(arguments (list #:tests? #f)) ; no tests
(propagated-inputs (list emacs-eros emacs-sesman emacs-queue))
(home-page "https://git.sr.ht/~abcdw/emacs-arei")
(synopsis "Asynchronous Reliable Extensible IDE")
(description "Sleek Guile IDE for Emacs.")
@@ -13593,8 +13518,8 @@ for compilation, debugging, documentation lookup, and so on.")
(license (list license:gpl2+ license:public-domain))))
(define-public emacs-sliver
(let ((commit "b4cb9cd2a810ba59c946e2592c4a4d56060a8d22")
(revision "1"))
(let ((commit "d08d41947bb943f25ee2de9573459a6c720e027f")
(revision "0"))
(package
(name "emacs-sliver")
;; No tagged releases. Version comes from source code.
@@ -13607,7 +13532,7 @@ for compilation, debugging, documentation lookup, and so on.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1wddivmp5f4m6fdib96vfylqp4kgcw3ipdsi4b9w50dqzvrqrfjh"))))
(base32 "08qycim0mxyiqbik9hjlmzpdggl506bcsv1q1icxzd05bm73sh6n"))))
(build-system emacs-build-system)
(arguments
(list
@@ -13951,7 +13876,7 @@ 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
@@ -15872,16 +15797,8 @@ versions utilizing Consult's internal API.")
(arguments
(list
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
;; Move the extensions source files to the top level, which is
;; included in the EMACSLOADPATH.
(add-after 'unpack 'move-source-files
(lambda _
(let ((el-files (find-files "./extensions" ".*\\.el$")))
(for-each (lambda (f)
(rename-file f (basename f)))
el-files)))))))
#:include #~(cons "^extensions\\/consult-eglot-embark"
%default-include)))
(propagated-inputs (list emacs-consult emacs-eglot emacs-embark))
(home-page "https://github.com/mohkale/consult-eglot")
(synopsis "Consulting-read interface for eglot")
@@ -25154,7 +25071,7 @@ lines, and @code{gc} to comment out the target of a motion.")
(define-public emacs-eglot
(package
(name "emacs-eglot")
(version "1.23")
(version "1.21")
(source
(origin
(method url-fetch)
@@ -25162,7 +25079,7 @@ lines, and @code{gc} to comment out the target of a motion.")
".tar"))
(sha256
(base32
"1l83c90rdamlk576bd859jkg6406hgxi7w4c6ixlw509c66qr3s6"))))
"03fx22rv8ijxq0jnn7xlfqhkpk2b109ygpjbcchp41sa4q7d6nbl"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-eldoc
@@ -28599,7 +28516,7 @@ unstructured, meant for quick @code{JavaScript} experiments.")
(define-public emacs-firefox-release-notes
(package
(name "emacs-firefox-release-notes")
(version "1.8")
(version "1.7")
(source
(origin
(method git-fetch)
@@ -28610,7 +28527,7 @@ unstructured, meant for quick @code{JavaScript} experiments.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "13ymnx4vgiq5f3cjk3zddrq4xnv6116j5zzza67v98q7rsvzl049"))))
(base32 "1i9ncnn0qys0v0bqw87jwx0sa2g31n1i1gfr9zqdml3hakyz8b5f"))))
(build-system emacs-build-system)
(arguments
(list
@@ -32121,31 +32038,6 @@ leverages the Parinfer Rust Emacs library to do most of the heavy lifting.")
bookmarks and history.")
(license license:gpl3+)))
(define-public emacs-shr-syntax-highlight
(package
(name "emacs-shr-syntax-highlight")
(version "0.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/coopi/emacs-shr-syntax-highlight")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04ax8svpw2s0085pp93dsz5xhhbqr58ghkr1ab2g38pczlsbz18s"))))
(build-system emacs-build-system)
(home-page "https://codeberg.org/coopi/emacs-shr-syntax-highlight")
(synopsis "Syntax highlighting for code blocks rendered by shr")
(description
"This package adds syntax highlighting to @code{<pre>} code blocks
rendered by @acronym{@code{shr}, Simple @acronym{HTML, HyperText Markup
Language} Renderer}, used by @acronym{EWW, Emacs Web Wowser} and similar
interfaces. It reads @acronym{CSS, Cascading Style Sheets} class annotations
such as @code{language-python} and fontifies block contents using the
corresponding Emacs major mode.")
(license license:agpl3+)))
(define-public emacs-stumpwm-mode
(let ((commit "920f8fc1488f7953f205e1dda4c2ecbbbda56d6")
(revision "3"))
@@ -39910,7 +39802,7 @@ user interfaces for various built-in modes.")
(define-public emacs-calibredb
(package
(name "emacs-calibredb")
(version "2.14.0")
(version "2.13.0")
(source
(origin
(method git-fetch)
@@ -39919,40 +39811,31 @@ user interfaces for various built-in modes.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1g0jg6a6fgvxd5bsydckbqwf899d2d9732laz4k1k476mbws5dqy"))))
(base32 "1a4gyc3gcq18j29pw2i296d70nvx5fbzlw9fdmqwzncciqz5as6m"))))
(build-system emacs-build-system)
(arguments
(list
#:include #~(cons "\\.py$" %default-include)
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(make-file-writable "calibredb-core.el")
(let ((calibredb (search-input-file inputs "/bin/calibredb"))
(fetch-ebook-metadata
(search-input-file inputs "/bin/fetch-ebook-metadata"))
(ebook-convert
(search-input-file inputs "/bin/ebook-convert"))
(calibre-debug
(search-input-file inputs "/bin/calibre-debug"))
(ebook-meta
(search-input-file inputs "/bin/ebook-meta"))
(folder-program
(string-append #$output
"/share/emacs/site-lisp/calibredb-"
#$version "/calibredb-folder.py")))
(search-input-file inputs "/bin/calibre-debug")))
(emacs-substitute-variables "calibredb-core.el"
("calibredb-fetch-metadata-program" fetch-ebook-metadata)
("calibredb-program" calibredb)
("calibredb-convert-program" ebook-convert)
("calibredb-debug-program" calibre-debug)
("calibredb-ebook-meta-program" ebook-meta)
("calibredb-folder-program" folder-program))))))))
("calibredb-debug-program" calibre-debug))))))))
(inputs
(list calibre))
(propagated-inputs
(list emacs-dash emacs-esxml emacs-request emacs-s))
(list emacs-dash emacs-esxml emacs-s))
(home-page "https://github.com/chenyanming/calibredb.el")
(synopsis "Yet another calibre client for Emacs")
(description "This package integrates calibre into Emacs.
@@ -41550,65 +41433,17 @@ time.")
(build-system emacs-build-system)
(arguments
(list
#:test-command #~(list "make" "tests")
#:phases
#~(modify-phases %standard-phases
;; Move the source files to the top level, which is
;; included in the EMACSLOADPATH.
(add-after 'unpack 'move-source-files
(lambda _
(let ((el-files (find-files "./lisp" ".*\\.el$")))
(for-each (lambda (f)
(rename-file f
(basename f)))
el-files))))
(add-before 'check 'fix-tests
(lambda _
(substitute* "Makefile"
(("cask") ""))
(substitute* "test/ert-helper.el"
(("lisp\\/") ""))))
(add-before 'check 'skip-failing-tests
(lambda _
(let-syntax
((disable-tests
(syntax-rules ()
((_ file ())
(syntax-error "test names list must not be empty"))
((_ file (test-name ...))
(substitute* file
(((string-append
"^\\(ert-deftest " test-name ".*") all)
(string-append all "(skip-unless nil)\n")) ...)))))
(disable-tests
"test/mastodon-profile-tests.el"
("mastodon-profile--add-author-bylines"
"mastodon-profile--make-author-buffer"))
(disable-tests
"test/mastodon-auth-tests.el"
("mastodon-auth--handle-token-response--good"
"mastodon-auth-plstore-token-check"))
(disable-tests
"test/mastodon-client-tests.el"
("mastodon-client--make-user-active"
"mastodon-client--store"
"mastodon-client--store-access-token"))
(disable-tests
"test/mastodon-tl-tests.el"
("mastodon-tl--byline-timestamp-has-relative-display"
"mastodon-tl--next-tab-item--no-spaces-at-ends"
"mastodon-tl--next-tab-item--with-spaces-at-ends"))
(disable-tests
"test/mastodon-media-tests.el"
("mastodon-media--get-avatar-rendering"
"mastodon-media--inline-images"
"mastodon-media--load-image-from-url-avatar-with-imagemagic"
"mastodon-media--load-image-from-url-avatar-without-imagemagic"
"mastodon-media--load-image-from-url-media-link-with-imagemagic"
"mastodon-media--load-image-from-url-media-link-without-imagemagic"
"mastodon-media--load-image-from-url-url-fetching-fails"
"mastodon-media--process-image-response"))))))))
(native-inputs (list emacs-el-mock))
#:tests? #f ; requires cask
#:phases #~(modify-phases %standard-phases
;; Move the source files to the top level, which is
;; included in the EMACSLOADPATH.
(add-after 'unpack 'move-source-files
(lambda _
(let ((el-files (find-files "./lisp" ".*\\.el$")))
(for-each (lambda (f)
(rename-file f
(basename f)))
el-files)))))))
(propagated-inputs
(list emacs-persist emacs-tp))
(home-page "https://codeberg.org/martianh/mastodon.el")

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)
@@ -2032,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

View File

@@ -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))
@@ -3451,7 +3452,7 @@ This is a part of the TiLP project.")
(define-public mame
(package
(name "mame")
(version "0.287")
(version "0.252")
(source
(origin
(method git-fetch)
@@ -3460,16 +3461,16 @@ This is a part of the TiLP project.")
(commit (apply string-append "mame" (string-split version #\.)))))
(file-name (git-file-name name version))
(sha256
(base32 "1p9v71gvaqiyj6sa1b0wkdksa9wnr6yr2a43ckycljjfas5s36kq"))
(base32 "07qhcm1v47sy2wj30nx3cbhvcbgki0cl83gabr0miiw60fhgyn6j"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.
'(begin
(with-directory-excursion "3rdparty"
(for-each delete-file-recursively
'("asio" "expat" "glm" "flac" "libjpeg" "lua"
"portaudio" "portmidi" "pugixml" "rapidjson"
"sqlite3" "utf8proc" "zlib")))))))
'("asio" "expat" "glm" "libflac" "libjpeg" "lua"
"portaudio" "portmidi" "pugixml" "rapidjson" "SDL2"
"SDL2-override" "sqlite3" "utf8proc" "zlib")))))))
(build-system gnu-build-system)
(arguments
(list
@@ -3603,9 +3604,7 @@ This is a part of the TiLP project.")
libjpeg-turbo
libxi
libxinerama
;; MAME requires Lua compiled as C++ to work correctly.
;; See https://www.mamedev.org/?p=523
lua-5.4-for-c++
lua
portaudio
portmidi
pugixml

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))

View File

@@ -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)
@@ -1827,6 +1828,7 @@ it suitable for security research and analysis.")
(native-inputs (list python-gitpython
python-pytest
python-pytest-asyncio
python-pytest-cov
python-pytest-mock
python-setuptools))
(inputs (list bash-minimal
@@ -2365,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
@@ -2898,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

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)

View File

@@ -50,7 +50,7 @@
(define-public erlang
(package
(name "erlang")
(version "28.4.3")
(version "27.3.4.6")
(source (origin
(method git-fetch)
;; The tarball from http://erlang.org/download contains many
@@ -62,7 +62,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"1dsdmp2rccc0rhzy2w8r4amxmc6nr9hbi053j2s0bg9db30b48rc"))
"0dhz2c7w28ss0ypj7jh88pfs3kc8hbwiiq91in1j2miy5sn4cp3x"))
(patches (search-patches "erlang-man-path.patch"))))
(build-system gnu-build-system)
(native-inputs
@@ -75,7 +75,7 @@
"/OTP-" version "/otp_doc_man_" version ".tar.gz"))
(sha256
(base32
"1g17wzv8j12g9272yvv55nj4wqs09hxkv3i0vnp7d6gcs24bmphi"))))))
"1j1fcli7ma9vi4qyv67lq7yiznhpnfvcmh57bn8qxvha6ky2pngm"))))))
(inputs
(list ncurses openssl wxwidgets))
(propagated-inputs

View File

@@ -220,7 +220,6 @@ testing InfiniBand networks.")
"--disable-assertions"
"--disable-params-check"
"--enable-mt"
(string-append "--with-verbs="
#$(this-package-input "rdma-core"))

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

View File

@@ -50,6 +50,7 @@
#:use-module (guix build-system go)
#:use-module (guix build-system linux-module)
#: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 (guix utils)

View File

@@ -70,6 +70,7 @@
#:use-module (guix build-system copy)
#:use-module (guix build-system emacs)
#:use-module (guix build-system haskell)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system go)
@@ -164,7 +165,7 @@
;; <https://bitcoincore.org/en/lifecycle/#schedule>.
(package
(name "bitcoin-core")
(version "31.0")
(version "30.2")
(source (origin
(method url-fetch)
(uri
@@ -172,7 +173,7 @@
version "/bitcoin-" version ".tar.gz"))
(sha256
(base32
"1qxkcyq8nwq6sw4qi660z8n8356mqdsf4jvpq5ndkvrsx9gfz80b"))))
"1jw4djh22v0nih0n7irdbknfbqavlc4l3b8176b5qgc88a60pl3g"))))
(build-system qt-build-system)
(arguments
(list #:qtbase qtbase
@@ -196,7 +197,9 @@
"python3" "./test/functional/test_runner.py" "--timeout-factor=2"
(string-append "--jobs=" (number->string (parallel-job-count)))))))))
(native-inputs
(list pkg-config
(list bash ; provides the sh command for system_tests
coreutils ; provides the cat, echo and false commands for system_tests
pkg-config
python ; for the tests
python-pyzmq ; for the tests
qttools))
@@ -1620,7 +1623,10 @@ features:
(sha256
(base32 "0yir8hka3vmpk0qhiaffagkdjg3mjgai808s0razsggbd5cn80bb"))))
(build-system pyproject-build-system)
(native-inputs (list python-pytest python-setuptools))
(native-inputs
(list python-pytest
python-pytest-cov
python-setuptools))
(home-page "https://arthurdejong.org/python-stdnum/")
(synopsis "Python module to handle standardized number and code formats")
(description
@@ -2503,6 +2509,10 @@ analysis of financial market data.")
(base32 "13g5338aa8vgkx8g94vz5d8ynfq3jndvyh1nz6dlhw4axwr4x8dp"))))
(properties '(("upstream-name" #{.}# "mt-940")))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "-c" "/dev/null"))) ; Remove custom --cov flags.
(native-inputs (list python-pytest python-pyyaml python-setuptools))
(home-page "https://mt940.readthedocs.io/")
(synopsis "Python parser for MT940-encoded SWIFT data")

View File

@@ -47,6 +47,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 build-system trivial)
#:use-module (gnu packages)

View File

@@ -49,6 +49,7 @@
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix download)
#:use-module (guix gexp)

View File

@@ -4658,6 +4658,46 @@ is a stylish type with a polished yet relaxed feel. Its versatility makes it
suitable for a wide range of uses.")
(license license:silofl1.1))))
(define-public font-cozette
(package
(name "font-cozette")
(version "1.13.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/slavfox/Cozette")
(commit (string-append "v." version))))
(file-name (git-file-name name version))
(sha256
(base32
"178i812n4sfsvid7jhnm683jlxqmrv4ck6qbb4nwyllhwg3gyq60"))))
(build-system font-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'dont-depend-on-git
(lambda _
(substitute* "build.py"
;; Merely importing this module requires a git repository.
;; We don't use get_changelog, so just disable the import.
(("from cozette_builder\\.changeloggen import get_changelog")
""))))
(add-before 'install 'build
(lambda _
(invoke "python3" "build.py" "fonts"))))))
(native-inputs
(list fontforge
python
python-crayons
python-fonttools
python-numpy
python-pillow))
(home-page "https://github.com/slavfox/Cozette")
(synopsis "Bitmap programming font")
(description "Cozette is a 6x13px (bounding box) bitmap font based on Dina
and heavily inspired by Creep.")
(license license:expat)))
(define-public font-montserrat
(package
(name "font-montserrat")

View File

@@ -96,6 +96,7 @@
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix utils)
#:use-module (srfi srfi-1))
@@ -472,53 +473,6 @@ font design software, it allows you to join, split, offset, and perform many
other operations on paths.")
(license license:expat)))
(define-public python-booleanoperations
(package
(name "python-booleanoperations")
(version "0.9.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/typemytype/booleanOperations")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0ahfgamyq1ndwbr9n8sdx8qhqc2195xnbahylgjpk877hbr2gxav"))))
(build-system pyproject-build-system)
(arguments
(list
;; Some tests fail due to small differences in the expected result (see:
;; <https://github.com/typemytype/booleanOperations/issues/69>).
#:test-flags
#~(list "-k"
(string-join
(list "not test_QTail_reversed_difference"
"test_QTail_reversed_intersection"
"test_QTail_reversed_union"
"test_QTail_reversed_xor"
"test_Q_difference"
"test_Q_intersection"
"test_Q_union"
"test_Q_xor")
" and not "))))
(native-inputs
(list python-defcon-bootstrap
python-fontpens-bootstrap
python-pytest
python-setuptools
python-setuptools-scm))
(propagated-inputs
(list python-fonttools-minimal
python-pyclipper))
(home-page "https://github.com/typemytype/booleanOperations")
(synopsis "Boolean operations on paths")
(description
"Boolean operations on paths which uses a super fast
@url{http://www.angusj.com/delphi/clipper.php, polygon clipper library by
Angus Johnson}.")
(license license:expat)))
(define-public python-cffsubr
(package
(name "python-cffsubr")
@@ -620,6 +574,7 @@ for fontTools.")
(list python-cython
python-defcon
python-pytest
python-pytest-runner
python-setuptools
python-setuptools-scm
python-wheel
@@ -746,7 +701,8 @@ implementing the pen protocol for manipulating glyphs.")
(modify-inputs native-inputs
(append python-fontparts-bootstrap
python-fontpens-bootstrap
python-pytest))))))
python-pytest
python-pytest-runner))))))
;;; A variant used to break a cycle with python-fontpens.
(define-public python-fontparts-bootstrap
@@ -1027,6 +983,7 @@ suite of the @code{psautohint} package.")
(native-inputs
(list psautohint-font-data
python-pytest
python-pytest-cov
python-pytest-xdist
python-setuptools-scm
python-setuptools
@@ -1870,10 +1827,6 @@ definitions.")
pango
potrace
python
;; XXX: Python 3.12 lacks distutils:
;; ModuleNotFoundError: No module named 'distutils'
;; Remove when package is updated.
python-setuptools-bootstrap
zlib))
(arguments
(append

View File

@@ -73,6 +73,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 glib-or-gtk)
#:use-module (guix build-system qt)
#:use-module (guix search-paths)
@@ -1377,43 +1378,41 @@ For information about libevdev, see:
(license license:expat)))
(define-public python-pyxdg
;; Latest unreleased commits add Python 3.12, 3.14 and 3.15 support.
(let ((commit "63033ac306aa26d32e1439417e59ae8f8a4c9820")
(revision "0"))
(package
(name "python-pyxdg")
(version "0.28")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.freedesktop.org/xdg/pyxdg")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"10wk95rmcr2fglmvmv1a6ad9hkw9587r0rlww0gq6kbfz85whgmd"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda _
(setenv "XDG_DATA_DIRS"
(string-append #$(this-package-native-input "shared-mime-info")
"/share/")))))))
(native-inputs
(list shared-mime-info
hicolor-icon-theme
python-pytest
python-setuptools))
(home-page "https://www.freedesktop.org/wiki/Software/pyxdg")
(synopsis "Implementations of freedesktop.org standards in Python")
(description
"PyXDG is a collection of implementations of freedesktop.org standards in
(package
(name "python-pyxdg")
(version "0.28")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyxdg" version))
(sha256
(base32
"1d48bqwkbnpid80cpwz6h62i112laxl0ivpj58hdyd79fhqbnrrj"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; Tests failing with error: AssertionError: 'image' != 'inode'
#~(list "--deselect=test/test_mime.py::MimeTest::test_get_type"
"--deselect=test/test_mime.py::MimeTest::test_get_type2")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda _
(setenv "XDG_DATA_DIRS"
(string-append #$(this-package-native-input "shared-mime-info")
"/share/")))))))
(native-inputs
(list shared-mime-info
hicolor-icon-theme
python-pytest
python-setuptools))
(home-page "https://www.freedesktop.org/wiki/Software/pyxdg")
(synopsis "Implementations of freedesktop.org standards in Python")
(description
"PyXDG is a collection of implementations of freedesktop.org standards in
Python.")
(license license:lgpl2.0))))
(license license:lgpl2.0)))
(define-public hyprland-protocols
(package
@@ -2178,7 +2177,7 @@ which speak the Qualcomm MSM Interface (QMI) protocol.")
libxslt ;for xsltproc
pkg-config
python-minimal
python-dbus ;for test
python-dbus-1.2 ;for test
python-pygobject ;for test
vala))
(propagated-inputs
@@ -2372,7 +2371,7 @@ different sorts of messages in different formats.")
(base32 "02wb61h2k3hhis5y2xi5rhc6pmikd13x722hk620sqb9b3m5pn3s"))))
(build-system gnu-build-system)
(native-inputs (list autoconf automake libtool pkg-config))
(inputs (list libxslt python-wrapper python-dbus))
(inputs (list libxslt python-wrapper python-dbus-1.2))
(propagated-inputs (list telepathy-glib))
(home-page "https://telepathy.freedesktop.org/")
(synopsis "Telepathy IRC connection manager")
@@ -3418,7 +3417,7 @@ interfaces.")
(define-public xdg-desktop-portal-wlr
(package
(name "xdg-desktop-portal-wlr")
(version "0.8.2")
(version "0.7.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3427,7 +3426,7 @@ interfaces.")
(file-name (git-file-name name version))
(sha256
(base32
"1jj0a9s3h3i04qsxkhcpxjzbb17hs9ngdy7wkypja09233zdz10w"))
"1mbq3czka9swwmfaasnaj89y2m254p3qa522ayclh688jdwh70hq"))
(patches (search-patches "xdg-desktop-portal-wlr-harcoded-length.patch"))))
(build-system meson-build-system)
(arguments
@@ -3455,7 +3454,7 @@ interfaces.")
(string-append (assoc-ref outputs "out")
"/share/doc/" ,name)))))))
(native-inputs
(list cmake-minimal pkg-config scdoc))
(list cmake-minimal pkg-config))
(inputs (list elogind
bash-minimal
grim

View File

@@ -70,6 +70,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 renpy)
#:use-module (guix build-system scons)
#:use-module (gnu packages)

View File

@@ -5534,13 +5534,23 @@ falling, themeable graphics and sounds, and replays.")
(build-system cmake-build-system)
(arguments
(list #:tests? #f ;no test target
#:configure-flags #~'("-DENABLE_SYSTEM_LUA=ON")))
#:configure-flags #~'("-DENABLE_SYSTEM_LUA=ON")
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'pre-configure
(lambda _
;; XXX: Our Lua doesn't have a C++ library, force C linkage.
(substitute* '("src/lua/wrapper_lua.h"
"src/lua/wrapper_lualib.h"
"src/lua/wrapper_lauxlib.h")
(("#include \"(lua|lualib|lauxlib)\\.h\"")
"#include \"lua.hpp\"")))))))
(inputs
(list boost-1.83
curl
dbus
libvorbis
lua-5.4-for-c++
lua-5.4
openssl
pango
sdl2
@@ -5927,7 +5937,7 @@ Transport Tycoon Deluxe.")
(add-after 'unpack 'patch-sources
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/music/fluidsynth.cpp"
(("_default_soundfonts\\[\\] = \\{" all)
(("default_sf\\[\\] = \\{" all)
(string-append all "
\t/* Guix hardcoded :P */
\t\"" (search-input-file inputs "/share/soundfonts/FreePatsGM.sf2") "\",
@@ -5954,7 +5964,7 @@ Transport Tycoon Deluxe.")
(package
(inherit openttd)
(name "openttd-jgrpp")
(version "0.71.1")
(version "0.70.2")
(source
(origin
(method git-fetch)
@@ -5963,7 +5973,7 @@ Transport Tycoon Deluxe.")
(commit (string-append "jgrpp-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1cy1ghc1mc61hdz8lykx2ggs5nld30jdgj8y4vdli2v1ffhy7xy9"))))
(base32 "1jzzvribf2cqvjl9cympyx9qpplljvmhqrrlw7aq4ckzl92d87z3"))))
(inputs (modify-inputs inputs
(append zstd harfbuzz)))
(arguments

View File

@@ -55,6 +55,7 @@
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system r)
#:use-module (guix build-system zig)
@@ -297,7 +298,7 @@ than 600 operators available.")
(define-public h3
(package
(name "h3")
(version "4.4.1")
(version "4.1.0")
(source
(origin
(method git-fetch)
@@ -306,7 +307,7 @@ than 600 operators available.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ijnbr4a54ph7bkn8waqwgnxmxlylv9yly9mwjdj69lkmdfjgaml"))))
(base32 "0x764xzna8ka6yhgv2y4hb158a61y3g9a6835qckqp7wfkpqvb7f"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON")))
@@ -318,25 +319,48 @@ combining the benefits of a hexagonal grid with S2's hierarchical
subdivisions.")
(license license:asl2.0)))
(define-public python-h3
;; For python-timezonefinder, remove it when it starts supporting newer
;; version.
(define-public h3-3
(package
(name "python-h3")
(version "4.4.2")
(inherit h3)
(name "h3")
(version "3.7.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/uber/h3")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0bvsljfxmjvl23v9gxykc4aynjzh5xfy3wg02bxad7cknr1amx9j"))))))
(define-public python-h3
(package
(name "python-h3")
(version "4.0.0b2")
(source
(origin
(method git-fetch) ; no tests data in PyPi package
(uri (git-reference
(url "https://github.com/uber/h3-py")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "02gry51hn8x2bl80y1ipcyrg0ghcif4vjch26qil215wdzz1yrzv"))
(base32 "1k1n256hhlh05gjcj64pqh08zlaz6962jkb6nk1aazsgg8p41zs0"))
(modules '((guix build utils)))
;; Remove bundled H3 lib.
(snippet #~(begin (delete-file-recursively "src/h3lib")))))
(build-system pyproject-build-system)
(arguments
(list
;; FIXME: Check why these tests are failing.
;; test_versions - assert (4, 1) == (4, 0)
;; test_resolution - h3._cy.error_system.H3Failed
#:test-flags #~(list "-k" (string-append
"not test_versions"
" and not test_resolution"))
#:phases
#~(modify-phases %standard-phases
;; Use packaged in Guix h3 source.
@@ -357,7 +381,10 @@ subdivisions.")
python-cython
python-numpy
python-pytest
python-scikit-build-core))
python-scikit-build
python-setuptools
python-setuptools-scm
python-wheel))
(inputs (list h3))
(home-page "https://uber.github.io/h3-py")
(synopsis "Python bindings for H3")
@@ -365,6 +392,26 @@ subdivisions.")
hierarchical hexagonal geospatial indexing system")
(license license:asl2.0)))
;; For python-timezonefinder, remove it when it starts supporting newer
;; version.
(define-public python-h3-3
(package
(inherit python-h3)
(name "python-h3")
(version "3.7.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/uber/h3-py")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "16gxa1sivghxw179rik87r918mjasars2qkzidlwq83qfa4axn20"))))
(inputs
(modify-inputs inputs
(replace "h3" h3-3)))))
(define-public geos
(package
(name "geos")
@@ -1012,6 +1059,7 @@ for seismology.")
(inputs (list gdal))
(native-inputs (list python-cython
python-pytest
python-pytest-cov
python-setuptools
python-tomli
python-versioneer
@@ -1111,7 +1159,7 @@ projections and coordinate transformations library.")
(define-public python-fiona
(package
(name "python-fiona")
(version "1.10.1")
(version "1.9.6")
(source
(origin
(method git-fetch)
@@ -1120,38 +1168,24 @@ projections and coordinate transformations library.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0xribbcy5wvrm5y3bq281dry86vhjcnphg9772yp9s3y30y7mlz4"))))
(base32 "08whhjrspp194qasjhr9kf70fl342ms47k78rwpcf5q6ikf0rfii"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 757 passed, 161 skipped, 24 deselected, 1 xfailed, 6 xpassed
#:test-flags
#~(list "-m" "not network and not wheel"
#$@(map (lambda (test) (string-append "--deselect=tests/" test))
;; UserWarning: The parameter --where is used more than
;; once. Remove its duplicate as parameters should be
;; unique.
(list "test_fio_cat.py::test_bbox_json_yes"
"test_fio_cat.py::test_bbox_no"
"test_fio_cat.py::test_bbox_where"
"test_fio_cat.py::test_bbox_yes"
"test_fio_cat.py::test_bbox_yes_two_files"
"test_fio_cat.py::test_dst_crs_epsg3857"
"test_fio_cat.py::test_multi_layer"
"test_fio_cat.py::test_one"
"test_fio_cat.py::test_two"
"test_fio_cat.py::test_vfs"
"test_fio_cat.py::test_where_no"
"test_fio_cat.py::test_where_yes"
"test_fio_cat.py::test_where_yes_two_files"
;; FileNotFoundError:
;; https://github.com/Toblerity/Fiona/files/\
;; 11151652/coutwildrnp.zip
"test_pyopener.py::test_opener_fsspec_zip_http_fs")))
;; FIXME: Find why the
;; test_no_append_driver_cannot_append[PCIDSK] test is failing.
"-k" "not test_no_append_driver_cannot_append")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'remove-local-source
(add-before 'build 'set-configure-flags
(lambda _
(setenv "CFLAGS" "-Wno-error=incompatible-pointer-types")))
(add-before 'check 'remove-local-fiona
(lambda _
;; This would otherwise interfere with finding the installed
;; fiona when running tests.
(delete-file-recursively "fiona"))))))
(inputs
(list gdal))
@@ -1159,19 +1193,19 @@ projections and coordinate transformations library.")
(list python-attrs
python-certifi
python-click
python-click-plugins
python-click-plugins-1
python-cligj))
(native-inputs
(list gdal ; for gdal-config
python-boto3
python-cython
python-fsspec
python-pytest
python-pytest-cov
python-pytz
python-setuptools
python-shapely))
python-setuptools))
(home-page "https://github.com/Toblerity/Fiona")
(synopsis "Fiona reads and writes spatial data files")
(synopsis
"Fiona reads and writes spatial data files")
(description
"Fiona is GDALs neat and nimble vector API for Python programmers. Fiona
is designed to be simple and dependable. It focuses on reading and writing
@@ -1431,6 +1465,7 @@ street bearings/orientations, and speed/travel time.")
python-pyproj
python-pyyaml
python-pytest
python-pytest-cov
python-pytest-httpserver
python-pytz
python-requests
@@ -1762,7 +1797,10 @@ utilities for data translation and processing.")
;; This test requires internet access.
'(list "--deselect" "test_shapefile.py::test_reader_url")))
(native-inputs
(list python-pytest python-setuptools python-wheel))
(list python-pytest
python-pytest-runner
python-setuptools
python-wheel))
(home-page "https://github.com/GeospatialPython/pyshp")
(synopsis "Read/write support for ESRI Shapefile format")
(description
@@ -3492,9 +3530,10 @@ orienteering sport.")
(list
#:tests? #f ; No tests
#: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 %pyproject-build-system-modules
#:imported-modules `(,@%default-gnu-imported-modules
(guix build python-build-system))
#:configure-flags
#~(list "--with-blas"
"--with-bzlib"
@@ -3666,13 +3705,13 @@ growing set of geoscientific methods.")
(build-system cmake-build-system)
(arguments
(list
#:imported-modules (append %cmake-build-system-modules
%pyproject-build-system-modules
'((guix build qt-utils)))
#:modules '((guix build cmake-build-system)
((guix build pyproject-build-system) #:prefix py:)
((guix build python-build-system) #:prefix python:)
(guix build qt-utils)
(guix build utils))
#:imported-modules `(,@%cmake-build-system-modules
(guix build python-build-system)
(guix build qt-utils))
#:configure-flags
#~(list "-DWITH_QTWEBKIT=NO")
#:phases
@@ -3833,10 +3872,11 @@ growing set of geoscientific methods.")
;; Configure correct path to PyQt5 SIP directory
(add-after 'unpack 'configure-pyqt5-sip-path
(lambda* (#:key inputs #:allow-other-keys)
(let* ((pyqt (assoc-ref inputs "python-pyqt+qscintilla"))
(sip-dir (string-append
(py:site-packages inputs `(("out" . ,pyqt)))
"/PyQt5/bindings")))
(let ((sip-dir (string-append
(assoc-ref inputs "python-pyqt+qscintilla")
"/lib/python"
(python:python-version (assoc-ref inputs "python"))
"/site-packages/PyQt5/bindings")))
(substitute* "cmake/FindPyQt5.py"
(("sip_dir = cfg.default_sip_dir")
(string-append "sip_dir = \"" sip-dir "\"")))
@@ -3866,7 +3906,7 @@ SET\\(PYQT5_SIP_DIR \"\\$\\{Python_SITEARCH\\}/PyQt5/bindings\"\\)")
"-E" (string-join ignored-tests "|")))
(format #t "test suite not run~%"))))
(add-after 'install 'wrap-python
(assoc-ref py:%standard-phases 'wrap))
(assoc-ref python:%standard-phases 'wrap))
(add-after 'wrap-python 'wrap-qt
(lambda* (#:key inputs #:allow-other-keys)
(wrap-qt-program "qgis" #:output #$output #:inputs inputs)))

View File

@@ -476,31 +476,17 @@ inverse fourier transform.")
(package
(name "libmypaint")
(version "1.6.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mypaint/libmypaint")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ppgpmnhph9h8ayx9776f79a0bxbdszfw9c6bw7c3ffy2yk40178"))))
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mypaint/libmypaint/"
"releases/download/v" version "/libmypaint-"
version ".tar.xz"))
(sha256
(base32
"0priwpmc7dizccqvn21ig6d649bprl3xl1hmjj7nddznjgr585vl"))))
(build-system gnu-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'bootstrap 'overwrite-automake-and-aclocal-versions
(lambda _
(setenv "AUTOMAKE" "automake")
(setenv "ACLOCAL" "aclocal"))))))
(native-inputs
(list autoconf
automake
intltool
libtool
pkg-config
python))
(list intltool pkg-config))
;; As needed by 'libmypaint.pc'.
(propagated-inputs
(list json-c gobject-introspection))
@@ -512,26 +498,6 @@ brushstrokes which is used by MyPaint and GIMP.")
(home-page "http://mypaint.org")
(license license:isc)))
;; To update mypaint, remove when a fresh version is released.
(define-public libmypaint-next
(package
(inherit libmypaint)
(name "libmypaint")
(properties '((commit . "551dfb9ca5d2b82f2361a5a8a9e7f386f35fd320")
(revision . "0")))
(version (git-version "1.6.1"
(assoc-ref properties 'revision)
(assoc-ref properties 'commit)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mypaint/libmypaint")
(commit (assoc-ref properties 'commit))))
(file-name (git-file-name name version))
(sha256
(base32 "0pl8cma6gfkrqx364fs1xw7f491f7y6pzxqjq1cdqlrf9r8gg0sk"))))))
(define-public mypaint-brushes
(package
(name "mypaint-brushes")

View File

@@ -1,4 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -16,8 +19,44 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages gkrellm)
#:use-module (gnu packages monitoring)
#:use-module (guix deprecation))
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gtk)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xorg))
(define-deprecated/public-alias gkrellm
(@ (guix packages monitoring) gkrellm))
(define-public gkrellm
(package
(name "gkrellm")
(version "2.5.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://gkrellm.srcbox.net/releases/gkrellm-"
version ".tar.bz2"))
(sha256
(base32 "0qvy2xmwmfy5f0g09yn9lr262shnx82ba04r5il2wj4qscg3r7h8"))))
(build-system gnu-build-system)
(inputs (list gtk+-2 libsm))
(native-inputs (list gettext-minimal pkg-config))
(arguments
(list
#:tests? #f ;there is no check target
#:phases
#~(modify-phases %standard-phases
(delete 'configure)) ;no configure script
#:make-flags
#~(list (string-append "INSTALLROOT=" #$output)
(string-append "CC=" #$(cc-for-target)))))
(home-page "https://gkrellm.srcbox.net/")
(synopsis "System monitors")
(description
"GKrellM is a single process stack of system monitors which supports
applying themes to match its appearance to your window manager, Gtk, or any
other theme.")
(license license:gpl3+)))

View File

@@ -79,6 +79,7 @@
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@@ -1419,8 +1420,8 @@ original glmark benchmark by Ben Smith.")
(license license:bsd-2)))
(define-public piglit
(let ((revision "2")
(commit "040ed91f234abb6a502d3a6910f1b0e54bd239a7"))
(let ((revision "1")
(commit "814046fe6942eac660ee4a6cc5fcc54011a49945"))
(package
(name "piglit")
(version (git-version "0.0.0" revision commit))
@@ -1431,7 +1432,7 @@ original glmark benchmark by Ben Smith.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1j5dmkym1mmz410xgwygimnjk2aswsqmcpjwz4s98pgmymh1yjvf"))))
(base32 "1bzaalcxskckfnwprw77sbbmfqi59by2j8imaq8ghnlzhlxv7mk7"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags #~(list "-DPIGLIT_SSE2=OFF")
@@ -1450,21 +1451,16 @@ original glmark benchmark by Ben Smith.")
"'")))))
(add-after 'install 'wrap
(lambda* (#:key outputs #:allow-other-keys)
(wrap-script (string-append #$output "/bin/piglit")
(wrap-script (string-append (assoc-ref outputs "out")
"/bin/piglit")
`("GUIX_PYTHONPATH" prefix
(,(getenv "GUIX_PYTHONPATH")))))))))
(inputs (list glslang
guile-3.0 ; for wrap-script
(inputs (list guile-3.0 ; for wrap-script
libxkbcommon
python
wayland-protocols
vulkan-headers
vulkan-loader
python python-lxml python-mako python-numpy-1
glslang vulkan-headers vulkan-loader
waffle))
(native-inputs (list pkg-config
python-lxml
python-mako
python-numpy))
(native-inputs (list pkg-config))
(home-page "https://piglit.freedesktop.org/")
(synopsis "Test OpenGL implementations")
(description "Piglit is a collection of automated tests for OpenGL and

View File

@@ -51,6 +51,7 @@
#:use-module (guix build-system copy)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)

View File

@@ -250,6 +250,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 trivial)
#:use-module ((guix config) #:select (%storedir))
#:use-module (guix deprecation)
@@ -2758,7 +2759,7 @@ schemas for settings shared by various components of the GNOME desktop.")
(invoke "./run-tests")))))))
(native-inputs (list python-pytest python-setuptools xorg-server-for-tests))
(inputs (list gtk+))
(propagated-inputs (list python-pygobject-3.50))
(propagated-inputs (list python-pygobject))
(home-page "https://getting-things-gnome.github.io/liblarch")
(synopsis "Library to easily handle complex data structures")
(description
@@ -2817,7 +2818,7 @@ and how they are displayed (View).")
gtksourceview-4
pango
python
python-dbus
python-dbus-1.2
python-liblarch
python-lxml
python-pycairo
@@ -2985,7 +2986,7 @@ guidelines.")
python
cups
gtk+
python-dbus
python-dbus-1.2
python-pygobject
python-pycups
python-requests
@@ -4999,7 +5000,6 @@ as OpenStreetMap, OpenCycleMap, OpenAerialMap and Maps.")
(arguments
(list
#:configure-flags #~(list "-Ddocs=disabled")
#:parallel-tests? #f ;hsts-db-test might hang otherwise.
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'adjust-tests
@@ -5041,7 +5041,7 @@ as OpenStreetMap, OpenCycleMap, OpenAerialMap and Maps.")
zlib))
(inputs
(list samba/pinned)) ; For ntlm_auth support
(home-page "https://libsoup.gnome.org")
(home-page "https://wiki.gnome.org/Projects/libsoup")
(synopsis "GLib-based HTTP Library")
(description
"LibSoup is an HTTP client/server library for GNOME. It uses GObjects
@@ -5157,7 +5157,7 @@ and the GLib main loop, to integrate well with GNOME applications.")
libxslt
pkg-config
python
python-dbus
python-dbus-1.2
python-pygobject-3.50
vala))
(propagated-inputs
@@ -8158,6 +8158,12 @@ to display dialog boxes from the commandline and shell scripts.")
(build-system meson-build-system)
(arguments
(list
#:modules '((guix build meson-build-system)
((guix build python-build-system) #:prefix python:)
(guix build utils)
(ice-9 match))
#:imported-modules `(,@%meson-build-system-modules
(guix build python-build-system))
#:glib-or-gtk? #t
#:configure-flags
#~(list
@@ -8680,7 +8686,7 @@ users.")
libxslt
perl
pkg-config
python-dbus
python-dbus-1.2
python-pygobject-3.50
python-wrapper
vala))
@@ -12331,6 +12337,7 @@ advanced image management tool")
intltool
pkg-config
python-psutil
python-pytest-runner
python-pytest))
(inputs
(list bash-minimal ;for wrap-program
@@ -12339,7 +12346,7 @@ advanced image management tool")
gsettings-desktop-schemas
gtk+
python-wrapper
python-dbus
python-dbus-1.2
python-notify2
python-pycairo
python-pygobject

View File

@@ -86,6 +86,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 download)
#:use-module (guix gexp)

View File

@@ -605,9 +605,9 @@ in the case of Firefox, it is browser/locales/all-locales."
"zh-TW"))
;;; Please keep these versions in sync with icedove.
(define %icecat-base-version "140.10.0")
(define %icecat-base-version "140.9.1")
(define %icecat-version (string-append %icecat-base-version "-gnu1"))
(define %icecat-build-id "20260421000000") ;must be of the form YYYYMMDDhhmmss
(define %icecat-build-id "20260414000000") ;must be of the form YYYYMMDDhhmmss
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@@ -627,9 +627,9 @@ in the case of Firefox, it is browser/locales/all-locales."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
"06996548nfmn4r4mfw3wvgb1mp35majc5hjyhs1krgp33ck2m1f0"))))
"1hld2kbzvrmr7pqq0r5hw639xl8kw29lm2hsbn0m4kxang1fdlj5"))))
(gnuzilla-commit "02125f31250c0240ee2ab1aa629ce66d4ffb9f30")
(gnuzilla-commit "f3595923458a5255f61a3853bd83bb5f004dc3bc")
(gnuzilla-source
(origin
(method git-fetch)
@@ -640,7 +640,7 @@ in the case of Firefox, it is browser/locales/all-locales."
(string-take gnuzilla-commit 8)))
(sha256
(base32
"1hgx286gp0j46pklzzh5kvsnari1j3s0bff384m505m942k6l4hf"))))
"03kc08cvmdv3sxihf5hfhw2k91mg1y6f46b3x47p7q98phgk03cv"))))
;; 'search-patch' returns either a valid file name or #f, so wrap it
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
@@ -1249,166 +1249,6 @@ testing.")
(cpe-name . "firefox_esr")
(cpe-version . ,(first (string-split version #\-)))))))
;;; TEMPORARY old version of icecat-source for use by icedove until it is updated.
(define %icecat-140.9.1-base-version "140.9.1")
(define %icecat-140.9.1-version (string-append %icecat-140.9.1-base-version "-gnu1"))
(define icecat-140.9.1-source
(let* ((major-version (first (string-split %icecat-140.9.1-base-version #\.)))
(minor-version (second (string-split %icecat-140.9.1-base-version #\.)))
(sub-version (third (string-split %icecat-140.9.1-base-version #\.)))
(upstream-firefox-version (string-append %icecat-140.9.1-base-version "esr"))
(upstream-firefox-source
(origin
(method url-fetch)
(uri (string-append
"https://ftp.mozilla.org/pub/firefox/releases/"
upstream-firefox-version "/source/"
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
"1hld2kbzvrmr7pqq0r5hw639xl8kw29lm2hsbn0m4kxang1fdlj5"))))
(gnuzilla-commit "f3595923458a5255f61a3853bd83bb5f004dc3bc")
(gnuzilla-source
(origin
(method git-fetch)
(uri (git-reference
(url "git://git.savannah.gnu.org/gnuzilla.git")
(commit gnuzilla-commit)))
(file-name (git-file-name "gnuzilla"
(string-take gnuzilla-commit 8)))
(sha256
(base32
"03kc08cvmdv3sxihf5hfhw2k91mg1y6f46b3x47p7q98phgk03cv"))))
;; 'search-patch' returns either a valid file name or #f, so wrap it
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
(makeicecat-patch
(local-file (assume-valid-file-name
(search-patch "icecat-makeicecat.patch")))))
(origin
(method computed-origin-method)
(file-name (string-append "icecat-" %icecat-140.9.1-version ".tar.zst"))
(sha256 #f)
(uri
(delay
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(let ((firefox-dir
(string-append "firefox-" #$%icecat-140.9.1-base-version))
(icecat-dir
(string-append "icecat-" #$%icecat-140.9.1-version)))
(set-path-environment-variable
"PATH" '("bin")
(list #+python
#+(canonical-package bash)
#+(canonical-package coreutils)
#+(canonical-package findutils)
#+(canonical-package patch)
#+(canonical-package xz)
#+(canonical-package zstd)
#+(canonical-package sed)
#+(canonical-package grep)
#+(canonical-package bzip2)
#+(canonical-package gzip)
#+(canonical-package tar)))
(set-path-environment-variable
"PYTHONPATH"
(list #+(format #f "lib/python~a/site-packages"
(version-major+minor
(package-version python))))
'#+(cons python-jsonschema
(map second
(package-transitive-propagated-inputs
python-jsonschema))))
;; We copy the gnuzilla source directory because it is
;; read-only in 'gnuzilla-source', and the makeicecat script
;; uses "cp -a" to copy parts of it and assumes that the
;; copies will be writable.
(copy-recursively #+gnuzilla-source "/tmp/gnuzilla"
#:log (%make-void-port "w"))
(with-directory-excursion "/tmp/gnuzilla"
(make-file-writable "makeicecat")
(invoke "patch" "--force" "--no-backup-if-mismatch"
"-p1" "--input" #+makeicecat-patch)
(patch-shebang "makeicecat")
(substitute* "makeicecat"
(("^readonly FFMAJOR=(.*)" all ffmajor)
(unless (string=? #$major-version
(string-trim-both ffmajor))
;; The makeicecat script cannot be expected to work
;; properly on a different version of Firefox, even if
;; no errors occur during execution.
(error "makeicecat major version mismatch"))
(string-append "readonly FFMAJOR=" #$major-version "\n"))
(("^readonly FFMINOR=.*")
(string-append "readonly FFMINOR=" #$minor-version "\n"))
(("^readonly FFSUB=.*")
(string-append "readonly FFSUB=" #$sub-version "\n"))
(("^readonly DATADIR=.*")
"readonly DATADIR=/tmp/gnuzilla/data\n")
(("^readonly SOURCEDIR=.*")
(string-append "readonly SOURCEDIR=" icecat-dir "\n"))
(("/bin/sed")
#+(file-append (canonical-package sed) "/bin/sed"))))
(format #t "Unpacking upstream firefox tarball...~%")
(force-output)
(invoke "tar" "xf" #+upstream-firefox-source)
(rename-file firefox-dir icecat-dir)
(with-directory-excursion icecat-dir
(format #t "Populating l10n directory...~%")
(force-output)
(mkdir "l10n")
(with-directory-excursion "l10n"
(for-each
(lambda (locale)
(let ((locale-dir (string-append #+mozilla-l10n "/"
locale)))
(format #t " ~a~%" locale)
(force-output)
(copy-recursively locale-dir locale
#:log (%make-void-port "w"))
(for-each make-file-writable (find-files locale))
(with-directory-excursion locale
(mkdir-p "browser/chrome/browser/preferences")
(call-with-output-file "browser/chrome/browser/\
preferences/advanced-scripts.dtd"
(lambda (port) #f)))))
'#+%icecat-locales)
(copy-recursively #+mozilla-compare-locales
"compare-locales"
#:log (%make-void-port "w"))
(delete-file "compare-locales/.gitignore")))
(format #t "Running makeicecat script...~%")
(force-output)
(invoke "bash" "/tmp/gnuzilla/makeicecat")
(format #t "Packing IceCat source tarball...~%")
(force-output)
(setenv "ZSTD_NBTHREADS" (number->string (parallel-job-count)))
(invoke "tar" "cfa" #$output
;; Avoid non-determinism in the archive. We set the
;; mtime of files in the archive to early 1980 because
;; the build process fails if the mtime of source
;; files is pre-1980, due to the creation of zip
;; archives.
"--mtime=@315619200" ; 1980-01-02 UTC
"--owner=root:0"
"--group=root:0"
"--sort=name"
icecat-dir)))))))))
(define %icedove-build-id "20260403000000") ;must be of the form YYYYMMDDhhmmss
;;; See <https://product-details.mozilla.org/1.0/thunderbird_versions.json>
;;; for the source of truth regarding Thunderbird releases.
@@ -1543,7 +1383,7 @@ preferences/advanced-scripts.dtd"
;; Extract the base Icecat tarball, renaming its top-level
;; directory.
(invoke "tar" "--transform" (string-append "s,[^/]*," #$name ",")
"-xf" #$icecat-140.9.1-source)
"-xf" #$icecat-source)
(chdir #$name)
;; Merge the Thunderdbird localization data.

View File

@@ -245,55 +245,6 @@ go-fuzz-headers.")
@end itemize")
(license license:expat)))
(define-public go-github-com-alexkohler-prealloc
(package
(name "go-github-com-alexkohler-prealloc")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alexkohler/prealloc")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "011i8yqzyjgwj17k44xvvg4bxfv8z20s0416r2d3yf4s3wqqygpq"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/alexkohler/prealloc"))
(home-page "https://github.com/alexkohler/prealloc")
(synopsis "Find slice declarations that could be preallocated")
(description
"This package is a Go static analysis tool to find slice declarations
that could potentially be preallocated.")
(license license:expat)))
(define-public go-github-com-alingse-asasalint
(package
(name "go-github-com-alingse-asasalint")
(version "0.0.11")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alingse/asasalint")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1avz33cx3gcpps26rxijv7ic0njfmsdkbcp2mqg5yxhdcpq57s0q"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/alingse/asasalint"))
(propagated-inputs
(list go-golang-org-x-tools))
(home-page "https://github.com/alingse/asasalint")
(synopsis "Lint pass any slice as any in variadic function")
(description
"Golang linter, lint that pass any slice as any in variadic function.")
(license license:expat)))
(define-public go-github-com-andreyvit-diff
(package
(name "go-github-com-andreyvit-diff")

View File

@@ -31,7 +31,6 @@
;;; Copyright © 2025 Arthur Rodrigues <arthurhdrodrigues@proton.me>
;;; Copyright © 2025 Patrick Norton <patrick.147.norton@gmail.com>
;;; Copyright © 2025 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2026 Evgeny Pisemsky <mail@pisemsky.site>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1600,7 +1599,7 @@ RSA, RSA-PSS, and ECDSA, though hooks are present for adding your own.")
(define-public go-github-com-google-go-tpm
(package
(name "go-github-com-google-go-tpm")
(version "0.9.4")
(version "0.9.1")
(source
(origin
(method git-fetch)
@@ -1609,7 +1608,7 @@ RSA, RSA-PSS, and ECDSA, though hooks are present for adding your own.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1sp1mbr6vz36zy9w36iksirbsj5p2jslsl8zs1cdj8s4ig4lkd9d"))))
(base32 "1c5j5cvwl45ka93nknmv454ivd7kp9n8yql19gr6z01z0s1ph7sg"))))
(build-system go-build-system)
(arguments
(list
@@ -2874,7 +2873,7 @@ package.")
(define-public go-github-com-refraction-networking-utls
(package
(name "go-github-com-refraction-networking-utls")
(version "1.8.2")
(version "1.6.0")
(source
(origin
(method git-fetch)
@@ -2883,7 +2882,7 @@ package.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03kgwxdm2lg28fn2w5q7ql2szsiwj2xjdf477h1g3a4a9y9j6zk0"))))
(base32 "1iywar5vqsml4b177k2nkcxmjm8mw92g3p112yjsrpmikiwpwpyw"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/refraction-networking/utls"
@@ -3641,39 +3640,6 @@ algorithm described in @url{https://rfc-editor.org/rfc/rfc2898.html,RFC 2898}
and @url{https://rfc-editor.org/rfc/rfc8018.html,RFC 8018}.")
(license license:asl2.0)))
(define-public go-github-com-xtls-reality
(package
(name "go-github-com-xtls-reality")
(version "0.0.0-20260322125925-9234c772ba8f")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/xtls/reality")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "1wncy5aph6nmq4814xjhj6b5p1wm2fyrqn83dw0xlyxvq2z6iqfs"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/xtls/reality"))
(propagated-inputs
(list go-github-com-cloudflare-circl
go-github-com-juju-ratelimit
go-github-com-pires-go-proxyproto
go-github-com-refraction-networking-utls
go-golang-org-x-crypto
go-golang-org-x-sys))
(home-page "https://github.com/xtls/reality")
(synopsis "Implementation of REALITY protocol")
(description
"This package provides an implementation of REALITY protocol, which is
intented to eliminate the detectable TLS fingerprint on the server side, while
still maintain the secrecy. It achieves full real TLS that is
undistingwishable with the specified SNI to the middleman.")
(license (list license:bsd-3 license:mpl2.0))))
(define-public go-github-com-youmark-pkcs8
(package
(name "go-github-com-youmark-pkcs8")

View File

@@ -456,29 +456,6 @@ penalization.")
FFT (Schonhage-Strassen method for multiplying integers).")
(license license:bsd-3)))
(define-public go-github-com-robinus2-golang-moving-average
(package
(name "go-github-com-robinus2-golang-moving-average")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/RobinUS2/golang-moving-average")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "02z3ad29653fz7whxkjjpq820ig9j8m68xj4kay14jyazkr5in1f"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/RobinUS2/golang-moving-average"))
(home-page "https://github.com/RobinUS2/golang-moving-average")
(synopsis "Moving average implementation for Go")
(description
"This package provides a moving average implementation for Go.")
(license license:asl2.0)))
(define-public go-github-com-shopspring-decimal
(package
(name "go-github-com-shopspring-decimal")

File diff suppressed because it is too large Load Diff

View File

@@ -75,7 +75,6 @@
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
;;; Copyright © 2026 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2026 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2026 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -525,35 +524,6 @@ file along with an index.html file.")
"Package tcell provides a gruid Driver for making terminal apps.")
(license license:isc)))
(define-public go-codeberg-org-chavacava-garif
(package
(name "go-codeberg-org-chavacava-garif")
(version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/chavacava/garif.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0cz037yb9gnk9fd61pni6m0n9cbrwmlxxija5vm91mplyxlih05h"))))
(build-system go-build-system)
(arguments
(list
#:import-path "codeberg.org/chavacava/garif"))
(native-inputs
(list go-github-com-stretchr-testify))
(home-page "https://codeberg.org/chavacava/garif")
(synopsis "Create and manipulate SARIF logs")
(description
"This package defines all the Go structures required to model a log file.
SARIF, from Static Analysis Results Interchange Format, is a standard
JSON-based format for the output of static analysis tools defined and promoted
by @url{https://www.oasis-open.org/, OASIS}.")
(license license:expat)))
(define-public go-codeberg-org-emersion-go-scfg
(package
(name "go-codeberg-org-emersion-go-scfg")
@@ -642,33 +612,6 @@ recursively any exported one. It also won't merge structs inside
maps (because they are not addressable using Go reflection).")
(license license:bsd-3)))
(define-public go-fyne-io-systray
(package
(name "go-fyne-io-systray")
(version "1.11.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fyne-io/systray")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0yrd4f3n8wrqcqradmqq9w0b31hd5hali876xkynfhm3nhaz4j1i"))))
(build-system go-build-system)
(arguments
(list
#:import-path "fyne.io/systray"))
(propagated-inputs
(list go-github-com-godbus-dbus-v5
go-golang-org-x-sys))
(home-page "https://fyne.io/systray/")
(synopsis "Place an icon and menu in the notification area")
(description
"This package is a cross-platform Go library to place an icon and menu in
the notification area.")
(license license:asl2.0)))
(define-public go-git-sr-ht-rjarry-go-opt
(package
(name "go-git-sr-ht-rjarry-go-opt")
@@ -3037,38 +2980,6 @@ input from the terminal while not echoing the input back (similar to
and is therefore compatible with cross-compiling.")
(license license:expat)))
(define-public go-github-com-bitfield-script
(package
(name "go-github-com-bitfield-script")
(version "0.24.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bitfield/script")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1pzmz7n39sh9sprclzd0m0l0flf626286fh51m065yjhkqzrjw89"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/bitfield/script"
#:test-flags #~(list "-vet=off")))
(native-inputs
(list go-github-com-google-go-cmp))
(propagated-inputs
(list go-github-com-itchyny-gojq
go-github-com-rogpeppe-go-internal
go-mvdan-cc-sh-v3))
(home-page "https://github.com/bitfield/script")
(synopsis "Making it easy to write shell-like scripts in Go")
(description
"Package script aims to make it easy to write shell-type scripts in Go,
for general system administration purposes: reading files, counting lines,
matching strings, and so on.")
(license license:expat)))
(define-public go-github-com-bitly-go-hostpool
(package
(name "go-github-com-bitly-go-hostpool")
@@ -4521,34 +4432,6 @@ over strings.")
@code{https://en.wikipedia.org/wiki/WebP, WebP} images.")
(license license:bsd-3)))
(define-public go-github-com-chainguard-dev-clog
(package
(name "go-github-com-chainguard-dev-clog")
(version "1.8.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/chainguard-dev/clog")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0b95vw8czs2r9lscyi85vppbyqj672zm6z2n9siy1s9yv6fkys62"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/chainguard-dev/clog"))
(home-page "https://github.com/chainguard-dev/clog")
(synopsis "Context aware slog")
(description
"This package provides a context-aware Go std lib
@url{https://pkg.go.dev/log/slog, @code{slog}}. The context Logger can be
used to use Loggers from the context. This is sometimes preferred over the
@url{https://github.com/chainguard-dev/clog#context-handler, Context Handler},
since this can make it easier to use different loggers in different
contexts (e.g. testing).")
(license license:asl2.0)))
(define-public go-github-com-charlievieth-fastwalk
(package
(name "go-github-com-charlievieth-fastwalk")
@@ -8153,7 +8036,7 @@ supports concurrent serializable transactions.")
(package
(inherit go-github-com-dgraph-io-badger)
(name "go-github-com-dgraph-io-badger-v4")
(version "4.9.1")
(version "4.5.2")
(source
(origin
(method git-fetch)
@@ -8162,7 +8045,7 @@ supports concurrent serializable transactions.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0a9lk7fw06yb89wy9rp4q50ircw5imm1cqzhyhs92d0cia5qbhh6"))))
(base32 "0v4c69whypm3k40hrx8bw9rjrcb0swz43v056s0fadqr04j0ncwj"))))
(arguments
(list
#:tests? #f ; TODO: tests hang, find out why.
@@ -8175,8 +8058,7 @@ supports concurrent serializable transactions.")
go-github-com-klauspost-compress
go-github-com-pkg-errors
go-github-com-spf13-cobra
go-go-opentelemetry-io-contrib-zpages
go-go-opentelemetry-io-otel
go-go-opencensus-io
go-golang-org-x-net
go-golang-org-x-sys
go-google-golang-org-protobuf))))
@@ -9083,41 +8965,6 @@ sub-interfaces are also provided for cases where the full Channel interface
cannot be met (for example, @code{InChannel} for write-only channels).")
(license license:expat)))
(define-public go-github-com-eapache-go-resiliency
(package
(name "go-github-com-eapache-go-resiliency")
(version "1.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/eapache/go-resiliency")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "07a1r3c2spd37k3riy4fxz8v8ibxiprf8a3vw788whz4mlp6gm40"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/eapache/go-resiliency"))
(home-page "https://github.com/eapache/go-resiliency")
(synopsis "Resiliency patterns for golang")
(description
"Resiliency patterns for golang. Based in part on
@url{https://github.com/Netflix/Hystrix, Hystrix},
@@url{https://github.com/Shopify/semian, Semian}, and others.
Currently implemented patterns include:
@itemize
@item circuit-breaker
@item semaphore
@item deadline/timeout
@item batching
@item retriable
@end itemize")
(license license:expat)))
(define-public go-github-com-eapache-queue
(package
(name "go-github-com-eapache-queue")
@@ -17757,7 +17604,7 @@ implementing features like:
(define-public go-github-com-maruel-natural
(package
(name "go-github-com-maruel-natural")
(version "1.3.0")
(version "1.1.1")
(source
(origin
(method git-fetch)
@@ -17766,7 +17613,7 @@ implementing features like:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1nr1ai3b7yvz4wz4k0jqvjq3978hpk9yxarn7g7i3d2sxbdc0g4q"))))
(base32 "040aikizdd7c4zm8xindb2ps16s60i0fkf8gkll2rir7lwv6q7ks"))))
(build-system go-build-system)
(arguments
(list
@@ -22939,16 +22786,16 @@ it is capable of logging at some or all levels.")
(define-public go-github-com-rivo-tview
(package
(name "go-github-com-rivo-tview")
(version "0.42.0")
(version "0.0.0-20241227133733-17b7edb88c57")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rivo/tview")
(commit (string-append "v" version))))
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "0jw47h92l0vp1lg6s5kng4hjv81hi8qxx9h5yilc7rzrr8l9ksd2"))))
(base32 "1w59vyvs8k5mzl7k39zpwcwwdgam2pbz0rnrfnnjgvkld1rh81dc"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/rivo/tview"))
@@ -30589,8 +30436,8 @@ The yaml package supports most of YAML 1.2, but preserves some behavior from
;; to build NNCP and remove vendor) dependency for Golang. Full build depends
;; on Bazel <https://bazel.build/>.
(define-public go-gvisor-dev-gvisor
(let ((commit "9414b50a5633100fd7299a5a7998742575dcb669")
(revision "1"))
(let ((commit "634ce95eed8d5b8e6b3e2ea30542c34cb30af148")
(revision "0"))
(package
(name "go-gvisor-dev-gvisor")
(version (git-version "0.0.0" revision commit))
@@ -30602,7 +30449,7 @@ The yaml package supports most of YAML 1.2, but preserves some behavior from
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0vqaclb2ignkcs7n463bj349m0xybdsv71i6afhzh8r05hdywzax"))))
(base32 "1l3si6qlchwgsvaq6lxyvj8iq8n8pqxlayb1hbdf3pynxi52hfkw"))))
(build-system go-build-system)
(arguments
(list

View File

@@ -29,6 +29,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 (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)

View File

@@ -36,6 +36,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 r)
#:use-module (guix download)
#:use-module (guix gexp)

View File

@@ -146,6 +146,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 build-system qt)
#:use-module (guix download)
@@ -1264,6 +1265,51 @@ basic geometries.")
;; https://gitlab.com/inkscape/inkscape/issues/784).
(license license:gpl3+)))
(define-public python-booleanoperations
(package
(name "python-booleanoperations")
(version "0.9.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/typemytype/booleanOperations")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0ahfgamyq1ndwbr9n8sdx8qhqc2195xnbahylgjpk877hbr2gxav"))))
(build-system pyproject-build-system)
(arguments
(list
;; Some tests fail due to small differences in the expected result (see:
;; <https://github.com/typemytype/booleanOperations/issues/69>).
#:test-flags
#~(list "-k"
(string-join
(list "not test_QTail_reversed_difference"
"test_QTail_reversed_intersection"
"test_QTail_reversed_union"
"test_QTail_reversed_xor"
"test_Q_difference"
"test_Q_intersection"
"test_Q_union"
"test_Q_xor")
" and not "))))
(propagated-inputs (list python-fonttools-minimal python-pyclipper))
(native-inputs
(list python-defcon-bootstrap
python-fontpens-bootstrap
python-pytest
python-setuptools
python-setuptools-scm))
(home-page "https://github.com/typemytype/booleanOperations")
(synopsis "Boolean operations on paths")
(description
"Boolean operations on paths which uses a super fast
@url{http://www.angusj.com/delphi/clipper.php, polygon clipper library by
Angus Johnson}.")
(license license:expat)))
(define-public pstoedit
(package
(name "pstoedit")

View File

@@ -35,6 +35,7 @@
#:use-module (guix packages)
#: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 git-download)
#:use-module (guix utils)
@@ -151,46 +152,32 @@ interfaces for other technical domains.")
(define-public python-graphviz
(package
(name "python-graphviz")
(version "0.21")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/xflr6/graphviz")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "00hgh1ab54h2jhqnwn5vrggg0hqbwmjn0cx2a9nw4vi1wmijib53"))))
(version "0.20.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "graphviz" version ".zip"))
(sha256
(base32
"0pcjnnhprs1hb4r9jr7r4qjxc7lzsjlka8d5gcp3kym9ws0vrmh9"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "--ignore=tests/backend/")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-pytest-options
(lambda _
(substitute* "pyproject.toml"
((".*--cov-report=term.*") ""))))
(add-before 'check 'pre-check
(lambda _
(setenv "HOME" "/tmp")))
(add-after 'check 'test-backend
(lambda* (#:key tests? #:allow-other-keys)
;; Running tests together fails with error:
;;
;; import file mismatch:
;; imported module 'conftest' has this __file__ attribute:
;; /<...>/source/tests/backend/conftest.py
;; which is not the same as the test file we want to collect:
;; /<...>/source/tests/conftest.py
;;
;; HINT: remove __pycache__ / .pyc files and/or use a unique
;; basename for your test file modules
(substitute* "setup.cfg"
((".*doctest.*") "")
(("--cov.*") ""))))
(replace 'check
(lambda* (#:key tests? test-flags #:allow-other-keys)
(when tests?
(invoke "pytest" "-v" "tests/backend/")))))))
(setenv "HOME" "/tmp")
(apply invoke "python" "run-tests.py" test-flags)))))))
(native-inputs
(list graphviz
(list unzip
;; For tests.
graphviz
python-mock
python-pytest
python-pytest-mock
@@ -259,6 +246,7 @@ layout algorithms.")
(list graphviz
python-defusedxml
python-pytest
python-pytest-cov
python-setuptools
python-typing-extensions))
(propagated-inputs

View File

@@ -412,7 +412,7 @@ similar to javadoc."))))
(inherit base)
(arguments
`(;#:tests? #f;Requires spock-framework which is a circular dependency
#:ant ,ant/java8; ant is actually a dependency of this package, and we need 1.10
#:ant ,ant; ant is actually a dependency of this package, and we need 1.10
,@(substitute-keyword-arguments arguments
((#:phases phases)
`(modify-phases ,phases
@@ -431,8 +431,7 @@ similar to javadoc."))))
("java-asm-analysis" ,java-asm-analysis-8)
,@(package-inputs base)))
(native-inputs
`(("ant-junit" ,ant-junit)
("groovy-bootstrap" ,groovy-bootstrap)
`(("groovy-bootstrap" ,groovy-bootstrap)
("groovy-xml" ,groovy-xml)
("groovy-test" ,groovy-test)
("groovy-tests-bootstrap" ,groovy-tests-bootstrap)

View File

@@ -71,6 +71,7 @@
#:use-module (guix build-system gnu)
#: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 waf)
#:use-module (gnu packages)
@@ -1119,7 +1120,7 @@ application suites.")
(define-public gtk
(package
(name "gtk")
(version "4.22.1")
(version "4.20.3")
(source
(origin
(method url-fetch)
@@ -1127,11 +1128,9 @@ application suites.")
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32 "1z2mkmazc2d51jbg3qwwdycycqiwswm88nhw6bxscz8j86f5lyyd"))
(base32 "0ly1gqc6ybxv5f2a9hvjp5k6l9mfzy2yv8iy2xqnr9l8628g4wr8"))
(patches
(search-patches "gtk4-demo-reproducible.patch"
"gtk4-needs-udmabuf.patch"
"gtk4-respect-GUIX_GTK4_PATH.patch"))
(search-patches "gtk4-respect-GUIX_GTK4_PATH.patch"))
(modules '((guix build utils)))))
(build-system meson-build-system)
(outputs '("out" "bin" "doc"))
@@ -1255,10 +1254,8 @@ application suites.")
(setenv "XDG_CACHE_HOME" (getcwd))))
(add-before 'check 'pre-check
(lambda* (#:key inputs #:allow-other-keys)
;; Tests require a running X server. The '-noreset' option is
;; necessary to avoid spurious "Failed to open display" test
;; errors.
(system "Xvfb :1 +extension GLX -screen 0 1024x768x24 -noreset &")
;; Tests require a running X server.
(system "Xvfb :1 +extension GLX &")
(setenv "DISPLAY" ":1")
;; Tests write to $HOME.
(setenv "HOME" (getcwd))
@@ -1301,7 +1298,6 @@ application suites.")
docbook-xsl
gettext-minimal
`(,glib "bin")
glibc-utf8-locales ;some tests require en_US.UTF-8
gobject-introspection ;for building introspection data
graphene
gtk-doc/stable ;for building documentation
@@ -1369,8 +1365,8 @@ application suites.")
(native-search-paths
(list
(search-path-specification
(variable "GUIX_GTK4_PATH")
(files '("lib/gtk-4.0")))))
(variable "GUIX_GTK4_PATH")
(files '("lib/gtk-4.0")))))
(search-paths native-search-paths)
(home-page "https://www.gtk.org/")
(synopsis "Cross-platform widget toolkit")
@@ -2770,7 +2766,7 @@ popovers.")
(define-public goocanvas
(package
(name "goocanvas")
(version "3.0.0")
(version "2.0.4")
(source
(origin
(method url-fetch)
@@ -2778,7 +2774,7 @@ popovers.")
(version-major+minor version)
"/goocanvas-" version ".tar.xz"))
(sha256
(base32 "06j05g2lmwvklmv51xsb7gm7rszcarhm01sal41jfp0qzrbpa2k7"))))
(base32 "141fm7mbqib0011zmkv3g8vxcjwa7hypmq71ahdyhnj2sjvy4a67"))))
(build-system gnu-build-system)
(native-inputs
(list gettext-minimal

View File

@@ -60,7 +60,6 @@
;;; Copyright © 2025 Andy Tai <atai@atai.org>
;;; Copyright © 2025 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2026 Matt Wette <matt.wette@gmail.com>
;;; Copyright © 2026 Dzianis Jackievič <mail@miesta.by>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1168,7 +1167,7 @@ is not available for Guile 2.0.")
(package
(inherit guile-fibers-1.3)
(name "guile-fibers")
(version "1.4.3")
(version "1.4.2")
(source
(origin (inherit (package-source guile-fibers-1.3))
(file-name (git-file-name name version))
@@ -1177,7 +1176,7 @@ is not available for Guile 2.0.")
(commit (string-append "v" version))))
(sha256
(base32
"1q0a9y0cc8rld1z7mcj61fkldhd0kn9n4yq25izxslbgg4g5h9j6"))
"0qh0czz5qvk5mmrc8x2gmvl5psdfd22q2rhzj4jrpan6k3d55bl8"))
(patches '())))
(arguments
(if (target-aarch64?)
@@ -1257,8 +1256,30 @@ is not available for Guile 2.0.")
(modify-inputs native-inputs
(replace "guile" guile-2.2)))))
;; Deprecated on 2026-04-23
(define-deprecated-package guile-fibers-next guile-fibers)
(define-public guile-fibers-next
(let ((commit "297359f0ad655378bcc3ff0d4e96101965ef39b4")
(revision "0"))
(package
(inherit guile-fibers)
(name "guile-fibers-next")
(version (git-version "1.4.2"
revision
commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/guile/fibers.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0qh0czz5qvk5mmrc8x2gmvl5psdfd22q2rhzj4jrpan6k3d55bl8"))))
(inputs
(modify-inputs inputs
(replace "guile" guile-next)))
(native-inputs
(modify-inputs native-inputs
(replace "guile" guile-next))))))
(define-public guile-kracht
(package
@@ -1516,7 +1537,7 @@ order to provide IDE functionality for Guile Scheme.")
(define-public guile-ares-rs
(package
(name "guile-ares-rs")
(version "0.9.7")
(version "0.9.6")
(source
(origin
(method git-fetch)
@@ -1526,42 +1547,35 @@ order to provide IDE functionality for Guile Scheme.")
(file-name (git-file-name name version))
(sha256
(base32
"1xbznh5zjswfydgqg53g50ya7zm0hidin74g2glk849l9j45szw3"))))
"1vkww3vc0lsh5f8yh6fnh402rx3rsm0ss69rdkmplhzp4c7c4z1d"))))
(build-system guile-build-system)
(arguments
(list
#:source-directory "src/guile"
#:phases
#~(modify-phases %standard-phases
(add-after 'build 'install-scripts
(add-after 'build 'install-script
(lambda _
(define bin (string-append #$output "/bin"))
(define site (string-append #$output "/share/guile/site/3.0"))
(define ccache
(string-append #$output "/lib/guile/3.0/site-ccache"))
(define (install-script name)
(let ((oldpath
(string-append site "/ares/scripts/" name ".scm"))
(newpath
(string-append bin "/" name)))
(symlink oldpath newpath)
(wrap-program newpath
`("GUILE_LOAD_PATH" ":" =
,(list "$GUILE_LOAD_PATH"
site
(getenv "GUILE_LOAD_PATH")))
`("GUILE_LOAD_COMPILED_PATH" ":" =
,(list "$GUILE_LOAD_COMPILED_PATH"
ccache
(getenv "GUILE_LOAD_COMPILED_PATH"))))
;; Not needed since the wrapper followed the symlink.
(delete-file (string-append bin "/." name "-real"))))
(mkdir bin)
(for-each install-script '("ares-nrepl" "ares-suitbl")))))))
(inputs (list bash-minimal guile-3.0-latest))
(propagated-inputs (list guile-fibers))
(let* ((bin (string-append #$output "/bin"))
(oldpath (string-append
#$output
;; This file will be named ares-nrepl.scm for
;; the next version.
"/share/guile/site/3.0/ares/scripts/ares.scm"))
(newpath (string-append bin "/ares-nrepl")))
(mkdir bin)
(symlink oldpath newpath)
(wrap-program newpath
`("GUILE_LOAD_PATH" ":" =
,(list (string-append #$output "/share/guile/site/3.0")
(getenv "GUILE_LOAD_PATH")))
`("GUILE_LOAD_COMPILED_PATH" ":" =
,(list (string-append #$output "/lib/guile/3.0/site-ccache")
(getenv "GUILE_LOAD_COMPILED_PATH"))))
;; Not needed since the wrapper followed the symlink.
(delete-file (string-append bin "/.ares-nrepl-real"))))))))
(inputs (list bash-minimal guile-3.0))
(propagated-inputs (list guile-fibers guile-custom-ports))
(home-page "https://git.sr.ht/~abcdw/guile-ares-rs")
(synopsis "Asynchronous Reliable Extensible Sleek RPC Server for Guile")
(description "Asynchronous Reliable Extensible Sleek RPC Server for
@@ -5693,32 +5707,27 @@ perform geometrical transforms on JPEG images.")
(license license:gpl3+))))
(define-public guile-jtd
;; There are a few unreleased commits that include niceties such as warning
;; that the debug VM must be used; use the latest commit until the next
;; release comes.
(let ((commit "425f86ae954d6445aaedacfd4ecd50aa0022e59d")
(revision "0"))
(package
(name "guile-jtd")
(version (git-version "220323a" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mwette/guile-jtd")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1l8fyqhvksarvpbr903i3ss3432jzvyvhgcqa15j922ngqh4ds6f"))))
(build-system guile-build-system)
(native-inputs (list guile-3.0))
(home-page "https://github.com/mwette/guile-jtd")
(synopsis "Python's @code{pdb.set_trace()} but for Guile")
(description
"The @code{(jtd)} module for Guile provides a procedure
(package
(name "guile-jtd")
(version "220323a")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mwette/guile-jtd")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1l8fyqhvksarvpbr903i3ss3432jzvyvhgcqa15j922ngqh4ds6f"))))
(build-system guile-build-system)
(native-inputs (list guile-3.0))
(home-page "https://github.com/mwette/guile-jtd")
(synopsis "Python's @code{pdb.set_trace()} but for Guile")
(description
"The @code{(jtd)} module for Guile provides a procedure
@code{jump-to-debugger} for escaping to the Guile REPL for the purpose of
debugging code.")
(license license:lgpl2.1+))))
(license license:lgpl2.1+)))
(define-public guile-png
(package
@@ -6390,88 +6399,6 @@ as signed sessions, multipart message support, etc.")
(propagated-inputs
(list guile2.2-irregex guile2.2-gcrypt))))
(define-public guile-compose
(package
(name "guile-compose")
(version "0.1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/jadzi/guile-compose.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1g68gczs96nrb0vf1hv4n07zsp2516gpiwq1wwlhcq4rzynhf12h"))))
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~'("GUILE_AUTO_COMPILE=0")))
(inputs (list guile-3.0))
(native-inputs (list autoconf-2.72 automake pkg-config guile-3.0 texinfo))
(synopsis "Procedure composition utilities for Guile Scheme")
(description
"This tiny package provides some procedures and macros to extend
Guile Scheme procedure composition facilities. For example, there is
a @code{compose-top}, a reverse-order analog to native @code{compose}
procedure. The @code{compose-cont} is a macro, utilizing some power of
continuations to build really flexible flows.
This library is intended to stay basic and small, so it has no any
external dependencies and can be a good base for other packages, like e.g.
@code{guile-web-middleware}.")
(license (list license:lgpl3+))
(home-page "https://jadzi.codeberg.page/guile-compose")))
(define-public guile-web-middleware
(package
(name "guile-web-middleware")
(version "0.11.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/jadzi/guile-web-middleware.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "01wb8v0lszphdv08ly4aqv59qm5h8yw2fgm025vkn61djspsq4j9"))))
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~'("GUILE_AUTO_COMPILE=0")))
(inputs (list guile-3.0))
(propagated-inputs (list guile-compose))
(native-inputs (list autoconf-2.72 automake pkg-config guile-3.0 texinfo))
(synopsis "Web application middleware composition for Guile Scheme")
(description
"This package provides means to compose a web application by
chaining procedures, a.k.a. middlewares. By those means, composed
procedures form a standard request handler for any Guile's web server
implementation.
Each middleware has its own limited responsibility in request
processing. Also, middlewares are simple Scheme procedures, so they
can be easily tested and shared among web applications.
Out of the box, this package provides several procedures for commonly
required tasks. Among them:
@itemize
@item Error handling with customizable page contents.
@item Request filtering.
@item Request logging.
@item Serving static files, file URL generation.
@item Request routing, handling parameters, route URL generation.
@item Middleware nesting, composing whole apps.
@end itemize
This package relies on @code{guile-compose} package as its only dependency.")
(license (list license:lgpl3+))
(home-page "https://jadzi.codeberg.page/guile-web-middleware")))
(define-public guile-web-driver-ng
(package
(name "guile-web-driver-ng")
@@ -7789,13 +7716,13 @@ is an attempt to combine both into something useful.")
(list pkg-config
autoconf
automake
guile-3.0-latest
guile-next
guile-lib
guile-fibers))
guile-fibers-next))
(inputs
(list guile-3.0-latest))
(list guile-next))
(propagated-inputs
(list guile-fibers))
(list guile-fibers-next))
(home-page "https://cbaines.codeberg.page/guile-knots/")
(synopsis "Patterns and functionality to use with Guile Fibers")
(description
@@ -8091,14 +8018,14 @@ application to open a given file or URL based on given configurations.")
(define-public guile-goblins
(package
(name "guile-goblins")
(version "0.18.0")
(version "0.17.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://files.spritely.institute/releases"
"/guile-goblins/guile-goblins-" version ".tar.gz"))
(sha256
(base32 "0gj5018wmq97ln1z7x03a13z3p35xc8762id9bl9fgkxwm01df1a"))))
(base32 "16jkmfspsnza2fdk5jr05a5pfh7x856gpg031i21s1yvy43l8mi0"))))
(build-system gnu-build-system)
(arguments
(list

View File

@@ -653,10 +653,7 @@ GNU@tie{}Guile. Use the @code{(ice-9 readline)} module and call its
(define (guile-variant-package-name prefix)
(lambda (name)
"Return NAME with PREFIX instead of \"guile-\", when applicable."
(if (and (string-prefix? "guile-" name)
;; Don't rename guile-bootstrap@2.0.
(not (string=? "guile-bootstrap" name)))
(if (string-prefix? "guile-" name)
(string-append prefix "-"
(string-drop name
(string-length "guile-")))
@@ -903,8 +900,8 @@ type system, elevating types to first-class status.")
(define-public guile-git
(package
(name "guile-git")
(version "0.11.1")
(home-page "https://codeberg.org/guile-git/guile-git.git")
(version "0.11.0")
(home-page "https://gitlab.com/guile-git/guile-git.git")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -913,11 +910,11 @@ type system, elevating types to first-class status.")
(file-name (git-file-name name version))
(sha256
(base32
"0xpzchnglddphi3chv53xqaz2x6rpq3l4s023w7r4mmndb6lgz0b"))))
"1yjyil6z4k80pjdps8v6h6lxikwxmjxvrslf2jrmq2rrfnajschz"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("GUILE_AUTO_COMPILE=0") ; to prevent guild warnings
;; https://codeberg.org/guile-git/guile-git/issues/20
;; https://gitlab.com/guile-git/guile-git/-/issues/20
,@(if (target-ppc32?)
`(#:phases
(modify-phases %standard-phases
@@ -925,7 +922,20 @@ type system, elevating types to first-class status.")
(lambda _
(substitute* "Makefile.am"
((".*tests/blob\\.scm.*") ""))))))
'())))
'())
,@(if (system-hurd?)
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'skip-tests/hurd
(lambda _
(substitute* "tests/proxy.scm"
(("\\(test-begin.*" all)
(string-append
all
"(when (string-ci= \"GNU\" (vector-ref (uname) 0))\n"
" (test-skip 1))\n")))))))
'())))
(native-inputs
(list pkg-config autoconf automake texinfo guile-3.0 guile-bytestructures))
(inputs
@@ -994,7 +1004,7 @@ Guile's foreign function interface.")
(file-name (string-append "guile-lzlib-" version ".tar.gz"))
(sha256
(base32
"1v1pfqp6hwl0rivs7swhqnfgznxlfnws9ldmn6avnhd10filfa3a"))
"1whgmwkr1v8m63p4aaqn8blwl9vcrswwhbfv4bm0aghl5a6rryd7"))
(patches (search-patches "guile-lzlib-gcc-14.patch"
"guile-lzlib-hurd64.patch"))))
(build-system gnu-build-system)

View File

@@ -117,6 +117,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 download)
#:use-module (guix gexp)

View File

@@ -914,7 +914,7 @@ regular) Diffie Hellman key exchanges, and many extensions.")
(list #:extra-directories (list "openssl")
#:configure-flags
#~(list "--ghc-options=-optc=-Wno-incompatible-pointer-types")))
(inputs (list ghc-network openssl-3.0))
(inputs (list ghc-network openssl))
(home-page "https://github.com/haskell-cryptography/HsOpenSSL")
(synopsis "Partial OpenSSL binding for Haskell")
(description

View File

@@ -489,22 +489,11 @@ lost.
"0b9d2i22ghyjarwi1c596q5mf7gj1k04k784hnmrd2d4x9hgv9ax"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags #~(list "--with-corosync"
"--disable-static"
"--localstatedir=/var"
(list #:configure-flags #~(list "--with-corosync" "--disable-static"
(string-append "--with-initdir="
#$output "/etc/init.d")
(string-append "--with-ocfdir="
#$output "/lib"))
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'pre-configure
(lambda _
;; Do not attempt to install /var.
(substitute* '("Makefile.am"
"daemons/schedulerd/Makefile.am")
(("install-exec-local:")
"install-exec-local-disabled:")))))))
#$output "/lib"))))
(native-inputs (list autoconf
automake
cmocka

View File

@@ -43,6 +43,7 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages anthy)

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