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

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
270 changed files with 22637 additions and 86314 deletions
-2
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"))
-4
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
@@ -264,7 +263,6 @@ gnu/installer(\.scm$|/) @guix/installer
gnu/packages/clojure\.scm @guix/java
gnu/packages/java(-.+|)\.scm$ @guix/java
gnu/packages/maven(-.+|)\.scm$ @guix/java
gnu/packages/netbeans\.scm @guix/java
guix/build/ant-build-system\.scm @guix/java
guix/build/clojure-build-system\.scm @guix/java
guix/build/clojure-utils\.scm @guix/java
@@ -275,7 +273,6 @@ guix/build-system/ant\.scm @guix/java
guix/build-system/clojure\.scm @guix/java
guix/build-system/maven\.scm @guix/java
gnu/packages/javascript\.scm @guix/javascript
gnu/packages/node-xyz\.scm @guix/javascript
gnu/packages/node\.scm @guix/javascript
guix/build-system/node\.scm @guix/javascript
@@ -321,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
-2
View File
@@ -457,8 +457,6 @@ AUX_FILES = \
gnu/packages/aux-files/findclass.php \
gnu/packages/aux-files/guix.vim \
gnu/packages/aux-files/guix-nvim.vim \
gnu/packages/aux-files/linux-libre/7.0-arm64.conf \
gnu/packages/aux-files/linux-libre/7.0-x86_64.conf \
gnu/packages/aux-files/linux-libre/6.19-arm64.conf \
gnu/packages/aux-files/linux-libre/6.19-i686.conf \
gnu/packages/aux-files/linux-libre/6.19-x86_64.conf \
-86
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
+7 -330
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
@@ -3256,8 +2933,8 @@ your Linode Summary section.) Now you can run the "install guix from
@example
sudo apt-get install gpg
wget https://codeberg.org/efraim.gpg -qO - | gpg --import -
wget https://guix.gnu.org/guix-install.sh
wget https://sv.gnu.org/people/viewgpg.php?user_id=15145 -qO - | gpg --import -
wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh
chmod +x guix-install.sh
./guix-install.sh
guix pull
@@ -3436,7 +3113,7 @@ Now you can run the "install guix from @pxref{Binary Installation,,,
guix, GNU Guix}" steps:
@example
wget https://guix.gnu.org/guix-install.sh
wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh
chmod +x guix-install.sh
./guix-install.sh
guix pull
@@ -4491,7 +4168,7 @@ network. Assuming your interface is named @samp{enp2s0}, the following
command can be used to do so:
@example sh
# nmcli con add type bridge-slave autoconnect yes ifname enp2s0 master br0
# nmcli con add type bridge-slave ifname enp2s0 master br0
@end example
@quotation Important
@@ -4527,8 +4204,8 @@ bridge interface, as the default is to deny all. Add the following to
your list of services to do so:
@example lisp
(extra-special-file "/etc/qemu/bridge.conf"
(plain-file "bridge.conf" "allow br0\n"))
(extra-special-file "/etc/qemu/host.conf"
(plain-file "host.conf" "allow br0\n"))
@end example
@subsection Invoking QEMU with the right command line options
@@ -4546,7 +4223,7 @@ machine making use of the bridge would cause networking issues.
@example sh
$ qemu-system-x86_64 [...] \
-device virtio-net-pci,netdev=user0,mac=XX:XX:XX:XX:XX:XX \
-netdev bridge,helper=/run/privileged/bin/qemu-bridge-helper,id=user0,br=br0 \
-netdev bridge,id=user0,br=br0 \
[...]
@end example
+42 -139
View File
@@ -10,8 +10,8 @@
@include version.texi
@c Identifier of the OpenPGP key used to sign tarballs and such.
@set OPENPGP-SIGNING-KEY-ID A28BF40C3E551372662D14F741AAE7DCCA3D8351
@set OPENPGP-SIGNING-KEY-URL https://codeberg.org/efraim.gpg
@set OPENPGP-SIGNING-KEY-ID 3CE464558A84FDC69DB40CFB090B11993D9AEBB5
@set OPENPGP-SIGNING-KEY-URL https://sv.gnu.org/people/viewgpg.php?user_id=15145
@c Base URL for downloads.
@set BASE-URL https://ftpmirror.gnu.org/gnu/guix
@@ -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
@@ -4922,17 +4921,6 @@ information.
In addition, @command{guix pull} supports all the common build options
(@pxref{Common Build Options}).
Every time the user invokes a Guix command, Guix detects if the current
installation has exceeded a certain duration (7 days by default) and
alerts the user to update with @command{guix pull} if necessary.
The duration can be configured with the following environment variable:
@defvr {Environment Variable} GUIX_DISTRO_AGE_WARNING
This environment variable, if set, should be a string representing a
duration. If the current Guix installation exceeds the duration, Guix
will raise a warning for outdated installation.
@end defvr
@node Invoking guix time-machine
@section Invoking @command{guix time-machine}
@@ -6602,21 +6590,6 @@ directory within the container. If this is undesirable,
be automatically shared and will change to the user's home directory
within the container instead. See also @option{--user}.
@item --cwd=@var{directory}
For containers, change to @var{directory} inside the container instead
of the default location. The default location is the current working
directory when @option{--no-cwd} is not used, or the user's home
directory when @option{--no-cwd} is used. When @var{directory} is a
relative file name, it is interpreted relative to the current working
directory on the host. Note that @option{--cwd} does not automatically
share @var{directory}---you must ensure it is accessible via the default
current directory sharing or explicit @option{--share}/@option{--expose}
options. For example:
@example
guix shell --container --cwd=/tmp --share=/tmp coreutils
@end example
@item --writable-root
When using @option{--container}, this option makes the root file system
writable (it is read-only by default).
@@ -7118,17 +7091,6 @@ directory within the container. If this is undesirable,
be automatically shared and will change to the user's home directory
within the container instead. See also @option{--user}.
@item --cwd=@var{directory}
For containers, change to @var{directory} inside the container instead
of the default location. The default location is the current working
directory when @option{--no-cwd} is not used, or the user's home
directory when @option{--no-cwd} is used. When @var{directory} is a
relative file name, it is interpreted relative to the current working
directory on the host. Note that @option{--cwd} does not automatically
share @var{directory}---you must ensure it is accessible via the default
current directory sharing or explicit @option{--share}/@option{--expose}
options.
@item --expose=@var{source}[=@var{target}]
@itemx --share=@var{source}[=@var{target}]
For containers, @option{--expose} (resp. @option{--share}) exposes the
@@ -8881,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
@@ -8894,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.
@@ -14895,7 +14840,7 @@ provided through NuGet's v3 API at @code{api.nuget.org} and includes
most relevant information, including package dependencies.
There are some caveats, however. The metadata does not always include
repository information, in which case the importer attempts to extract
it from the symbol package (@file{.snupkg}) if available.
it from the symbol package (@file{.snupkg}) if available.
Additionally, dependencies are grouped by target framework in NuGet,
but the importer flattens all dependency groups into a single list.
@@ -15589,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:
@@ -16150,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:
@@ -16179,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
@@ -19253,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
@@ -20716,9 +20659,6 @@ The syslog configuration file to use.
@xref{syslogd invocation,,, inetutils, GNU Inetutils}, for more
information on the configuration file syntax.
@item @code{pid-file} (default: @code{"/var/run/syslog.pid"})
The pid file for @command{syslogd}.
@item @code{extra-options} (default: @code{'()})
List of extra command-line options for @command{syslog}.
@@ -27308,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
@@ -45291,12 +45209,6 @@ Extra command line options for @code{guix-data-service}.
@item @code{extra-process-jobs-options} (default: @var{'()})
Extra command line options for @code{guix-data-service-process-jobs}.
@item @code{extra-environment-variables} (default: @var{'()})
Extra environment variables for @code{guix-data-service}.
@item @code{extra-process-jobs-environment-variables} (default: @var{'()})
Extra environment variables for @code{guix-data-service-process-jobs}.
@item @code{git-repositories} (default: @var{#f})
List of git-repository information to insert into the database.
@@ -49006,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.
@@ -49068,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
@@ -49197,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.
@@ -49223,8 +49126,8 @@ 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
logo.
It comes with a fancy background image displaying the GNU and Guix
logos.
@end deffn
For example, to override the default resolution, you may use something
@@ -49598,7 +49501,7 @@ how to generate an image that uses the @code{grub-efi-bootloader}
bootloader and boot it with QEMU:
@example
image=$(guix system image --image-type=qcow2-gpt \
image=$(guix system image --image-type=qcow2 \
gnu/system/examples/lightweight-desktop.tmpl)
cp $image /tmp/my-image.qcow2
chmod +w /tmp/my-image.qcow2
+11 -11
View File
@@ -30,7 +30,7 @@ COOKBOOK_LANGUAGES = de es fr it ko pt_BR ru sk sv ta zh_CN
# Arg1: A list of languages codes.
# Arg2: The file name stem.
lang_to_texinfo = $(foreach lang,$(1),$(srcdir)/%D%/$(2).$(lang).texi)
lang_to_texinfo = $(foreach lang,$(1),%D%/$(2).$(lang).texi)
# Automake does not understand GNU Make non-standard extensions,
# unfortunately, so we cannot use the above patsubst-based function here.
@@ -104,7 +104,7 @@ MAINTAINERCLEANFILES = $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO)
# reference is not translated, which means it references a section that does not
# exist.
define xref_command
$(top_builddir)/pre-inst-env $(GUILE) --no-auto-compile \
$(top_srcdir)/pre-inst-env $(GUILE) --no-auto-compile \
"$(top_srcdir)/build-aux/convert-xref.scm" \
$@.tmp $<
endef
@@ -116,21 +116,21 @@ dummy_pot = $(shell mktemp --suffix=.pot)
$(srcdir)/%D%/guix.%.texi: po/doc/guix-manual.%.po $(srcdir)/%D%/contributing.%.texi guix/build/po.go
-$(AM_V_PO4A)$(PO4A) --no-update \
--variable localized="$@.tmp" \
--variable master="$(srcdir)/%D%/guix.texi" \
--variable master="%D%/guix.texi" \
--variable po="$<" \
--variable pot=$(dummy_pot) \
$(srcdir)/po/doc/po4a.cfg
po/doc/po4a.cfg
-sed -i "s|guix\.info|$$(basename "$@" | sed 's|texi$$|info|')|" "$@.tmp"
-$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command)
-mv "$@.tmp" "$@"
$(srcdir)/%D%/guix-cookbook.%.texi: po/doc/guix-cookbook.%.po guix/build/po.go
-$(AM_V_PO4A)$(PO4A) --no-update \
--variable localized="$@.tmp" \
--variable master="$(srcdir)/%D%/guix-cookbook.texi" \
--variable po="$<" \
-$(AM_V_PO4A)$(PO4A) --no-update \
--variable localized="$@.tmp" \
--variable master="%D%/guix-cookbook.texi" \
--variable po="$<" \
--variable pot=$(dummy_pot) \
$(srcdir)/po/doc/po4a.cfg
po/doc/po4a.cfg
-sed -i "s|guix-cookbook\.info|$$(basename "$@" | sed 's|texi$$|info|')|" "$@.tmp"
-$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command)
-mv "$@.tmp" "$@"
@@ -138,10 +138,10 @@ $(srcdir)/%D%/guix-cookbook.%.texi: po/doc/guix-cookbook.%.po guix/build/po.go
$(srcdir)/%D%/contributing.%.texi: po/doc/guix-manual.%.po guix/build/po.go
-$(AM_V_PO4A)$(PO4A) --no-update \
--variable localized="$@.tmp" \
--variable master="$(srcdir)/%D%/contributing.texi" \
--variable master="%D%/contributing.texi" \
--variable po="$<" \
--variable pot=$(dummy_pot) \
$(srcdir)/po/doc/po4a.cfg
po/doc/po4a.cfg
-$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command)
-mv "$@.tmp" "$@"
+398 -1961
View File
File diff suppressed because it is too large Load Diff
+2 -17
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
@@ -828,7 +826,6 @@ and the maven-build-system."
(make-regexp* "^gnu/packages/java(-.+|)\\.scm$")
;; Match maven.scm and maven-*.scm
(make-regexp* "^gnu/packages/maven(-.+|)\\.scm$")
"gnu/packages/netbeans.scm"
"guix/build/ant-build-system.scm"
"guix/build/clojure-build-system.scm"
"guix/build/clojure-utils.scm"
@@ -845,8 +842,7 @@ and the maven-build-system."
#:name "JavaScript team"
#:description
"JavaScript/Node.js packages, the node build system."
#:scope (list "gnu/packages/javascript.scm"
"gnu/packages/node-xyz.scm"
#:scope (list "gnu/packages/node-xyz.scm"
"gnu/packages/node.scm"
"guix/build-system/node.scm"
"guix/build/node-build-system.scm"
@@ -947,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"
@@ -1251,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")
@@ -1639,7 +1629,7 @@ the \"texlive\" importer."
(define-member (person "Thanos Apollo"
"public@thanosapollo.org"
"thanosapollo")
vcs emacs)
vcs)
(define-member (person "Ashish SHUKLA"
"ashish.is@lostca.se"
@@ -1661,11 +1651,6 @@ the \"texlive\" importer."
"tok")
electronics)
(define-member (person "gemmaro"
"gemmaro.dev@gmail.com"
"gemmaro")
ruby)
(define (find-team name)
(or (hash-ref %teams (string->symbol name))
+24 -63
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 }
+2 -4
View File
@@ -1226,12 +1226,10 @@ file name or an nfs-root containing ':/')."
(match spec
((? string?)
(if (string-match "^/dev/[a-zA-Z0-9]+$" spec)
(if (string-prefix? "/dev/" spec)
;; Nothing to do, but wait until SPEC shows up.
(resolve device-exists? spec identity)
;; Do not resolve NFS / CIFS / tmpfs devices
;; or bcachefs multi-device specifications.
spec))
spec)) ; do not resolve NFS / CIFS / tmpfs devices
((? file-system-label?)
;; Resolve the label.
(resolve find-partition-by-label
+3 -7
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)
+12 -46
View File
@@ -57,7 +57,7 @@
# Copyright © 2022 ( <paren@disroot.org>
# Copyright © 2022, 2026 jgart <jgart@dismail.de>
# Copyright © 2022-2023, 2025-2026 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
# Copyright © 2023-2026 Zheng Junjie <z572@z572.online>
# Copyright © 2023-2025 Zheng Junjie <z572@z572.online>
# Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com>
# Copyright © 2023 Andy Tai <atai@atai.org>
# Copyright © 2023 B. Wilson <elaexuotee@wilsonb.com>
@@ -502,7 +502,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/myrddin.scm \
%D%/packages/ncdu.scm \
%D%/packages/ncurses.scm \
%D%/packages/netbeans.scm \
%D%/packages/netpbm.scm \
%D%/packages/nettle.scm \
%D%/packages/networking.scm \
@@ -611,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 \
@@ -1094,7 +1092,6 @@ dist_patch_DATA = \
%D%/packages/patches/catdoc-CVE-2017-11110.patch \
%D%/packages/patches/chez-irregex-import-cond-expand.patch \
%D%/packages/patches/chez-scheme-bin-sh.patch \
%D%/packages/patches/cianna-remove-error-for-missing-cuda.patch \
%D%/packages/patches/circos-remove-findbin.patch \
%D%/packages/patches/cdparanoia-fpic.patch \
%D%/packages/patches/cdrkit-libre-cross-compile.patch \
@@ -1133,10 +1130,9 @@ dist_patch_DATA = \
%D%/packages/patches/clucene-gcc-14.patch \
%D%/packages/patches/clucene-pkgconfig.patch \
%D%/packages/patches/coda-use-system-libs.patch \
%D%/packages/patches/codex-acp-0.11.1-disable-code-mode.patch \
%D%/packages/patches/codex-acp-0.11.1-remove-patch-sections.patch \
%D%/packages/patches/codex-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 \
@@ -1180,7 +1176,6 @@ dist_patch_DATA = \
%D%/packages/patches/curlftpfs-fix-no_verify_hostname.patch \
%D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvc5-reproducible-build.patch \
%D%/packages/patches/cvc5-symfpu-compatibility.patch \
%D%/packages/patches/cvs-CVE-2017-12836.patch \
%D%/packages/patches/cyrus-sasl-fix-time-h.patch \
%D%/packages/patches/d-feet-drop-unused-meson-argument.patch \
@@ -1243,7 +1238,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-treelib-remove-python2-compat.patch \
%D%/packages/patches/elm-offline-package-registry.patch \
%D%/packages/patches/elm-reactor-static-files.patch \
%D%/packages/patches/emacs-agent-shell-fix-tests.patch \
%D%/packages/patches/emacs-buttercup-1.38-native-comp-spy-on-trampoline-scope.patch \
%D%/packages/patches/emacs-deferred-fix-number-of-arguments.patch \
%D%/packages/patches/emacs-disable-jit-compilation.patch \
%D%/packages/patches/emacs-doc-toc-shell-commands.patch \
@@ -1471,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 \
@@ -1588,11 +1584,8 @@ dist_patch_DATA = \
%D%/packages/patches/gtk2-theme-paths.patch \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
%D%/packages/patches/gtk3-treeview-test-fix.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 \
@@ -1623,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 \
@@ -1658,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 \
@@ -1681,7 +1674,6 @@ dist_patch_DATA = \
%D%/packages/patches/java-commons-collections-fix-java8.patch \
%D%/packages/patches/java-guava-remove-annotation-deps.patch \
%D%/packages/patches/java-jeromq-fix-tests.patch \
%D%/packages/patches/java-jtidy-remove-xerces-dependency.patch \
%D%/packages/patches/java-openjfx-build-jdk_version.patch \
%D%/packages/patches/java-powermock-fix-java-files.patch \
%D%/packages/patches/java-simple-xml-fix-tests.patch \
@@ -1690,8 +1682,6 @@ dist_patch_DATA = \
%D%/packages/patches/java-xerces-build_dont_unzip.patch \
%D%/packages/patches/java-xerces-xjavac_taskdef.patch \
%D%/packages/patches/jbr-17-xcursor-no-dynamic.patch \
%D%/packages/patches/jbr-25-wayland-drag-icon.patch \
%D%/packages/patches/jbr-25-wayland-intra-jvm-dnd.patch \
%D%/packages/patches/jdk-currency-time-bomb.patch \
%D%/packages/patches/jdk-currency-time-bomb2.patch \
%D%/packages/patches/jfsutils-add-sysmacros.patch \
@@ -1708,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 \
@@ -1916,7 +1907,6 @@ dist_patch_DATA = \
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
%D%/packages/patches/mono-msbuild-15.7.179-fix-build.patch \
%D%/packages/patches/mono-msbuild-15.7.179-fix-resources.patch \
%D%/packages/patches/mozjs-xp-win.patch \
%D%/packages/patches/libmemcached-build-with-gcc7.patch \
%D%/packages/patches/libmhash-hmac-fix-uaf.patch \
%D%/packages/patches/libmodbus-disable-networking-test.patch \
@@ -1929,8 +1919,6 @@ dist_patch_DATA = \
%D%/packages/patches/mediasdk-gcc-14.patch \
%D%/packages/patches/memtest86+-build-reproducibly.patch \
%D%/packages/patches/mercurial-hg-extension-path.patch \
%D%/packages/patches/meson-keep-rpath-vicinity.patch \
%D%/packages/patches/meson-gir-fallback-path.patch \
%D%/packages/patches/mhash-keygen-test-segfault.patch \
%D%/packages/patches/mia-fix-boost-headers.patch \
%D%/packages/patches/mia-gcc11.patch \
@@ -1986,11 +1974,6 @@ dist_patch_DATA = \
%D%/packages/patches/netcdf-date-time.patch \
%D%/packages/patches/netdde-build-fix.patch \
%D%/packages/patches/netdde-csum.patch \
%D%/packages/patches/java-apache-xml-commons-resolver-1.2-netbeans.patch \
%D%/packages/patches/java-simplevalidation-1.14.1.patch \
%D%/packages/patches/netbeans-25-nativeexecution-paths.patch \
%D%/packages/patches/netbeans-25-terminal-no-login-shell.patch \
%D%/packages/patches/netbeans-25-source-only-build.patch \
%D%/packages/patches/netpbm-CVE-2017-2586.patch \
%D%/packages/patches/netpbm-CVE-2017-2587.patch \
%D%/packages/patches/netsurf-message-timestamp.patch \
@@ -2085,7 +2068,6 @@ dist_patch_DATA = \
%D%/packages/patches/open-zwave-hidapi.patch \
%D%/packages/patches/opusfile-CVE-2022-47021.patch \
%D%/packages/patches/orbit2-fix-array-allocation-32bit.patch \
%D%/packages/patches/orca-fix-gst-init-check-call.patch \
%D%/packages/patches/orpheus-cast-errors-and-includes.patch \
%D%/packages/patches/ots-no-include-missing-file.patch \
%D%/packages/patches/owncloud-disable-updatecheck.patch \
@@ -2188,8 +2170,6 @@ dist_patch_DATA = \
%D%/packages/patches/perl-www-curl-remove-symbol.patch \
%D%/packages/patches/perl-xml-libxml-fix-function-prototypes.patch \
%D%/packages/patches/phoronix-test-suite-fsdg.patch \
%D%/packages/patches/php-01-fix-expired-certificate.patch \
%D%/packages/patches/php-02-fix-sni-tests.patch \
%D%/packages/patches/picprog-non-intel-support.patch \
%D%/packages/patches/pidgin-add-search-path.patch \
%D%/packages/patches/pinball-system-ltdl.patch \
@@ -2293,6 +2273,8 @@ dist_patch_DATA = \
%D%/packages/patches/qtbase-5-use-TZDIR.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
%D%/packages/patches/quagga-reproducible-build.patch \
%D%/packages/patches/quickjs-ng-64-bits-precision-on-i686.patch \
%D%/packages/patches/quickjs-ng-fix-atomics.pause-on-32-bit.patch \
%D%/packages/patches/quilt-grep-compat.patch \
%D%/packages/patches/qmk-firmware-fix-hacker-dvorak.patch \
%D%/packages/patches/qtwayland-update-wayland-xml.patch \
@@ -2366,16 +2348,8 @@ dist_patch_DATA = \
%D%/packages/patches/renpy-fix-integer-slots.patch \
%D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \
%D%/packages/patches/rdkit-unbundle-external-dependencies.patch \
%D%/packages/patches/r-biostrings-r4.6.0-compat.patch \
%D%/packages/patches/r-h5mread-0001-h5mread-1.3.2-Get-rid-of-non-API-calls-to-R.patch \
%D%/packages/patches/r-httpuv-1.6.6-unvendor-libuv.patch \
%D%/packages/patches/r-mscoreutils-0001-fix-non-API-call-to-R-SETLENGTH-by-using-lengthgets.patch \
%D%/packages/patches/r-rsamtools-r-4.6.0-compat.patch \
%D%/packages/patches/r-snpstats-0001-fixed-non-API-except-for-IS_S4_OBJECT.patch \
%D%/packages/patches/r-snpstats-0002-fixed-IS_S4_OBJECT.patch \
%D%/packages/patches/r-sapa-lapack.patch \
%D%/packages/patches/r-shortread-0001-ShortRead-1.69.3-Get-rid-of-non-API-calls-to-R.patch \
%D%/packages/patches/r-sparsearray-r-4.6.0-compat.patch \
%D%/packages/patches/ripperx-missing-file.patch \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
%D%/packages/patches/rtosc-0.3.1-fix-invalid-comparison-operator.patch \
@@ -2420,14 +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-librocksdb-sys-unbundled-sources.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 \
@@ -2623,9 +2589,9 @@ dist_patch_DATA = \
%D%/packages/patches/wcstools-extend-makefiles.patch \
%D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \
%D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \
%D%/packages/patches/webrtc-audio-processing-abseil-cpp.patch \
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \
%D%/packages/patches/webrtc-audio-processing-gcc-14.patch \
%D%/packages/patches/webrtc-audio-processing-byte-order-pointer-size.patch \
%D%/packages/patches/webrtc-audio-processing-x86-no-sse.patch \
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
%D%/packages/patches/wmctrl-64-fix.patch \
%D%/packages/patches/wmfire-dont-inline-draw-fire.patch \
+4 -10
View File
@@ -202,7 +202,7 @@ Have you run 'guix archive --generate-key'?")
(build-locally? hetzner-configuration-build-locally? ; boolean
(default #t))
(delete? hetzner-configuration-delete? ; boolean
(default #t))
(default #f))
(labels hetzner-configuration-labels ; list of strings
(default '()))
(location hetzner-configuration-location ; #f | string
@@ -395,7 +395,9 @@ Available locations:~%~%~a~%~%For more details, see: ~a")
(type ,root-fs-type))
%base-file-systems))))
(services
(cons* (service dhcpcd-service-type)
;; guix 1.4.0 does not have dhcpcd-service-type,
;; so we use dhcp-client-service-type here.
(cons* (service dhcp-client-service-type)
(service openssh-service-type
(openssh-configuration
(openssh openssh-sans-x)
@@ -590,14 +592,6 @@ mkdir -p /gnu/store
mount --bind /mnt/tmp/gnu/store /gnu/store
wget -O /tmp/guix-install.sh https://guix.gnu.org/guix-install.sh
# Modify the install script to point the systemd unit of the /gnu/store
# mountpoint to the same /mnt/tmp/gnu/store which was introduced above.
store_fix=\"sed -i 's#Where=/gnu/store#Where=/mnt/tmp/gnu/store#'
~~root/.config/guix/current/lib/systemd/system/gnu-store.mount\"
sed -i \"s@install_unit gnu-store.mount\"\\
\"@$(printf \"%q \" $store_fix)\\ninstall_unit gnu-store.mount@\" /tmp/guix-install.sh
chmod +x /tmp/guix-install.sh
set +o pipefail # avoid hangup on 'yes' killing this script
yes '' | /tmp/guix-install.sh
+1 -1
View File
@@ -185,7 +185,7 @@ terminals.")
(native-inputs
(append
(list clisp
python-cython-0 ;; See https://bugzilla.redhat.com/show_bug.cgi?id=2231865
python-cython
doxygen
gettext-minimal)
;; icedtea doesn't build reliably on all architectures.
+51 -90
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>
@@ -1158,7 +1158,7 @@ on memory usage on GNU/Linux systems.")
(define-public htop
(package
(name "htop")
(version "3.5.1")
(version "3.4.1")
(source
(origin
(method git-fetch)
@@ -1166,7 +1166,7 @@ on memory usage on GNU/Linux systems.")
(url "https://github.com/htop-dev/htop")
(commit version)))
(sha256
(base32 "187gyj081n6qsidll5wdri3jkr4m2i4m461z3xv03y342f5yj3lv"))
(base32 "058y4a4mvx9m179dyr4wi8mlm6i4ybywshadaj4cvfn9fv0r0nkx"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -1309,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
@@ -3442,7 +3441,7 @@ modules and plugins that extend Ansible.")
(list ansible
bash-minimal
encfs
fuse
fuse-2
util-linux ;; for umount
findutils
git
@@ -3751,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
@@ -7052,7 +7042,7 @@ network, which causes enabled computers to power on.")
(define-public witr
(package
(name "witr")
(version "0.3.1")
(version "0.1.7")
(source
(origin
(method git-fetch)
@@ -7061,7 +7051,7 @@ network, which causes enabled computers to power on.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03v9n4mdvqm0knqjl4s64321i5clqpmlrlkkdb87glzb9p28sg00"))))
(base32 "18xx01lxd5j019gy9jmpms3awv4snlr028w01bfkyfid6hlwxbq2"))))
(build-system go-build-system)
(arguments
(list
@@ -7179,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")
+1 -1
View File
@@ -458,7 +458,7 @@ precision.")
(inputs
;; TODO: Unbundle "libmicropython.a".
(list ao
fltk
fltk-1.3
glpk
gmp
gsl
+6 -6
View File
@@ -238,12 +238,12 @@ contains the graphical user interface for synfig.")
(when tests?
(invoke "./tests")))))))
(native-inputs
(cons* gettext-minimal
`(,glib "bin")
perl
pkg-config
python-wrapper
(maybe-nasm)))
(list gettext-minimal
`(,glib "bin")
nasm
perl
pkg-config
python-wrapper))
(inputs
(list cairo
curl
+1 -12
View File
@@ -2,7 +2,7 @@
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2020, 2021, 2025, 2026 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2020, 2021, 2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 20172022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
;;; Copyright © 2019, 2022, 2024 Andy Tai <atai@atai.org>
@@ -43,7 +43,6 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
@@ -249,16 +248,6 @@ complex. It supports all currently known x86 architectural extensions, and
has strong support for macros.")
(license license:bsd-2)))
(define* (maybe-nasm #:optional
(system (or (%current-target-system)
(%current-system))))
;; For some packages nasm is only needed when compiling to/for x86/x86_64.
(if (target-x86? system)
(list nasm)
'()))
(export maybe-nasm)
(define-public yasm
(package
(name "yasm")
+306 -1049
View File
File diff suppressed because it is too large Load Diff
+48 -147
View File
@@ -11,7 +11,7 @@
;;; Copyright © 20162023 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2020, 2024 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 okapi <okapi@firemail.cc>
;;; Copyright © 2018, 2020, 2022-2026 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2018, 2020, 2022-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2018, 2019, 2022 Marius Bakke <marius@gnu.org>
@@ -51,7 +51,7 @@
;;; Copyright © 2024 Nikita Domnitskii <nikita@domnitskii.me>
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
;;; Copyright © 2024 Sughosha <sughosha@disroot.org>
;;; Copyright © 2025, 2026 Junker <dk@junkeria.club>
;;; Copyright © 2025 Junker <dk@junkeria.club>
;;; Copyright © 2025 Sughosha <sughosha@disroot.org>
;;; Copyright © 2025 Andrew Wong <wongandj@icloud.com>
;;; Copyright © 2025 Kjartan Oli Agustsson <kjartanoli@outlook.com>
@@ -127,7 +127,6 @@
#:use-module (gnu packages linphone)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages logging)
#:use-module (gnu packages machine-learning)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
@@ -195,45 +194,6 @@
#:use-module (srfi srfi-26)
#:use-module (ice-9 match))
(define-public adplug
(package
(name "adplug")
(version "2.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/adplug/adplug")
(commit (string-append "adplug-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0l31ya42g3q7ry2m0y5djgjb9ax8ciy8jn86252vdjkjswwqgscd"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags
#~(list "-DBUILD_SHARED_LIBS=ON")
#:modules
'((guix build cmake-build-system)
(guix build utils)
(srfi srfi-26)) ;for cute
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-headers
(lambda _
(for-each (cute install-file <>
(string-append #$output "/include/adplug"))
(find-files "../source/src" "\\.h$")))))))
(propagated-inputs
(list libbinio))
(home-page "https://adplug.github.io/")
(synopsis "AdLib sound player library")
(description
"AdPlug is a hardware independent AdLib sound player library, mainly
written in C++. AdPlug plays sound data, originally created for the AdLib
(OPL2/3) audio board, on top of an OPL2/3 emulator or by using the real
hardware. No OPL2/3 chips are required for playback.")
(license license:lgpl2.1+)))
(define-public opensles
(package
(name "opensles")
@@ -403,7 +363,7 @@ displays a histogram of the roundtrip time jitter.")
(define-public webrtc-audio-processing
(package
(name "webrtc-audio-processing")
(version "2.1")
(version "1.3")
(source
(origin
(method url-fetch)
@@ -411,14 +371,30 @@ displays a histogram of the roundtrip time jitter.")
(string-append "http://freedesktop.org/software/pulseaudio/"
name "/" name "-" version ".tar.gz"))
(sha256
(base32 "0lrjzhshwj1rkh4fxh7sq2dkkfimlyjs2ha7s3ribsh2dnc6ps1m"))
(patches (search-patches "webrtc-audio-processing-abseil-cpp.patch"
"webrtc-audio-processing-gcc-14.patch"))))
(base32 "0xfvq5lxg612vfzk3zk6896zcb4cgrrb7fq76w9h40magz0jymcm"))))
(build-system meson-build-system)
(arguments
(list #:configure-flags (if (target-x86-32?)
#~(list "-Dc_args=-DPFFFT_SIMD_DISABLE")
#~'())))
#~'())
#:phases
(if (or (target-x86-32?) (target-powerpc?))
#~(modify-phases %standard-phases
(add-after 'unpack 'apply-patches
(lambda _
(define (patch file)
(invoke "patch" "-p1" "--force" "-i" file))
;; https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/5
;; TODO: Move to the 'patches' field of the origin on
;; the next rebuild.
(patch #$(local-file
(search-patch
"webrtc-audio-processing-byte-order-pointer-size.patch")))
(patch #$(local-file
(search-patch
"webrtc-audio-processing-x86-no-sse.patch"))))))
#~%standard-phases)))
(native-inputs (list pkg-config))
(inputs (list abseil-cpp))
(synopsis "WebRTC's Audio Processing Library")
@@ -1234,7 +1210,7 @@ PulseAudio clients, featuring:
(define-public ardour
(package
(name "ardour")
(version "9.2")
(version "9.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1251,7 +1227,7 @@ PulseAudio clients, featuring:
namespace ARDOUR { const char* revision = \"" version "\" ; const char* date = \"\"; }")))))
(sha256
(base32
"14s6cq3x7l7b682ah9k8cdr6plfirlgm882dc2nm51lxwl91zcfd"))
"00bramm8dq0ihr376n7l9rg0mjzxmzw6lxvsbsdlrdsimfwsy16p"))
(file-name (git-file-name name version))))
(build-system waf-build-system)
(arguments
@@ -4489,33 +4465,6 @@ This includes device enumeration and initialization, file loading, and
streaming.")
(license license:expat)))
(define-public wp-notifyd
(package
(name "wp-notifyd")
(version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/LDAP/wp-notifyd")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1nkndz0li15maf0dc9x631p0dr8085wzz5358552wljv7chywrza"))))
(build-system meson-build-system)
(arguments
(list #:tests? #f)) ;there are no tests
(inputs (list libnotify
wireplumber-minimal
pipewire
spdlog))
(native-inputs (list pkg-config))
(home-page "https://github.com/LDAP/wp-notifyd")
(synopsis "Notification daemon for Wireplumber")
(description "@command{wp-notifyd} is a lightweight notification daemon for
@dfn{WirePlumber} (the session and policy manager for PipeWire).")
(license license:expat)))
(define-public pa-notify
(package
(name "pa-notify")
@@ -4920,42 +4869,6 @@ using Guix System.")
;; GNU Library (not Lesser) General Public License.
(license license:lgpl2.0+)))
(define-public hiir
(let ((commit "4a9a1e67fa6f8ce7688e1c0c8a2b017cecd206a3")
(revision "0"))
(package
(name "hiir")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/LostRobotMusic/hiir")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1wzlg0di768mzcik6fij4pd6dnpmbw8q236h478c057d10qfp44g"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~`(("." "/include/hiir"))))
(home-page "https://github.com/LostRobotMusic/hiir")
(synopsis "Header-only version of Laurent de Soras's HIIR 1.40 library")
(description
"This package provides a header-only version of the
@uref{http://ldesoras.free.fr/prod.html#src_hiir, HIIR library by Laurent De
Soras}, updated to version 1.40. HIIR is a C++ library for changing the
sampling rate of a signal by a factor two, in both directions (upsampling and
downsampling), obtaining two signals with a π/2 phase difference (Hilbert
transform). It is made of a two-path polyphase IIR filter, implemented with
FPU, 3DNow!, SSE, SSE2, AVX, AVX-512 and NEON instruction sets.
This package contains the same as the original library, except with the
contents of one source file moved into a header file (and set as inline) to
make the library header-only, and with the test folder removed.")
(license license:wtfpl2))))
(define-public redumper
(package
(name "redumper")
@@ -6616,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"
@@ -6640,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
@@ -6672,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
@@ -7352,7 +7259,6 @@ as is the case with audio plugins.")
(find-files "bin")))))))))
(inputs
(list alsa-lib
bash-minimal
ffmpeg
fluidsynth
file
@@ -7410,8 +7316,8 @@ default and preferred audio driver but also supports native drivers like ALSA.")
;;; This package variant tracks the latest in-development 2.6 release.
(define-public carla-2.6
(let ((commit "294a80145e39c0755ab9073d90fd8b9524fbfc84")
(revision "1"))
(let ((commit "aa400535b31c67f4b6c1b28e6e20e4d4f82111a3")
(revision "0"))
(package
(inherit carla)
(name "carla")
@@ -7425,12 +7331,7 @@ default and preferred audio driver but also supports native drivers like ALSA.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "053yfwf9l9vqvq95c354by6nm8ym0wgkv3fr1434x5w9n1344z0z"))))
(inputs
(modify-inputs (package-inputs carla)
(replace "python-pyqt" python-pyqt-6)
(replace "qtbase" qtbase)
(replace "qtwayland" qtwayland))))))
(base32 "0cnj2sgr60f5h6wdfmihc214wf3n74686sipl3iyzmylqrcyhbjn")))))))
;; This source is a fork of vst3sdk with the documentation and VSTGUI
;; submodules removed and a dummy `meson.build` file that just lists all
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+2 -2
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.
+9 -10
View File
@@ -14,7 +14,6 @@
;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2026 Sughosha <sughosha@disroot.org>
;;; Copyright © 2023 Advanced Micro Devices, Inc.
;;;
;;; This file is part of GNU Guix.
@@ -42,7 +41,6 @@
#:use-module (guix amd-gpu)
#:use-module (guix search-paths)
#:use-module (guix build-system cmake)
#:use-module (guix build-system qt)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
@@ -732,7 +730,7 @@ and options. With careful benchmarking, different hardware can be compared.")
(define-public kdiskmark
(package
(name "kdiskmark")
(version "3.2.0")
(version "3.1.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -741,13 +739,14 @@ and options. With careful benchmarking, different hardware can be compared.")
(file-name (git-file-name name version))
(sha256
(base32
"161yyy4fcy5bnzhbcd7p90nlcslcsfp7n3m3bz9bygch7bdjw46g"))))
(build-system qt-build-system)
"1x8vd6swmf0i7f6m6wl2154n6plx8jkmcqfq6zxbdy255f1da74c"))))
(build-system cmake-build-system)
(arguments
(list
#:qtbase qtbase
#:configure-flags
#~(list (string-append "-DPOLKITQT-1_INSTALL_DIR=" #$output))
;; Drop runtime dependency on KDE's KFAuth.
#~(list "-DPERFORM_PAGECACHE_CLEARING_USING_KF5AUTH=no"
(string-append "-DPOLKITQT-1_INSTALL_DIR=" #$output))
#:tests? #f ;no test suite
#:phases
#~(modify-phases %standard-phases
@@ -760,10 +759,10 @@ and options. With careful benchmarking, different hardware can be compared.")
(lambda _
(rmdir "src/singleapplication")
(symlink #$(package-source
(this-package-input "single-application"))
(this-package-input "single-application-qt5"))
"src/singleapplication"))))))
(native-inputs (list extra-cmake-modules qttools))
(inputs (list fio polkit-qt6 single-application qtwayland))
(native-inputs (list extra-cmake-modules qttools-5))
(inputs (list fio polkit-qt qtbase-5 single-application-qt5))
(home-page "https://github.com/JonMagon/KDiskMark")
(synopsis "Simple disk benchmark tool")
(description "KDiskMark is an HDD and SSD benchmark tool. KDiskMark
File diff suppressed because it is too large Load Diff
+113 -13
View File
@@ -913,7 +913,7 @@ suite native in R.")
(define-public r-bpcells
(package
(name "r-bpcells")
(version "0.3.1")
(version "0.3.0")
(source
(origin
(method git-fetch)
@@ -922,7 +922,7 @@ suite native in R.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0yqgcajq83g25mznwcngaw7pi6vcqxqdnynpgb95yci57k3wrp6j"))
(base32 "12h1di45fg06nhsliii7v0h1z567pkpis1xm4ar1qr8ns1n8iljw"))
(modules '((guix build utils)))
(snippet
'(delete-file-recursively "r/src/vendor/highway"))))
@@ -931,15 +931,13 @@ suite native in R.")
(arguments
(list
#:phases
`(modify-phases %standard-phases
'(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "r")))
,@(if (target-x86-32?)
'((add-after 'chdir 'require-sse2
;; This avoids falling back to the scalar backend in
;; highway, which fails to build.
(lambda _ (setenv "CFLAGS" "-msse2"))))
'()))))
(lambda _
(substitute* "r/configure"
(("tools/hwy-test.cpp" m)
(string-append m " $HWY_LIBS $HWY_CFLAGS")))
(chdir "r"))))))
(propagated-inputs
(list r-dplyr
r-ggplot2
@@ -7651,6 +7649,78 @@ reads at a typical sensitivity of 90-99% relative to BLAST depending on the
data and settings.")
(license license:gpl3+)))
(define-public discrover
(package
(name "discrover")
(version "1.6.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/maaskola/discrover")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"173fwi2vb6a5kp406hm3jj6j7v4whww796f2qcygp4rpvamh307y"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there are no tests
#:phases
(modify-phases %standard-phases
(add-before 'build 'set-force-source-date
;; for reproducible dates, texlive needs this to respect
;; SOURCE_DATE_EPOCH
(lambda _
(setenv "FORCE_SOURCE_DATE" "1")))
(add-before 'build 'use-writable-texmfvar
;; Use writable TEXMFVAR to generate fonts.
(lambda _
(setenv "TEXMFVAR" "/tmp")))
(add-after 'unpack 'fix-latex-errors
(lambda _
(with-fluids ((%default-port-encoding #f))
(substitute* "doc/references.bib"
(("\\{S\\}illanp[^,]+,")
"{S}illanp{\\\"a}{\\\"a},")))
;; XXX: I just can't get pdflatex to not complain about these
;; characters. They end up in the manual via the generated
;; discrover-cli-help.txt.
(substitute* "src/hmm/cli.cpp"
(("µ") "mu")
(("η") "eta")
(("≤") "<="))
;; This seems to be a syntax error.
(substitute* "doc/discrover-manual.tex"
(("theverbbox\\[t\\]") "theverbbox"))))
(add-after 'unpack 'add-missing-includes
(lambda _
(substitute* "src/executioninformation.hpp"
(("#define EXECUTIONINFORMATION_HPP" line)
(string-append line "\n#include <random>")))
(substitute* "src/plasma/fasta.hpp"
(("#define FASTA_HPP" line)
(string-append line "\n#include <random>"))))))))
(inputs
(list boost cairo rmath-standalone))
(native-inputs
(list (texlive-local-tree
(list texlive-doi
texlive-etoolbox
texlive-examplep
texlive-forloop
texlive-listofitems
texlive-natbib
texlive-pgf ;tikz
texlive-readarray
texlive-verbatimbox))
imagemagick))
(home-page "https://dorina.mdc-berlin.de/public/rajewsky/discrover/")
(synopsis "Discover discriminative nucleotide sequence motifs")
(description "Discrover is a motif discovery method to find binding sites
of nucleic acid binding proteins.")
(license license:gpl3+)))
(define-public eddylab-squid
(package
(name "eddylab-squid")
@@ -9213,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")
@@ -9283,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)
@@ -22279,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")
+4 -4
View File
@@ -328,15 +328,15 @@ with the @uref{https://keepassxc.org, KeePassXC} password manager.")
(define noscript
(package
(name "noscript")
(version "13.6.18.1984")
(version "13.2.2")
(source (origin
(method url-fetch/zipbomb)
(uri (string-append
"https://archive.torproject.org/tor-package-archive/torbrowser/noscript/noscript-"
version ".xpi"))
"https://noscript.net/download/releases/noscript-" version
".xpi"))
(sha256
(base32
"0assv8v89hhg302q81vvv7ln3q8k9m6rzjkbprv2j05ghb23kkvm"))))
"0w2w0a76dk01bkh83mqwgs9ky02rjqk15z5sxg4a6mw0hpr81bpm"))))
(build-system copy-build-system)
(properties '((addon-id . "{73a6fe31-595d-460b-a920-fcc0f8843232}")))
(arguments
+3 -6
View File
@@ -275,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
@@ -427,10 +427,7 @@ files and generates build instructions for the Ninja build system.")
version ".tar.gz"))
(sha256
(base32
"13a9pj7d2mxgv5gbd78di4pb4w722vjis0vmk38m1vdm95v2f9yd"))
(patches
(search-patches "meson-gir-fallback-path.patch"
"meson-keep-rpath-vicinity.patch"))))
"13a9pj7d2mxgv5gbd78di4pb4w722vjis0vmk38m1vdm95v2f9yd"))))
(build-system gnu-build-system)
(arguments
(list
+22 -3
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>
;;;
@@ -1327,6 +1327,25 @@ for the @acronym{AWS,Amazon Web Services} SDK.")
(home-page "https://github.com/awslabs/aws-c-sdkutils")
(license license:asl2.0)))
(define-public pcl
(package
(name "pcl")
(version "1.12")
(source
(origin
(method url-fetch)
(uri (string-append
"http://www.xmailserver.org/pcl-" version ".tar.gz"))
(sha256
(base32
"06ly65rq4iyj2p4704i215c8y4rgspwl8sxfaifmf4ahfr30bcz7"))))
(build-system gnu-build-system)
(home-page "http://www.xmailserver.org/libpcl.html")
(synopsis "Portable Coroutine Library")
(description "The @acronym{PCL, Portable Coroutine Library} implements the
low level functionality for coroutines.")
(license license:gpl2+)))
(define-public aws-c-http
(package
(name "aws-c-http")
@@ -1743,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)
@@ -1752,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")
+6 -6
View File
@@ -43,7 +43,6 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system meson)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (gnu packages)
@@ -1001,17 +1000,18 @@ Supported extensions to ISO 9660 are Rock Ridge, Joliet, AAIP, zisofs.")
(define-public libudfread
(package
(name "libudfread")
(version "1.2.0")
(version "1.1.2")
(source (origin
(method url-fetch)
(uri (string-append
"https://download.videolan.org/pub/videolan/libudfread/"
name "-" version ".tar.xz"))
name "-" version ".tar.bz2"))
(sha256
(base32
"03q5b1wm90vygx4rf4mzzrf0yhvhbvp72nyhv63pgz7v9jypqixv"))))
(build-system meson-build-system)
(native-inputs (list pkg-config))
"05c943ymw94nzjxf7v102916frqk7icgw4gb244wx23jn8cnz56m"))))
(build-system gnu-build-system)
(native-inputs
(list automake autoconf libtool pkg-config))
(home-page "https://code.videolan.org/videolan/libudfread")
(synopsis "C library to read UDF file systems")
(description "@code{libudfread} is a C library for reading
+25 -1
View File
@@ -3131,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))
@@ -3719,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")
+1 -1
View File
@@ -580,7 +580,7 @@ stored with user-specified precision.")
python-sphinx))
(inputs
(list fftwf
`(,hwloc "lib")
`(,hwloc-2 "lib")
libtirpc
lmfit
muparser
+14 -20
View File
@@ -400,7 +400,7 @@
;; run the Blink performance tests, just remove everything to save ~70MiB.
'("third_party/blink/perf_tests"))
(define %chromium-version "147.0.7727.137")
(define %chromium-version "147.0.7727.55")
(define %ungoogled-revision (string-append %chromium-version "-1"))
(define %debian-revision (string-append "debian/" %ungoogled-revision))
@@ -412,7 +412,7 @@
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
(sha256
(base32
"1ha84j3zckdv2l8dpicqhmr6a8mq3bqwalw0bmgamvlmns9i7nrj"))))
"0l6v4wf16067igawjlh90f3d287mkw0cq4j5lvrxxy17y1skynzc"))))
(define %debian-origin
(origin
@@ -425,7 +425,7 @@
((_ version) version))))
(sha256
(base32
"04lqbclkvn9nsksgjpjilh78a8y17mwwq4pmhr6h8gvpp2y3bhhc"))))
"0gqarll08i7rcs1amapciv263xvzglc8p44ikavq3xd12yyvcd98"))))
(define (origin-file origin file)
(computed-file
@@ -570,7 +570,7 @@
%chromium-version "-lite.tar.xz"))
(sha256
(base32
"1m22whg5n9lw9gqhalm95jwfm45lqp4a7cs3mn3f4n8w0rvr0r5j"))
"1salvlw5sykx3zmsbp7cgmf7y8yy6jlgb4b4zswzsbjrprk4jnap"))
(modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system)
@@ -596,7 +596,6 @@
"use_custom_libcxx=false" ; support for this is deprecated and to be removed.
"optimize_webui=false"
"webnn_use_tflite=false"
"build_tflite_with_xnnpack=false"
"safe_browsing_use_unrar=false"
"chrome_pgo_phase=0"
"use_sysroot=false"
@@ -689,7 +688,7 @@
"use_gnome_keyring=false" ;deprecated by libsecret
"use_pulseaudio=true"
"link_pulseaudio=true"
"icu_use_data_file=true"
"icu_use_data_file=false"
;; VA-API acceleration is currently only supported on x86_64-linux.
#$@(if (string-prefix? "x86_64" (or (%current-target-system)
@@ -697,13 +696,6 @@
'("use_vaapi=true")
'())
#$@(if (string-prefix? "aarch64" (or (%current-target-system)
(%current-system)))
'("use_v4l2_codec=true"
"use_vaapi=false"
"use_av1_hw_decoder=true")
'())
;; Do not artificially restrict formats supported by system ffmpeg.
"proprietary_codecs=true"
"ffmpeg_branding=\"Chrome\""
@@ -777,7 +769,12 @@
(string-append libclang "clang_base_path"))
(("(_rustfmt_path = \")\\$\\{rust_bindgen_root\\}" _ rustfmt)
(string-append rustfmt "${rust_sysroot_absolute}"))))))
(add-after 'patch-stuff 'add-absolute-references
(add-after 'patch-stuff 'include-pthreadpool
;; FIXME: Somehow the build system cannot locate this header.
(lambda _
(copy-file "third_party/pthreadpool/src/include/pthreadpool.h"
"pthreadpool.h")))
(add-after 'include-pthreadpool 'add-absolute-references
(lambda* (#:key inputs #:allow-other-keys)
(let ((cups-config (search-input-file inputs "/bin/cups-config"))
(libnssckbi.so (search-input-file inputs
@@ -895,7 +892,6 @@
"resources.pak"
"v8_context_snapshot.bin"
"chrome_crashpad_handler"
"icudtl.dat"
;; Swiftshader ICD.
"libvk_swiftshader.so"
@@ -918,11 +914,9 @@
(substitute* '("chrome/app/resources/manpage.1.in"
"chrome/installer/linux/common/desktop.template")
(("@@MENUNAME") "Chromium")
(("@@PACKAGE") "chromium")
(("/usr/bin/@@usr_bin_symlink_name") exe)
(("@@uri_scheme") "x-scheme-handler/chromium")
(("@@extra_desktop_entries") ""))
(("@@MENUNAME@@") "Chromium")
(("@@PACKAGE@@") "chromium")
(("/usr/bin/@@USR_BIN_SYMLINK_NAME@@") exe))
(mkdir-p man)
(copy-file "chrome/app/resources/manpage.1.in"
+128 -633
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,150 +339,42 @@
(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)))
(properties '((timeout . 108000) ; 30 hours
(max-silent-time . 54000))) ; 15 hours
(home-page "https://github.com/openai/codex")
(synopsis "AI-assisted coding CLI and TUI")
(description
"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)
@@ -859,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
@@ -868,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
+1 -3
View File
@@ -2375,9 +2375,7 @@ non-Windows systems without running the actual installer using wine.")
(sha256
(base32 "17k679glx05v23n8kxbg9vmbf89i2252g5xj6w3dkz19asmh1zd6"))))
(build-system gnu-build-system)
(native-inputs
(cons* autoconf automake libtool
(maybe-nasm)))
(native-inputs (list autoconf automake libtool nasm))
(home-page "https://github.com/intel/isa-l")
(synopsis "Intelligent storage acceleration library")
(description "ISA-L is a collection of optimized low-level functions
+2 -2
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
+11 -116
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>
@@ -52,7 +52,6 @@
;;; Copyright © 2025 Philippe Swartvagher <phil.swart@gmx.fr>
;;; Copyright © 2025 Murilo <murilo@disroot.org>
;;; Copyright © 2026 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -134,7 +133,6 @@
#:use-module (gnu packages sdl)
#:use-module (gnu packages tls)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages web)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xdisorg)
@@ -1673,38 +1671,6 @@ maintained anymore.")
concurrent queue for C++11.")
(license license:bsd-2)))
(define-public ringbuffer
(package
(name "ringbuffer")
(version "0.9.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JohannesLorenz/ringbuffer")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1c57hj6zyvcjpcbwrq8c1hj5brk1bnh69ayd88ny1p0gx031sjpk"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags
#~(list "-DCMAKE_CXX_FLAGS=-Wno-error=array-bounds"
(string-append "-DINSTALL_LIB_DIR=" #$output "/lib"))
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-export-header
(lambda _
(install-file "src/lib/ringbuffer_export.h"
(string-append #$output
"/include/ringbuffer")))))))
(home-page "https://github.com/JohannesLorenz/ringbuffer")
(synopsis "Lock-free multi-reader ringbuffer")
(description
"@code{ringbuffer} is a library containing a ringbuffer. It is lock-free
(using atomics only), and allows multiple readers, but only one writer.")
(license license:gpl3+)))
(define-public spscqueue
(package
(name "spscqueue")
@@ -3226,7 +3192,8 @@ pointers, containers, compiler building blocks, etc.")
(native-inputs
(list build))
(inputs
(list libcutl xerces-c))
`(("libcutl" ,libcutl)
("libxerces-c" ,xerces-c)))
(synopsis "XSD Front-end")
(description "@code{libxsd-frontend} is a compiler frontend for the W3C
XML Schema definition language. It includes a parser, semantic graph types
@@ -3393,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
@@ -3402,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
@@ -3641,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
@@ -3650,7 +3617,7 @@ std::wstring, etc).")
(file-name (git-file-name name version))
(sha256
(base32
"1l13nsl4sgq71m7aifrmmmfyl14vp48vqdh7pb50hxqq6f8bq2b5"))))
"19x1yklf641yrpad6lk4cq3jmird10d5ig8hicm3p9lxh92k78cl"))))
(build-system cmake-build-system)
(arguments
(list
@@ -3661,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++")
@@ -3701,39 +3670,6 @@ computing Fast Fourier transformations. It supports multidimensional arrays,
different floating point sizes and complex transformations.")
(license license:bsd-3))))
(define-public libbinio
;; The latest tagged version does not support CMake build. This commit has
;; builds with CMake and has updated CMake version support.
(let ((commit "e88dad086265e179ab6aef7f479e19f3917c7a98")
(revision "0"))
(package
(name "libbinio")
(version (git-version "1.5" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/adplug/libbinio")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0rb33jl6gpxb88zymzl996m43b7r6wyw4lq0ib3626kna3baqnha"))))
(native-inputs
(list autoconf automake libtool texinfo))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ;no tests
#:configure-flags
#~(list "-DBUILD_SHARED_LIBS=ON")))
(home-page "http://adplug.github.io/libbinio/")
(synopsis "Binary I/O stream class library")
(description
"This binary I/O stream class library presents a platform-independent
way to access binary data streams in C++. The library is hardware independent
in the form that it transparently converts between the different forms of
machine-internal binary data representation.")
(license license:lgpl2.1+))))
(define-public priocpp
;; Latest release is from 2022-08-14.
(let ((commit "ea15402adcd0d9191dc29ca6f7e4dd0bff67b9b5")
@@ -4560,47 +4496,6 @@ meta data function.")
;; or the CECILL-C license:
(license (list license:lgpl3 license:cecill-c))))
(define-public tcbrindle-span
(let ((commit "836dc6a0efd9849cb194e88e4aa2387436bb079b")
(revision "0"))
(package
(name "tcbrindle-span")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tcbrindle/span")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1v3x1mj4if8jrr7cmrcbhv8n8ygla0liqb0dic6g6ji7px2pr6jf"))
(modules '((guix build utils)))
;; Unbundle catch.
(snippet
'(with-directory-excursion "test"
(delete-file "catch.hpp")
(substitute* (find-files "." "\\.cpp$")
(("\"catch\\.hpp\"") "<catch.hpp>"))))))
(build-system cmake-build-system)
(native-inputs (list catch-framework))
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'install
(lambda _
(mkdir-p (string-append #$output))
(copy-recursively "../source/include"
(string-append #$output "/include")))))))
(home-page "https://github.com/tcbrindle/span")
(synopsis "Implementation of C++20's @code{std::span} for older compilers")
(description
"This package provides a single-header implementation of C++20's
@code{std::span}, conforming to the C++20 committee draft. It is compatible
with C++11, but will use newer language features if they are available.")
(license license:boost1.0))))
(define-public tsl-hopscotch-map
(package
(name "tsl-hopscotch-map")
+341 -1173
View File
File diff suppressed because it is too large Load Diff
+12 -11
View File
@@ -276,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
+2 -54
View File
@@ -70,8 +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>
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -128,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)
@@ -201,7 +198,6 @@
#: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)
@@ -4160,8 +4156,8 @@ programmatically or as a standalone CLI application.")
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(inputs
(list openssl
tcl)) ;for tests
`(("libcrypto" ,openssl)
("libtcl8.6" ,tcl))) ; required for running the tests
(native-inputs
(list tcl))
(arguments
@@ -5050,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")
+3 -49
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>
@@ -94,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)
@@ -266,14 +264,14 @@ tmpfs/ramfs filesystems.")
(define-public parted
(package
(name "parted")
(version "3.7")
(version "3.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/parted/parted-"
version ".tar.xz"))
(sha256
(base32
"0yzga4cjq3yplqs47dl9714vwc3v3v8nxrj80rdc5wx4c5syb380"))))
"04p6b4rygrfd1jrskwrx3bn2icajg1mvbfhyc0c9l3ya7kixnhrv"))))
(build-system gnu-build-system)
(arguments
(list
@@ -296,7 +294,6 @@ tmpfs/ramfs filesystems.")
(,util-linux "lib")))
(native-inputs
(list gettext-minimal
pkg-config
;; For the tests.
e2fsprogs
@@ -423,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")
+2 -2
View File
@@ -51,7 +51,7 @@
(define-public boinc-client
(package
(name "boinc-client")
(version "8.2.12")
(version "8.2.9")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -62,7 +62,7 @@
(file-name (git-file-name "boinc" version))
(sha256
(base32
"0531n0yij1gh06xy6plwivbpmhqfq15jizg3rdgri40nz41rzbgr"))))
"0ik9423ii6kal29jdn907pxy8w86zpi8n158qx1gcsh8lsaif1v5"))))
(build-system gnu-build-system)
(arguments
(list
+18 -2
View File
@@ -201,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
@@ -298,6 +298,22 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
;; This CVE is fixed in 4.1.9.
"CVE-2023-31047"))))))
(define-public python-django-4
(package
(inherit python-django)
(name "python-django-4")
(version "4.2.28")
(source
(origin
(method url-fetch)
(uri (pypi-uri "django" version))
(sha256
(base32 "1znc2q1m9p2kxz1rkfkh2hg2sx6i3aqv72zsraad7bci364cvfd4"))))
(arguments
(substitute-keyword-arguments arguments
((#:phases phases)
#~(modify-phases #$phases (delete 'delete-sitecustomize)))))))
(define-public python-django-cache-url
(package
(name "python-django-cache-url")
+5 -6
View File
@@ -10,7 +10,6 @@
;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2022 Esther Flashner <esther@flashner.co.il>
;;; Copyright © 2025-2026 Jonas Meeuws <jonas.meeuws@gmail.com>
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -321,11 +320,11 @@ integration tests...\n")
"|core.thread.osthread-debug-shared")))
(#t `("")))))))))))))
(native-inputs
(modify-inputs native-inputs
(delete "llvm")
(replace "ldc" ldc-bootstrap)
(append clang-17 ;propagates llvm and clang-runtime
python-lit)))
(append (delete "llvm"
(alist-replace "ldc" (list ldc-bootstrap)
(package-native-inputs ldc-bootstrap)))
`(("clang" ,clang-17) ;propagates llvm and clang-runtime
("python-lit" ,python-lit))))
(properties
(alist-delete 'hidden? (package-properties ldc-bootstrap)))))
-1
View File
@@ -115,7 +115,6 @@
(uri (git-reference
(url "git://git.chiark.greenend.org.uk/~ianmdlvl/adns.git")
(commit (string-append "adns-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0ln3l5j7wb1xazrzl76p9xar52p6l2k1cwy7jazxw1acl71k9h5n"))))
+2 -2
View File
@@ -148,13 +148,13 @@ system.")
(define-public r-duckdb
(package
(name "r-duckdb")
(version "1.5.2")
(version "1.5.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "duckdb" version))
(sha256
(base32 "1dldlfwvc33czvlxfmwaj4p9y6sjjj5iqy98yda47a8kclrqmyam"))
(base32 "177621m08whqqk4yhj3zrr08l3d9hhlqh3gm9jzhi5cplg47cksq"))
;; This package bundles the duckdb sources and builds a custom variant
;; of duckdb. I'd be happy to link it with our duckdb library instead,
;; but it does not seem possible to do that.
+6 -6
View File
@@ -2331,7 +2331,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
(define-public nvc
(package
(name "nvc")
(version "1.20.1")
(version "1.19.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2340,7 +2340,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
(file-name (git-file-name name version))
(sha256
(base32
"1b38x2ch468s4p6mrq6c8s0d95vb84p6w4v8in79l4w7sfy8jnr0"))))
"1zizz2dafm53lzpjayy6vig5pz5ri9cszdivg0jzzh8s3ggkpy1i"))))
(build-system gnu-build-system)
(arguments
(list #:out-of-source? #t
@@ -3461,7 +3461,7 @@ form of AXI, AXI lite, and AXI stream modules.")
(define-public python-edalize
(package
(name "python-edalize")
(version "0.6.8")
(version "0.6.6")
(source
(origin
(method git-fetch)
@@ -3470,7 +3470,7 @@ form of AXI, AXI lite, and AXI stream modules.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04m2lhkclw9fj92k43c06j003qnq9i1yhy2131fvcnkkr0d9438m"))))
(base32 "115nc15n2cx4x9irjim07zkg0287418djqd6ja7rm8jrnyldvln9"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -4516,7 +4516,7 @@ unique design feature of Trilinos is its focus on packages.")
(define-public verilator
(package
(name "verilator")
(version "5.048")
(version "5.046")
(source
(origin
(method git-fetch)
@@ -4525,7 +4525,7 @@ unique design feature of Trilinos is its focus on packages.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "16c1x66kqmc5ldqjij81kypj471fibfihcqn6kz4wbxvnn0smyn6"))))
(base32 "1gr1qhxvl4856hnmnx46dqd2qp0jhdh959zm2qfmxzzh19np7xkm"))))
(native-inputs
(list autoconf
automake
+2 -2
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
+1 -11
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
+4 -2
View File
@@ -62,7 +62,7 @@ as bold, underscore or italic.")
(define-public emacs-buttercup
(package
(name "emacs-buttercup")
(version "1.40")
(version "1.38")
(source
(origin
(method git-fetch)
@@ -72,7 +72,9 @@ as bold, underscore or italic.")
(file-name (git-file-name name version))
(sha256
(base32
"1b55cfh4wr40max2c42crvaa6wid7a83g28yximsin98i32q5f5r"))))
"09n8skr5wi8bs7x81d5bi6z89dd8s1zi9a5f4r2qadaz69slncxq"))
(patches
(search-patches "emacs-buttercup-1.38-native-comp-spy-on-trampoline-scope.patch"))))
(build-system emacs-build-system)
(arguments
(list
+423 -819
View File
File diff suppressed because it is too large Load Diff
+1 -2
View File
@@ -28,7 +28,6 @@
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 Jake Forster <jakecameron.forster@gmail.com>
;;; Copyright © 2025 John Kehayias <john@guixotic.coop>
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -870,7 +869,7 @@ Started in 2014 as a GSOC project, Guile-Emacs was resurrected in 2024.")
"0vfw7z9i2s9np6nmx1d4dlsywm044rkaqarn7akffmb6bf1j6zv5"))))
(build-system gnu-build-system)
(native-inputs
(list gettext-minimal))
`(("gettext" ,gettext-minimal)))
(arguments
`(#:configure-flags
(list (string-append "--with-charmaps="
+10 -13
View File
@@ -1264,8 +1264,7 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
(base32 "1xf15b6c3i0vv92b420a92pfvfaxhji56ivin8pn5r7fajkqyfb7"))))
(build-system gnu-build-system)
(native-inputs
(cons* pkg-config which
(maybe-nasm)))
(list pkg-config nasm which))
(inputs
(list freetype
glu
@@ -1290,6 +1289,8 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
(list "all" (string-append "PREFIX=" out)))
;; There are no tests.
#:tests? #f))
;; As per the Makefile (in projects/unix/Makefile):
(supported-systems '("i686-linux" "x86_64-linux"))
(home-page "https://www.mupen64plus.org/")
(synopsis "Nintendo 64 emulator core library")
(description
@@ -2163,9 +2164,7 @@ as RetroArch.")
(lambda _
(install-file "mupen64plus_next_libretro.so"
(string-append #$output "/lib/libretro/")))))))
(native-inputs
(cons* pkg-config
(maybe-nasm)))
(native-inputs (list nasm pkg-config))
(inputs (list mesa libpng minizip unzip xxhash zlib))
(home-page "https://github.com/libretro/mupen64plus-libretro-nx")
(synopsis "Improved Mupen64Plus libretro core")
@@ -3453,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)
@@ -3462,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
@@ -3605,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
+3 -3
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
+4 -19
View File
@@ -2,7 +2,7 @@
;;; Copyright © 2017 Dave Love <fx@gnu.org>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019, 2023, 2026 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2023 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -220,25 +220,20 @@ testing InfiniBand networks.")
"--disable-assertions"
"--disable-params-check"
"--enable-mt"
(string-append "--with-verbs="
#$(this-package-input "rdma-core"))
(string-append "--with-rdmacm="
#$(this-package-input "rdma-core"))
#$@(if (this-package-input "rocr-runtime")
#~((string-append "--with-rocm="
#$(this-package-input
"rocr-runtime")))
#~()))
(string-append "--with-rocm="
#$(this-package-input "rocr-runtime")))
;; Be verbose so that compiler flags are displayed.
#:make-flags #~'("V=1")))
(native-inputs
(list autoconf automake libtool pkg-config))
(inputs
(list numactl rdma-core))
(list numactl rdma-core rocr-runtime))
(synopsis "Optimized communication layer for message passing in HPC")
(description
"Unified Communication X (UCX) provides an optimized communication layer
@@ -254,13 +249,3 @@ memory mechanisms for efficient intra-node communication.")
;; and x86_64 as supported.
(supported-systems '("x86_64-linux" "aarch64-linux" "powerpc64le-linux"
"riscv64-linux"))))
;; Note: ROCm support is kept separate to avoid a significant increase in
;; closure size: <https://codeberg.org/guix/guix/issues/7225>.
(define-public ucx-rocm
(package/inherit ucx
(name "ucx-rocm")
(inputs (modify-inputs inputs
(append rocr-runtime)))
(synopsis "Optimized communication layer for message passing in HPC (with
ROCm support)")))
+21 -17
View File
@@ -20,7 +20,6 @@
;;; Copyright © 2025 45mg <45mg.writes@gmail.com>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2026 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1129,8 +1128,8 @@ transaction log.
(inherit jfsutils)
(name "jfsutils-static")
(inputs
(modify-inputs inputs
(prepend (list util-linux "static")))))))
`(("util-linux:static" ,util-linux "static")
,@(package-inputs jfsutils))))))
(define-public jfs_fsck/static
(package
@@ -1139,23 +1138,28 @@ transaction log.
(source #f)
(build-system trivial-build-system)
(arguments
(list
#:modules '((guix build utils))
#:builder
#~(begin
(use-modules (guix build utils))
(let* ((sbin (string-append #$output "/sbin"))
(fsck (string-append sbin "/jfs_fsck")))
(install-file (search-input-file %build-inputs "sbin/jfs_fsck")
sbin)
(remove-store-references fsck)
(chmod fsck #o555)))))
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils)
(ice-9 ftw)
(srfi srfi-26))
(let* ((jfsutils (assoc-ref %build-inputs "jfsutils"))
(fsck "jfs_fsck")
(out (assoc-ref %outputs "out"))
(sbin (string-append out "/sbin")))
(mkdir-p sbin)
(with-directory-excursion sbin
(install-file (string-append jfsutils "/sbin/" fsck)
".")
(remove-store-references fsck)
(chmod fsck #o555))
#t))))
(inputs
(list jfsutils/static))
`(("jfsutils" ,jfsutils/static)))
(home-page (package-home-page jfsutils))
(synopsis "Statically-linked jfs_fsck command from jfsutils")
(description
"This package provides statically-linked jfs_fsck command taken
(description "This package provides statically-linked jfs_fsck command taken
from the jfsutils package. It is meant to be used in initrds.")
(license (package-license jfsutils))))
+5 -3
View File
@@ -165,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
@@ -173,7 +173,7 @@
version "/bitcoin-" version ".tar.gz"))
(sha256
(base32
"1qxkcyq8nwq6sw4qi660z8n8356mqdsf4jvpq5ndkvrsx9gfz80b"))))
"1jw4djh22v0nih0n7irdbknfbqavlc4l3b8176b5qgc88a60pl3g"))))
(build-system qt-build-system)
(arguments
(list #:qtbase qtbase
@@ -197,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))
+1 -1
View File
@@ -1159,10 +1159,10 @@ Executables included are:
(native-inputs
(append
(list acpica
nasm
perl
python-3
(list util-linux "lib"))
(maybe-nasm (string-append arch "-" arch))
(if (not (string-prefix? arch (%current-system)))
(if (string=? arch "armhf")
(list (cross-gcc "arm-linux-gnueabihf")
+40
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")
+5 -6
View File
@@ -12,7 +12,7 @@
;;; Copyright © 2019, 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
;;; Copyright © 2020, 2021, 2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2021-2026 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2021-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2022 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2022 Felipe Balbi <balbi@kernel.org>
@@ -1382,15 +1382,14 @@ Font Format (WOFF).")
(hidden-package
(package
(name "fontconfig-minimal")
(version "2.17.1")
(version "2.16.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://gitlab.freedesktop.org/api/v4/projects/890"
"/packages/generic/fontconfig/" version "/fontconfig-"
version ".tar.xz"))
"https://www.freedesktop.org/software/"
"fontconfig/release/fontconfig-" version ".tar.xz"))
(sha256 (base32
"0hd5dw15q0i7518w1zqjcvyhvmlcf3ycv6df0ny1zz7zyj9swp4z"))
"086jdsdxmc9ryr0n0dmgs0vfnkhkxxw5hsgpr888pfn9biaxqcva"))
(patches (search-patches "fontconfig-cache-ignore-mtime.patch"))))
(build-system gnu-build-system)
;; In Requires or Requires.private of fontconfig.pc.
+47 -89
View File
@@ -43,8 +43,6 @@
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 wvlab <me@wvlab.xyz>
;;; Copyright © 2025 jgart <jgart@dismail.de>
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
;;; Copyright © 2026 Luis Guilherme Coelho <lgcoelho@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -794,16 +792,16 @@ the freedesktop.org XDG Base Directory specification.")
(define-public elogind
(package
(name "elogind")
(version "257.14")
(version "255.17")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/elogind/elogind")
(commit (string-append "v" version))))
(url "https://github.com/elogind/elogind")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"16cbkkia2wmcjwqxgzl714igi9sgpcl4sdvag388vlh941136bs9"))))
"0cb6p559281dzh24is91v6d4v4kz45yhyizibi4sfql9nign865h"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
@@ -3055,10 +3053,10 @@ useful with system integration.")
"0zs4z7l9b57jldwz0ban77f3c2zq43ambd0dssf5qg9i216f9lmj"))))
(build-system gnu-build-system)
(native-inputs
(list dbus-test-runner
(list glib "bin")
pkg-config
xorg-server-for-tests))
`(("dbus-test-runner" ,dbus-test-runner)
("glib:bin" ,glib "bin")
("pkg-config" ,pkg-config)
("xvfb" ,xorg-server-for-tests)))
(inputs
(list gtk+ glib))
(arguments
@@ -3302,7 +3300,6 @@ compatible with the well-known scripts of the same name.")
(list gettext-minimal
`(,glib "bin")
gst-plugins-good ;for wavparse plugin
(librsvg-for-system) ;SVG loader needed for one test
pkg-config
python
python-dbusmock
@@ -3420,50 +3417,50 @@ interfaces.")
(define-public xdg-desktop-portal-wlr
(package
(name "xdg-desktop-portal-wlr")
(version "0.8.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/xdg-desktop-portal-wlr")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1jj0a9s3h3i04qsxkhcpxjzbb17hs9ngdy7wkypja09233zdz10w"))
(patches (search-patches "xdg-desktop-portal-wlr-harcoded-length.patch"))))
(version "0.7.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/xdg-desktop-portal-wlr")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1mbq3czka9swwmfaasnaj89y2m254p3qa522ayclh688jdwh70hq"))
(patches (search-patches "xdg-desktop-portal-wlr-harcoded-length.patch"))))
(build-system meson-build-system)
(arguments
(list
#:configure-flags
#~(list "-Dsystemd=disabled"
"-Dsd-bus-provider=libelogind")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'hardcode-binaries
(lambda* (#:key inputs #:allow-other-keys)
(let ((sh (search-input-file inputs "/bin/sh"))
(grim (search-input-file inputs "/bin/grim"))
(slurp (search-input-file inputs "/bin/slurp")))
(substitute* '("src/screencast/chooser.c"
"src/screenshot/screenshot.c")
(("grim") grim)
(("slurp") slurp)
(("/bin/sh") sh))
(substitute* "src/screencast/screencast.c"
(("execvp\\(\"sh")
(format #f "execvp(\"~a" sh))))))
(add-after 'install 'install-documentation
(lambda _
(install-file "../source/README.md"
(string-append #$output "/share/doc/"
#$name)))))))
(native-inputs (list cmake-minimal pkg-config scdoc))
(inputs (list bash-minimal
elogind
`(#:configure-flags
'("-Dsystemd=disabled"
"-Dsd-bus-provider=libelogind")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'hardcode-binaries
(lambda* (#:key inputs #:allow-other-keys)
(let ((sh (search-input-file inputs "/bin/sh"))
(grim (search-input-file inputs "/bin/grim"))
(slurp (search-input-file inputs "/bin/slurp")))
(substitute* "src/screenshot/screenshot.c"
(("grim") grim)
(("slurp") slurp)
(("execl\\(\"/bin/sh\", \"/bin/sh\"")
(string-append "execl(\"" sh "\", \"" sh "\"")))
(substitute* "src/screencast/screencast.c"
(("execvp\\(\"sh")
(string-append "execvp(\"" sh))))))
(add-after 'install 'install-documentation
(lambda* (#:key outputs #:allow-other-keys)
(install-file "../source/README.md"
(string-append (assoc-ref outputs "out")
"/share/doc/" ,name)))))))
(native-inputs
(list cmake-minimal pkg-config))
(inputs (list elogind
bash-minimal
grim
iniparser
libinih
mesa
libinih
pipewire
slurp
wayland
@@ -3477,45 +3474,6 @@ remote-desktop @code{xdg-desktop-portal} interfaces for wlroots based
compositors.")
(license license:expat)))
(define-public xdg-desktop-portal-termfilechooser
(package
(name "xdg-desktop-portal-termfilechooser")
(version "1.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hunkyburrito/xdg-desktop-portal-termfilechooser")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1wvmwl678fr5pxz7x248pm5v4jd3bycz8nqa2q87akys5b9d1xpd"))))
(build-system meson-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'install 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((sed (search-input-file inputs "/bin/sed")))
(substitute* (find-files #$output "-wrapper\\.sh")
((" sed") (string-append " " sed)))))))))
(native-inputs
(list cmake-minimal
pkg-config
scdoc))
(inputs
(list basu
libinih
sed))
(home-page "https://github.com/hunkyburrito/xdg-desktop-portal-termfilechooser")
(synopsis "@code{xdg-desktop-portal} backend for choosing files with your
favorite terminal file chooser")
(description
"This package provides a backend implementation for xdg-desktop-portal that
allows using your preferred terminal file manager as file chooser in other
applications.")
(license license:expat)))
(define-public poweralertd
(package
(name "poweralertd")
+63 -137
View File
@@ -227,7 +227,6 @@
#:use-module (gnu packages shells)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages squirrel)
#:use-module (gnu packages stb)
#:use-module (gnu packages swig)
#:use-module (gnu packages tcl)
#:use-module (gnu packages terminals)
@@ -553,14 +552,14 @@ use with @code{udev-service-type}.")
(define-public armagetronad
(package
(name "armagetronad")
(version "0.2.9.3.0")
(version "0.2.9.2.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/armagetronad/stable/"
version "/armagetronad-" version ".tbz"))
(sha256
(base32
"1q1zlbhbcimr6bw0ms1pr8hz4q850ivi3hvxn3467jfgiq22f3cy"))))
"0a6rlp2lj5bp7pg1yf8brjyb3mw7nqp3amj19wvz3xni21bbc31k"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
@@ -577,7 +576,6 @@ use with @code{udev-service-type}.")
(("^install_link .*BINDIR.*") "")))))))
(native-inputs (list pkg-config))
(inputs (list libxml2
curl
(sdl-union (list sdl sdl-image sdl-mixer))
freeglut
libpng
@@ -1235,11 +1233,11 @@ original rogue game found on 4.2BSD.")
(license license:bsd-3)))
(define-public sgt-puzzles
(let ((commit "06e37f1e334d85c7c779f79ef9e484ff2f708269")
(let ((commit "28032bd5a0d3dc409eb225b8bdb23fd0b18a28d7")
(revision "0"))
(package
(name "sgt-puzzles")
(version (git-version "20260308" revision commit))
(version (git-version "20251120" revision commit))
(source
(origin
(method git-fetch)
@@ -1248,7 +1246,7 @@ original rogue game found on 4.2BSD.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "141d57s1va2ng7nxjzdgmsqh5mdb0mpy3yiqaj4rplya8xlhm34h"))))
(base32 "0533fzzagmi7g7sw1fdgpzy6gjpif77gxf3avz1qnjsma5gq7f2l"))))
(build-system cmake-build-system)
(arguments
(list
@@ -3409,8 +3407,7 @@ and defeat them with your bubbles!")
"SamTSE/Sources/Engine/Engine.cpp")
(("@OUTPUT_DIR@") #$output)))))))
(inputs (list sdl2 libvorbis))
(native-inputs (cons* flex bison imagemagick
(maybe-nasm)))
(native-inputs (list flex bison nasm imagemagick))
(home-page "https://github.com/tx00100xt/SeriousSamClassic")
(synopsis "SeriousSam engine and Serious Sam: TFE and TSE")
(description
@@ -4131,7 +4128,7 @@ a C library, so they can easily be integrated into other programs.")
(define-public taisei
(package
(name "taisei")
(version "1.4.4")
(version "1.4.2")
(source
(origin
(method url-fetch)
@@ -4139,7 +4136,7 @@ a C library, so they can easily be integrated into other programs.")
"taisei/releases/download/v" version
"/taisei-" version ".tar.xz"))
(sha256
(base32 "13b2ha8nsdzbydirvc7hw1q46jzhn6cx9b9spgk777swjlgx2vph"))))
(base32 "19sgm175clkvpcv0b9p4jkjpfxqw0kyl2i5p8w63kwzqcjp9m1jx"))))
(build-system meson-build-system)
(arguments
(list
@@ -4148,8 +4145,7 @@ a C library, so they can easily be integrated into other programs.")
"-Dr_gles30=enabled"
"-Dshader_transpiler=enabled")))
(native-inputs
(list cmake-minimal
pkg-config
(list pkg-config
python
python-docutils
python-pygments
@@ -4157,29 +4153,24 @@ a C library, so they can easily be integrated into other programs.")
(inputs
(list cglm
freetype
glslang
libdecor ; XXX: for sdl3
libpng
libwebp
libzip
mesa
openssl
opusfile
sdl3
sdl2
sdl2-mixer
shaderc
spirv-cross
spirv-tools ; for glslang
vulkan-loader ; XXX: for sdl3?
zlib
(list zstd "lib")))
(home-page "https://taisei-project.org/")
(synopsis "Shoot'em up fangame and libre clone of Touhou Project")
(description
"Taisei is a vertical shoot'em up game, in which the player controls
one of three characters. While moving through stages, a large number of
enemies and even larger amounts of bullets appear that require careful
maneuvers to dodge. By shooting the enemies, players receive powerups
for their characters, allowing them to shoot even more.")
"The player controls a character (one of three: Good, Bad, and Dead),
dodges the missiles (lots of it cover the screen, but the character's hitbox
is very small), and shoot at the adversaries that keep appear on the screen.")
(license (list
;; game
license:expat
@@ -4732,10 +4723,6 @@ for common mesh file formats, and collision detection.")
(url "https://github.com/thelaui/M.A.R.S.")
(commit commit)))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
#~(begin
(delete-file-recursively "ext_libs_for_windows")))
(sha256
(base32
"0bdi4ja39rark742qvqixm8khai5k8qd84z5kzim9jcjdvvwyqj9"))))
@@ -4762,8 +4749,7 @@ for common mesh file formats, and collision detection.")
attractive physics. Players can battle each other or computer controlled
enemies in different game modes such as space ball, death match, team death
match, cannon keep, and grave-itation pit.")
(license (list license:gpl3+
license:cc-by-sa3.0))))) ;/data/audio/music
(license license:gpl3+))))
(define-public alienblaster
(package
@@ -5349,124 +5335,54 @@ also available.")
(sha256
(base32 "05aj09rm50xb6910zx6imarj8k728x9bpvpa7ydwgb4sj1nypil8"))
(modules '((guix build utils)))
(snippet
'(begin
(with-directory-excursion "thirdparty"
;; Delete third party ibraries, except these libraries:
;; glad: header file is not available in the system glad package.
;; imgui: configured with "srb2_imconfig.h".
;; libwebm: Not available in Guix.
;; renamenoise: Not available in Guix.
;; tracy: header files are not available in the system tracy
;; package.
(for-each delete-file-recursively
'("discord-rpc"
"glm"
"nlohmann-json"
"overlay-ports/libyuv"
"tcbrindle_span"
"vma"
"volk"
"vulkan-headers"
"xmp-lite"))
;; Unbundle stb.
(with-directory-excursion "stb"
(for-each delete-file
'("include/stb_rect_pack.h"
"stb_vorbis.c"))
(substitute* "stb_rect_pack.c"
(("\"include\\/stb_rect_pack\\.h\"") "<stb_rect_pack.h>"))
(substitute* "CMakeLists.txt"
(("include\\/stb_rect_pack\\.h ") "")))
;; Find third party libraries from the system and do not add the
;; deleted directories.
(substitute* "CMakeLists.txt"
(("add_subdirectory\\((glm|discord-rpc|xmp-lite|fmt|volk)\\)"
_ keep)
(string-append "find_package(" keep " REQUIRED)"))
(("xmp-lite") "libxmp")
((".*nlohmann-json.*") "")
((".*tcbrindle_span.*") "")
((".*vulkan-headers.*") "")
((".*vma.*") "")))
(with-directory-excursion "src"
;; Link the system libraries instead of the unbundled ones.
(substitute* "CMakeLists.txt"
((".*tcbrindle::span.*") "")
(("glm::glm") "glm")
(("xmp-lite::xmp-lite") "xmp")
(("fmt::fmt-header-only") "fmt")
((".*nlohmann_json::nlohmann_json.*") "")))
;; Rename the icon to match with the executable file.
(rename-file "srb2.png" "ringracers.png")))))
(snippet '(begin
(with-directory-excursion "thirdparty"
(delete-file-recursively "glm")
(substitute* "CMakeLists.txt"
(("add_subdirectory\\(glm\\)")
"find_package(glm REQUIRED)")))
(with-directory-excursion "src"
(substitute* "CMakeLists.txt"
(("glm::glm")
"glm")))))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ;There are no tests.
#:configure-flags
#~(list "-DSRB2_CONFIG_ENABLE_DISCORDRPC=OFF"
"-DCMAKE_C_FLAGS_RELWITHDEBINFO='-O3 -g -DNDEBUG'"
#~(list "-DCMAKE_C_FLAGS_RELWITHDEBINFO='-O3 -g -DNDEBUG'"
"-DCMAKE_CXX_FLAGS_RELWITHDEBINFO='-O3 -g -DNDEBUG'")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'copy-stb_vorbis.c
(add-after 'install 'move-and-wrap-binary
;; Install executable to $out/bin.
(lambda* (#:key inputs #:allow-other-keys)
(install-file (search-input-file inputs "/stb_vorbis.c")
"thirdparty/stb")))
(replace 'install
(lambda _
(install-file "bin/ringracers" (string-append #$output "/bin"))
(install-file "../source/ringracers.png"
(string-append #$output "/share/pixmaps"))))
(add-after 'install 'wrap-program
(lambda* (#:key inputs #:allow-other-keys)
(wrap-program (string-append #$output "/bin/ringracers")
`("RINGRACERSWADDIR" =
(,(assoc-ref inputs "ring-racers-data"))))))
(add-after 'wrap-program 'create-desktop-entry
(lambda _
(let* ((datadir (string-append #$output "/share"))
(appdir (string-append datadir "/applications")))
(mkdir-p appdir)
(make-desktop-entry-file (string-append appdir
"/ringracers.desktop")
#:name "Dr. Robotnik's Ring Racers"
#:comment "Technical kart racing game"
#:icon "ringracers"
#:exec (string-append #$output "/bin/ringracers")
#:startup-notify #f
#:categories '("Application" "Game"))))))))
(native-inputs
(list pkg-config
(package-source stb)))
(inputs (list bash-minimal
curl
fmt
glm
(with-directory-excursion #$output
(mkdir "bin")
(rename-file "ringracers" "bin/ringracers")
(wrap-program "bin/ringracers"
`("RINGRACERSWADDIR" =
(,(assoc-ref inputs "ring-racers-data"))))))))))
(native-inputs (list pkg-config))
(inputs (list glm
libogg
libpng
libvorbis
libvpx
libxmp
libyuv
nlohmann-json
opus
ring-racers-data
sdl2
stb-rect-pack
tcbrindle-span
vulkan-headers
vulkan-memory-allocator
vulkan-volk
zlib))
(home-page "https://www.kartkrew.org/")
zlib
curl))
(home-page "https://kartkrew.org")
(synopsis "Technical kart racing game")
(description
"Dr.@: Robotnik's Ring Racers is a kart racing game drawing inspiration
from \"anti-gravity\" racers, fighting games, and traditional-style kart
racing. Ring Racers is designed with an emphasis on player agency in the face
of highly technical game-play challenges in both single-player and online
multiplayer modes.")
"Dr. Robotnik's Ring Racers is a kart racing game drawing inspiration from
``anti-gravity'' racers, fighting games, and traditional-style kart racing.
Ring Racers is designed with an emphasis on player agency in the face of highly
technical game-play challenges in both single-player and online multiplayer
modes.")
(license license:gpl2+)))
(define-public unknown-horizons
@@ -5618,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
@@ -5797,14 +5723,14 @@ world}, @uref{http://evolonline.org, Evol Online} and
(define-public openttd-engine
(package
(name "openttd-engine")
(version "15.3")
(version "15.2")
(source
(origin (method url-fetch)
(uri (string-append "https://cdn.openttd.org/openttd-releases/"
version "/openttd-" version "-source.tar.xz"))
(sha256
(base32
"1rrvjxsr2dp9zr6b35ifiw41c0dwqqcaq90r0x18misrgpm1x8jy"))))
"0xpzschcf562giqh3p8jj9gbi8chqrikdwgqqipabyn0nwbvd6nj"))))
(build-system cmake-build-system)
(inputs
(list allegro
@@ -6011,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") "\",
@@ -6038,7 +5964,7 @@ Transport Tycoon Deluxe.")
(package
(inherit openttd)
(name "openttd-jgrpp")
(version "0.72.0")
(version "0.70.2")
(source
(origin
(method git-fetch)
@@ -6047,7 +5973,7 @@ Transport Tycoon Deluxe.")
(commit (string-append "jgrpp-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0xbnnx03y8vhbgi6s7hsxhiqhsy6rhj7fypq6dfqh0z74m5bldkf"))))
(base32 "1jzzvribf2cqvjl9cympyx9qpplljvmhqrrlw7aq4ckzl92d87z3"))))
(inputs (modify-inputs inputs
(append zstd harfbuzz)))
(arguments
@@ -10225,7 +10151,7 @@ their own levels.")
(define-public libmanette
(package
(name "libmanette")
(version "0.2.13")
(version "0.2.12")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libmanette/"
@@ -10233,7 +10159,7 @@ their own levels.")
"libmanette-" version ".tar.xz"))
(sha256
(base32
"1bnqfxd9b5vff9256f8vxd404fkvbvc5gxva6qcjj2fyw3yw4z18"))))
"1n513s8ksjbrwqq7k46f3550avx11gly3a85shsdrwc0f4k4kcs8"))))
(build-system meson-build-system)
(native-inputs
(list `(,glib "bin") ; for glib-compile-resources
+14 -82
View File
@@ -425,29 +425,14 @@ hierarchical hexagonal geospatial indexing system")
(base32
"00qdk9a4048pzfj2rhzkfw3lvm642znf6kr4x29i3d94494pxsnn"))))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
,@(if (or (target-x86-32?) (target-arm32?))
'((add-after 'unpack 'disable-broken-tests
(lambda _
;; This test fails due to limited accuracy.
(delete-file "tests/xmltester/tests/general/TestCentroid.xml")
(with-directory-excursion "tests/unit"
;; These also fail due to limited accuracy.
(delete-file "algorithm/MinimumAreaRectangleTest.cpp")
(delete-file "capi/GEOSMinimumRotatedRectangleTest.cpp")
;; It is unclear why these fail, but I'm guessing:
;; limited accuracy.
(delete-file "linearref/LengthIndexedLineTest.cpp")
(delete-file "math/DDTest.cpp")))))
'())
(add-after
'unpack 'patch-test-shebangs
(lambda _
(substitute* '("tests/xmltester/testrunner.sh"
"tests/xmltester/safe_to_xml.sh")
(("/bin/sh") (which "sh"))))))))
(arguments `(#:phases
(modify-phases %standard-phases
(add-after
'unpack 'patch-test-shebangs
(lambda _
(substitute* '("tests/xmltester/testrunner.sh"
"tests/xmltester/safe_to_xml.sh")
(("/bin/sh") (which "sh"))))))))
(inputs
(list glib))
(home-page "https://libgeos.org/")
@@ -970,29 +955,6 @@ hydrology and waste deposition.")
(base32
"03r6mspfv22fs4x4jcgv25v9gsj5k6zy8incvyf94qf50g47s2bc"))))
(build-system cmake-build-system)
(arguments
(if (target-32bit?)
(list
#:phases
'(modify-phases %standard-phases
(add-after 'unpack 'patch-tests
(lambda _
;; These regression tests fail due to accuracy problems.
(substitute* "test/unit/test_factory.cpp"
(("^TEST\\(factory, AuthorityFactory_createUnitOfMeasure_linear_us_survey_foot\\) \\{" m)
(string-append m "\nGTEST_SKIP();\n")))
(substitute* "test/unit/test_grids.cpp"
(("^TEST_F\\(GridTest, VerticalShiftGridSet_gtx\\) \\{" m)
(string-append m "\nGTEST_SKIP();\n")))
(substitute* "test/unit/test_defmodel.cpp"
(("^TEST\\(defmodel, evaluator_horizontal_unit_metre\\) \\{" m)
(string-append m "\nGTEST_SKIP();\n")))
;; These regression tests fail due to accuracy problems.
(substitute* "test/CMakeLists.txt"
(("proj_add_gie_test\\(\"4D-API-cs2cs-style\".+") "")
(("proj_add_gie_test\\(\"Builtins\".+") "")
(("proj_add_gie_test\\(\"peirce_q\".+") ""))))))
'()))
(native-inputs (list googletest pkg-config))
(propagated-inputs (list curl libtiff sqlite)) ;required by proj.pc
(home-page "https://proj.org/")
@@ -1022,34 +984,7 @@ lets developers use the functionality of Proj in their own software.")
version ".tar.gz"))
(sha256
(base32
"1g0hkpiablvhsmw0kn5frwgdir3q7avc45p6lc1zhhhzkv5ikydh"))))
(arguments
(if (target-32bit?)
(list
#:phases
'(modify-phases %standard-phases
(add-after 'unpack 'patch-tests
(lambda _
;; These regression tests fail due to accuracy problems.
(substitute* "test/unit/test_factory.cpp"
(("^TEST\\(factory, AuthorityFactory_createUnitOfMeasure_linear_us_survey_foot\\) \\{" m)
(string-append m "\nGTEST_SKIP();\n")))
(substitute* "test/unit/test_grids.cpp"
(("^TEST_F\\(GridTest, VerticalShiftGridSet_gtx\\) \\{" m)
(string-append m "\nGTEST_SKIP();\n")))
(substitute* "test/unit/test_defmodel.cpp"
(("^TEST\\(defmodel, evaluator_horizontal_unit_metre\\) \\{" m)
(string-append m "\nGTEST_SKIP();\n")))
;; These regression tests fail due to accuracy problems.
(substitute* "test/CMakeLists.txt"
(("proj_add_gie_test\\(\"4D-API-cs2cs-style\".+") "")
(("proj_add_gie_test\\(\"Builtins\".+") "")
(("proj_add_gie_test\\(\"peirce_q\".+") "")
(("proj_add_gie_test\\(\"adams_ws2\".+") ""))
(substitute* "test/cli/CMakeLists.txt"
(("proj_add_test_script_sh\\(\"testvarious\" CS2CS_BIN\\)") ""))))))
'()))))
"1g0hkpiablvhsmw0kn5frwgdir3q7avc45p6lc1zhhhzkv5ikydh"))))))
(define-public python-obspy
(package
@@ -1284,23 +1219,20 @@ readily with other Python GIS packages such as pyproj, Rtree, and Shapely.")
(define-public python-geopack
(package
(name "python-geopack")
(version "1.0.12")
(version "1.0.10")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tsssss/geopack")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "geopack" version))
(sha256
(base32 "0ap5j4359xxjkbz06y097yq5d37sxcwlnlsfwrv6dvza7ydmgcgg"))))
(base32 "0mryjp7m4h99qlpvnn40s81sygr73qcv8rkmjp9pcli1gz829kjf"))))
(build-system pyproject-build-system)
(arguments
(list
;; XXX Reported upstream <https://github.com/tsssss/geopack/issues/21>.
#:tests? #f))
(native-inputs
(list python-setuptools))
(list python-pytest python-setuptools python-wheel))
(propagated-inputs
(list python-numpy python-scipy))
(home-page "https://github.com/tsssss/geopack")
+22 -11
View File
@@ -50,15 +50,15 @@
(define-public lcms
(package
(name "lcms")
(version "2.16.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/lcms/lcms/"
(version-major+minor version)
"/lcms2-" (version-major+minor version) ".tar.gz"))
(sha256
(base32 "0lasskcj7k0sp0z7cpnwwisp826j51i1l7v322hcxd5rv15d6wyq"))))
(version "2.13.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/lcms/lcms/"
(version-major+minor version)
"/lcms2-" version ".tar.gz"))
(sha256
(base32
"121v414bg2zk0fcwx0kigr2l6nxl88nmblfn3gq5lz5jwybffwyl"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")))
@@ -73,8 +73,19 @@ Consortium standard (ICC), approved as ISO 15076-1.")
(home-page "https://www.littlecms.com/")
(properties '((cpe-name . "little_cms_color_engine")))))
;; Can be removed after 2027/05/01.
(define-deprecated-package lcms-next lcms)
(define-public lcms-next
(package
(inherit lcms)
(name "lcms-next")
(version "2.16.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/lcms/lcms/"
(version-major+minor version)
"/lcms2-" (version-major+minor version) ".tar.gz"))
(sha256
(base32 "0lasskcj7k0sp0z7cpnwwisp826j51i1l7v322hcxd5rv15d6wyq"))))))
(define-public libpaper
(package
+43 -4
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+)))
+2 -2
View File
@@ -994,7 +994,7 @@ useful for C++.")
(define-public python-pygobject
(package
(name "python-pygobject")
(version "3.54.5")
(version "3.54.3")
(source
(origin
(method url-fetch)
@@ -1003,7 +1003,7 @@ useful for C++.")
"/pygobject-" version ".tar.gz"))
(sha256
(base32
"11dm5yi80v143dn21bayqxb53w67hk1lishmrw35c97m91inyrdn"))))
"1rxsj85xl73a14vz7s30sy8lx9sswd2j2hgj3i4mcz8g989hknm8"))))
(build-system meson-build-system)
;; The tests require mutter, which would introduce a circular dependency.
(arguments (list #:tests? #f))
+4 -4
View File
@@ -682,7 +682,7 @@ and a high score table.")
(define-public komikku
(package
(name "komikku")
(version "50.3.0")
(version "50.1.0")
(source
(origin
(method git-fetch)
@@ -692,7 +692,7 @@ and a high score table.")
(file-name (git-file-name name version))
(sha256
(base32
"0hm1infvdsms193g2yp7qw7lrsxjsx5zziib8hgch34y6dbhfhf1"))))
"0q858zvpqy32nb2lxdfy1k6fgal46kp634534fg983192fyk1pqp"))))
(build-system meson-build-system)
(arguments
(list
@@ -780,7 +780,7 @@ developed with the aim of being used with the Librem 5 phone.")
(define-public komikku-servers
(package
(name "komikku-servers")
(version "50.3.0")
(version "50.1.0")
(source
(origin
(method git-fetch)
@@ -790,7 +790,7 @@ developed with the aim of being used with the Librem 5 phone.")
(file-name (git-file-name name version))
(sha256
(base32
"0hm1infvdsms193g2yp7qw7lrsxjsx5zziib8hgch34y6dbhfhf1"))))
"0q858zvpqy32nb2lxdfy1k6fgal46kp634534fg983192fyk1pqp"))))
(build-system copy-build-system)
(arguments
(list
+169 -232
View File
@@ -215,7 +215,6 @@
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby-xyz)
#:use-module (gnu packages rust)
#:use-module (gnu packages rust-apps)
#:use-module (gnu packages samba)
#:use-module (gnu packages scanner)
#:use-module (gnu packages sdl)
@@ -2085,7 +2084,7 @@ offline sources, providing a centralized place for managing your contacts.")
(define-public gnome-desktop
(package
(name "gnome-desktop")
(version "44.5")
(version "44.4")
(source
(origin
(method url-fetch)
@@ -2094,16 +2093,11 @@ offline sources, providing a centralized place for managing your contacts.")
name "-" version ".tar.xz"))
(sha256
(base32
"0br33ma7l45nr8yp9bcjqgy9zrj57yy2fnkc0b0yh0rsdrd9kq10"))))
"1129nh32ga5vv869fwby3n2lvj2chd9wys8j1jdnisr8lg3bk30x"))))
(build-system meson-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-problematic-tests
(lambda _
;; The languages test fails due to Guix defaulting to C.UTF-8.
(substitute* "tests/meson.build"
((".*'languages':.*") ""))))
(add-before 'configure 'patch-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "libgnome-desktop/gnome-languages.c"
@@ -2693,7 +2687,7 @@ and single page document formats like PDF and DejaVu.")
(define-public gsettings-desktop-schemas
(package
(name "gsettings-desktop-schemas")
(version "49.1")
(version "48.0")
(source
(origin
(method url-fetch)
@@ -2702,7 +2696,7 @@ and single page document formats like PDF and DejaVu.")
name "-" version ".tar.xz"))
(sha256
(base32
"0qqfxml3kqg87ly5w8rhqalin6qv20jcn2gqkdmhga75sn1pyykp"))))
"1lqv5mn7r1c8nxm6dfxgvk56r2sqfgafkj5jm1jzh65z2dc1b3z6"))))
(build-system meson-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@@ -2880,7 +2874,7 @@ GNOME and KDE desktops to the icon names proposed in the specification.")
(define-public adwaita-icon-theme
(package
(name "adwaita-icon-theme")
(version "49.0")
(version "48.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -2888,7 +2882,7 @@ GNOME and KDE desktops to the icon names proposed in the specification.")
name "-" version ".tar.xz"))
(sha256
(base32
"0p3mj6bl8wp1cri2qdszqrqqs47irh7qvajr5yaaly5js5hn85k5"))))
"04kfi8qpvghhmj83p03k509pnsp8ywlrii1qm0xv056dxf39pznb"))))
(build-system meson-build-system)
(arguments
(list #:phases
@@ -3227,7 +3221,6 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
(build-system meson-build-system)
(arguments
(list
#:glib-or-gtk? #t
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
@@ -3235,13 +3228,17 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
(lambda _
(substitute* "meson_post_install.py"
(("gtk-update-icon-cache") "true"))))
(add-after 'unpack 'skip-modules-test
;; This test fails with 'GLib-GObject-FATAL-CRITICAL: cannot
;; register existing type 'GIRepository' since the GNOME 49
;; upgrades.
(lambda _
(substitute* "tests/meson.build"
((".*'modules', .*") ""))))
#$@(if (this-package-input "gjs")
'()
'((add-after 'unpack 'skip-gjs-test
(lambda _
;; When the optional dependency on GJS is missing, skip
;; the GJS plugin tests.
(substitute* "tests/modules.c"
(("g_test_add.*JavaScript.*" all)
(string-append "// " all "\n")))
(delete-file "tests/catalogs/gjsplugin.xml")))))
(add-before 'check 'pre-check
(lambda _
(setenv "HOME" "/tmp")
@@ -3497,7 +3494,7 @@ XML/CSS rendering engine.")
(define-public libgsf
(package
(name "libgsf")
(version "1.14.55")
(version "1.14.54")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -3505,7 +3502,7 @@ XML/CSS rendering engine.")
name "-" version ".tar.xz"))
(sha256
(base32
"0c91l0l3camxpanpgp634nd68vz3v0jbk9bxs5dfmlsvl6xhmmkl"))))
"08vny43clswk95djch50z17hdnns2p8qc93if6qcy4r598k6k26i"))))
(build-system glib-or-gtk-build-system)
(outputs '("out" "bin" "doc"))
(arguments
@@ -3553,7 +3550,7 @@ for dealing with different structured file formats.")
(define-public librsvg
(package
(name "librsvg")
(version "2.61.4")
(version "2.58.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/librsvg/"
@@ -3561,31 +3558,45 @@ for dealing with different structured file formats.")
"librsvg-" version ".tar.xz"))
(sha256
(base32
"036afbhd2h4brbd491kmgig0ib1df3s7j9bx8349b3zjs4lfm87w"))))
(build-system meson-build-system)
"0ym2yg94sc7ralh1kwqqrhz3wcc51079z90mbx0qrls7wfh36hi2"))))
(build-system gnu-build-system)
(outputs '("out" "doc" "debug"))
(arguments
(list
#:configure-flags
#~(list #$@(if (%current-target-system)
#~( ;; g-ir-scanner can't import its modules
#~(list "--disable-static"
#$@(if (%current-target-system)
#~(;; g-ir-scanner can't import its modules
;; and vala currently can't be cross-compiled.
"-Dintrospection=false"
"-Dvala=false"
"--enable-introspection=no"
"--enable-vala=no"
;; These two are necessary for cross-compiling.
(string-append
"--build=" #$(nix-system->gnu-triplet
(%current-system)))
(string-append
"--host=" #$(%current-target-system))
;; This is needed when cross-compiling for some
;; architectures as autoconf and rust disagree about
;; the target triplet.
(string-append "-Dtriplet="
(string-append "RUST_TARGET="
#$(platform-rust-target
(lookup-platform-by-target
(%current-target-system)))))
#~())
"-Dpixbuf-loader=enabled") ;disabled since 2.61.2
#:imported-modules (append %cargo-build-system-modules
%meson-build-system-modules)
#~("--enable-vala")))
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "PKG_CONFIG=" #$(pkg-config-for-target))
#$@(if (%current-target-system)
#~((string-append "RUST_TARGET="
#$(platform-rust-target
(lookup-platform-by-target
(%current-target-system)))))
#~()))
#:imported-modules %cargo-build-system-modules
#:modules
'(((guix build cargo-build-system) #:prefix cargo:)
(guix build meson-build-system)
(guix build gnu-build-system)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
@@ -3602,19 +3613,12 @@ for dealing with different structured file formats.")
(lambda _
;; Something about the build environment resists building
;; successfully with the '--locked' flag.
(substitute* "meson/cargo_wrapper.py"
(("\"--locked\",?") ""))
;; This is needed so Cargo embeds the correct RUNPATH
;; information to the binaries it produces,
;; e.g. libpixbufloader_svg.so.
(setenv "RUSTFLAGS"
(string-append "-C link-arg=-Wl,-rpath,"
#$output "/lib"))))
(add-after 'unpack 'prepare-for-tests
(substitute* '("Makefile.am" "Makefile.in")
(("--locked") ""))))
(add-after 'unpack 'loosen-test-boundaries
(lambda _
(setenv "HOME" "/tmp") ;placate fontconfig errors
;; Increase reftest tolerance a bit to account for different
;; libraries like pango, etc.
;; harfbuzz, pango, etc.
(setenv "RSVG_TEST_TOLERANCE" "20")
;; These tests fail even after loosening the tolerance.
(substitute* "rsvg/tests/reference.rs"
@@ -3622,16 +3626,19 @@ for dealing with different structured file formats.")
((".*rtl_tspan_svg.*") ""))))
(add-before 'configure 'pre-configure
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "gdk-pixbuf-loader/meson.build"
(substitute* "gdk-pixbuf-loader/Makefile.in"
;; By default the gdk-pixbuf loader is installed under
;; gdk-pixbuf's prefix. Work around that.
(("pixbuf_dep.get_variable.*'gdk_pixbuf_moduledir'.*),")
(format #f "get_option('prefix') / '~a',"
#$%gdk-pixbuf-loaders-directory))
(("pixbuf_dep.get_variable.*'gdk_pixbuf_query_loaders'.*),")
(format #f "'~a'," (which "gdk-pixbuf-query-loaders")))
(("pixbuf_dep.get_variable.*'gdk_pixbuf_cache_file'.*)")
(format #f "prefix / '~a'" #$%gdk-pixbuf-loaders-cache-file)))))
(("gdk_pixbuf_moduledir = .*$")
(string-append "gdk_pixbuf_moduledir = "
"$(prefix)/"
#$(dirname %gdk-pixbuf-loaders-cache-file) "/"
"loaders\n")))
(substitute* "configure"
(("gdk_pixbuf_cache_file=.*")
(string-append "gdk_pixbuf_cache_file="
#$output "/"
#$%gdk-pixbuf-loaders-cache-file "\n")))))
(add-after 'unpack 'prepare-cargo-build-system
(lambda args
(for-each
@@ -3643,30 +3650,23 @@ for dealing with different structured file formats.")
'(unpack-rust-crates
configure
check-for-pregenerated-files
patch-cargo-checksums))))
(add-after 'install 'sanitize-pkg-config-files
(lambda _
(substitute* (find-files #$output "\\.pc$")
(("^Requires.private:.*") "")))))))
patch-cargo-checksums)))))))
(native-inputs
(append
(list gdk-pixbuf
gi-docgen
`(,glib "bin")
gobject-introspection
pkg-config
python
python-docutils ;for rst2man
rust
rust-cargo-c
`(,rust "cargo")
vala)
(or (and=> (%current-target-system)
(compose list make-rust-sysroot))
'())))
(inputs
(cons* dav1d
freetype
(cons* freetype
gobject-introspection
harfbuzz
libxml2
pango
(cargo-inputs 'librsvg)))
@@ -4667,7 +4667,7 @@ and RDP protocols.")
(define-public dconf
(package
(name "dconf")
(version "0.49.0")
(version "0.40.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4676,7 +4676,7 @@ and RDP protocols.")
name "-" version ".tar.xz"))
(sha256
(base32
"0dkc7nbd0byibf6i5gm9xqclr7i94n1p1qbqcnwxnml1lm4px90n"))))
"0cs5nayg080y8pb9b7qccm1ni8wkicdmqp1jsgc22110r6j24zyg"))))
(build-system meson-build-system)
(arguments
(list
@@ -4685,8 +4685,7 @@ and RDP protocols.")
;; there and loaded without having to set GCONF_PROFILE, which cannot be
;; safely set globally (as a gconf profile is a per-user thing).
#:configure-flags #~(list "--sysconfdir=/etc"
"-Dgtk_doc=true"
"--wrap-mode=nodownload") ;for gvdb
"-Dgtk_doc=true")
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'increase-test-timeout
(lambda _
@@ -5212,26 +5211,17 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.")
(define-public gi-docgen
(package
(name "gi-docgen")
(version "2026.1")
(version "2025.4")
(source (origin
(method url-fetch)
(uri (pypi-uri "gi_docgen" version))
(sha256
(base32
"1df7yb6d5zsr4wks4p2lf40a2v4v2dasx3pv2v3d2ma25d7krb35"))))
"1i9dlwirizc0n5sw9w60yscaj14x9x06fdq64kwxqkia13d6dq3z"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-commands
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("gidocgen/config.py"
"gidocgen/utils.py")
(("find_program\\(['\"]dot['\"])")
(format #f "find_program(~s)"
(search-input-file inputs "bin/dot")))))))))
(native-inputs (list python-pytest-bootstrap python-setuptools))
(inputs (list graphviz-14))
(native-inputs
(list python-pytest-bootstrap
python-setuptools))
(propagated-inputs (list python-jinja2
python-markdown
python-markupsafe
@@ -6988,10 +6978,10 @@ side panel;
(license license:gpl2+)))
;; Also update (@ (gnu packages rust-sources) rust-glycin-3) when updating this.
(define-public libglycin
(define-public glycin-loaders
(package
(name "libglycin")
(version "2.1.1")
(name "glycin-loaders")
(version "2.0.7")
(source
(origin
(method git-fetch)
@@ -7001,16 +6991,12 @@ side panel;
(file-name (git-file-name name version))
(sha256
(base32
"1mrv733xhbxydww4szskv7jc0hif908aavh8h4kjcxp0zgy13blf"))
"0v6szxk5h8a4b28xb0lrhqrq6b4vka2ha4qgpdp35f6c49v9pdyp"))
(patches (search-patches "glycin-sandbox-Adapt-bwrap-invocation.patch"))))
(outputs '("out" "debug"))
(build-system meson-build-system)
(arguments
(list
#:configure-flags #~(list "-Dglycin-loaders=false"
"-Dglycin-thumbnailer=true"
"-Dlibglycin=true"
"-Dlibglycin-gtk4=true")
#:imported-modules `(,@%meson-build-system-modules
,@%cargo-build-system-modules)
#:modules `(((guix build cargo-build-system) #:prefix cargo:)
@@ -7096,15 +7082,18 @@ side panel;
(method git-fetch)
(uri (git-reference
(url "https://gitlab.gnome.org/sophie-h/test-images.git")
(commit "b3a107267cc4f1d136b7007938556250ce06fc4f")))
(commit "b148bcf70847d6f126a8e83e27e1c59d2e474adf")))
(file-name "glycin-test-images")
(sha256
(base32
"1jvra75kjqkndxzzpmi5lb8d3q4fi3yc4hha0r1g9brdsnbhsp6f")))))
"16s3lss4cbny5d0ixhc0vaxxcvq2n7rcnbklrxdm84p2m21192vm")))))
(inputs (cons* bubblewrap
libheif
libjxl
librsvg
(cargo-inputs 'glycin)))
;; The following inputs are 'Required' in the pkg-config files.
(propagated-inputs (list fontconfig glib gtk lcms libseccomp))
(propagated-inputs (list fontconfig glib gtk lcms-next libseccomp))
(home-page "https://gitlab.gnome.org/GNOME/glycin")
(synopsis "Rust library for sandboxed image decoding")
(description "Glycin is a sandbox image decoder for image viewers and
@@ -7112,22 +7101,6 @@ thumbnails to display untrusted content safely. This package provides the
runtime image loader executables that are used inside the sandbox.")
(license (list license:mpl2.0 license:lgpl2.1+))))
(define-public glycin-loaders
(package/inherit libglycin
(name "glycin-loaders")
(arguments
(substitute-keyword-arguments arguments
((#:configure-flags original-flags #~(list))
#~(list "-Dglycin-loaders=true"
"-Dglycin-thumbnailer=false"
"-Dlibglycin=false"
"-Dlibglycin-gtk4=false"))))
(inputs
(modify-inputs inputs
(prepend libheif
libjxl
librsvg)))))
(define-public loupe
(package
(name "loupe")
@@ -7198,7 +7171,6 @@ runtime image loader executables that are used inside the sandbox.")
gtk
lcms
libadwaita
libglycin
libgweather
libseccomp
(cargo-inputs 'loupe)))
@@ -7239,14 +7211,14 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.")
(define-public msgraph
(package
(name "msgraph")
(version "0.3.4")
(version "0.3.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/msgraph/"
(version-major+minor version) "/"
"msgraph-" version ".tar.xz"))
(sha256
(base32 "1iyn0jdqgw238cxaxvji0v9ds0xwfzffz65xpgzywcibn3kfqc87"))))
(base32 "04j00lf0aqiccgbg95jh9sxmx48bgsrg110ilap9014r58py3mrp"))))
(build-system meson-build-system)
(native-inputs (list gi-docgen gobject-introspection pkg-config uhttpmock))
(inputs (list gnome-online-accounts json-glib libsoup librest))
@@ -7259,7 +7231,7 @@ MS Graph APIs.")
(define-public gvfs
(package
(name "gvfs")
(version "1.58.1")
(version "1.58.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/gvfs/"
@@ -7267,7 +7239,7 @@ MS Graph APIs.")
"gvfs-" version ".tar.xz"))
(sha256
(base32
"0fywnla2xwyi44jfipyixcczxh5h34c4lzfzf9lsgzxip9mpslzw"))))
"0bqq9z1y31yk3c8wz8i8fql7dr8cfxsd5a49xc4v7z6hfdlf76yx"))))
(build-system meson-build-system)
(arguments
(list
@@ -7617,7 +7589,7 @@ environments.")
(define-public yelp-xsl
(package
(name "yelp-xsl")
(version "49.0")
(version "42.4")
(source
(origin
(method url-fetch)
@@ -7626,7 +7598,7 @@ environments.")
(version-major version) "/"
name "-" version ".tar.xz"))
(sha256
(base32 "1v7va1xa80pyj0dyfraalvsag4m0lza4v87r2i7phyz6iy7kmm2r"))))
(base32 "1lfpmdc4y46a528q5filn6xs8add921avrnwl2vpysp6n9zb1szx"))))
(build-system meson-build-system)
(native-inputs
(list mallard-ducktype
@@ -7654,7 +7626,7 @@ jQuery.Syntax JavaScript libraries.")
(define-public yelp
(package
(name "yelp")
(version "49.0")
(version "42.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -7662,7 +7634,7 @@ jQuery.Syntax JavaScript libraries.")
name "-" version ".tar.xz"))
(sha256
(base32
"0mrlqsbr2wb0k2p3dmywzdb0c0rzcx1dv6qlimxzx9ab3w5lwqg6"))))
"18w95bfhq3d364af1qqb63rgaixkrl7xk0x079x6m7lscwic9k16"))))
(build-system meson-build-system)
(arguments
(list #:phases
@@ -7687,9 +7659,7 @@ jQuery.Syntax JavaScript libraries.")
`("PATH" ":" prefix
(,(dirname (search-input-file inputs "bin/groff"))))))))))
(native-inputs
(list desktop-file-utils
`(,glib "bin") ;for glib-genmarshal, etc.
`(,gtk "bin")
(list `(,glib "bin") ; for glib-genmarshal, etc.
intltool
itstool
pkg-config))
@@ -7698,14 +7668,13 @@ jQuery.Syntax JavaScript libraries.")
(inputs
(list bash-minimal
gsettings-desktop-schemas
libadwaita
libhandy
libxslt
man-db ;for URIs like "man:ls"
groff-minimal ;ditto
gtk
man-db ;for URIs like "man:ls"
groff-minimal ;ditto
gtk+
sqlite
webkitgtk
webkitgtk-for-gtk3
yelp-xsl))
(home-page "https://wiki.gnome.org/Apps/Yelp")
(synopsis "GNOME help browser")
@@ -7994,88 +7963,57 @@ configuration program to choose applications starting on login.")
(define-public gjs
(package
(name "gjs")
(version "1.88.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"0ly43lcpafl0an3k4g4mvwrwvc78f0y91ckdi6qn13ky67rvk81h"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "subprojects"
"gobject-introspection-tests")))))
(version "1.84.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"0rh1fkkb35aa1zrhzbizzxllkwc3snkw67i901in61ap6kgjw51m"))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* "installed-tests/scripts/testCommandLine.sh"
(("Valentín") "")
(("☭") ""))
(substitute* "modules/script/package.js"
(("type_default_interface_ref")
"type_default_interface_get"))))))
(build-system meson-build-system)
(arguments
(list
#:modules '((guix build meson-build-system)
(guix build utils)
(ice-9 match))
#:configure-flags #~(list "-Dinstalled_tests=false")
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'wrap-gi
(lambda* (#:key inputs #:allow-other-keys)
(wrap-program (string-append #$output "/bin/gjs")
`("GI_TYPELIB_PATH" suffix
(,(dirname
(search-input-file
inputs
"lib/girepository-1.0/GObject-2.0.typelib"))
,(dirname
(search-input-file
inputs
"lib/girepository-1.0/GIRepository-2.0.typelib")))))))
(replace 'check
(lambda* (#:key tests? parallel-tests? #:allow-other-keys)
(when tests?
;; For the missing /etc/machine-id.
(setenv "DBUS_FATAL_WARNINGS" "0")
(setenv "HOME" (getcwd))
;; In Guix, gobject-introspection is patched to always embed
;; the absolute path of a typelib library; unfortunately it
;; does this also for test typelibs not meant to be installed;
;; work around it via temporary symlinks.
(let* ((test-libraries (find-files (getcwd)
"\\.so(\\.[0-9]*)?$"))
(test-library-links (map (lambda (x)
(cons x (string-append
#$output "/lib/"
(basename x))))
test-libraries)))
(for-each (match-lambda
((old . new)
(symlink old new)))
test-library-links)
(invoke "xvfb-run" "--" "dbus-run-session"
"meson" "test" "--print-errorlogs" "-t" "0"
"-j" (if parallel-tests?
(number->string (parallel-job-count))
"1"))
(for-each delete-file (map cdr test-library-links))))))
(add-after 'install 'delete-installed-tests
(lambda _
;; Installed tests libraries are installed despite
;; -Dinstalled_tests=false.
(delete-file-recursively
(string-append #$output "/libexec/installed-tests"))))
(add-after 'install 'sanitize-pkg-config-files
(lambda _
(substitute* (find-files #$output "\\.pc$")
(("^Requires.private:.*") "")))))))
'(#:configure-flags '("-Dinstalled_tests=false")
#:phases
(modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda _
;; The test suite requires a running X server.
(system "Xvfb :1 &")
(setenv "DISPLAY" ":1")
;; For the missing /etc/machine-id.
(setenv "DBUS_FATAL_WARNINGS" "0")
(setenv "HOME" (getcwd))))
(add-after 'unpack 'skip-failing-tests
(lambda _
;; Expects to test against 2.84, but we're using 2.86.
(substitute* "installed-tests/js/testIntrospection.js"
(("const skip = imports.gi.versions.GioUnix !== '2\\.0';")
"const skip = true;"))))
(add-after 'install 'wrap-gi
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (string-append (assoc-ref outputs "out")
"/bin/gjs")
`("GI_TYPELIB_PATH" suffix
(,(dirname
(search-input-file
inputs
"lib/girepository-1.0/GObject-2.0.typelib"))
,(dirname
(search-input-file
inputs
"lib/girepository-1.0/GIRepository-2.0.typelib"))))))))))
(native-inputs
(list `(,glib "bin") ;for glib-compile-resources
pkg-config
@@ -8083,16 +8021,16 @@ configuration program to choose applications starting on login.")
;; For testing
dbus
dconf ;required to properly store settings
gtk+
sysprof
util-linux
xvfb-run))
(inputs (list mozjs readline))
xorg-server-for-tests))
(propagated-inputs
;; These are all in the Requires field of gjs-1.0.pc.
(list glib gobject-introspection))
;; These are all in the Requires.private field of gjs-1.0.pc.
;; Check the version of mozjs required in meson.build.
(list cairo gobject-introspection mozjs-128))
(inputs
(list gtk+ readline))
(synopsis "Javascript bindings for GNOME")
(home-page "https://gitlab.gnome.org/GNOME/gjs")
(home-page "https://wiki.gnome.org/Gjs")
(description
"Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
javascript engine and the GObject introspection framework.")
@@ -8414,7 +8352,7 @@ window manager.")
(define-public gnome-online-accounts
(package
(name "gnome-online-accounts")
(version "3.56.4")
(version "3.54.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -8422,7 +8360,7 @@ window manager.")
name "-" version ".tar.xz"))
(sha256
(base32
"1cv1l757g4iac39l0ccwvqhibyjdjhy9q8p86fp8mqs5mfnix0ra"))))
"10bwrc50aqaf7j3qabv7zpfnf2dmf9mwbmnjpgqfqsmny2ba80pb"))))
(build-system meson-build-system)
(arguments
(list
@@ -9943,7 +9881,7 @@ easy, safe, and automatic.")
(define-public tinysparql
(package
(name "tinysparql")
(version "3.10.1")
(version "3.9.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/tinysparql/"
@@ -9951,7 +9889,7 @@ easy, safe, and automatic.")
"tinysparql-" version ".tar.xz"))
(sha256
(base32
"0r824dz8szfwd2z95nk8ffkvwq0ayva0wa6n1railrxnkmw3wzss"))))
"13mddmszrk4ihfwi5n67v5ykf01fmld4pkmw4881hphk4j807khl"))))
(build-system meson-build-system)
(arguments
(list
@@ -10234,7 +10172,6 @@ through portals.")
gst-plugins-base
json-glib
libadwaita
libglycin
libportal
libseccomp
libselinux
@@ -10306,7 +10243,7 @@ is complete it provides a graphical representation of each selected folder.")
(define-public gnome-backgrounds
(package
(name "gnome-backgrounds")
(version "49.0")
(version "48.2.1")
(source
(origin
(method url-fetch)
@@ -10315,7 +10252,7 @@ is complete it provides a graphical representation of each selected folder.")
name "-" version ".tar.xz"))
(sha256
(base32
"1dgl8jxczx2cwszg07bhrjpcg2rywfcak2d5md20x84bwl6jdzh1"))))
"1n8ypmdgpp2hj7jsbpicha0d2pfnqbwmavcjfzlmr3qd5rxmn73a"))))
(build-system meson-build-system)
(native-inputs (list gettext-minimal))
(home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
@@ -10380,7 +10317,7 @@ beautifying border effects.")
(define-public dconf-editor
(package
(name "dconf-editor")
(version "49.0")
(version "45.0.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -10388,7 +10325,7 @@ beautifying border effects.")
name "-" version ".tar.xz"))
(sha256
(base32
"16fkppclv7xzglfafqg8b9nd5cjqlfwlyci800gg7psivzxcra4h"))))
"1pa1k510qx4v0ywhqwpj3qfjyz8qiiis4565ghhydnpfg1v2k00i"))))
(build-system meson-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
@@ -10737,7 +10674,6 @@ playing media, scanning, and much more.")
system-config-printer
xdg-desktop-portal
xdg-user-dirs
xdg-user-dirs-gtk
yelp
zenity))
(description "This package provides a list of packages required for
@@ -11639,8 +11575,7 @@ accessibility infrastructure.")
name "-" version ".tar.xz"))
(sha256
(base32
"0sfs06f66dsibvnp87jshhs7n3f8shkn9x7j3ygpk8409za2n2xy"))
(patches (search-patches "orca-fix-gst-init-check-call.patch"))))
"0sfs06f66dsibvnp87jshhs7n3f8shkn9x7j3ygpk8409za2n2xy"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
@@ -11658,7 +11593,10 @@ accessibility infrastructure.")
(pgrep (string-append
(assoc-ref inputs "procps") "/bin/pgrep")))
(substitute* "src/orca/orca_modifier_manager.py"
(("\"xkbcomp\"") (format #f "'~a'" xkbcomp)))
(("'xkbcomp'") (format #f "'~a'" xkbcomp)))
(substitute* "src/orca/debug.py"
(("'pgrep %s'")
(format #f "'~a %s'" pgrep)))
(substitute* "src/orca/orca_bin.py.in"
(("'pgrep -u %s -x orca'")
(format #f "'~a -u %s -x orca'" pgrep))))))
@@ -11689,7 +11627,6 @@ accessibility infrastructure.")
`(,liblouis "python")
procps ; for pgrep
python
python-dbus
python-pygobject-3.50
python-pyatspi
speech-dispatcher
@@ -13446,7 +13383,7 @@ GObject introspection bindings.")
(define-public sysprof
(package
(name "sysprof")
(version "49.0")
(version "48.1")
(source
(origin
(method url-fetch)
@@ -13454,7 +13391,7 @@ GObject introspection bindings.")
(version-major version) "/"
"sysprof-" version ".tar.xz"))
(sha256
(base32 "0y18535lymqv684n8aa2v601d61v6aj8f84690cq8p3q6yb1617z"))))
(base32 "1qmv76877vkw2ajfnc4cr8gw5qch5m32qm1fybig3vgizvymgwal"))))
(build-system meson-build-system)
(arguments
(list
@@ -13751,7 +13688,7 @@ Document Analysis and Recognition program.")
(define-public libadwaita
(package
(name "libadwaita")
(version "1.8.4")
(version "1.8.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/libadwaita/"
@@ -13759,7 +13696,7 @@ Document Analysis and Recognition program.")
"libadwaita-" version ".tar.xz"))
(sha256
(base32
"074j59bz5zgnb7grw3clpwyxickw9268k6fj0980bw8gdxxvfayh"))))
"1cdda2sk1w5jmfkism8v6ihl03gs2s72klx7j230wx4i847nx6jq"))))
(build-system meson-build-system)
(arguments
`(#:phases
+4 -3
View File
@@ -26,7 +26,6 @@
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2025 Antoine Côté <antoine.cote@posteo.net>
;;; Copyright © 2026 Luis Guilherme Coelho <lgcoelho@disroot.org>
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -972,8 +971,10 @@ passphrase when @code{gpg} is run and needs it.")))
(lambda _
(invoke "sh" "autogen.sh"))))))
(native-inputs
(modify-inputs native-inputs
(prepend autoconf automake gettext-minimal)))
`(("autoconf" ,autoconf)
("automake" ,automake)
("gettext" ,gettext-minimal)
,@(package-native-inputs pinentry-tty)))
(inputs
(modify-inputs inputs
(prepend efl)))
+355 -515
View File
@@ -106,6 +106,355 @@
#:use-module (gnu packages sqlite)
#:use-module (gnu packages time))
(define-public mozjs
(package
(name "mozjs")
(version "140.3.0")
(source (origin
(method url-fetch)
;; TODO: Switch to IceCat source once available on ftp.gnu.org.
(uri (string-append "https://ftp.mozilla.org/pub/firefox"
"/releases/" version "esr/source/firefox-"
version "esr.source.tar.xz"))
(sha256
(base32
"05i3czn3v2qnhir8apcphbqy7rmy1dn7kcwx5yyi2qvmjcyfpipg"))))
(build-system gnu-build-system)
(arguments
(list
#:imported-modules %cargo-utils-modules ;for `generate-all-checksums'
#:modules `((guix build cargo-utils)
,@%default-gnu-modules)
#:test-target "check-jstests"
#:configure-flags
#~(list
;; Disable debugging symbols to save space.
"--disable-debug"
"--disable-debug-symbols"
;; This is important because without it gjs will segfault during the
;; configure phase. With jemalloc only the standalone mozjs console
;; will work.
"--disable-jemalloc"
"--enable-tests"
"--enable-hardening"
"--enable-optimize"
"--enable-release"
"--enable-readline"
"--enable-rust-simd"
"--enable-shared-js"
"--with-system-icu"
"--with-system-nspr"
"--with-system-zlib"
"--with-intl-api")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'python-3.11-compatibility
(lambda _
(substitute* '("python/mozbuild/mozpack/files.py"
"python/mozbuild/mozbuild/util.py"
"python/mozbuild/mozbuild/action/process_define_files.py"
"python/mozbuild/mozbuild/backend/base.py"
"python/mozbuild/mozbuild/preprocessor.py")
(("\"rU\"") "\"r\""))))
(add-after 'patch-source-shebangs 'patch-cargo-checksums
(lambda _
(let ((null-hash
"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"))
(for-each (lambda (file)
(format #t "patching checksums in ~a~%" file)
(substitute* file
(("^checksum = \".*\"")
(string-append "checksum = \"" null-hash "\""))))
(find-files "." "Cargo\\.lock$"))
(for-each generate-all-checksums
'("js" "third_party/rust")))))
(replace 'configure
(lambda* (#:key configure-flags #:allow-other-keys)
;; The configure script does not accept environment variables as
;; arguments. It also must be run from a different directory,
;; but not the root directory either.
(mkdir "run-configure-from-here")
(chdir "run-configure-from-here")
;; Configure script writes to $HOME.
(setenv "HOME" (getcwd))
(setenv "SHELL" (which "sh"))
(setenv "CONFIG_SHELL" (which "sh"))
(setenv "AUTOCONF" (which "autoconf"))
(apply invoke "python" "../configure.py"
"--enable-project=js"
(string-append "--prefix=" #$output)
configure-flags)))
(add-before 'check 'adjust-tests
(lambda _
(with-directory-excursion "../js/src/tests"
(substitute* "shell/os.js"
;; FIXME: Why does the killed process have an exit status?
((".*killed process should not have exitStatus.*")
""))
;; Most of the timezone related failures are probably
;; attributable to our use of a system-provided icu4c library
;; instead of the bundled one.
(for-each
delete-file
'( ;; FIXME: An one-hour difference is produced after DST
;; starting in the timezone the test suite uses.
"non262/Date/15.9.5.7.js"
;; The test suite expects a lightly patched ICU. Disable tests
;; that do not work with the system version. See
;; "intl/icu-patches" for clues.
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
;; related patch for why this is failing.
"non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js"
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
"non262/Intl/DateTimeFormat/day-period-hour-cycle.js"
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
"non262/Intl/available-locales-supported.js"
;; FIXME: got "en-US", expected "en-US-POSIX"
"non262/Intl/available-locales-resolved.js"
;;; Since 115:
;; Mismatching array lengths
"non262/Intl/supportedValuesOf-timeZones-canonical.js"
;; TODO: tzdata 2024a expected find a way to regenerate
;; these generated tests
"non262/Intl/DateTimeFormat/timeZone_version.js"
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
"non262/Intl/Collator/implicithan.js"
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
"non262/Intl/Collator/big5han-gb2312han.js"
;; Since 128:
;; FIXME: got (void 0), expected "GMT"
"non262/Intl/DateTimeFormat/formatRange-timeZoneName-matches-format.js"
;; FIXME: got 7, expected 9: parts count mismatch
"non262/Intl/DateTimeFormat/formatRange-timeZone-offset.js"
"non262/Intl/DateTimeFormat/formatRange-timeZoneName.js"
;; Since 140:
;; RangeError: invalid time zone: America/Coyhaique
"non262/Temporal/ZonedDateTime/zones-and-links.js"
;; got 2042, expected 2043
"non262/Temporal/Intl/consistent-dates.js"
;; got "Pacific/Auckland", expected "Antarctica/McMurdo"
"non262/Intl/DateTimeFormat/timeZone_links.js"
"test262/staging/sm/Temporal/ZonedDateTime/zones-and-links.js"
;; Test262Error: Expected true but got false
"test262/staging/Intl402/Temporal/old/zoneddatetime-dst-corner-cases.js"
;; Test262Error: getTimeZoneTransition(next) does not return its input
"test262/intl402/Temporal/ZonedDateTime/prototype/\
getTimeZoneTransition/result-type.js"
;; Expected SameValue («1912-01-01T00:16:08+00:00[Africa/Abidjan]», «null»
"test262/intl402/Temporal/ZonedDateTime/prototype/\
getTimeZoneTransition/transition-at-instant-boundaries.js"
;; Expected SameValue(«1762063200000000000n», «1572760800000000000n»
"test262/intl402/Temporal/ZonedDateTime/prototype/\
getTimeZoneTransition/specific-tzdb-values.js"
;; Expected SameValue(«"2025-03-30T03:00:00+02:00[Europe/Berlin]"»,
;; «"2020-10-25T02:00:00+01:00[Europe/Berlin]"»
"test262/intl402/Temporal/ZonedDateTime/prototype/\
getTimeZoneTransition/nanoseconds-subtracted-or-added-at-dst-transition.js"
;; TypeError: can't access property "epochNanoseconds",
;; before.getTimeZoneTransition(...) is null
"test262/intl402/Temporal/ZonedDateTime/prototype/\
getTimeZoneTransition/transitions-close-together.js")))))
(add-before 'check 'pre-check
(lambda _
(setenv "JSTESTS_EXTRA_ARGS"
(string-join
(list
;; Do not run tests marked as "random".
"--exclude-random"
;; Exclude web platform tests.
"--wpt=disabled"
;; Respect the daemons configured number of jobs.
(string-append "--worker-count="
(number->string (parallel-job-count)))))))))))
(native-inputs
(list autoconf
llvm ;for llvm-objdump
m4
perl
pkg-config
python-wrapper
rust
`(,rust "cargo")
rust-cbindgen))
(inputs
(list icu4c-77 readline zlib))
(propagated-inputs
(list nspr)) ; in the Requires.private field of mozjs-*.pc
(home-page
"https://spidermonkey.dev/")
(synopsis "Mozilla JavaScript engine")
(description "SpiderMonkey is Mozilla's JavaScript engine written
in C/C++.")
(license license:mpl2.0))) ; and others for some files
(define-public mozjs-128
(package
(inherit mozjs)
(version "128.3.1")
(source (origin
(method url-fetch)
;; TODO: Switch to IceCat source once available on ftp.gnu.org.
(uri (string-append "https://ftp.mozilla.org/pub/firefox"
"/releases/" version "esr/source/firefox-"
version "esr.source.tar.xz"))
(sha256
(base32
"1a3h7p7126pxzpidb1lqckvhfh1had805mai4l96mnc878phbx61"))))
(arguments
(substitute-keyword-arguments arguments
((#:configure-flags flags)
#~(delete "--enable-rust-simd" #$flags))
((#:phases phases)
#~(modify-phases #$phases
(replace 'adjust-tests
(lambda _
(with-directory-excursion "../js/src/tests"
(substitute* "shell/os.js"
;; FIXME: Why does the killed process have an exit status?
((".*killed process should not have exitStatus.*")
""))
;; This was fixed sometime between 102.15.1 and 115.11.0.
;; These tests are supposed to be skipped on all 64-bit systems.
#$@(if (target-riscv64?)
#~((substitute* '("non262/Array/regress-157652.js"
"non262/regress/regress-422348.js")
(("mips64") "mips64|riscv64")))
#~())
;; FIXME: An one-hour difference is produced after DST
;; starting in the timezone the test suite uses.
(delete-file "non262/Date/15.9.5.7.js")
;; The test suite expects a lightly patched ICU. Disable tests
;; that do not work with the system version. See
;; "intl/icu-patches" for clues.
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
;; related patch for why this is failing.
(delete-file "non262/Intl/DateTimeFormat/\
fractional-second-digits-append-item.js")
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
(delete-file "non262/Intl/DateTimeFormat/day-period-hour-cycle.js")
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
(delete-file "non262/Intl/available-locales-supported.js")
;; FIXME: got "en-US", expected "en-US-POSIX"
(delete-file "non262/Intl/available-locales-resolved.js")
;;; Since 115:
;; Mismatching array lengths
(delete-file "non262/Intl/supportedValuesOf-timeZones-canonical.js")
;; FIXME: got "America/Santa_Isabel", expected "America/Tijuana":
;; America/Santa_Isabel -> America/Tijuana
(delete-file "non262/Intl/DateTimeFormat/timeZone_backward_links.js")
;; TODO: tzdata 2024a expected find a way to regenerate
;; these generated tests
(delete-file "non262/Intl/DateTimeFormat/timeZone_version.js")
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
(delete-file "non262/Intl/Collator/implicithan.js")
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
(delete-file "non262/Intl/Collator/big5han-gb2312han.js")
;; Since 128:
;; FIXME: got (void 0), expected "GMT"
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZoneName-matches-format.js")
;; FIXME: got 7, expected 9: parts count mismatch
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZone-offset.js")
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZoneName.js"))))))))
(inputs
(list icu4c-73 readline zlib))))
(define-public mozjs-115
(package
(inherit mozjs)
(version "115.26.0")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.mozilla.org/pub/firefox"
"/releases/" version "esr/source/firefox-"
version "esr.source.tar.xz"))
(sha256
(base32
"0xvwk3vkbxnybpi3gwk48nxffg44lbv58mbk2xq6cz50ffq0k5k2"))))
(arguments
(substitute-keyword-arguments arguments
((#:configure-flags flags)
#~(delete "--enable-rust-simd" #$flags))
((#:phases phases)
#~(modify-phases #$phases
(replace 'adjust-tests
(lambda _
(with-directory-excursion "../js/src/tests"
;; The test suite expects a lightly patched ICU. Disable tests
;; that do not work with the system version. See
;; "intl/icu-patches" for clues.
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
;; related patch for why this is failing.
(delete-file "non262/Intl/DateTimeFormat/\
fractional-second-digits-append-item.js")
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
(delete-file "non262/Intl/DateTimeFormat/day-period-hour-cycle.js")
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
(delete-file "non262/Intl/available-locales-supported.js")
;; FIXME: got "en-US", expected "en-US-POSIX"
(delete-file "non262/Intl/available-locales-resolved.js")
;;; Since 115:
;; Mismatching array lengths
(delete-file "non262/Intl/supportedValuesOf-timeZones-canonical.js")
;; FIXME: got "America/Santa_Isabel", expected "America/Tijuana":
;; America/Santa_Isabel -> America/Tijuana
(delete-file "non262/Intl/DateTimeFormat/timeZone_backward_links.js")
;; TODO: tzdata 2024a expected find a way to regenerate
;; these generated tests
(delete-file "non262/Intl/DateTimeFormat/timeZone_version.js")
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
(delete-file "non262/Intl/Collator/implicithan.js")
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
(delete-file "non262/Intl/Collator/big5han-gb2312han.js"))))
(replace 'pre-check
(lambda _
(with-directory-excursion "../js/src/tests"
(substitute* "shell/os.js"
;; FIXME: Why does the killed process have an exit status?
((".*killed process should not have exitStatus.*")
""))
;; XXX: Delete all tests that test time zone functionality,
;; because the test suite uses /etc/localtime to figure out
;; the offset from the hardware clock, which does not work
;; in the build container. See <tests/non262/Date/shell.js>.
(delete-file-recursively "non262/Date")
(delete-file "non262/Intl/DateTimeFormat/tz-environment-variable.js")
(setenv "JSTESTS_EXTRA_ARGS"
(string-join
(list
;; Do not run tests marked as "random".
"--exclude-random"
;; Exclude web platform tests.
"--wpt=disabled"
;; Respect the daemons configured number of jobs.
(string-append "--worker-count="
(number->string
(parallel-job-count)))))))))))))
(inputs
(list icu4c-73 readline zlib))))
(define computed-origin-method (@@ (guix packages) computed-origin-method))
(define mozilla-compare-locales
@@ -256,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.1")
(define %icecat-base-version "140.9.1")
(define %icecat-version (string-append %icecat-base-version "-gnu1"))
(define %icecat-build-id "20260428000000") ;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'
@@ -278,9 +627,9 @@ in the case of Firefox, it is browser/locales/all-locales."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
"1fx52y52c3dmgr5gm64x40r2n6zq5ckqiqsd6vlhsly5wb1w0xaf"))))
"1hld2kbzvrmr7pqq0r5hw639xl8kw29lm2hsbn0m4kxang1fdlj5"))))
(gnuzilla-commit "5162cbc74c483c361ad5709c767c5cb2395ff4f9")
(gnuzilla-commit "f3595923458a5255f61a3853bd83bb5f004dc3bc")
(gnuzilla-source
(origin
(method git-fetch)
@@ -291,7 +640,7 @@ in the case of Firefox, it is browser/locales/all-locales."
(string-take gnuzilla-commit 8)))
(sha256
(base32
"06qyirgjjgy7fwn7mbrz23wsdv9a88w70pz8qm1yszln74xxdsp0"))))
"03kc08cvmdv3sxihf5hfhw2k91mg1y6f46b3x47p7q98phgk03cv"))))
;; 'search-patch' returns either a valid file name or #f, so wrap it
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
@@ -900,515 +1249,6 @@ testing.")
(cpe-name . "firefox_esr")
(cpe-version . ,(first (string-split version #\-)))))))
(define-public mozjs
(package
(name "mozjs")
(version %icecat-version)
(source (origin (inherit icecat-source)
(patches (search-patches "mozjs-xp-win.patch"))))
(build-system gnu-build-system)
(arguments
(list
#:imported-modules %cargo-utils-modules ;for `generate-all-checksums'
#:modules `((guix build cargo-utils)
,@%default-gnu-modules)
#:test-target "check-jstests"
#:configure-flags
#~(list
;; Disable debugging symbols to save space.
"--disable-debug"
"--disable-debug-symbols"
;; This is important because without it gjs will segfault during the
;; configure phase. With jemalloc only the standalone mozjs console
;; will work.
"--disable-jemalloc"
"--enable-tests"
"--enable-hardening"
"--enable-optimize"
"--enable-release"
"--enable-readline"
"--enable-rust-simd"
"--enable-shared-js"
"--with-system-icu"
"--with-system-nspr"
"--with-system-zlib"
"--with-intl-api")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'python-3.11-compatibility
(lambda _
(substitute* '("python/mozbuild/mozpack/files.py"
"python/mozbuild/mozbuild/util.py"
"python/mozbuild/mozbuild/action/process_define_files.py"
"python/mozbuild/mozbuild/backend/base.py"
"python/mozbuild/mozbuild/preprocessor.py")
(("\"rU\"") "\"r\""))))
(add-after 'unpack 'restore-api-compat
(lambda _
(substitute* "js/public/GCAPI.h"
(("enum class GCReason")
"#define FIRST_FIREFOX_REASON FIRST_ICECAT_REASON
#define LAST_FIREFOX_REASON LAST_ICECAT_REASON
enum class GCReason"))))
(add-after 'patch-source-shebangs 'patch-cargo-checksums
(lambda _
(let ((null-hash
"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"))
(for-each (lambda (file)
(format #t "patching checksums in ~a~%" file)
(substitute* file
(("^checksum = \".*\"")
(string-append "checksum = \"" null-hash "\""))))
(find-files "." "Cargo\\.lock$"))
(for-each generate-all-checksums
'("js" "third_party/rust")))))
(replace 'configure
(lambda* (#:key configure-flags #:allow-other-keys)
;; The configure script does not accept environment variables as
;; arguments. It also must be run from a different directory,
;; but not the root directory either.
(mkdir "run-configure-from-here")
(chdir "run-configure-from-here")
;; Configure script writes to $HOME.
(setenv "HOME" (getcwd))
(setenv "SHELL" (which "sh"))
(setenv "CONFIG_SHELL" (which "sh"))
(setenv "AUTOCONF" (which "autoconf"))
(apply invoke "python" "../configure.py"
"--enable-project=js"
(string-append "--prefix=" #$output)
configure-flags)))
(add-before 'check 'adjust-tests
(lambda _
(with-directory-excursion "../js/src/tests"
(substitute* "shell/os.js"
;; FIXME: Why does the killed process have an exit status?
((".*killed process should not have exitStatus.*")
""))
;; Most of the timezone related failures are probably
;; attributable to our use of a system-provided icu4c library
;; instead of the bundled one.
(for-each
delete-file
'( ;; FIXME: An one-hour difference is produced after DST
;; starting in the timezone the test suite uses.
"non262/Date/15.9.5.7.js"
;; The test suite expects a lightly patched ICU. Disable tests
;; that do not work with the system version. See
;; "intl/icu-patches" for clues.
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
;; related patch for why this is failing.
"non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js"
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
"non262/Intl/DateTimeFormat/day-period-hour-cycle.js"
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
"non262/Intl/available-locales-supported.js"
;; FIXME: got "en-US", expected "en-US-POSIX"
"non262/Intl/available-locales-resolved.js"
;;; Since 115:
;; Mismatching array lengths
"non262/Intl/supportedValuesOf-timeZones-canonical.js"
;; TODO: tzdata 2024a expected find a way to regenerate
;; these generated tests
"non262/Intl/DateTimeFormat/timeZone_version.js"
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
"non262/Intl/Collator/implicithan.js"
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
"non262/Intl/Collator/big5han-gb2312han.js"
;; Since 128:
;; FIXME: got (void 0), expected "GMT"
"non262/Intl/DateTimeFormat/formatRange-timeZoneName-matches-format.js"
;; FIXME: got 7, expected 9: parts count mismatch
"non262/Intl/DateTimeFormat/formatRange-timeZone-offset.js"
"non262/Intl/DateTimeFormat/formatRange-timeZoneName.js"
;; Since 140:
;; RangeError: invalid time zone: America/Coyhaique
"non262/Temporal/ZonedDateTime/zones-and-links.js"
;; got 2042, expected 2043
"non262/Temporal/Intl/consistent-dates.js"
;; got "Pacific/Auckland", expected "Antarctica/McMurdo"
"non262/Intl/DateTimeFormat/timeZone_links.js"
"test262/staging/sm/Temporal/ZonedDateTime/zones-and-links.js"
;; Test262Error: Expected true but got false
"test262/staging/Intl402/Temporal/old/zoneddatetime-dst-corner-cases.js"
;; Test262Error: getTimeZoneTransition(next) does not return its input
"test262/intl402/Temporal/ZonedDateTime/prototype/\
getTimeZoneTransition/result-type.js"
;; Expected SameValue («1912-01-01T00:16:08+00:00[Africa/Abidjan]», «null»
"test262/intl402/Temporal/ZonedDateTime/prototype/\
getTimeZoneTransition/transition-at-instant-boundaries.js"
;; Expected SameValue(«1762063200000000000n», «1572760800000000000n»
"test262/intl402/Temporal/ZonedDateTime/prototype/\
getTimeZoneTransition/specific-tzdb-values.js"
;; Expected SameValue(«"2025-03-30T03:00:00+02:00[Europe/Berlin]"»,
;; «"2020-10-25T02:00:00+01:00[Europe/Berlin]"»
"test262/intl402/Temporal/ZonedDateTime/prototype/\
getTimeZoneTransition/nanoseconds-subtracted-or-added-at-dst-transition.js"
;; TypeError: can't access property "epochNanoseconds",
;; before.getTimeZoneTransition(...) is null
"test262/intl402/Temporal/ZonedDateTime/prototype/\
getTimeZoneTransition/transitions-close-together.js")))))
(add-before 'check 'pre-check
(lambda _
(setenv "JSTESTS_EXTRA_ARGS"
(string-join
(list
;; Do not run tests marked as "random".
"--exclude-random"
;; Exclude web platform tests.
"--wpt=disabled"
;; Respect the daemons configured number of jobs.
(string-append "--worker-count="
(number->string (parallel-job-count)))))))))))
(native-inputs
(list autoconf
llvm ;for llvm-objdump
m4
perl
pkg-config
python-wrapper
rust
`(,rust "cargo")
rust-cbindgen))
(inputs
(list icu4c-77 readline zlib))
(propagated-inputs
(list nspr)) ; in the Requires.private field of mozjs-*.pc
(home-page
"https://spidermonkey.dev/")
(synopsis "Mozilla JavaScript engine")
(description "SpiderMonkey is Mozilla's JavaScript engine written
in C/C++.")
(license license:mpl2.0))) ; and others for some files
(define-public mozjs-128
(package
(inherit mozjs)
(version "128.3.1")
(source (origin
(method url-fetch)
;; TODO: Switch to IceCat source once available on ftp.gnu.org.
(uri (string-append "https://ftp.mozilla.org/pub/firefox"
"/releases/" version "esr/source/firefox-"
version "esr.source.tar.xz"))
(sha256
(base32
"1a3h7p7126pxzpidb1lqckvhfh1had805mai4l96mnc878phbx61"))))
(arguments
(substitute-keyword-arguments arguments
((#:configure-flags flags)
#~(delete "--enable-rust-simd" #$flags))
((#:phases phases)
#~(modify-phases #$phases
(replace 'adjust-tests
(lambda _
(with-directory-excursion "../js/src/tests"
(substitute* "shell/os.js"
;; FIXME: Why does the killed process have an exit status?
((".*killed process should not have exitStatus.*")
""))
;; This was fixed sometime between 102.15.1 and 115.11.0.
;; These tests are supposed to be skipped on all 64-bit systems.
#$@(if (target-riscv64?)
#~((substitute* '("non262/Array/regress-157652.js"
"non262/regress/regress-422348.js")
(("mips64") "mips64|riscv64")))
#~())
;; FIXME: An one-hour difference is produced after DST
;; starting in the timezone the test suite uses.
(delete-file "non262/Date/15.9.5.7.js")
;; The test suite expects a lightly patched ICU. Disable tests
;; that do not work with the system version. See
;; "intl/icu-patches" for clues.
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
;; related patch for why this is failing.
(delete-file "non262/Intl/DateTimeFormat/\
fractional-second-digits-append-item.js")
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
(delete-file "non262/Intl/DateTimeFormat/day-period-hour-cycle.js")
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
(delete-file "non262/Intl/available-locales-supported.js")
;; FIXME: got "en-US", expected "en-US-POSIX"
(delete-file "non262/Intl/available-locales-resolved.js")
;;; Since 115:
;; Mismatching array lengths
(delete-file "non262/Intl/supportedValuesOf-timeZones-canonical.js")
;; FIXME: got "America/Santa_Isabel", expected "America/Tijuana":
;; America/Santa_Isabel -> America/Tijuana
(delete-file "non262/Intl/DateTimeFormat/timeZone_backward_links.js")
;; TODO: tzdata 2024a expected find a way to regenerate
;; these generated tests
(delete-file "non262/Intl/DateTimeFormat/timeZone_version.js")
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
(delete-file "non262/Intl/Collator/implicithan.js")
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
(delete-file "non262/Intl/Collator/big5han-gb2312han.js")
;; Since 128:
;; FIXME: got (void 0), expected "GMT"
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZoneName-matches-format.js")
;; FIXME: got 7, expected 9: parts count mismatch
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZone-offset.js")
(delete-file "non262/Intl/DateTimeFormat/formatRange-timeZoneName.js"))))))))
(inputs
(list icu4c-73 readline zlib))))
(define-public mozjs-115
(package
(inherit mozjs)
(version "115.26.0")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.mozilla.org/pub/firefox"
"/releases/" version "esr/source/firefox-"
version "esr.source.tar.xz"))
(sha256
(base32
"0xvwk3vkbxnybpi3gwk48nxffg44lbv58mbk2xq6cz50ffq0k5k2"))))
(arguments
(substitute-keyword-arguments arguments
((#:configure-flags flags)
#~(delete "--enable-rust-simd" #$flags))
((#:phases phases)
#~(modify-phases #$phases
(replace 'adjust-tests
(lambda _
(with-directory-excursion "../js/src/tests"
;; The test suite expects a lightly patched ICU. Disable tests
;; that do not work with the system version. See
;; "intl/icu-patches" for clues.
;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and
;; related patch for why this is failing.
(delete-file "non262/Intl/DateTimeFormat/\
fractional-second-digits-append-item.js")
;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)"
(delete-file "non262/Intl/DateTimeFormat/day-period-hour-cycle.js")
;; FIXME: got "en-US-posix", expected "en-US-POSIX".
(delete-file "non262/Intl/available-locales-supported.js")
;; FIXME: got "en-US", expected "en-US-POSIX"
(delete-file "non262/Intl/available-locales-resolved.js")
;;; Since 115:
;; Mismatching array lengths
(delete-file "non262/Intl/supportedValuesOf-timeZones-canonical.js")
;; FIXME: got "America/Santa_Isabel", expected "America/Tijuana":
;; America/Santa_Isabel -> America/Tijuana
(delete-file "non262/Intl/DateTimeFormat/timeZone_backward_links.js")
;; TODO: tzdata 2024a expected find a way to regenerate
;; these generated tests
(delete-file "non262/Intl/DateTimeFormat/timeZone_version.js")
;; FIXME: got "\uD840\uDDF2", expected "\u5047"
(delete-file "non262/Intl/Collator/implicithan.js")
;; FIXME: got "\uD840\uDDF2", expected "\u3467"
(delete-file "non262/Intl/Collator/big5han-gb2312han.js"))))
(replace 'pre-check
(lambda _
(with-directory-excursion "../js/src/tests"
(substitute* "shell/os.js"
;; FIXME: Why does the killed process have an exit status?
((".*killed process should not have exitStatus.*")
""))
;; XXX: Delete all tests that test time zone functionality,
;; because the test suite uses /etc/localtime to figure out
;; the offset from the hardware clock, which does not work
;; in the build container. See <tests/non262/Date/shell.js>.
(delete-file-recursively "non262/Date")
(delete-file "non262/Intl/DateTimeFormat/tz-environment-variable.js")
(setenv "JSTESTS_EXTRA_ARGS"
(string-join
(list
;; Do not run tests marked as "random".
"--exclude-random"
;; Exclude web platform tests.
"--wpt=disabled"
;; Respect the daemons configured number of jobs.
(string-append "--worker-count="
(number->string
(parallel-job-count)))))))))))))
(inputs
(list icu4c-73 readline zlib))))
;;; 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.
-253
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")
@@ -652,42 +603,6 @@ time functions.")
strings which may be used in mock tests.")
(license license:unlicense)))
(define-public go-github-com-daixiang0-gci
(package
(name "go-github-com-daixiang0-gci")
(version "0.13.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/daixiang0/gci")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1vhnqisf6d706qvswccb0d7bkbl53lyi84f5sl3zyaf6yk8ml9dx"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/daixiang0/gci"))
(native-inputs
(list go-github-com-stretchr-testify
go-github-com-spf13-cobra))
(propagated-inputs
(list go-gopkg-in-yaml-v3
go-golang-org-x-tools
go-golang-org-x-sync
go-golang-org-x-mod
go-go-uber-org-zap
go-github-com-pmezard-go-difflib
go-github-com-hexops-gotextdiff))
(home-page "https://github.com/daixiang0/gci")
(synopsis "Tool to make Go import order deterministic")
(description
"This package provides a tool that controls Go package import order and
makes it always deterministic.")
(license license:bsd-3)))
(define-public go-github-com-data-dog-go-sqlmock
(package
(name "go-github-com-data-dog-go-sqlmock")
@@ -761,34 +676,6 @@ style).
@end itemize")
(license license:isc)))
(define-public go-github-com-denis-tingaikin-go-header
(package
(name "go-github-com-denis-tingaikin-go-header")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/denis-tingaikin/go-header")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0qzy2ps59dzsdn4ny8x48k9d1kscpddjilkxra1w16npsvix6mcm"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/denis-tingaikin/go-header"))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-golang-org-x-tools
go-gopkg-in-yaml-v3))
(home-page "https://github.com/denis-tingaikin/go-header")
(synopsis "Go linter for copyright headers")
(description
"Simple Go source code linter providing checks for copyright headers.")
(license license:gpl3)))
(define-public go-github-com-dgryski-go-ddmin
(package
(name "go-github-com-dgryski-go-ddmin")
@@ -998,31 +885,6 @@ can use the mock clock. This is a maintained fork of benbjohnson's
@url{https://github.com/benbjohnson/clock, clock} package.")
(license license:expat)))
(define-public go-github-com-firefart-nonamedreturns
(package
(name "go-github-com-firefart-nonamedreturns")
(version "1.0.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/firefart/nonamedreturns")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1y9dz8rkd55p1rkib4y3b0czs44c2bb1pmlr4k53ms1k8d9bjgwk"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/firefart/nonamedreturns"))
(propagated-inputs
(list go-golang-org-x-tools))
(home-page "https://github.com/firefart/nonamedreturns")
(synopsis "Go linter to catch named returns")
(description
"This package provides a linter to find named returns in Go code.")
(license license:gpl3)))
;; XXX: The project looks like abandoned, see
;; <https://github.com/frankban/quicktest/issues/172>, remove when nothing
;; depends on it.
@@ -1061,30 +923,6 @@ can use the mock clock. This is a maintained fork of benbjohnson's
tests.")
(license license:expat)))
(define-public go-github-com-fzipp-gocyclo
(package
(name "go-github-com-fzipp-gocyclo")
(version "0.6.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fzipp/gocyclo")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1w2h8qlifrskn8g8zcwb6banr9si0vck9y8irg1r51mc98cjv36l"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/fzipp/gocyclo"))
(home-page "https://github.com/fzipp/gocyclo")
(synopsis "Calculate cyclomatic complexity in Go")
(description
"This package calculates the cyclomatic complexities of functions and
methods in Go source code.")
(license license:bsd-3)))
(define-public go-github-com-gdey-tbltest
(package
(name "go-github-com-gdey-tbltest")
@@ -1109,45 +947,6 @@ methods in Go source code.")
tests.")
(license license:expat)))
(define-public go-github-com-ghostiam-protogetter
(package
(name "go-github-com-ghostiam-protogetter")
(version "0.3.20")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ghostiam/protogetter")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1hap2ykmlnan5vz8sczdpiv93iidbgl13mlcdx468nhfprg2hbbm"))))
(build-system go-build-system)
(arguments
(list
#:tests? #f ;"module lookup disabled by GOPROXY=off"
#:import-path "github.com/ghostiam/protogetter"))
(propagated-inputs
(list go-golang-org-x-tools
go-github-com-gobwas-glob))
(home-page "https://github.com/ghostiam/protogetter")
(synopsis "Protobuf Golang linter")
(description
"This package is a linter developed specifically for Go programmers
working with nested @code{protobuf} types. It's designed to aid developers in
preventing invalid memory address or nil pointer dereference errors arising
from direct access of nested protobuf fields.
When working with protobuf, it's quite common to have complex structures where
a message field is contained within another message, which itself can be part
of another message, and so on. If these fields are accessed directly and some
field in the call chain will not be initialized, it can result in application
panic.
Protogetter addresses this issue by suggesting use of getter methods for field
access.")
(license license:expat)))
(define-public go-github-com-gkampitakis-ciinfo
(package
(name "go-github-com-gkampitakis-ciinfo")
@@ -1403,29 +1202,6 @@ kept in fixtures files. Before the execution of every test, the test database
is cleaned and the fixture data is loaded into the database.")
(license license:expat)))
(define-public go-github-com-go-xmlfmt-xmlfmt
(package
(name "go-github-com-go-xmlfmt-xmlfmt")
(version "1.1.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/go-xmlfmt/xmlfmt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1cglrwmpg0lb7cnyvdz8js52h07rcvka7y9abksk9p5ajxj5rp1s"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/go-xmlfmt/xmlfmt"))
(home-page "https://github.com/go-xmlfmt/xmlfmt")
(synopsis "Go XML Formatter")
(description
"The Go XML Formatter, xmlfmt, will format the XML string in a readable way.")
(license license:expat)))
;; XXX: This repository has been archived by the owner
;; on May 9, 2021. It is now read-only. It's only used
;; by go-github-com-golang-gddo. Consider to remove when nothing
@@ -4191,20 +3967,6 @@ thoroughly
" This package provides an command line interface (CLI)
tool."))))
(define-public go-gci
(package/inherit go-github-com-daixiang0-gci
(name "go-gci")
(arguments
(substitute-keyword-arguments arguments
((#:tests? _ #t) #f)
((#:install-source? _ #t) #f)
((#:skip-build? _ #t) #f)))
(native-inputs
(append (package-native-inputs go-github-com-daixiang0-gci)
(package-propagated-inputs go-github-com-daixiang0-gci)))
(propagated-inputs '())
(inputs '())))
(define-public go-pgmockproxy
(package/inherit go-github-com-jackc-pgmock
(name "go-pgmockproxy")
@@ -4328,21 +4090,6 @@ prints an ASCII fraphic representing the memory layout.")))
" This package provides an command line interface (CLI)
tool."))))
(define-public protogetter
(package/inherit go-github-com-ghostiam-protogetter
(name "protogetter")
(arguments
(substitute-keyword-arguments arguments
((#:tests? _ #f) #f)
((#:skip-build? _ #t) #f)
((#:install-source? _ #t) #f)
((#:import-path _) "github.com/ghostiam/protogetter/cmd/protogetter")
((#:unpack-path _ "") "github.com/ghostiam/protogetter")))
(native-inputs
(package-propagated-inputs go-github-com-ghostiam-protogetter))
(propagated-inputs '())
(inputs '())))
(define-public unparam
(package
(inherit go-mvdan-cc-unparam)
+4 -69
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"
@@ -3286,37 +3285,6 @@ to support the streaming mode required by Go's standard Hash interface.")
@url{https://www.rfc-editor.org/errata/rfc7512, errata} specifications.")
(license license:asl2.0)))
(define-public go-github-com-tailscale-golang-x-crypto
(package
(name "go-github-com-tailscale-golang-x-crypto")
(version "0.91.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tailscale/golang-x-crypto")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0m9qkk48mihrkmfh1fzfhc39l8957qkpfx8qbw4xdjws7dy4vzbz"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:tests? #f ;Tests have broken package imports (expected as per readme)
#:import-path "github.com/tailscale/golang-x-crypto"))
(propagated-inputs
(list go-golang-org-x-crypto
go-golang-org-x-term
go-golang-org-x-sys
go-golang-org-x-net))
(home-page "https://github.com/tailscale/golang-x-crypto")
(synopsis "Supplementary Go crypto libraries")
(description
"This package holds supplementary Go cryptography libraries, it's a fork
of @code{golang.org/x/crypto} maintained by Tailscale.")
(license license:bsd-3)))
(define-public go-github-com-tink-crypto-tink-go-v2
(package
(name "go-github-com-tink-crypto-tink-go-v2")
@@ -3672,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")
-23
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
File diff suppressed because it is too large Load Diff
+2 -3
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)
+20 -32
View File
@@ -578,10 +578,7 @@ This package provides the core library and elements.")
(substitute* "tests/check/meson.build"
;; This test causes nondeterministic failures (see:
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/895>).
((".*'elements/appsrc.c'.*") "")
;; This one is flaky (see:
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/work_items/5016>).
((".*'elements/inputselector.c'.*") ""))
((".*'elements/appsrc.c'.*") ""))
;; Some other tests fail on other architectures.
#$@(cond
((target-x86-32?)
@@ -769,8 +766,7 @@ model to base your own plug-in on, here it is.")
(build-system meson-build-system)
(arguments
(list
#:configure-flags #~(list "-Dgpl=enabled"
"-Dsctp-internal-usrsctp=disabled"
#:configure-flags #~(list "-Dsctp-internal-usrsctp=disabled"
;; TODO: Figure out why audiovisualizer test
;; fails on riscv64-linux.
#$@(if (target-riscv64?)
@@ -780,15 +776,6 @@ model to base your own plug-in on, here it is.")
#:phases
#~(modify-phases %standard-phases
#$@%common-gstreamer-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "ext/resindvd/resindvdsrc.c"
;; `g_module_open' is a wrapper above dlopen; pass it the
;; absolute file name of the library to ensure it is always
;; found.
(("\"libdvdcss\"")
(format #f "~s"
(search-input-file inputs "lib/libdvdcss.so"))))))
(add-after 'unpack 'adjust-tests
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(let ((gst-plugins-good (assoc-ref (or native-inputs inputs)
@@ -802,18 +789,18 @@ model to base your own plug-in on, here it is.")
;; The 'elements_shm.test_shm_live' test sometimes times out
;; (see:
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/790>).
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/790).
((".*'elements/shm\\.c'.*") "")
;; The 'elements_curlhttpsrc' test sometimes times out.
((".*'elements/curlhttpsrc\\.c'.*") "")
;; The 'mxfdemux' test fails for unknown reasons (see:
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3921>).
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3921).
((".*'elements/mxfdemux.c'.*") "")
;; Unexpected critical/warning, see
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/792>
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3000>
((".*'elements/netsim\\.c'.*") "")
;; TODO: Figure out why this test fails on riscv64-linux.
@@ -822,19 +809,30 @@ model to base your own plug-in on, here it is.")
"'elements/viewfinderbin.c'], true, ],"))
'())
;; This test is flaky.
;; This test is flaky on at least some architectures.
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1244
(("'elements/camerabin\\.c'\\].*],")
"'elements/camerabin.c'], true, ],")
#$@(if (member (%current-system)
'("aarch64-linux" "riscv64-linux"))
`((("'elements/camerabin\\.c'\\].*],")
"'elements/camerabin.c'], true, ],"))
'())
;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1412
((".*elements/dtls\\.c.*") "")
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3921
((".*elements/mxfdemux\\.c.*") "")
;; Unable to create pipeline 'bin.
;; ( vulkanupload ! vulkancolorconvert ! vulkandownload )':
;; no element "vulkanupload"
((".*elements/vkcolorconvert\\.c.*") "")
((".*elements/vkupload\\.c.*") "")))))
((".*elements/vkupload\\.c.*") ""))
(substitute* "tests/check/elements/zxing.c"
;; zxing 1.2.0 seemingly changed the type representation of
;; the EAN_13 structure; disable it.
((".*\"EAN_13\".*")
"")))))
(add-before 'check 'pre-check
(lambda _
;; Tests require a running X server.
@@ -1164,19 +1162,9 @@ after their category.")
(build-system meson-build-system)
(arguments
(list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
#:configure-flags #~(list "-Dgpl=enabled")
#:phases
#~(modify-phases %standard-phases
#$@%common-gstreamer-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "ext/dvdread/dvdreadsrc.c"
;; `g_module_open' is a wrapper above dlopen; pass it the
;; absolute file name of the library to ensure it is always
;; found.
(("\"libdvdcss\"")
(format #f "~s"
(search-input-file inputs "lib/libdvdcss.so"))))))
(add-before 'check 'pre-check
(lambda _
;; Tests require a running X server.
+38 -81
View File
@@ -24,7 +24,7 @@
;;; Copyright © 2019 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020-2026 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2020-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
@@ -387,7 +387,7 @@ applications.")
(define-public pango
(package
(name "pango")
(version "1.57.1")
(version "1.56.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -396,7 +396,7 @@ applications.")
(file-name (git-file-name name version))
(sha256
(base32
"0dfvlag7jhf4fzraxwhx4s016h2z7igq3knza9vfklkss8igs00a"))))
"0jnmydds9dmdah4fjj5rr5gmf1imxlxjc0w98if642n98vmsdf67"))))
(build-system meson-build-system)
(arguments
(list
@@ -647,7 +647,7 @@ highlighting and other features typical of a source code editor.")
(define-public gdk-pixbuf
(package
(name "gdk-pixbuf")
(version "2.44.5")
(version "2.44.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -655,7 +655,7 @@ highlighting and other features typical of a source code editor.")
name "-" version ".tar.xz"))
(sha256
(base32
"0s5b010jlinmki5iidbj2yip8n2sxc6xc0qmcvpc104v2c4kxfb9"))
"05xxpl3sd37lsp5qqy01m0w9c14dqfi84x9rawsffyj2y71sm8ck"))
(patches
(search-patches
"gdk-pixbuf-honor-GUIX_GDK_PIXBUF_MODULE_FILES.patch"))))
@@ -781,7 +781,7 @@ images.")
(hidden-package
(package
(name "at-spi2-core")
(version "2.60.0")
(version "2.52.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -789,7 +789,7 @@ images.")
name "-" version ".tar.xz"))
(sha256
(base32
"16fb2hv12k2vzh462gbd4qf8ipvnb2ijrc5d7w56dzfqjwd0rrc0"))))
"1azmbzik0gl2s03c9lq3dff3h1iql1zvlwn28yhizl68421zrhqa"))))
(build-system meson-build-system)
(arguments
(list
@@ -987,7 +987,7 @@ application suites.")
(package
(inherit gtk+-2)
(name "gtk+")
(version "3.24.52")
(version "3.24.51")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -996,11 +996,10 @@ application suites.")
(file-name (git-file-name name version))
(sha256
(base32
"197w1mb5vqm5d07sgdqkg54can7f1p4yjh42zx0y8z6m9p43shck"))
"07vw0rani9d65px36fzzj7sprv5r48shyjdgzipkihzqaldd98yh"))
(patches (search-patches
"gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"
"gtk3-treeview-test-fix.patch"))))
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
;; There is no "doc" output, because adding gtk-doc here would introduce a
;; dependency cycle with itself.
(outputs '("out" "bin"))
@@ -1076,20 +1075,22 @@ application suites.")
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda _
(substitute* "testsuite/gtk/meson.build"
((".*\\['defaultvalue'],.*") "")
((".*\\['objects-finalize',.*") ""))
;; The 'flipping-icons.ui' and 'gtk-icontheme-sizing.ui' tests
;; fail for unknown reasons (see:
;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/7679>).
(substitute* "testsuite/reftests/meson.build"
((" 'flipping-icons.ui',.*") "")
((" 'gtk-icontheme-sizing.ui',.*") ""))
;; This test fails just on i686-linux, for unknown reasons.
#$@(if (target-x86-32?)
#~((substitute* "testsuite/reftests/meson.build"
((" 'linear-gradient.ui',.*") "")))
#~())))
;; These tests fail only in the containerized environment, for
;; unknown reasons.
(substitute* "testsuite/gtk/meson.build"
((".*\\['defaultvalue'],.*") "")
((".*\\['objects-finalize',.*") ""))
;; The 'flipping-icons.ui' and 'gtk-icontheme-sizing.ui' tests
;; fail for unknown reasons (see:
;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/7679>).
(substitute* "testsuite/reftests/meson.build"
((" 'flipping-icons.ui',.*") "")
((" 'gtk-icontheme-sizing.ui',.*") ""))
;; This test fails just on i686-linux, for unknown reasons.
#$@(if (target-x86-32?)
#~((substitute* "testsuite/reftests/meson.build"
((" 'linear-gradient.ui',.*") "")))
#~())))
(add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
(assoc-ref glib-or-gtk:%standard-phases
'generate-gdk-pixbuf-loaders-cache-file))
@@ -1113,13 +1114,13 @@ application suites.")
"/share/applications")))))))
(native-search-paths
(list (search-path-specification
(variable "GUIX_GTK3_PATH")
(files '("lib/gtk-3.0")))))))
(variable "GUIX_GTK3_PATH")
(files '("lib/gtk-3.0")))))))
(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"))
@@ -1199,9 +1198,6 @@ application suites.")
(("[ \t]*'empty-text.node',") "")
(("[ \t]*'testswitch.node',") "")
(("[ \t]*'widgetfactory.node',") "")
;; The gtklistitemmanager test is flaky (see:
;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/6547>).
((".*'gtklistitemmanager.c',.*") "")
;; XXX: Figure out why this fails and report upstream.
((".*'memorytexture',.*") "")
((".*'yuv-matrix-dmabuf',.*") ""))
@@ -1258,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))
@@ -1304,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
@@ -1328,6 +1321,7 @@ application suites.")
(inputs
(list colord ;for color printing support
cups ;for CUPS print-backend
ffmpeg ;for ffmpeg media-backend
fribidi
gi-docgen
gstreamer ;for gstreamer media-backend
@@ -1371,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")
@@ -2211,7 +2205,7 @@ information.")
(define-public gtk-doc
(package
(name "gtk-doc")
(version "1.35.1")
(version "1.34.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -2219,7 +2213,7 @@ information.")
name "-" version ".tar.xz"))
(sha256
(base32
"1qi5bgqca1chdcfw7v4h3sw8jg661nmp77d7x658mn6nxlj9y731"))
"0746lwxgybc5ss3hzdd0crjjghk0ck0x9jbmz73iig405arp42xj"))
(patches
(search-patches "gtk-doc-respect-xml-catalog.patch"
"gtk-doc-mkhtml-test-fix.patch"))))
@@ -2769,43 +2763,6 @@ entire output. It supports all Layer Shell features including popups and
popovers.")
(license license:expat)))
(define-public xdg-user-dirs-gtk
(package
(name "xdg-user-dirs-gtk")
(version "0.16")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.gnome.org/GNOME/xdg-user-dirs-gtk.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"11h1164mkajpfrp6mkky2gvx3xd7dw0c9f2785jf4lys4jmmj4c3"))))
(build-system meson-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-exec-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "update.c"
(("xdg-user-dirs-update")
(search-input-file inputs "/bin/xdg-user-dirs-update"))))))))
(native-inputs
(list gettext-minimal
pkg-config))
(inputs
(list gtk+
xdg-user-dirs))
(home-page "https://gitlab.gnome.org/GNOME/xdg-user-dirs-gtk")
(synopsis "Integration of xdg-user-dirs with GTK")
(description "This package is a companion to @code{xdg-user-dirs} to
integrate it with the GNOME desktop and GTK applications. It gets run during
login to create default GTK bookmarks files containing the user directories, and
to rename these directories if the locale changes.")
(license license:gpl2+)))
(define-public goocanvas
(package
(name "goocanvas")
+77 -150
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")
@@ -7764,8 +7691,8 @@ is an attempt to combine both into something useful.")
(license license:asl2.0))))
(define-public guile-knots
(let ((commit "49996c432a4616e03ecaf01cb42afc5fd78eafd5")
(revision "35"))
(let ((commit "f767eca066495e6582e89ba1b91907c0c5657878")
(revision "34"))
(package
(name "guile-knots")
(version (git-version "0.1" revision commit))
@@ -7776,7 +7703,7 @@ is an attempt to combine both into something useful.")
(commit commit)))
(sha256
(base32
"0i6vk432shy7qmsq1hli71a9kmgf8yy9hx3bck0r9qzsldv1m3m9"))
"18fqmpyrrxy8phxxm5b7d1qhhvc3rsrs243xiinkj2hn2ca1cqi8"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -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
+20 -10
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)
+11 -11
View File
@@ -23,7 +23,6 @@
;;; Copyright © 2025 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2025 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2025 James Smith <jsubuntuxp@disroot.org>
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1001,21 +1000,22 @@ information can be viewed in real time and/or logged to a file.")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dell/libsmbios")
(commit (string-append "v" version))))
(uri
(git-reference
(url (string-append "https://github.com/dell/" name))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0krwwydyvb9224r884y1mlmzyxhlfrcqw73vi1j8787rl0gl5a2i"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
automake
gettext-minimal
libtool
pkg-config
perl
python))
`(("autoconf" ,autoconf)
("automake" ,automake)
("gettext" ,gettext-minimal)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
("perl" ,perl)
("python" ,python)))
(inputs
(list libxml2))
(arguments
+1 -1
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
+2 -13
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
+3 -3
View File
@@ -89,14 +89,14 @@
(define-public ibus-minimal
(package
(name "ibus")
(version "1.5.34-rc2")
(version "1.5.32")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ibus/ibus")
(commit version)))
(file-name (git-file-name name version))
(sha256 (base32 "1x05dwhi79s1mqgs34srdr2d5fvkyvihqvcnw91630xyf4r76b1h"))))
(sha256 (base32 "1rn2xpzi6x57n01rjin4a2h8yy1wdmvadgnglw0p6bdnc31q17a6"))))
(build-system glib-or-gtk-build-system)
(outputs '("out" "doc"))
(arguments
@@ -204,7 +204,7 @@
wayland
xmodmap))
(native-inputs
(list autoconf-2.72
(list autoconf
automake
docbook-xml-4.1.2
`(,glib "bin") ;for glib-genmarshal
+11 -14
View File
@@ -38,7 +38,6 @@
;;; Copyright © 2025 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2025 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2025 Igorj Gorjaĉev <igor@goryachev.org>
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -306,7 +305,7 @@ actions.")
(define-public geeqie
(package
(name "geeqie")
(version "2.7")
(version "2.6.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -314,12 +313,11 @@ actions.")
(commit (string-append "v" version))))
(sha256
(base32
"139ffzqqq79d3k5q99r8i1jr9v9vfwv89dkh6vvw1mdnv6b3s9n8"))
"08yr8jqli33rn1zvj9mjvinyzjp2myakxgf8wqqq8yidmm0vvn1p"))
(file-name (git-file-name name version))))
(build-system meson-build-system)
(arguments
(list
#:glib-or-gtk? #t
#:phases
#~(modify-phases %standard-phases
;; Disable test which requires binaries not present
@@ -348,7 +346,6 @@ actions.")
libwebp))
(native-inputs
(list `(,glib "bin") ; glib-gettextize
gsettings-desktop-schemas
intltool
pkg-config
python ; for tests
@@ -927,15 +924,15 @@ with tiling window managers. Features include:
;; That is required for testing.
xorg-server-for-tests))
(inputs
(list imlib2
glib
gtk+-2
lcms
libjpeg-turbo
libtiff
libexif
libx11
libxext))
`(("imlib2" ,imlib2)
("glib" ,glib)
("gtk+" ,gtk+-2)
("lcms" ,lcms)
("libjpeg" ,libjpeg-turbo)
("libtiff" ,libtiff)
("libexif" ,libexif)
("libx11" ,libx11)
("libxext" ,libxext)))
(arguments
`(#:phases
(modify-phases %standard-phases
+29 -75
View File
@@ -71,12 +71,11 @@
#:use-module (gnu packages build-tools)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages curl)
#:use-module (gnu packages compression)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages documentation)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
@@ -97,11 +96,10 @@
#:use-module (gnu packages mcrypt)
#:use-module (gnu packages mp3)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ocr)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
@@ -117,6 +115,7 @@
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages fonts)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix gexp)
@@ -184,81 +183,36 @@ convert images in more than 100 different formats.")
(define-public gradia
(package
(name "gradia")
(version "1.13.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/AlexanderVanhee/Gradia")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "00s6xj9crj5gkh233q98fmq67f41y877xgrn49cycwb3kybp237n"))))
(version "1.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/AlexanderVanhee/Gradia")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "07hal4h3kkjf7la02nqmqgw19sa6hkd130bkfmgwjimkv9zi8z2i"))))
(build-system meson-build-system)
(arguments
(list
#:imported-modules (append %meson-build-system-modules
%pyproject-build-system-modules)
#:modules '((guix build meson-build-system)
((guix build pyproject-build-system)
#:prefix py:)
(guix build utils))
#:glib-or-gtk? #t
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
(lambda _
(substitute* "meson.build"
(("gtk_update_icon_cache: true")
"gtk_update_icon_cache: false")
(("update_desktop_database: true")
"update_desktop_database: false"))))
(add-after 'unpack 'set-tesseract-and-tessdata-path
(lambda _
(let* ((tesseract #$(this-package-input "tesseract-ocr"))
(tesseract-bin (string-append tesseract "/bin/tesseract"))
(tessdata (string-append tesseract "/share/tessdata")))
(substitute* "meson.build"
(("OCR_TESSERACT_CMD = '/app/bin/tesseract'")
(format #f "OCR_TESSERACT_CMD = '~a'" tesseract-bin))
(("OCR_ORIGINAL_TESSDATA_DIR = '/app/share/tessdata'")
(format #f "OCR_ORIGINAL_TESSDATA_DIR = '~a'" tessdata))))))
(add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (string-append #$output "/bin/gradia")
`("GUIX_PYTHONPATH" =
(,(getenv "GUIX_PYTHONPATH") ,(py:site-packages inputs
outputs)))
`("GI_TYPELIB_PATH" =
(,(getenv "GI_TYPELIB_PATH")))
`("GDK_PIXBUF_MODULE_FILE" =
(,(getenv "GDK_PIXBUF_MODULE_FILE")))))))))
(inputs (list bash-minimal
gtk
gtksourceview
libadwaita
libportal
libsoup
python
python-pillow
python-pycairo
python-pygobject
python-pytesseract
tesseract-ocr
webp-pixbuf-loader))
(native-inputs (list blueprint-compiler
desktop-file-utils
gettext-minimal
`(,glib "bin")
gobject-introspection
pkg-config))
(list #:glib-or-gtk? #t
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
(lambda _
(substitute* "meson.build"
(("gtk_update_icon_cache: true")
"gtk_update_icon_cache: false")
(("update_desktop_database: true")
"update_desktop_database: false")))))))
(inputs (list gtk libadwaita python python-pygobject))
(native-inputs
(list blueprint-compiler gettext-minimal `(,glib "bin") pkg-config))
(home-page "https://github.com/AlexanderVanhee/Gradia")
(synopsis "Edit screenshots")
(description
"Gradia is a GTK 4 application for enhancing and preparing
(description "Gradia is a GTK 4 application for enhancing and preparing
screenshots for blogs, social media, and documentation. It supports background
customization, annotation tools (pen, arrow, text, highlight, stamp), padding,
cropping, @acronym{OCR, optical character recognition} and various export formats.")
cropping, and various export formats.")
(license license:gpl3+)))
(define-public iqa
@@ -2854,7 +2808,7 @@ Format) file format decoder and encoder.")
(define-public libjxl
(package
(name "libjxl")
(version "0.11.2")
(version "0.11.1")
(outputs (list "out" "pixbuf-loader"))
(source
(origin
@@ -2865,7 +2819,7 @@ Format) file format decoder and encoder.")
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "1c7d0mlxmmjby00hzgwqfyr6nb6lqcgcjsqcdmg2l10rmxiw33rg"))
(base32 "1wfxzrhj8a19z6x47ib1qbmgyg56jsxjs955xcvqhdkrx8l2271r"))
(modules '((guix build utils)))
(snippet
;; Delete the bundles that will not be used.
+24
View File
@@ -339,6 +339,30 @@ coverage.")
;; that list in further version.
(supported-systems (list "x86_64-linux"))))
(define-public lttng-modules
(package
(name "lttng-modules")
(version "2.13.14")
(source (origin
(method url-fetch)
(uri (string-append "https://lttng.org/files/lttng-modules/"
"lttng-modules-" version ".tar.bz2"))
(sha256
(base32
"19jx1yz1hsbr4vwfp2nr6z52a5g50iimaak962k49diay5zryi66"))))
(build-system linux-module-build-system)
(arguments
`(#:tests? #f ; no tests
#:make-flags (list "CONFIG_LTTNG=m"
"CONFIG_LTTNG_CLOCK_PLUGIN_TEST=m")))
(home-page "https://lttng.org/")
(synopsis "LTTng kernel modules for the LTTng tracer toolset")
(description
"LTTng kernel modules are Linux kernel modules which make
LTTng kernel tracing possible. They include essential control modules and
many probes which instrument numerous interesting parts of Linux.")
(license (list license:lgpl2.1 license:gpl2 license:expat))))
(define-public lttng-ust
(package
(name "lttng-ust")
+7 -8
View File
@@ -18,7 +18,6 @@
;;; Copyright © 2024 Christian Miller <christian.miller@dadoes.de>
;;; Copyright © 2024 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2025 Zheng Junjie <z572@z572.online>
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -422,8 +421,8 @@ using a mouse. It is customizable and extensible with plugins and scripts.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/SrainApp/srain")
(commit version)))
(url "https://github.com/SrainApp/srain")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "105z2kbj9ar6zk6i1qrbysrp9vbz692kbl2dwdxcwly0yh4cbd0p"))))
@@ -434,11 +433,11 @@ using a mouse. It is customizable and extensible with plugins and scripts.")
#:tests? #f ;there are no tests
#:glib-or-gtk? #t))
(native-inputs
(list gettext-minimal
`(,glib "bin")
pkg-config
python-wrapper
python-sphinx))
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
("python-sphinx" ,python-sphinx)))
(inputs
(list glib-networking
gsettings-desktop-schemas
+1 -13
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014-2019, 2021, 2026 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021, 2026 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2022 Marius Bakke <marius@gnu.org>
@@ -226,18 +226,6 @@ JNI.")
(setenv "JAVACMD" (search-input-file inputs "/bin/jamvm"))
(setenv "JAVAC" (search-input-file inputs "/bin/jikes"))
(setenv "CLASSPATH" (search-input-file inputs "/lib/rt.jar"))))
,@(if (target-x86-32?)
;; XXX: On i686 isFile() always seems to return true. Patching
;; this here is very ugly, but the effects are limited. None
;; of these changes remain by the time we've built Icedtea and
;; the other JDKs.
'((add-after 'unpack 'disable-isFile-checks
(lambda _
(substitute* "src/main/org/apache/tools/ant/util/ResourceUtils.java"
(("destFile = \\(\\(FileProvider\\).*") ""))
(substitute* "src/main/org/apache/tools/ant/taskdefs/Mkdir.java"
(("dir.isFile\\(\\)") "false")))))
'())
(replace 'build
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Ant complains if this file doesn't exist.
+29 -23
View File
@@ -55,12 +55,13 @@
(modify-phases %standard-phases
(add-after 'unpack 'make-git-checkout-writable
(lambda _
(for-each make-file-writable (find-files "."))))
(for-each make-file-writable (find-files "."))
#t))
(add-before 'build 'remove-binaries
(lambda _
(delete-file "lib/org/xerial/snappy/OSInfo.class")
(delete-file-recursively
"src/main/resources/org/xerial/snappy/native")))
(delete-file-recursively "src/main/resources/org/xerial/snappy/native")
#t))
(add-before 'build 'build-jni
(lambda _
;; Rebuild one of the binaries we removed earlier
@@ -97,33 +98,36 @@
(add-after 'build-jni 'copy-jni
(lambda _
(copy-recursively "src/main/resources/org/xerial/snappy/native"
"build/classes/org/xerial/snappy/native")))
"build/classes/org/xerial/snappy/native")
#t))
(add-before 'build 'set-test-memory-size
(lambda _
(substitute* "build.xml"
(("<junit printsummary=")
"<junit maxmemory=\"2G\" printsummary="))))
(("<junit printsummary=") "<junit maxmemory=\"2G\" printsummary="))
#t))
(add-before 'check 'fix-failing
(lambda _
(with-directory-excursion "src/test/java/org/xerial/snappy"
;; This package assumes maven build, which puts results in
;; "target". We put them in "build" instead, so fix that.
;; This package assumes maven build, which puts results in "target".
;; We put them in "build" instead, so fix that.
(substitute* "SnappyLoaderTest.java"
(("target/classes") "build/classes"))
;; This requires Hadoop, which is not in Guix yet.
(delete-file "SnappyHadoopCompatibleOutputStreamTest.java")))))))
(delete-file "SnappyHadoopCompatibleOutputStreamTest.java"))
#t)))))
(inputs
(list java-osgi-framework))
`(("osgi-framework" ,java-osgi-framework)))
(propagated-inputs
(list bitshuffle-for-snappy snappy))
`(("bitshuffle" ,bitshuffle-for-snappy)
("snappy" ,snappy)))
(native-inputs
(list java-junit
java-hamcrest-core
java-xerial-core
java-plexus-classworlds
java-commons-lang
java-commons-io
perl))
`(("junit" ,java-junit)
("hamcrest" ,java-hamcrest-core)
("xerial-core" ,java-xerial-core)
("classworlds" ,java-plexus-classworlds)
("commons-lang" ,java-commons-lang)
("commons-io" ,java-commons-io)
("perl" ,perl)))
(home-page "https://github.com/xerial/snappy-java")
(synopsis "Compression/decompression algorithm in Java")
(description "Snappy-java is a Java port of snappy, a fast C++
@@ -152,13 +156,13 @@ compressor/decompressor.")
(add-before 'build 'remove-binaries
(lambda _
(delete-file "lib/org/xerial/snappy/OSInfo.class")
(delete-file-recursively
"src/main/resources/org/xerial/snappy/native")))
(delete-file-recursively "src/main/resources/org/xerial/snappy/native")
#t))
(add-before 'build 'build-jni
(lambda _
;; Rebuild one of the binaries we removed earlier
(invoke "javac" "src/main/java/org/xerial/snappy/OSInfo.java"
"-d" "lib")
"-d" "lib")
;; Link to the dynamic snappy, not the static ones
(substitute* "Makefile.common"
(("-shared") "-shared -lsnappy"))
@@ -180,14 +184,16 @@ compressor/decompressor.")
(add-after 'build-jni 'copy-jni
(lambda _
(copy-recursively "src/main/resources/org/xerial/snappy/native"
"build/classes/org/xerial/snappy/native")))
"build/classes/org/xerial/snappy/native")
#t))
(add-before 'check 'fix-tests
(lambda _
(mkdir-p "src/test/resources/org/xerial/snappy/")
(copy-recursively "src/test/java/org/xerial/snappy/testdata"
"src/test/resources/org/xerial/snappy/testdata")
(install-file "src/test/java/org/xerial/snappy/alice29.txt"
"src/test/resources/org/xerial/snappy/"))))))))
"src/test/resources/org/xerial/snappy/")
#t)))))))
(define-public java-iq80-snappy
(package
+9 -60
View File
@@ -165,18 +165,17 @@ ascii art drawings that contain characters that resemble lines like @samp{|}
"017n1w6hds4wrz597jk7v8r6pz0kz5j9xwd240nq7s8hc58d4c2q"))
(modules '((guix build utils)))
(snippet
;; Remove pre-built native libraries.
'(for-each delete-file
(find-files "." "\\.(dll|dylib|so)$")))))
'(for-each
delete-file
(find-files "flatlaf-core/src/main/resources/com/formdev/flatlaf/natives/"
".*")))))
(build-system ant-build-system)
(arguments
(list
#:jdk openjdk17
#:tests? #false ;XXX requires junit5
#:modules '((guix build ant-build-system)
(guix build java-utils)
(guix build utils)
(sxml simple))
#:jar-name "flatlaf.jar"
#:source-dir '(list "flatlaf-core/src/main/java")
#:test-dir '(list "flatlaf-core/src/test")
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'build-native-code
@@ -225,58 +224,8 @@ ascii art drawings that contain characters that resemble lines like @samp{|}
(add-before 'build 'copy-resources
(lambda _
(copy-recursively "flatlaf-core/src/main/resources"
"build/classes")))
(add-before 'build 'generate-pom
(lambda _
(call-with-output-file "pom.xml"
(lambda (port)
(sxml->xml
`(*TOP*
(*PI* xml "version=\"1.0\" encoding=\"UTF-8\"")
(project
(modelVersion "4.0.0")
(groupId "com.formdev")
(artifactId "flatlaf")
(version ,#$version)))
port)))))
(replace 'build
(lambda* (#:key inputs #:allow-other-keys)
(let* ((jdk (assoc-ref inputs "jdk"))
(src-dir "flatlaf-core/src/main/java")
(java9-dir "flatlaf-core/src/main/java9")
(classes-dir "build/classes")
(classes9-dir "build/classes9")
(jar-file
(string-append "build/flatlaf-" #$version ".jar")))
;; Compile main sources (Java 8 target).
(apply invoke "javac"
"--release" "8"
"-d" classes-dir
(find-files src-dir "\\.java$"))
;; Compile Java 9 multi-release sources.
(mkdir-p classes9-dir)
(apply invoke "javac"
"--release" "9"
"-cp" classes-dir
"-d" classes9-dir
(find-files java9-dir "\\.java$"))
;; Create multi-release JAR.
(let ((meta-versions
(string-append classes-dir
"/META-INF/versions/9")))
(mkdir-p meta-versions)
(copy-recursively classes9-dir meta-versions))
(call-with-output-file "build/manifest.mf"
(lambda (port)
(display "Multi-Release: true\n" port)))
(invoke "jar" "--create"
"--file" jar-file
"--manifest" "build/manifest.mf"
"-C" classes-dir "."))))
(replace 'install
(install-from-pom "pom.xml")))))
(inputs
(list libx11 libxt))
"build/classes"))))))
(inputs (list libx11 libxt))
(home-page "https://www.formdev.com/flatlaf/")
(synopsis "Flat Look and Feel for Java Swing applications")
(description "FlatLaf is a cross-platform Look and Feel for Java Swing
+1 -1
View File
@@ -75,7 +75,7 @@
(inputs
(list openblas))
(native-inputs
`(("ant" ,ant)
`(("ant" ,ant/java7)
("ruby" ,ruby) ; for configure script
("gfortran" ,gfortran)
("jdk" ,icedtea "jdk")))
+142 -2123
View File
File diff suppressed because it is too large Load Diff
+8 -21
View File
@@ -1088,9 +1088,9 @@ wrappers.")
(origin
(method git-fetch)
(uri (git-reference (url "https://github.com/tc39/test262")
(commit "a6f387de323eb9ae56448bdb71c5d315df631ce4")))
(commit "a5e69a1534de88d1eb29b76657d84c8541b72df7")))
(file-name "test262")
(sha256 (base32 "09avg4f75rzbmh3hcybdvjij7hbl2m79x6xp1hgl6h8ihfbn33l0"))
(sha256 (base32 "078a7nim0n9x36q7q8yvjwhk4ig29p25b03rr4l7g2b545cky66l"))
(modules '((guix build utils)))
(snippet #~(begin
(for-each delete-file
@@ -1100,7 +1100,7 @@ wrappers.")
(define-public quickjs-ng
(package
(name "quickjs-ng")
(version "0.14.0")
(version "0.11.0")
(source
(origin
(method git-fetch)
@@ -1109,7 +1109,11 @@ wrappers.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05k8niswh0ly5sx0129jdhiinqs84s86b7sv29ff68v3546dl04i"))))
(base32 "0mfk32zvvh6c9a9plp6ad07888g795lhdmal3jyaclyn2k5iig9i"))
;; Remove these patches on next release as they will be included.
(patches (search-patches
"quickjs-ng-64-bits-precision-on-i686.patch"
"quickjs-ng-fix-atomics.pause-on-32-bit.patch"))))
(arguments
(list
#:configure-flags
@@ -1142,23 +1146,6 @@ wrappers.")
"")
(("BUILD_DIR=build")
"BUILD_DIR=../build"))))
;; XXX: Unknown test failures in quickjs-ng 1.4.0.
;; Remove for future versions.
(add-before 'configure 'skip-failing-tests
(lambda* (#:key inputs #:allow-other-keys)
(let* ((test262 (assoc-ref inputs "test262"))
(lang-path (in-vicinity test262 "test/language")))
(substitute* "test262.conf"
(("# list excluded tests and directories here" all)
(string-join
(cons* all
(map (lambda (f)
(in-vicinity lang-path f))
'(;; export 'foo' in module /gnu/store is ambiguous
"module-code/ambiguous-export-bindings/"
;; Could not find export 'default'
"import/import-attributes/text-self.js")))
"\n"))))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
+2 -66
View File
@@ -22,7 +22,6 @@
;;; Copyright © 2024, 2025 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2024-2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Ghislain Vaillant <ghislain.vaillant@inria.fr>
;;; Copyright © 2026 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -53,9 +52,7 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages cpp)
#:use-module (gnu packages databases)
#:use-module (gnu packages docker)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages linux)
#:use-module (gnu packages monitoring)
#:use-module (gnu packages networking)
@@ -1713,13 +1710,13 @@ analyzing Jupyter Notebooks.")
(define-public python-qtconsole
(package
(name "python-qtconsole")
(version "5.7.2")
(version "5.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "qtconsole" version))
(sha256
(base32 "088m56fav6xlcw55srxz96yf7rj2ndmycy4f3m69498r2swqbd17"))))
(base32 "0w9i0s70dm39cxgn3vh4wcaxdywzp9j0ac7f49q4qmggx4f3fcqd"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -1767,67 +1764,6 @@ analyzing Jupyter Notebooks.")
rich media output.")
(license license:bsd-3)))
(define-public python-spyder-kernels
(package
(name "python-spyder-kernels")
(version "3.1.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/spyder-ide/spyder-kernels")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0yhrifh148g93qkwx9ggsh2kr9789apzlw91ais4dyas5yf1xj8w"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "-k" (string-append
;; Avoid pulling Django for a single test.
"not test_django_settings"
;; AssertionError.
" and not test_umr_reload_modules"))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'redirect-HOME
(lambda _
(setenv "HOME" "/tmp"))))))
(propagated-inputs (list python-cloudpickle
python-ipykernel
python-ipython
python-jupyter-client
python-packaging
python-pyxdg
python-pyzmq
python-traitlets
python-wurlitzer))
(native-inputs (list python-anyio
python-cython
python-dask
python-h5py
python-matplotlib
python-numpy
python-pandas
python-pillow
python-polars
python-pyarrow
python-pydicom
python-pytest
python-scipy
python-setuptools
python-xarray))
(home-page "https://github.com/spyder-ide/spyder-kernels")
(synopsis "Jupyter kernels for Spyder's console")
(description "This package provides Jupyter kernels for use with the
consoles of Spyder, the Scientific Python Development Environment.
These kernels can be launched either through Spyder itself or in an
independent Python session, and allow for interactive or file-based execution
of Python code inside Spyder.")
(license license:expat)))
(define-public python-voila
(package
(name "python-voila")
+13 -18
View File
@@ -1191,42 +1191,37 @@ CDs.")
(define-public plasmatube
(package
(name "plasmatube")
(version "26.04.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/plasmatube-" version ".tar.xz"))
(sha256
(base32 "0dby9wypbrhg6g03kvl8fc40zpnri03hf3kk3vi1z16pwc7sn093"))))
(version "25.12.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/plasmatube-" version ".tar.xz"))
(sha256
(base32
"1jc6iqcxz0zyai26vx80nyfr818r4cj8lpw0b1pbvb1vya12v8zy"))))
(build-system qt-build-system)
(native-inputs (list extra-cmake-modules pkg-config python-minimal))
(inputs
(list kconfig
kcoreaddons
kdbusaddons
kdeclarative ; for org.kde.kquickcontrolsaddons
ki18n
kirigami
kirigami-addons
kitemmodels
ki18n
kwindowsystem
mpvqt
purpose
qqc2-desktop-style ; for org.kde.desktop
qtdeclarative
qtkeychain-qt6
qtmultimedia
qtsvg
qtkeychain-qt6
qtwayland
sonnet
yt-dlp))
(arguments (list #:qtbase qtbase))
(home-page "https://apps.kde.org/plasmatube/")
(synopsis "YouTube and PeerTube video player")
(description
"Plasmatube is a YouTube video player that uses Invidious and Piped
APIs. It can also play videos from PeerTube sources.")
(synopsis "Kirigami YouTube video player")
(description "This package provides YouTube video player based
on QtMultimedia and @command{yt-dlp}.")
(license license:gpl3+)))
(define-public rattlesnake
+3 -24
View File
@@ -485,23 +485,11 @@ to camera devices supported by @code{libgphoto2} using
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/kate-" version ".tar.xz"))
(sha256
(base32 "0ah6cy92yir68z25460ccl48i5nrfqswpzil9a7l69h3qxspsk88"))
(modules '((guix build utils)))
;; Unbundle SingleApplication.
(snippet
'(begin
(delete-file-recursively "3rdparty/SingleApplication")
(with-directory-excursion "apps/kate"
(substitute* "CMakeLists.txt"
((".*3rdparty.*") "")
((" -DQAPPLICATION_CLASS=FreeStandingSingleApplication") ""))
(substitute* "main.cpp"
(("(#include )\"SingleApplication\\/SingleApplication\"" _ keep)
(string-append keep "<SingleApplication>"))))))))
(base32 "0ah6cy92yir68z25460ccl48i5nrfqswpzil9a7l69h3qxspsk88"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules kdoctools xorg-server-for-tests))
;; TODO: Unbundle rapidjson.
;; TODO: Unbundle rapidjson and SingleApplication.
(inputs
(list breeze-icons ;; default icon set
karchive
@@ -527,20 +515,11 @@ to camera devices supported by @code{libgphoto2} using
libxkbcommon
plasma-activities
qtsvg
qtwayland
single-application))
qtwayland))
(arguments
(list #:qtbase qtbase
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'link-single-application
(lambda _
(substitute* "apps/kate/CMakeLists.txt"
(("target_link_libraries\\(kate-bin PRIVATE kateprivate"
all)
(string-append all " "
#$(this-package-input "single-application")
"/lib/libSingleApplication.a")))))
(add-after 'unpack 'patch-tests
(lambda* (#:key inputs #:allow-other-keys)
;; This test requires a 'bin' diretory under '/usr'.
-341
View File
@@ -24,7 +24,6 @@
#:use-module (guix packages)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages prometheus))
@@ -34,313 +33,6 @@
;;; Libraries:
;;;
(define-public go-go-etcd-io-etcd-client-v3
(package
(name "go-go-etcd-io-etcd-client-v3")
(version "3.6.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/etcd-io/etcd")
(commit (go-version->git-ref version #:subdir "client"))))
(file-name (git-file-name name version))
(sha256
(base32 "0d9rjyl5h0xm9isgr8b2fz8528wk3pds71rjl8g08fgsmsa5kicb"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet #~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
;; Replace symlinks to tests with file contents
(for-each
(lambda (f)
(delete-file (string-append "client/v3/" f))
(copy-file (string-append
"tests/integration/clientv3/examples/" f)
(string-append "client/v3/" f)))
(list "example_auth_test.go"
"example_cluster_test.go"
"example_kv_test.go"
"example_lease_test.go"
"example_maintenance_test.go"
"example_metrics_test.go"
"example_test.go"
"example_watch_test.go"))
(for-each
(lambda (f)
(delete-file
(string-append "client/v3/concurrency/" f))
(copy-file
(string-append "tests/integration/clientv3/concurrency/" f)
(string-append "client/v3/concurrency/" f)))
(list "example_election_test.go"
"example_mutex_test.go"
"example_stm_test.go"))
;; Copy sertificates for tests.
(mkdir-p "client/v3/tests/fixtures")
(substitute* "client/v3/yaml/config_test.go"
(("\\.\\./\\.\\./\\.\\./") "../"))
(for-each
(lambda (f)
(copy-file
(string-append "tests/fixtures/" f)
(string-append "client/v3/tests/fixtures/" f)))
(list "server.crt"
"server.key.insecure"
"ca.crt"))
;; Keep source related to expected import-path.
(delete-all-but "." "client")
(delete-file-recursively "client/pkg")))))
(build-system go-build-system)
(arguments
(list
;; TODO: Tests a shaky and fail a lot, check how run unittests.
#:tests? #f
#:import-path "go.etcd.io/etcd/client/v3"
#:unpack-path "go.etcd.io/etcd"))
(native-inputs
(list go-github-com-grpc-ecosystem-go-grpc-middleware-providers-prometheus
go-github-com-prometheus-client-golang
go-github-com-stretchr-testify
go-go-etcd-io-etcd-client-pkg-v3
go-go-uber-org-zap
go-google-golang-org-grpc))
(propagated-inputs
(list go-github-com-coreos-go-semver
go-github-com-dustin-go-humanize
go-github-com-grpc-ecosystem-go-grpc-middleware-v2
go-go-etcd-io-etcd-api-v3
go-sigs-k8s-io-yaml))
(home-page "https://github.com/etcd-io/etcd")
(synopsis "Golang client for ETCD")
(description
"This package implements the official Go client for etcd.")
(license license:asl2.0)))
(define-public go-go-etcd-io-etcd-server-v3
(package
(name "go-go-etcd-io-etcd-server-v3")
(version "3.6.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/etcd-io/etcd")
(commit (go-version->git-ref version
#:subdir "server"))))
(file-name (git-file-name name version))
(sha256
(base32 "0d9rjyl5h0xm9isgr8b2fz8528wk3pds71rjl8g08fgsmsa5kicb"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet #~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "server")
(rename-file "server" "server.tmp")
(mkdir-p "server/v3")
(rename-file "server.tmp" "server/v3")))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:tests? #f ;Setup fails
#:import-path "go.etcd.io/etcd/server/v3"
#:unpack-path "go.etcd.io/etcd"))
(propagated-inputs
(list go-github-com-coreos-go-semver
go-github-com-coreos-go-systemd-v22
go-github-com-dustin-go-humanize
go-github-com-gogo-protobuf
go-github-com-golang-groupcache
go-github-com-golang-jwt-jwt-v5
go-github-com-golang-protobuf
go-github-com-google-btree
go-github-com-google-go-cmp
go-github-com-grpc-ecosystem-go-grpc-middleware
go-github-com-grpc-ecosystem-go-grpc-middleware-providers-prometheus
go-github-com-grpc-ecosystem-grpc-gateway-v2
go-github-com-jonboulle-clockwork
go-github-com-prometheus-client-golang
go-github-com-prometheus-client-model
go-github-com-soheilhy-cmux
go-github-com-spf13-cobra
go-github-com-stretchr-testify
go-github-com-tmc-grpc-websocket-proxy
go-github-com-xiang90-probing
go-go-etcd-io-bbolt
go-go-etcd-io-etcd-client-v3
go-go-etcd-io-etcd-pkg-v3
go-go-etcd-io-raft-v3
go-go-opentelemetry-io-contrib-instrumentation-google-golang-org-grpc-otelgrpc
go-go-opentelemetry-io-otel
go-go-opentelemetry-io-otel-exporters-otlp-otlptrace
go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc
go-go-opentelemetry-io-otel-sdk
go-go-uber-org-zap
go-golang-org-x-crypto
go-golang-org-x-net
go-golang-org-x-time
go-google-golang-org-genproto-googleapis-api
go-google-golang-org-grpc
go-google-golang-org-protobuf
go-gopkg-in-natefinch-lumberjack-v2
go-sigs-k8s-io-json
go-sigs-k8s-io-yaml))
(home-page "https://go.etcd.io/etcd")
(synopsis "Server package for ETCD")
(description
"This package provides a server for the ETCD distributed key-value storage
system.")
(license license:asl2.0)))
(define-public go-go-etcd-io-etcd-pkg-v3
(package
(name "go-go-etcd-io-etcd-pkg-v3")
(version "3.6.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/etcd-io/etcd")
(commit (go-version->git-ref version
#:subdir "pkg"))))
(file-name (git-file-name name version))
(sha256
(base32 "0d9rjyl5h0xm9isgr8b2fz8528wk3pds71rjl8g08fgsmsa5kicb"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet #~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "." "pkg")
(rename-file "pkg" "pkg.tmp")
(mkdir-p "pkg/v3")
(rename-file "pkg.tmp" "pkg/v3")))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:tests? #f ;TODO: Tests hang, select some subset
#:import-path "go.etcd.io/etcd/pkg/v3"
#:unpack-path "go.etcd.io/etcd"))
(native-inputs
(list go-github-com-spf13-cobra
go-github-com-spf13-pflag
go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-creack-pty
go-github-com-dustin-go-humanize
go-go-etcd-io-etcd-client-pkg-v3
go-go-uber-org-zap
go-google-golang-org-grpc))
(home-page "https://github.com/etcd-io/etcd")
(synopsis "Utility packages for etcd")
(description
"This package is a collection of utility packages used by etcd without
being specific to etcd itself.")
(license license:asl2.0)))
(define-public go-k8s-io-apiserver
(package
(name "go-k8s-io-apiserver")
(version "0.34.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kubernetes/apiserver")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "06bcbdnlhg1mwky6i1519n1nhlh8rxc9qv7jwqjhc03m2ql3bb8q"))))
(build-system go-build-system)
(arguments
(list
#:tests? #f ;TODO: Tests require unpackaged dependencies
#:embed-files
#~(list "authoring\\.tmpl" "api__v1_openapi\\.json")
#:import-path "k8s.io/apiserver"))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-blang-semver-v4
go-github-com-coreos-go-oidc
go-github-com-coreos-go-systemd-v22
go-github-com-emicklei-go-restful-v3
go-github-com-fsnotify-fsnotify
go-github-com-go-logr-logr
go-github-com-gogo-protobuf
go-github-com-google-btree
go-github-com-google-cel-go
go-github-com-google-gnostic-models
go-github-com-google-go-cmp
go-github-com-google-uuid
go-github-com-gorilla-websocket
go-github-com-grpc-ecosystem-go-grpc-prometheus
go-github-com-munnerz-goautoneg
go-github-com-mxk-go-flowrate
go-github-com-spf13-pflag
go-go-etcd-io-etcd-api-v3
go-go-etcd-io-etcd-client-pkg-v3
go-go-etcd-io-etcd-client-v3
go-go-etcd-io-etcd-server-v3
go-go-opentelemetry-io-contrib-instrumentation-google-golang-org-grpc-otelgrpc
go-go-opentelemetry-io-contrib-instrumentation-net-http-otelhttp
go-go-opentelemetry-io-otel
go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc
go-go-opentelemetry-io-otel-metric
go-go-opentelemetry-io-otel-sdk
go-go-opentelemetry-io-otel-trace
go-go-uber-org-zap
go-golang-org-x-crypto
go-golang-org-x-net
go-golang-org-x-sync
go-golang-org-x-sys
go-golang-org-x-time
go-google-golang-org-genproto-googleapis-api
go-google-golang-org-grpc
go-google-golang-org-protobuf
go-gopkg-in-evanphx-json-patch-v4
go-gopkg-in-go-jose-go-jose-v2
go-gopkg-in-natefinch-lumberjack-v2
go-k8s-io-api
go-k8s-io-apimachinery
go-k8s-io-client-go
go-k8s-io-component-base
go-k8s-io-klog-v2
go-k8s-io-kms
go-k8s-io-kube-openapi
go-k8s-io-utils
go-sigs-k8s-io-apiserver-network-proxy-konnectivity-client
go-sigs-k8s-io-json
go-sigs-k8s-io-randfill
go-sigs-k8s-io-structured-merge-diff-v6
go-sigs-k8s-io-yaml))
(home-page "https://github.com/kubernetes/apiserver")
(synopsis "Library for building a Kubernetes aggregated API server")
(description
"This package provides a generic library for building a Kubernetes
aggregated API server.")
(license license:asl2.0)))
(define-public go-k8s-io-component-base
(package
(name "go-k8s-io-component-base")
@@ -395,39 +87,6 @@ aggregated API server.")
"This package contains shared code for Kubernetes core components.")
(license license:asl2.0)))
(define-public go-sigs-k8s-io-apiserver-network-proxy-konnectivity-client
(package
(name "go-sigs-k8s-io-apiserver-network-proxy-konnectivity-client")
(version "0.34.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kubernetes-sigs/apiserver-network-proxy")
(commit (go-version->git-ref version
#:subdir "konnectivity-client"))))
(file-name (git-file-name name version))
(sha256
(base32 "1kh92blfpmrmklxqg5j0p07yz534gjzhm44xj8bh5pad3y5zw5m0"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "sigs.k8s.io/apiserver-network-proxy/konnectivity-client"
#:unpack-path "sigs.k8s.io/apiserver-network-proxy"))
(native-inputs
(list go-go-uber-org-goleak))
(propagated-inputs
(list go-github-com-prometheus-client-golang
go-google-golang-org-grpc
go-google-golang-org-protobuf
go-k8s-io-klog-v2))
(home-page "https://sigs.k8s.io/apiserver-network-proxy")
(synopsis "Network proxy for Kubernetes API server")
(description
"This package provides a network proxy for the Kubernetes API server.")
(license license:asl2.0)))
;;;
;;; Executables:
+13 -13
View File
@@ -125,14 +125,14 @@
;; ex:
;; tar xf /gnu/store/...-firefox-123.4.source.tar.xz -O \
;; firefox-123.4/browser/locales/l10n-changesets.json | grep revision
(let ((commit "fefe280d909d0eee8d60edd2a6db7d969df56c5b"))
(let ((commit "0245ffb160688061f0e0c67ea488bcdfdacbeca4"))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mozilla-l10n/firefox-l10n.git")
(commit commit)))
(file-name (git-file-name "firefox-l10n" commit))
(sha256 (base32 "0z1ksvspbn4bbzxdl2w4x7bg36j4rwhaby8g37apg4393frh558i")))))
(sha256 (base32 "0y8xdxql04yys0wj685v4yp3kmx1ivnndg6z11vam8vszh0j7ak6")))))
(define* (make-librewolf-source #:key version firefox-hash librewolf-hash l10n)
(let* ((ff-src (firefox-source-origin
@@ -238,23 +238,23 @@
;;; but since in Guix only the latest packaged Rust is officially supported,
;;; it is a tradeoff worth making.
;;; 0: https://firefox-source-docs.mozilla.org/writing-rust-code/update-policy.html
(define rust-librewolf rust-1.94)
(define rust-librewolf rust-1.93)
;; Update this id with every update to its release date.
;; It's used for cache validation and therefore can lead to strange bugs.
;; ex: date '+%Y%m%d%H%M%S'
;; or: (format-time-string "%Y%m%d%H%M%S")
(define %librewolf-build-id "20260428201413")
(define %librewolf-build-id "20260409162101")
(define-public librewolf
(package
(name "librewolf")
(version "150.0.1-1")
(version "149.0.2-2")
(source
(make-librewolf-source
#:version version
#:firefox-hash "1v3fbwvd0khm3xwsgwcp6wpwmkz0v6fyk37hxj0mqkwjimqgmkra"
#:librewolf-hash "0294lsiyvfh93id04xki4bhs8d84vmysqviivxiif0xfzqv65qzp"
#:firefox-hash "1kkhg3lgyakinn5ankxrlxbf39wi61mqbhwrj1l4q5l7y0n1m4va"
#:librewolf-hash "1bai8g2kc9snck2f724al29q6r57vkj3d7v58rf0mgzpqzvwnw5f"
#:l10n firefox-l10n))
(build-system gnu-build-system)
(arguments
@@ -352,18 +352,18 @@
(cdr pref)))
`(("extensions.getAddons.search.browseURL"
,(string-append
"https://gnuzilla.gnu.org/"
"https://gnuzilla.gnu.org/mozzarella/"
"search.php?q=%TERMS%"))
("extensions.getAddons.get.url" .
"https://gnuzilla.gnu.org")
"https://gnuzilla.gnu.org/mozzarella")
("extensions.getAddons.link.url" .
"https://gnuzilla.gnu.org")
"https://gnuzilla.gnu.org/mozzarella")
("extensions.getAddons.discovery.api_url" .
"https://gnuzilla.gnu.org")
"https://gnuzilla.gnu.org/mozzarella")
("extensions.getAddons.langpacks.url" .
"https://gnuzilla.gnu.org")
"https://gnuzilla.gnu.org/mozzarella")
("lightweightThemes.getMoreURL" .
"https://gnuzilla.gnu.org")))))))
"https://gnuzilla.gnu.org/mozzarella")))))))
(add-after 'patch-source-shebangs 'patch-cargo-checksums
(lambda _
(use-modules (guix build cargo-utils))

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