1
0
forked from tribes/guix

Compare commits

..

280 Commits

Author SHA1 Message Date
Sharlatan Hellseher 0e86b13553 gnu: python-virtualenv: Update to 20.35.4.
* gnu/packages/python-xyz.scm (python-virtualenv): Update to 20.35.4.
[source]: Switch to git-fetch.
[arguments] <test-flags>: Rework skipped tests.

Change-Id: If627123d9213470b03f0535b90b1098cbde7c1ff
2026-04-16 09:59:21 +01:00
Sharlatan Hellseher 19ffbe53e6 gnu: libftdi: Fix build on python-3.12.
* gnu/packages/libftdi.scm (libftdi)[native-inputs]: Remove swig-4.0;
add python-setuptools and swig.

Change-Id: Idd7c1c616191778c7176ef50007404d1628c914e
2026-04-16 09:59:21 +01:00
Sharlatan Hellseher 4a8c88cd49 gnu: httpie: Skip one more test.
* gnu/packages/python-web.scm (httpie)[arguments] <test-flags>: Skip one
more test.

Relates-to: https://codeberg.org/guix/guix/issues/7707
Change-Id: I06bea4cbaae29c88436726398b849d0cc38727b4
2026-04-16 09:59:20 +01:00
Sharlatan Hellseher f0cd114773 gnu: python-abjad-ext-rmakers: Disable tests.
* gnu/packages/music.scm (python-abjad-ext-rmakers):
[source] <url>: Fix redirection.
[arguments] <tests?>: Disable.
[native-inputs]: Remove python-pytest and python-wheel.

Change-Id: I2d1ff60f3e1ab4eff678a738c407e01b43391e13
2026-04-16 09:59:20 +01:00
Sharlatan Hellseher 0fd098629d gnu: fdroidserver: Update to 2.4.3.
* gnu/packages/android.scm (fdroidserver): Update to 2.4.3.
[source]: Switch to git-fetch.
[propagated-inputs]: Remove python-argcomplete, python-docker,
python-mwclient, python-pyasn1, and python-pyasn1-modules.

Change-Id: I5f184eb4df48ee160091ffa55bb1e9a0ca8c0c40
2026-04-16 09:59:20 +01:00
Sharlatan Hellseher 87fa3dff54 gnu: sdkmanager: Adjust inputs and test backend.
* gnu/packages/android.scm (sdkmanager):
[arguments] <test-backend>: Use unittest.
[phases]{check}: Use default phase.
[inputs]:  Move from here ...
[propagated-inputs]: ... to here.

Change-Id: I6d976dbf7cee39beda89ea9719dcc1e340da66d9
2026-04-16 09:59:20 +01:00
Sharlatan Hellseher b45d4798a9 gnu: datasette: Update to 1.0a26.
* gnu/packages/databases.scm (datasette): Update to 1.0a26.
[arguments] <test-flags>: Limit parallel tests up to 8 threads; run all
tests.
[propagated-inputs]: Remove python-pint.
[native-inputs]: Remove python-pytest-asyncio-0.26; add
python-multipart-form-data-conformance and python-pytest-asyncio.

Change-Id: I1560278ccd9eb954dd9ceab3f8b122cead7cf7cf
2026-04-16 09:59:20 +01:00
Sharlatan Hellseher 307753bccf gnu: python-asyncinject: Update to 0.6.1.
* gnu/packages/python-xyz.scm (python-asyncinject): Update to 0.6.1.
[source]: Switch to git-fetch.
[native-inputs]: Remove python-wheel.

Change-Id: I097308d486aa6dc0a60f696389413dba2fd79b09
2026-04-16 09:59:20 +01:00
Sharlatan Hellseher 0659b145ad gnu: cpplint: Fix tests.
* gnu/packages/cpp.scm (cpplint)[phases]{fix-pytest-config}: New phase.

Change-Id: I75ea1c39f57d79d42f376f00da83e0e4867bfd8b
2026-04-16 09:59:20 +01:00
Sharlatan Hellseher 41b5937cda gnu: python-abjad-ext-nauert: Update to 3.31.
* gnu/packages/music.scm (python-abjad-ext-nauert): Update to 3.31.
[phases]{remove-local-source}: New phase.
[native-inputs]: Remove python-wheel.

Change-Id: Icac45d805e03a91cc3e5f3bdf1ab1ce41d626b67
2026-04-16 09:59:20 +01:00
Sharlatan Hellseher d9df7ceffc gnu: python-opt-einsum: Update to 3.4.0.
* gnu/packages/python-science.scm (python-opt-einsum): Update to 3.4.0.
[source]: Switch to git-fetch.
[propagated-inputs]: Add python-dask and python-sparse.
[native-inputs]: Remove python-setuptools and python-wheel; add
python-hatch-fancy-pypi-readme, python-hatch-vcs, and
python-hatchling.

Change-Id: I9aea1e93908bc06374e0ea9577e3b46492b64e40
2026-04-16 09:59:19 +01:00
Sharlatan Hellseher ca45fe8bb6 gnu: python-ndindex: Fix tests.
* gnu/packages/python-science.scm (python-ndindex):
[arguments] <test-flags>: Run tests in parallel, proper ignore and
deselect coverage markers warnings.
[native-inputs]: Add python-pytest-xdist.

Change-Id: Icf34370cfd0fa37cf34bf1f7efc08b8efb95f700
2026-04-16 09:59:19 +01:00
Sharlatan Hellseher 6d14175d50 gnu: python-lief: Improve package.
* gnu/packages/python-xyz.scm (python-lief): Fix indentation and order
of fields.
[native-inputs]: Remove cmake-minimal; add python-tomli.

Change-Id: Iaf2abc5538f7adfa606bef8b2fd92d035a54b163
2026-04-16 09:59:19 +01:00
Sharlatan Hellseher 7ad2f6fe43 gnu: Remove h3-3 and python-h3-3.
* gnu/packages/geo.scm (h3-3, python-h3-3): Delete variables.

Fixes: guix/guix#7433
Change-Id: Ie303de31cf5f8147cb602858aff87a122096d82c
2026-04-16 09:59:19 +01:00
Sharlatan Hellseher 441f81b99b gnu: python-scikit-build-core: Update to 0.12.2.
* gnu/packages/python-science.scm (python-scikit-build-core): Update to 0.12.2.
[source]: Switch to git-source.
[arguments] <tests?, test-flags>: Enable the most portion of tests.
[propagated-inputs]: Remove python-importlib-metadata,
python-importlib-resources, python-tomli, and python-typing-extensions;
add cmake-minimal.
[native-inputs]: Remove pybind11-2, python-fastjsonschema,
python-hatch-fancy-pypi-readme, python-numpy, python-pytest-subprocess,
python-rich, python-setuptools, python-setuptools-scm, and python-wheel.

Change-Id: Ib62523b96c069358838135923b39bf617797c2e0
2026-04-16 09:59:19 +01:00
Sharlatan Hellseher 69b7a6ea3f gnu: python-sphinx-6: Skip 3 more tests.
* gnu/packages/sphinx.scm (python-sphinx-6)[arguments] <test-flags>:
Skip 3 more tests; limit parallel tests up to 8 threads.

Change-Id: I77688c6637e1e58669f51bcadb276aa3200df4e3
2026-04-16 09:59:19 +01:00
Sharlatan Hellseher a4a041e291 gnu: python-peaks2utr: Update to 1.5.0.
* gnu/packages/bioinformatics.scm (python-peaks2utr): Update to
1.5.0. Use G-Expressions.
[source]: Switch to git-fetch.
[arguments] <test-flags>: Run all tests.
[phases]{relax-requirements}: Relax upper constrain for NumPy.
[propagated-inputs]: Remove macs, and python-numpy-1; add macs-3, and
python-numpy.
[native-inputs]: Remove python-wheel; add python-pytest.

Change-Id: I7466e00eb99c7fa12263ed8aaedde614c2119d4b
2026-04-16 09:59:19 +01:00
Sharlatan Hellseher 70808d6fa1 gnu: macs-3: Update to 3.0.4.
* gnu/packages/bioinformatics.scm (macs-3): Update to 3.0.4.
[arguments] <test-flags>: Skip one test.

Change-Id: I7bb990fbaa25bdb3a1f4047cc65a581ffdcd59f7
2026-04-16 09:59:19 +01:00
Sharlatan Hellseher 50c3a6cd52 gnu: python-hmmlearn: Modernize package.
* gnu/packages/machine-learning.scm (python-hmmlearn):
[source]: Switch to git-fetch.
[arguments]: Use G-expressions.
<test-flags>: Run all tests, provide option to test from installed module.
<phases>: Remove 'build-extensions.
[native-inputs]: Remove pybind11-2 and python-wheel; add pybind11.

Change-Id: Iadb85f813edea720a0a8f5f6e465ee80a530aef1
2026-04-16 09:59:18 +01:00
Hugo Buddelmeijer 46a2ae9f7f gnu: redshift: Fix build with Python 3.12 by updating to 1.12-0.490ba2a.
* gnu/packages/xdisorg.scm (redshift): Update to 1.12-0.490ba2a.
[source]: Switch to git-fetch.
[native-inputs]: Add autoconf, automake, and libtool.

Merges: https://codeberg.org/guix/guix/pulls/7554
Change-Id: I0663d5226b5b9ea4fe516f3d971dd20aefe30890
2026-04-16 09:59:18 +01:00
Hugo Buddelmeijer dbb3262b7f gnu: python-cssselect2: Update to 0.9.0.
* gnu/packages/python-web.scm (python-cssselect2): Update to 0.9.0.
[origin]: Switch to git-fetch.
[native-inputs]: Replace python-flit with python-flit-core; add python-pytest.
[home-page]: Update.

Merges: https://codeberg.org/guix/guix/pulls/7555
Change-Id: I45160f0fa30ce364d47ec651c08235e0c8797609
Reviwed-by: Nicolas Graves <ngraves@ngraves.fr>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:18 +01:00
Hugo Buddelmeijer 8f80842f8b gnu: thefuck: Fix build by upgrading to 3.32-0.c7e7e1d.
* gnu/patches/thefuck-remove-broken-tests.patch: Remove patch.
* gnu/packages/admin.scm (thefuck): Upgrade to 3.32-0.c7e7e1d.
[source]: Don't use patch.
[arguments]<#:test-flags>: Ignore broken tests.
* gnu/local.mk (dist_patch_DATA): Unregister patch.

Merges: https://codeberg.org/guix/guix/pulls/7617
Change-Id: I0bd94d7072412f73d4733af62e4577a2500db3a0
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:18 +01:00
Hugo Buddelmeijer 064126ebaa gnu: python-ulid: Make tests deterministic.
* gnu/packages/python-xyz.scm (python-ulid): Make tests deterministic.
[arguments]<#test-flags>: Disable flaky test.

Merges: https://codeberg.org/guix/guix/pulls/7520
Change-Id: I62878e0aa4f97dda743542c270539f568dc28fb7
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:18 +01:00
Sharlatan Hellseher e548c09f9c gnu: borg: Update to 1.4.4.
* gnu/packages/backup.scm (borg): Update to 1.4.4.
[source]: Switch to git-fetch.
<snippet>: Remove it as Git source does not provide generated C files.
[arguments] <test-flags>: Limit parallel tests up to 8 threads for
stability in CI; skip 7 more tests.
[phases]{install-doc}: Remove phase.
{fix-testsuite-setuid-mode, build-and-install-docs}: New phases.
{install-shell-completions}: Introduce bash, zsh and fish variable in
'let*'.
[inputs]: Remove python-msgpack-for-borg; add python-msgpack and
python-packaging.
[native-inputs]: Remove python-dateutil and python-wheel; add
python-guzzle-sphinx-theme, python-pkgconfig, python-sphinx, and
python-sphinxcontrib-jquery.

* gnu/packages/python-xyz.scm (python-msgpack-for-borg): Delete variable.

Change-Id: Ib681a7cac63b50e7c276e7b765fb273ad2ddebf9
2026-04-16 09:59:18 +01:00
Sharlatan Hellseher d6311e859d gnu: python-pyfuse3: Update to 3.4.2.
* gnu/packages/python-xyz.scm (python-pyfuse3): Update to 3.4.2.
[source]: Switch to git-fetch.

Change-Id: I7852e9938d457dfe24ec82a8adbf7e3f575059ef
2026-04-16 09:59:18 +01:00
Sharlatan Hellseher 66afa79048 gnu: python-papermill: Update to 2.7.0.
* gnu/packages/jupyter.scm (python-papermill): Update to 2.7.0.
[arguments] <test-flags>: Rework skipped tests.
[propagated-inputs]: Remove python-ansicolors.

Relates-to: https://codeberg.org/guix/guix/issues/7519
Change-Id: I4b076e7f65941882d857eae4b91964d197a5ec89
2026-04-16 09:59:18 +01:00
Sharlatan Hellseher a3225a015c gnu: python-notebook: Skip 2 more tests.
* gnu/packages/jupyter.scm (python-notebook)[arguments] <test-flags>:
Skip two more failing tests.

Change-Id: Ib9793b45dab870f5953b737dadb516894305209e
2026-04-16 09:59:17 +01:00
Hugo Buddelmeijer b2b8c7da58 gnu: libsoup-minimal: Make tests deterministic.
* gnu/packages/gnome.scm (libsoup-minimal): Make tests deterministic.
[arguments]<#:parallel-tests?>: Set to #f.
[home-page]: Update URL.

Fixes: guix/guix#7508.
Merges: https://codeberg.org/guix/guix/pulls/7511
Change-Id: Ia30f8594455f50b9df26988933622af313b3c0d8
Reviewed-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:17 +01:00
Nicolas Graves 51ad7d0f79 gnu: packages: Drop python-pytest-runner native-inputs.
This commit was generated using https://codeberg.org/guix/guix/pulls/5862:

   guix style -S remove-native-inputs --parameter=python-pytest-runner

and adding back python-pytest if necessary.

* gnu/packages/geo.scm (python-pyshp)
* gnu/packages/backup.scm (vorta)
[native-inptus]: Remove python-pytest-runner, add python-pytest.

* gnu/packages/backup.scm (duplicity)
* gnu/packages/linux.scm (python-spython)
* gnu/packages/bioinformatics.scm (python-cwl-utils)
* gnu/packages/databases.scm (python-pyarrow, datasette)
* gnu/packages/fontutils.scm (python-cu2qu)
* gnu/packages/gnome.scm (terminator)
* gnu/packages/music.scm (stargate)
* gnu/packages/python-science.scm (python-upsetplot)
* gnu/packages/python-web.scm (python-falcon, python-cssselect2)
* gnu/packages/python-xyz.scm (python-docrep, python-cairocffi,
  python-entrypoint2)
* gnu/packages/task-management.scm (todoman)
* gnu/packages/video.scm (yle-dl)
* gnu/packages/vpn.scm (sshuttle)
[native-inptus]: Remove python-pytest-runner.

Relates-to: https://codeberg.org/guix/guix/issues/7474
Change-Id: Ia79595309ba8965c4374e7c24a1ef4c3e36fe1ea
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:17 +01:00
Nicolas Graves 7fb0653e6b gnu: onnx: Drop python-pytest-runner native-input.
* gnu/packages/machine-learning.scm (onnx)[native-inputs]: Drop
python-pytest-runner.

Change-Id: I5ae6f0cb25215a9f616cd7f763127424b8d0a723
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:17 +01:00
Nicolas Graves ee5078e893 gnu: python-fontpens: Drop python-pytest-runner native-input.
* gnu/packages/fontutils.scm (python-fontpens)[native-inputs]: Drop
python-pytest-runner.

Change-Id: I61635be4a141631cb1e35c7560d3ce5c9ed536d8
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:17 +01:00
Sharlatan Hellseher 1d322ea750 gnu: python-rapidjson: Update to 1.23.
* gnu/packages/python-web.scm (python-rapidjson): Update to 1.23.
[source]: Switch to git-fetch.
[native-inputs]: Remove python-wheel.

Change-Id: I003839deb5e2a3ef23fae03b6a7c5ab1e51a8f8b
2026-04-16 09:59:17 +01:00
Sharlatan Hellseher f72d6b42f4 gnu: python-cherrypy: Fix tests.
* gnu/packages/python-web.scm (python-cherrypy): Remove dependency on
pytest_cov.
[arguments] <test-flags>: Skip one more test.
[phases]{fix-pytest-config}: New phase.

Change-Id: I40c91689c1a47e1d66a599e2b3aa9462c9f53bb5
2026-04-16 09:59:17 +01:00
Sharlatan Hellseher bd8d0e22da gnu: python-debugpy: Add python-versioneer.
* gnu/packages/python-xyz.scm (python-debugpy)[native-inputs]: Add
python-versioneer.

Change-Id: I2e9906742caa4edcb44dfc3236e75b36656cabcd
2026-04-16 09:59:16 +01:00
Sharlatan Hellseher 8bbebee269 gnu: python-pecan: Update to 1.8.0.
* gnu/packages/python-web.scm (python-pecan): Update to 1.8.0.
[propagated-inputs]: Remove python-logutils, python-six, and python-webtest.
[native-inputs]: Remove python-sqlalchemy; add python-sqlalchemy-2 and
python-webtest.

Change-Id: Id1df430d81d3f573db3fd3ae572e2f2f26b3829e
2026-04-16 09:59:16 +01:00
Sharlatan Hellseher 8e78ae1376 gnu: python-future: Skip more tests.
* gnu/packages/python-xyz.scm (python-future)[arguments] <test-flags>:
Skip more tests failing on Python 3.12.

Relates-to: https://codeberg.org/guix/guix/issues/6904
Change-Id: I36f62a53a81ed08e9982fe7fbcc0971c070dca60
2026-04-16 09:59:16 +01:00
Nicolas Graves b57b3de865 gnu: python-defusedxml: Fix dependents sanity-checks.
* gnu/packages/xml.scm (python-defusedxml)
[properties]: Add upstream-version and...
[version]: ...use it.
[arguments]<#:phases>: Add phase 'patch-version.

Change-Id: Ia837c8fbe54db68f261eb3085c48049ba313fceb
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:16 +01:00
Nicolas Graves e707ddc018 gnu: python-psutil: Update to 7.2.2.
* gnu/packages/python-xyz.scm (python-psutil): Update to 7.2.2.
[source]: Switch to git-fetch.
[arguments]<#:tests?>: Drop keyword.
<#:test-flags>: Ignore failing tests.
<#:phases>: Add phase 'prepare-tests.
[native-inputs]: Add procps, python-packaging, python-pytest,
python-pytest-instafail, python-pytest-xdist.

Change-Id: Ie2f094d1f8d039a9692de4075aa1a0f17745cd22
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:16 +01:00
Nicolas Graves ff9c2552d6 gnu: reprotest: Drop phase adjust-importlib-resources-for-old-python.
* gnu/packages/diffoscope.scm (reprotest)[arguments]<#:phases>:
Drop phase 'adjust-importlib-resources-for-old-python.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:16 +01:00
Nicolas Graves de378f7769 gnu: python-uvicorn: Update to 0.40.0.
* gnu/packages/python-web.scm (python-uvicorn): Update to 0.40.0.
[arguments] <test-flags>: Ignore resource warning.
[native-inputs]: Add python-pytest-xdist.  Replace
python-pytest-asyncio-0.26 by python-pytest-asyncio.

Change-Id: I0debd320aea58c775f60c4409420937031b2ae66
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:16 +01:00
Nicolas Graves 13f05468a0 gnu: python-aiohappyeyeballs: Update to 2.6.1-0-cc53cf8.
* gnu/packages/python-web.scm (python-aiohappyeyeballs): Update to 2.6.1-0-cc53cf8.
[source]: Switch to git-fetch.
[native-inputs]: Replace python-pytest-asyncio-0.26 by
python-pytest-asyncio.

Change-Id: Idc1d2005079c8bfa4fa34d3d5816715723a6e995
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:16 +01:00
Sharlatan Hellseher ba0fe496e9 gnu: python-pypdf: Update to 6.9.2.
* gnu/packages/pdf.scm (python-pypdf): Update to 6.9.2.
[arguments] <test-flags>: Run tests in a single thread, there are not
many of them; rework skipped tests.
[propagated-inputs]: Remove python-typing-extensions.
[native-inputs]: Remove python-flit, and python-pytest-xdist.

Fixes: guix/guix#7276
Change-Id: I6635b1f9583edf8caa271c292ea14e6db6ab0d6e
2026-04-16 09:59:15 +01:00
Sharlatan Hellseher e3d9e74aec gnu: python-pyscf: Update to 2.12.1.
* gnu/packages/chemistry.scm (python-pyscf): Update to 2.12.1.
[arguments] <modules>: Drop all.
[native-inputs]: Remove (canonical-package gcc) and python-wheel.

Change-Id: Ib139be65ee8b32a67fdba937c99acaa0636f42f4
2026-04-16 09:59:15 +01:00
Sharlatan Hellseher a79714f397 gnu: packages/video: Remove (guix build-system python).
* gnu/packages/video.scm: Remove (guix build-system python) as no longer
required.

Change-Id: I860344f4784d857dc8c86b44ef78b1cb9f45f765
2026-04-16 09:59:15 +01:00
Sharlatan Hellseher 7690d80766 gnu: python-pyzmq: Update to 27.1.0.
* gnu/packages/python-xyz.scm (python-pyzmq): Update to 27.1.0.
[source]: Switch to git-fetch.

Change-Id: I96e23eb0b01233213d8aebdc216ff5f473dae1b1
2026-04-16 09:59:15 +01:00
Sharlatan Hellseher 79c7484f74 gnu: python-pytest-celery: Update to 1.3.0.
* gnu/packages/python-check.scm (python-pytest-celery): Update to 1.3.0.

Change-Id: I218092baf981ecfaa53bf744ecd8ab40107c3c2d
2026-04-16 09:59:15 +01:00
Sharlatan Hellseher db6fe2ec1e gnu: python-celery: Adjust inputs.
* gnu/packages/python-xyz.scm (python-celery):
[propagated-inputs]: Remove python-click and python-click-plugins-1; add
python-click-8.1 and python-click-plugins.

Change-Id: I1654705099e03db4762d129377ff3fdf61f61ec2
2026-04-16 09:59:15 +01:00
Hugo Buddelmeijer 244159baa3 gnu: mypaint: Update to 2.0.1-0.35aa9d3.
* gnu/packages/image.scm (mypaint): Update to
35aa9d33cd3deba6cafea6d8fc901b5a1d161ceb commit.
Use G-expressions.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments] <imported-modules, modules>: Switch to pyproject-build-system.
<tests?>: Enable.
<phases>: Remove 'python3.11-compatibility; add 'move-assets-to-data.
[native-inputs]: Remove swig-4.0; add python-pytest, python-setuptools,
and swig.
[inputs]: Remove libmypain; add gdk-pixbuf, libmypaint-next, and libpng.
[home-page]: Use HTTPS.

Merges: https://codeberg.org/guix/guix/pulls/3878
Change-Id: Ic342c02467b3f75a796698c030ef4f937a91e25a
Co-authored-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:15 +01:00
Sharlatan Hellseher 9b8ba8b9c3 gnu: Add libmypaint-next.
* gnu/packages/gimp.scm (libmypaint-next): New variable.

Change-Id: I1a5c1090d5eea1630934f95cef452d1a4896db69
2026-04-16 09:59:15 +01:00
Sharlatan Hellseher 01e3a224f9 gnu: libmypaint: Build from git.
* gnu/packages/gimp.scm (libmypaint):
[source]: Switch to git-fetch.
[phases]{overwrite-automake-and-aclocal-versions}: New phase.
[native-inputs]: Add autoconf, automake, libtool, and python.

Change-Id: I78d3b245455a021bb64b8d7b8ffca085ec4dfc12
2026-04-16 09:59:15 +01:00
Sharlatan Hellseher 9d4a2ea2ba gnu: openmm: Update to 8.5.0.
* gnu/packages/machine-learning.scm (openmm): Update to 8.5.0.
[phases]{patch-python-build-system}: Rename to
{patch-wrappers-python-install}.
{remove-shaky-tests}: Place after {unpack} phase.
[native-inputs]: Remove swig-4.0; add swig.
[license]: List all mentioned licenses.

Change-Id: I89dc1b06917f20bf38e965077fb5f8b63cdf5cb9
2026-04-16 09:59:14 +01:00
Sharlatan Hellseher c0fda1de3e gnu: python-cheroot: Update to 11.1.2.
* gnu/packages/python-web.scm (python-cheroot): Update to 11.1.2.
[source]: Switch to git-fetch.
[arguments] <test-flags>: Drop all.
<phases>: Use default 'check; add 'fix-pytest-config.
[native-inputs]: Remove python-jaraco-text and python-wheel; add
python-pytest.

Fixes: guix/guix#7476
Change-Id: Idffa902090f305ca6d8d4f4a7ad20c1c1c6b5ef9
2026-04-16 09:59:14 +01:00
Nicolas Graves 1f7ff47b7a guix: build-system: Set pypi-uri in pyproject, drop python module.
After this commit, when both modules are imported:

- if pyproject is imported before, the warning is 'pypi-uri' is
deprecated, use '(@ (guix build-system pyproject) pypi-uri)' instead

- if python is imported before, the warning is `pypi-uri' imported from
both (guix build-system python) and (guix build-system pyproject)

This seems convenient enough to warn for deprecation in the short term,
while avoiding any breaking changes.

* guix/build-system/pyproject.scm (pypi-uri): Move the procedure from
(guix build-system python) here.

* guix/build-system/python (pypi-uri): Drop definition, import it
from (guix build-system pyproject) and deprecate it.

* gnu/packages/openldap.scm: Reorder modules to get the right warning.

* gnu/packages/pypy.scm: Likewise.

* gnu/packages/*.scm : Drop module (guix build-system python).

* tests/import/pypi.scm: Likewise.

Merges: https://codeberg.org/guix/guix/pulls/7448
Change-Id: Ib42f53bc545052eb7918a25afe9db6d5fc2cb834
Reviewed-by: Nguyễn Gia Phong <cnx@loang.net>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:14 +01:00
Sharlatan Hellseher 87920f6f0c gnu: packages: Remove python-build-system comments.
Rephrase or remove comments completely mentioning python-build-system to
prepare it for depreciation. It helps to search code for the rest
relevant entries of python-build-system.

Change-Id: I98ee81b4b0e0f826fd236fec20e77546e1567f80
2026-04-16 09:59:14 +01:00
Sharlatan Hellseher 008c8ece44 gnu: python-pandas: Fix build.
* gnu/packages/python-science.scm (python-pandas):
[phases]{version-set-by-guix}: Remove phases.
{patch-generate-version}: New phase.

Change-Id: Iee36356021f5bab3656ee39f3600af8b9d297a05
2026-04-16 09:59:14 +01:00
Sharlatan Hellseher 7dc1cadd17 gnu: python-pytest-pycodestyle: Update to 2.5.0.
* gnu/packages/python-check.scm (python-pytest-pycodestyle): Update to 2.5.0.
[source]: Switch to git-fetch.
[arguments] <tests?>: Enable.
[propagated-inputs]: Remove python-py and python-pytest.
[native-inputs]: Remove python-pytest-isort and python-wheel; add
python-pytest.

Relates-to: https://codeberg.org/guix/guix/issues/7475
Change-Id: I2a7b179d58d26f1486c199b24f5432aeba61089b
2026-04-16 09:59:13 +01:00
Sharlatan Hellseher 051c4802b6 gnu: python-pytest-random-order: Move to python-check.
* gnu/packages/check.scm (python-pytest-random-order): Move from here ...
* gnu/packages/python-check.scm: ... to here.

Change-Id: I5c530546776f441fe6d652880aea854a21388bda
2026-04-16 09:59:13 +01:00
Sharlatan Hellseher 40ad2e990c gnu: python-pytest-random-order: Update to 1.2.0.
* gnu/packages/check.scm (python-pytest-random-order): Update to 1.2.0.
[source]: Switch to git-fetch.
[arguments] <test-flags>: Deselect tests requiring extra packages.
[propagated-inputs]: Remove python-pytest.
[native-inputs]: Remove python-pytest-xdist, python-py, and
python-wheel; add python-pytest.

Relates-to: https://codeberg.org/guix/guix/issues/7475
Change-Id: I18506aee5f4424fc4e680ac0e7a2f52eafd84695
2026-04-16 09:59:13 +01:00
Sharlatan Hellseher 5809711b4c gnu: python-pygments: Update to 2.19.2.
* gnu/packages/python-build.scm (python-pygments): Update to 2.19.2.

Change-Id: I494bc99b8c0af2316b7a0269fc320b417986d917
2026-04-16 09:59:13 +01:00
Sharlatan Hellseher 2ad032d5e6 gnu: python-regex: Update to 2026.2.28.
* gnu/packages/python-xyz.scm (python-regex): Update to 2026.2.28.
[source]: Switch to git-fetch.
[arguments] <test-flags>: Run tests from installed module.
<phases>: Add 'remove-local-source.
[home-page]: Fix it as seen on https://pypi.org/project/regex/.

Change-Id: Id304acc12704aff63a6230b882250c3c824a9fbe
2026-04-16 09:59:13 +01:00
Nguyễn Gia Phong 32345a4cb4 gnu: python-antlr4-runtime: Fix compatibility with Python 3.12.
* gnu/packages/java.scm (python-antlr4-runtime)[arguments]<#:phases>:
  Add 'fix-python-3.12-compatibility.

Merges: https://codeberg.org/guix/guix/pulls/7451
Fixes: guix/guix#7436
Change-Id: Idd32199a39a4cf60f93670a9599ab53e3f978370
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:13 +01:00
Sharlatan Hellseher 3d7a8f266b gnu: python-dbus-1.2: Fix build on python-3.12.
* gnu/packages/python-xyz.scm: (python-dbus-1.2)[native-inputs]: Add
python-setuptools.

Change-Id: Id93ac8629e22c66ddbeb67e5d0ff71ba1e54bae1
2026-04-16 09:59:13 +01:00
Hugo Buddelmeijer ce223b1251 gnu: python-scikit-image: Fix build with python-pillow 12.1.1.
Followup to 017903d435f987c50c085bf415a07a551684412b.

* gnu/packages/python-science.scm (python-scikit-image): Fix build.
[source]: Add patch.
* gnu/packages/patchen/python-scikit-image-fix-python-pillow.patch: Add.
* gnu/local.mk (dist_patch_DATA): Register patch.

Merges: https://codeberg.org/guix/guix/pulls/7261
Change-Id: I7eee2e1f397f1f1ce0757f588da921687296ad41
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:13 +01:00
Nicolas Graves 404cd2afe1 gnu: mutter: Drop uneeded imported modules.
* gnu/packages/gnome.scm (mutter)[arguments]
<#:imported-modules, #:modules>: Drop them.

Change-Id: I161914091d1f488cc29c55b1b7cbe0c98de96286
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:12 +01:00
Nicolas Graves 6d07243198 gnu: python-pytorch-for-r-torch: Switch to pyproject.
* gnu/packages/machine-learning.scm (python-pytorch-for-r-torch):
[build-system]: Switch to pyproject-build-system.

Change-Id: I1d990b27034f81965a186cf536daaac47e93bf63
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:12 +01:00
Nicolas Graves d1307e824e gnu: tensile: Switch to pyproject.
* gnu/packages/rocm-libs.scm (tensile):
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-flags>: Set them.
<#:phases>: Drop 'check phase replacement.

Change-Id: Ie80b85ae5d79098b964012a0daed65935ccd8337
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:12 +01:00
Nicolas Graves 3c8a769907 gnu: openshot: Switch to pyproject.
* gnu/packages/video.scm (openshot):
[arguments]: Relocate field.
<#:imported-modules, #:modules>: Switch to pyproject-build-system.

Change-Id: Ie2c8a3d0fc1358b9f1846f10ca9de28a962b27f8
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:11 +01:00
Nicolas Graves 9d7198d77e gnu: python-orsopy: Switch to pyproject.
* gnu/packages/python-science.scm (python-orsopy):
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-flags>: Set them.
<#:phases>: Drop them accordingly.
[native-inputs]: Add python-setuptools.

Change-Id: Ic7116a6d6a23eea4b8e15c557b2967fd9d0d48af
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:11 +01:00
Nicolas Graves 9e884b3734 gnu: python-quasielasticbayes: Switch to pyproject.
* gnu/packages/physics.scm (python-quasielasticbayes)[arguments]:
<#:imported-modules, #:modules>: Switch to pyproject-build-system.
<#:phases>: Extract phases more canonically.
<#:test-flags>: Use them.

Change-Id: I1b53b5b278f67d5a7a02a8b3a84e1297ab83284e
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:11 +01:00
Nicolas Graves d86c6b433b tests: pypi: Switch to pyproject-build-system.
* tests/import/pypi.scm ("package-latest-release"): Switch to
pyproject-build-system.

Change-Id: I8ba5cdd45e793cd2aae7b3025f7598245de6c87e
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:11 +01:00
Nicolas Graves 841b519019 tests: packages: Switch to pyproject-build-system.
* tests/packages.scm ("package-input-rewriting, deep")
("package-input-rewriting/spec, no duplicates"):
Switch to pyproject-build-system.

Change-Id: I428af596a021e16ba6226e55910be24424e4a625
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:11 +01:00
Nicolas Graves c2d03a928c tests: builders: Switch to pyproject-build-system.
* guix/build/pyproject-build-system.scm (set-version): Ensure source
is not #f before using it.

* tests/builders.scm
(make-python-dummy)[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.
(python-dummy-no-setuptools): Drop it.
(check-build-success, check-build-failure): Refresh tests.
(check-build-failure): Drop python-dummy-no-setuptools.

Change-Id: I892b45c34b506ff27634e2ef706009dc81e831ec
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:11 +01:00
Nicolas Graves db6225ca89 gnu: python-brille: Switch to pyproject.
* gnu/packages/physics.scm (python-brille):
[arguments]<#:modules>: Switch to pyproject-build-system.
<#:phases>: Remove with-extensions wrapper.

Change-Id: I2f02c1a1b3ef5c5b5c92e6db5e4a075111b3a5b1
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:11 +01:00
Sharlatan Hellseher 0f5a526f7c gnu: python-timezonefinder: Update to 8.2.1.
* gnu/packages/time.scm (python-timezonefinder): Update to 8.2.1.
[arguments] <test-flags>: Rework skipped/ignored tests.
[propagated-inputs]: Remove python-h3-3, python-numba, python-numpy-1,
and python-pytz; add python-h3, python-flatbuffers, python-numpy, and
python-pydantic.
[native-inputs]: Remove python-poetry-core; add python-pytz.

Relates-to: https://codeberg.org/guix/guix/issues/7433
Change-Id: I6c9547f3ebf6d2078b75b2082d6345b8e61524ff
2026-04-16 09:59:11 +01:00
Sharlatan Hellseher f85f654b73 gnu: python-strict-rfc3339: Switch to unittest.
* gnu/packages/time.scm (python-strict-rfc3339):
[arguments] <test-backend, test-flags>: Switch to unittest.
<phasers>: Use default 'check; add 'skip-bad-tests.
[native-inputs]: Remove python-pytest.

Change-Id: Ib224fc2a5ade9f9533421b93ffbbc5aab29af0ab
2026-04-16 09:59:11 +01:00
Sharlatan Hellseher f90ada02ef gnu: python-h3: Update to 4.4.2.
* gnu/packages/geo.scm (python-h3): Update to 4.4.2.
[arguments] <test-flags>: Drop all.
[native-inputs]: Remove python-scikit-build, python-setuptools,
python-setuptools-scm, and python-wheel; add
python-scikit-build-core.

Change-Id: Iadc4df4a2d84ba2d470373d99d0807a509452069
2026-04-16 09:59:11 +01:00
Sharlatan Hellseher 2743f0e3f4 gnu: h3: Update to 4.4.1.
* gnu/packages/geo.scm (h3): Update to 4.4.1.

Change-Id: I5b7149568a74aeced17fbc1f7befb639cc4a62fe
2026-04-16 09:59:10 +01:00
Sharlatan Hellseher 45b31de433 gnu: flatbuffers: Refresh package style.
* gnu/packages/serialization.scm (flatbuffers): Use G-Expressions, and
list style. Adjust version commit to reflect required actions.

Change-Id: I908c9cb07fbe69d92fcc8b3f1f4aabd1eebbf481
2026-04-16 09:59:10 +01:00
Sharlatan Hellseher 1ef065cd25 gnu: flatbuffers: Update to 25.2.10.
* gnu/packages/serialization.scm (flatbuffers)
(go-github-com-google-flatbuffers, python-flatbuffers): Update to
25.2.10.

Change-Id: Iba22930fc4d7d32c4bf67f79d18a6b6366e4dcdb
2026-04-16 09:59:10 +01:00
Sharlatan Hellseher cac4be5c06 gnu: python-pivy: Switch to pyproejct.
* gnu/packages/python-graphics.scm (python-pivy)[build-system]: Switch
to pyproject-build-system.

Fixes: guix/guix#4094
Change-Id: Ic177e9ad7029fe62cf22ad420e4a875ee4e9e859
2026-04-16 09:59:10 +01:00
Nicolas Graves 0ee275d84e gnu: python-mysql-connector-python: Relocate and rename.
* gnu/packages/python-xyz.scm (python-mysql-connector-python): Move from here…
* gnu/packages/databases.scm (mysql-connector-python): …to here.
(python-mysql-connector-python): Deprecate package.

* gnu/packages/bioinformatics.scm (python-genomepy)[propagated-inputs]:
Replace python-mysql-connector-python by mysql-connector-python.

Change-Id: Ib48e3b998d3bf946d03d2c7aaf246a8251776402
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:10 +01:00
Nicolas Graves 2aaf9037c6 gnu: python-mysql-connector-python: Update to 8.3.0.
* gnu/packages/python-xyz.scm (python-mysql-connector-python): Update to 8.3.0.
[source]: Switch to git-fetch.
[arguments]<#:configure-flags>: Drop them.
<#:phases>: Add phase 'chdir and 'prepare-build.  Refresh phases
'compatibility and 'check.
[native-inputs]: Add python-setuptools.

Fixes: #3881
Change-Id: I75cfdfb880e3b4f8245ef24d8340440393245f33
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:10 +01:00
Nicolas Graves a0228dea0f build-system: pyproject: Fix 'install phase for purelib/platlib.
* guix/build/pyproject-build-system.scm (install):
[install-path, fix-scripts, distribution-name]: New helper procedures.
[expand-data-directory]: Refactor and build upon install-path to
handle purelib and platlib on top of just scripts and data.

Change-Id: I64f5453676e6881ae1cbce3170ed854f7035982a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:10 +01:00
Nicolas Graves 4b641dc6f2 gnu: boost: Avoid dependency on pyproject-build-system.
This very heavy package is quite annoying when developping on
python-team.  Alleviate some of that development cost using
G-expressions.

* gnu/packages/boost.scm (boost, boost-1.88, boost-1.83):
[arguments]<#:imported-modules, #:modules>: Drop them.
<#:configure-flags, #:phases>: Set python-version with a G-expression
instead of depending on the pyproject-build-system to get it at build
time.  Wrap those snippet in a force/delay, because evaluating the
G-expression is not possible if python is not present, and this is the
case for boost-for-mysql.  This lead to a minor rewrite of the phase
'provide-libboost_python, to stay under 80 characters wide, but the
logic is similar.

Merges: https://codeberg.org/guix/guix/pulls/7392
Change-Id: I40ad5dfe12253d72f3b91af66eae4d72e1050209
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:09 +01:00
Sharlatan Hellseher 67e38b8089 gnu: python-parfive: Update to 2.3.1.
* gnu/packages/python-web.scm (python-parfive): Update to 2.3.1.
[source]: Switch to git-fetch.
[arguments] <test-flags>: Skip one more test.
[propagated-inputs]: Remove python-aiofiles.
[native-inputs]: Remove python-wheel; add python-aiofiles.

Change-Id: Ia32c1e070ebc19ed1a2f8d442b4bda656b845a8b
2026-04-16 09:59:09 +01:00
Sharlatan Hellseher ae7c852681 gnu: python-aioftp: Fix tests.
* gnu/packages/python-web.scm (python-aioftp): Fix tests.
[source]: Switch to git-fetch.
[native-inputs]: Add python-pytest-mock.

Change-Id: I73a89803ad17148e590823a79c83ee8feade2371
2026-04-16 09:59:09 +01:00
Sharlatan Hellseher 0d19aac3bc gnu: python-click-repl: Update to 0.3.0-0.9a05fe9.
* gnu/packages/python-xyz.scm (python-click-repl): Update to
9a05fe9e58f768ce446f2777d13b4162211131e0 commit.
[propagated-inputs]: Remove python-click; add python-click-8.1.
[native-inputs]: Remove python-wheel.

Change-Id: Ia9fccd250c8a6a4bd38fce87e1847bbd95f34adc
2026-04-16 09:59:09 +01:00
Sharlatan Hellseher 185d35d821 gnu: Add python-click-8.1.
* gnu/packages/python-xyz.scm (python-click-8.1): New variable.

Change-Id: Ib574dc4b1ec0d4dc06bb1fd844afbdbea345fc17
2026-04-16 09:59:09 +01:00
Sharlatan Hellseher 9248cfc181 gnu: python-fiona: Update to 1.10.1.
* gnu/packages/geo.scm (python-fiona): Update to 1.10.1.
[arguments] <test-flags>: Rework skipped tests.
<phases>: Remove 'set-configure-flags, and 'remove-local-fiona; add
'remove-local-source.
[propagated-inputs]: Remove python-click-plugins-1; add
python-click-plugins.
[native-inputs]: Add python-fsspec and python-shapely.

Change-Id: I90fcfcd5cb4fc0956e0b0d28ce4b7a80ce66727f
2026-04-16 09:59:09 +01:00
Sharlatan Hellseher 7dd22d87f4 gnu: python-click-plugins: Downgrade to 1.1.1.2.
* gnu/packages/python-xyz.scm (python-click-plugins): 1.1.1.2.
[arguments] <tests?>: Disable them.
<phases>: Remove 'mkdir-tests.
[native-inputs]: Remove python-pytest.
(python-click-plugins-1): Deprecate in favor of python-click-plugins.

Fixes: guix/guix#7404
Change-Id: I51783a9013f1ee06f9445519203147751da47ee3
2026-04-16 09:59:09 +01:00
Sharlatan Hellseher 9d55c1568d gnu: python-graphviz: Update to 0.21.
* gnu/packages/graphviz.scm (python-graphviz): Update to 0.21.
[source]: Switch to git-fetch.
[arguments] <test-flags>: Ignore running tests from "tests/backend" in
the default 'check phase.
[phases] {check}: Use default phase.
{patch-pytest-options}: Re-point to pyproject.toml and exclude test
coverage checks.
{pre-check, test-backend}: New phases.
[native-inputs]: Remove unzip.

Change-Id: I0c8a146937edf81e086697ab048f8b15a85b4254
2026-04-16 09:59:09 +01:00
Maxim Cournoyer d3e4e806c1 gnu: gtk: Make reproducible.
* gnu/packages/patches/gtk4-demo-reproducible.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/gtk.scm (gtk) [source]: Apply it.

Change-Id: I03ef58f324a84151a681988a18aa1ab986aeba79
2026-04-16 09:59:08 +01:00
Maxim Cournoyer ba1b4096df gnu: gtk: Update to 4.22.1.
* gnu/packages/gtk.scm (gtk): Update to 4.22.1.
[patches]: Add gtk-needs-udmabuf.patch.
[#:phases] {pre-check}: Adjust arguments of Xvfb.
[native-inputs]: Add glibc-utf8-locales.
* gnu/packages/patches/gtk-needs-udmabuf.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: If9043cb55a60f4ec703515b61796b38fb4959f0b
2026-04-16 09:59:08 +01:00
Nicolas Graves 00ebf6506d teams: Record python aux-files.
* CODEOWNERS, etc/teams.scm: Record python aux-files.

Change-Id: I74e40364f5bccdf2b3cfc24dc24b691d635a6dcb
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:08 +01:00
Nicolas Graves 6ca5390c42 build-system: pyproject: Add arguments to pytest_guix plugin.
* guix/build/pyproject-build-system.scm
(keywords->alist, guile->python-keywords): Add procedures.
(check): Convert keyword alist before writing it.

* guix/build-system/pyproject.scm (%default-pytest-guix-options):
Add some python kwargs in a guile format.

* gnu/packages/aux-files/python/pytest_guix.py
(pytest_addoption): Handle python kwargs when some are provided.

Change-Id: Ie35e9b300acda830f35b6b754e8ccc07ad730faa
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:08 +01:00
Nicolas Graves 576bffe800 build-system: pyproject: Add pytest-guix-options.
* guix/build/pyproject-build-system.scm (check):
Pass pytest-guix-options to python through a hidden json file.
* guix/build-system/pyproject.scm
(%default-pytest-guix-options): Add variable.
(pyproject-build): Use it.
* gnu/packages/aux-files/python/pytest_guix.py:
Import pytest-guix-options from guile through a hidden json file.

Change-Id: Ice2ea72452c335b900bc354a04bd9657dc03d7d4
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:08 +01:00
Nicolas Graves 8209ddfd72 gnu: packages: Remove python-pytest-html native-input.
* gnu/packages/check.scm (behave)[native-inputs]: Remove
python-pytest-html.
* gnu/packages/python-check.scm (python-cucumber-tag-expressions):
Likewise.
* gnu/packages/python-xyz.scm (python-parse-type): Likewise.

Change-Id: Ic6369532bb9846d81718deeb3a63f35e2609f4ac
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:08 +01:00
Nicolas Graves 3fe6d55ebc gnu: packages: Remove some comments.
The previous commit removed some packages without proper handling of
comments.  This commit correct those comments.

* gnu/packages/django.scm
(python-django-extensions, python-django-cleanup): Correct comments.
* gnu/packages/jupyter.scm (python-ipykernel-7): Likewise.
* gnu/packages/python-check.scm
(python-hypothesmith, python-pytest-celery): Likewise.
* gnu/packages/python-xyz.scm
(python-mir-eval, python-click-repl, python-nb-clean): Likewise.
* gnu/packages/statistics.scm (python-dcor): Likewise.

Change-Id: I1ee52361f627a71716c20ccff3a0cd1678a00b7d
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:08 +01:00
Nicolas Graves 4c05ebe674 gnu: packages: Remove python-pytest-cov native-inputs.
Obtained with
./pre-inst-env guix style -S remove-native-inputs -t python-pytest-cov
on top of https://codeberg.org/guix/guix/pulls/5862

For this reason, I don't think it's relevant to generate a GNU Style
Changelog.

Change-Id: I58fe10452d7eaf2e8bb4dc88dfac5b4a5ee46165
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:07 +01:00
Nicolas Graves 82565b32d4 gnu: python-diskcache: Drop phase 'fix-pytest-config.
* gnu/packages/python-xyz.scm (python-diskcache)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.
<#:test-flags>: Keep ignoring addopts, as it also has other uneeded
flags.

Change-Id: I584128eed904c0d134e3a7292ffb65977b9f36b6
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:07 +01:00
Nicolas Graves 3e9a920776 gnu: python-cloudpathlib: Drop phase 'fix-pytest-config.
* gnu/packages/python-web.scm (python-cloudpathlib)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: Ia02f72a3643ed4b04e7430a74b246b27378ea213
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:07 +01:00
Nicolas Graves be4e376a54 gnu: python-utils: Drop phase 'fix-pytest-config.
* gnu/packages/python-xyz.scm (python-utils)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: I73f8a857d234b542a0ecf078cbb809403d5a9c7a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:07 +01:00
Nicolas Graves a45143f8ba gnu: python-strenum: Drop phase 'fix-pytest-config.
* gnu/packages/python-xyz.scm (python-strenum)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: I7b19876d98916098b90b9352f8c42c98fc7f708e
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:07 +01:00
Nicolas Graves 2cacbd37ca gnu: nikola: Drop phase 'fix-pytest-config.
* gnu/packages/python-xyz.scm (nikola)[arguments]<#:phases>:
Drop phase 'fix-pytest-config.

Change-Id: Ia18548523bf4cca435ab0a42d42e8f2a19961ac8
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:07 +01:00
Nicolas Graves d635919e6f gnu: python-async-timeout: Drop phase 'fix-pytest-config.
* gnu/packages/python-xyz.scm (python-async-timeout)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: I06cafe55f35351110409ffdf5cd74e3c0e677139
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:07 +01:00
Nicolas Graves b2fe836fbd gnu: python-rich-click: Drop phase 'fix-pytest-config.
* gnu/packages/python-xyz.scm (python-rich-click)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: I9c675aa0f90a45f336dc24e59cd631060e798d96
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:07 +01:00
Nicolas Graves 50ed14f1bf gnu: python-codespell: Drop phase 'fix-pytest-config.
* gnu/packages/python-xyz.scm (python-codespell)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: Ic2287d6aa5e1dab0da960e0912ef363a33f9c088
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:06 +01:00
Nicolas Graves d6908d648c gnu: python-quantlaw: Drop phase 'fix-pytest-config.
* gnu/packages/python-xyz.scm (python-quantlaw)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: If109ea44922411a3a45b9bfd8a34e0265b550eb9
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:06 +01:00
Nicolas Graves 83be6ad326 gnu: python-diskcache: Drop phase 'fix-pytest-config.
* gnu/packages/python-xyz.scm (python-diskcache)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: Idb05bb437377878cefb639e7f8537b4837e63fe9
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:06 +01:00
Nicolas Graves 4289ddc241 gnu: python-pytokens: Drop phase 'fix-pytest-config.
* gnu/packages/python-xyz.scm (python-pytokens)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: Iac4637403844c62d4bfd40dae2ca908469ef15a1
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:06 +01:00
Nicolas Graves 46cdcf328d gnu: python-conda-content-trust: Drop phase 'fix-pytest-config.
* gnu/packages/python-web.scm (python-conda-content-trust)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: I1e613f9f52c2c004b7b64115d1288a75c051c03c
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:06 +01:00
Nicolas Graves 607a5dd191 gnu: python-anaconda-cli-base: Drop phase 'fix-pytest-config.
* gnu/packages/python-xyz.scm (python-anaconda-cli-base)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.
[native-inputs]: Replace python-pytest-8 by python-pytest.  Add
python-types-requests.

Change-Id: Ie2f8c35497a0e17fd045166a34ea5a3269052e12
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:06 +01:00
Nicolas Graves 831a8645aa gnu: python-pyramid-tm: Drop phase 'fix-pytest-config.
* gnu/packages/python-web.scm (python-pyramid-tm)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: I44cca8be5ca12925df3b70d2265331b2c7337320
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:06 +01:00
Nicolas Graves 51659ba8e7 gnu: python-pyramid-mako: Drop phase 'fix-pytest-config.
* gnu/packages/python-web.scm (python-pyramid-mako)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: I341da9eecf6078a6aa175f3884b0d15fbfec7c96
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:06 +01:00
Nicolas Graves 39350b3f5e gnu: python-pyramid-jinja2: Drop phase 'fix-pytest-config.
* gnu/packages/python-web.scm (python-pyramid-jinja2)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: I034863e3cfe613a5605d8eefa76e3f4c7575608e
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:05 +01:00
Nicolas Graves aeb588edc1 gnu: python-venusian: Drop phase 'fix-pytest-config.
* gnu/packages/python-web.scm (python-venusian)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: I6f4b2ff1d387e302d0041da334e82c9d3f0ff717
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:05 +01:00
Nicolas Graves f7c5bc116b gnu: python-httpx-sse: Drop phase 'fix-pytest-config.
* gnu/packages/python-web.scm (python-httpx-sse)[arguments]<#:phases>:
Drop phase 'fix-pytest-config.

Change-Id: I29167f13b75a56369e3ce886499b6589206ae9a7
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:05 +01:00
Nicolas Graves 9b9b37edcc gnu: python-elastic-transport: Drop phase 'fix-pytest-config.
* gnu/packages/python-web.scm (python-elastic-transport)
[arguments]<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: I70ea2632e8b43fdd3d81a3985a09c2fd187e375a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:05 +01:00
Nicolas Graves 6349c9d933 gnu: python-pingouin: Drop phase 'fix-pytest-config.
* gnu/packages/python-science.scm (python-pingouin)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: Ieadcbabed58f87ae3e5a4d54e158bfa6d8b322a2
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:05 +01:00
Nicolas Graves d15d7cf5c7 gnu: python-tspex: Drop phase 'fix-pytest-config.
* gnu/packages/python-science.scm (python-tspex)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: I41624e1f8dd044e25408b445b28759d8d52d62e4
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:05 +01:00
Nicolas Graves 393c7d4530 gnu: python-scikit-misc: Drop phase 'fix-pytest-config.
* gnu/packages/python-science.scm (python-scikit-misc)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: Ic828d3d3d645b8e87c6ad50ed08008a9a6987372
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:05 +01:00
Nicolas Graves a093cb9fae gnu: python-numdifftools: Drop phase 'fix-pytest-config.
* gnu/packages/python-science.scm (python-numdifftools)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: Ib0cd60fd668cccab7cbb16d5e4b1bdb9fd7f96aa
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:05 +01:00
Nicolas Graves a4adebde4a gnu: python-respx: Drop phase 'fix-pytest-config.
* gnu/packages/python-check.scm (python-respx)[arguments]<#:phases>:
Drop phase 'fix-pytest-config.

Change-Id: I31b5cb885d82f909aa4b3389fff9a8776af6cf4a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:05 +01:00
Nicolas Graves 22d44c8abb gnu: python-deal-solver: Drop phase 'fix-pytest-config.
* gnu/packages/python-check.scm (python-deal-solver)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: Ie57206231cb72ab63523ed9482b92acaf9e6463d
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:04 +01:00
Nicolas Graves 7b032aebd3 gnu: python-deal: Drop phase 'fix-pytest-config.
* gnu/packages/python-check.scm (python-deal)[arguments]<#:phases>:
Drop phase 'fix-pytest-config.

Change-Id: If97a9af823185330a2717b08f2b51d8ada9008ed
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:04 +01:00
Nicolas Graves 32f4b364a8 gnu: conda-bootstrap: Drop phase 'fix-pytest-config.
* gnu/packages/package-management.scm (conda-bootstrap)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: I6d0cc7c38313e97ff6224998b4554a133932651f
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:04 +01:00
Nicolas Graves 5c937201b6 gnu: zulip-term: Drop phase 'fix-pytest-config.
* gnu/packages/messaging.scm (zulip-term)[arguments]<#:phases>:
Drop phase 'fix-pytest-config.

Change-Id: I7198151577706405858346cde4b6a0ad9373effe
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:04 +01:00
Nicolas Graves 6f838ac92d gnu: python-graphviz: Refresh phase 'fix-pytest-config.
* gnu/packages/bioinformatics.scm (python-graphviz)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: Ifbe98cc5a16da38bfac388a37c0cb5c2e7ffb78d
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:04 +01:00
Nicolas Graves f41f53cbe9 gnu: cpplint: Drop phase 'fix-pytest-config.
* gnu/packages/cpp.scm (cpplint)[arguments]<#:phases>:
Drop phase 'fix-pytest-config.

Change-Id: I64bb7e3079947fadc76f9965480e4c4098ae9485
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:04 +01:00
Nicolas Graves 0afbe1561d gnu: python-cooler: Drop phase 'fix-pytest-config.
* gnu/packages/bioinformatics.scm (python-cooler)[arguments]<#:phases>:
Drop phase 'fix-pytest-config.

Change-Id: Iddad5557655691c11ded0f0a20b1f23b7791b896
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:04 +01:00
Nicolas Graves ea706c1ba2 gnu: gdc-client: Drop phase 'fix-pytest-config.
* gnu/packages/bioinformatics.scm (gdc-client)[arguments]<#:phases>:
Drop phase 'fix-pytest-config.

Change-Id: I12f5dd5306a4c6d562d03b48837bf4bc1ae8ddda
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:04 +01:00
Nicolas Graves c8257b2196 gnu: python-pandas-flavor: Improve python-pytest-cov removal.
* gnu/packages/python-science.scm (python-pandas-flavor)[arguments]:
Drop them.

Change-Id: I3c83750eeb95b755c6160fc10b0d34cb8fd9a465
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:03 +01:00
Nicolas Graves 473bd2d022 gnu: python-cdflib: Drop phase 'fix-pytest-config.
* gnu/packages/astronomy.scm (python-cdflib)[arguments]<#:phases>:
Drop phase 'fix-pytest-config.

Change-Id: Ife876d242ed3fe602203ee675d158bc4f174c735
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:03 +01:00
Nicolas Graves b7163e7887 gnu: python-qtpy: Remove phases argument.
* gnu/packages/qt.scm (python-qtpy)[arguments]<#:phases>: Drop them.

Change-Id: Idc0c8e1064d596fda250fca6ea811597e6901034
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:03 +01:00
Nicolas Graves 24b2014daf gnu: python-distributed: Drop phase 'fix-pytest-config.
* gnu/packages/python-science.scm (python-distributed)[arguments]
<#:phases>: Drop phase 'fix-pytest-config.

Change-Id: Id5312389fdca9f9a456163d649084ef69e1d6a33
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:03 +01:00
Nicolas Graves d7f6a50b85 gnu: python-dask: Drop phase 'fix-pytest-config.
* gnu/packages/python-science.scm (python-dask)[arguments]<#:phases>:
 Drop phase 'fix-pytest-config.

Change-Id: I6eea2cf2b1685b0fdb61afb6c55cda2605056ff1
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:03 +01:00
Nicolas Graves 9efade7dd8 gnu: python-blurhash: Drop arguments.
* gnu/packages/python-crypto.scm (python-blurhash)[arguments]:
Drop them.

Change-Id: Ib46376553e09b0bdfaa4469f6df6bb0985760a42
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:03 +01:00
Nicolas Graves dd8b6e844f gnu: mbed-tools: Drop phases.
* gnu/packages/embedded.scm (mbed-tools)[arguments]<#:phases>: Drop
them, they are not required anymore.

Change-Id: I470d9ecae2e86defcb144f8c759fd7db819f44f0
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:03 +01:00
Nicolas Graves 09166a7678 gnu: python-mt-940: Drop arguments.
* gnu/packages/finance.scm (python-mt-940)[arguments]: Drop them.

Change-Id: Id379f1477727a30779f5c6d883c8b9636f839dd9
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:03 +01:00
Nicolas Graves a0402ca4c7 gnu: python-libtmux: Improve python-pytest-cov removal.
* gnu/packages/python-xyz.scm (python-libtmux):
[arguments]<#:test-flags>: Use -o instead of -c flag.

Change-Id: Id61657fffe36561954660f561fdf08ca3bdd346b
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:02 +01:00
Nicolas Graves 1637fd9843 gnu: python-multidict: Improve python-pytest-cov removal.
* gnu/packages/python-xyz.scm (python-multidict):
[arguments] <#:phases>: Drop phase 'fix-pytest-config.
<#:test-flags>: Adapt accordingly.

Change-Id: Iff6ce80523e20dcec92eba70f7ede010d7199054
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:02 +01:00
Nicolas Graves 59cccbcbd4 gnu: python-propcache: Improve python-pytest-cov removal.
* gnu/packages/python-xyz.scm (python-propcache):
[arguments] <#:phases>: Drop phase 'avoid-pytest-cov-preload.
<#:test-flags>: Adapt accordingly.

Change-Id: I55eadb85860b06bf0567d59d4474c6235741983d
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:02 +01:00
Nicolas Graves 3333a9ec35 gnu: python-aiohttp: Improve python-pytest-cov removal.
* gnu/packages/python-web.scm (python-aiohttp):
[arguments] <#:phases>: Drop phase 'fix-pytest-config.
<#:test-flags>: Adapt accordingly.

Change-Id: I2f2710fd72b2d9c94da4716863c213a8906fe05e
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:02 +01:00
Nicolas Graves 7b3aa45fc4 gnu: python-frozenlist: Improve python-pytest-cov removal.
* gnu/packages/python-web.scm (python-frozenlist):
[arguments]<#:test-flags>: Override the problematic option instead of
the whole file.

Change-Id: I06226a457d4a6ad562335141e20fd15cc39a47b4
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:02 +01:00
Nicolas Graves c6edab29b4 gnu: python-cftime: Cleanup python-pytest-cov removal.
* gnu/packages/python-xyz.scm (python-cftime):
[arguments]<#:phases>: Drop them.

Change-Id: I25c102e09412686ff26ffeae18128b5cce4cc251
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:02 +01:00
Nicolas Graves 996daa45c0 gnu: python-vsg: Remove pytest plugin inputs.
* gnu/packages/electronics.scm (python-vsg)
[arguments]<#:phases>: Drop modifications.
[inputs]: Remove python-pytest-cov and python-pytest-html, add
python-pytest.

Change-Id: I9d8519112b301a1245634746ee678be0e835cf8a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:02 +01:00
Nicolas Graves 85819c3b29 build-system/pyproject: Ignore selected pytest inputs.
This commit includes squashed changes from
https://codeberg.org/guix/guix/pulls/7220 and
https://codeberg.org/guix/guix/pulls/7338.

* gnu/packages/aux-files/python/pytest_guix.py: New file.
* Makefile.am: Record it.
* guix/build/pyproject-build-system.scm (check): Preload pytest_guix
plugin when available.
* guix/build-system/pyproject.scm (default-pytest-guix-plugin): New
package, generated from pytest_guix.py.
(lower): Add python-pytest-guix argument, and inject it if
python-pytest is in the native-inputs.

Change-Id: I13263b461e9962aad340347657b9c9685db63927
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:02 +01:00
Nicolas Graves 705e13d7fd gnu: python-loguru: Remove python-pytest-mypy-plugins.
* gnu/packages/python-xyz.scm (python-loguru)
[arguments]: Add in {test-flags} to skip the concerned test file.
[native-inputs]: Remove python-pytest-mypy-plugins.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:01 +01:00
Nicolas Graves 96361fe9f9 build-system/pyproject: Stop hiding options.
* gnu/packages/python-crypto.scm (python-keyring)
[arguments]<#:test-flags>: Remove arguments hiding coverage options.

* gnu/packages/python-web.scm (python-asgi-lifespan,
python-openapi-schema-validator, python-openapi-spec-validator,
python-openapi-core)[arguments]<#:test-flags>: Remove arguments hiding
coverage options.
(python-openapi-schema-validator, python-openapi-spec-validator)
[arguments]<#:phases>: Remove 'remove-coverage-pytest-options phase.
(python-cssselect2)[arguments]: Remove uneeded field.
(python-quart)[arguments]: Remove uneeded field.
(python-jsonpickle)[arguments]<#:test-flags>: Remove uneeded
test-flags.

* gnu/packages/python-xyz.scm (python-cattrs)
[arguments]<#:phases>: Remove arguments hiding coverage options.
(python-blessed)[arguments]: Remove uneeded field.

python-pytest-cov remove option

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:01 +01:00
Nicolas Graves c39398c5b9 build-system/pyproject: Remove python-pytest-mypy inputs.
* gnu/packages/check.scm (python-pytest-perf)[native-inputs]: Remove
python-pytest-mypy.

* gnu/packages/python-xyz.scm (python-portalocker)
[native-inputs]: Remove python-pytest-mypy.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:01 +01:00
Nicolas Graves 40febe59ed build-system/pyproject: Remove python-pytest-flake8 native-input.
* gnu/packages/bioinformatics.scm (python-muon)
* gnu/packages/check.scm (python-pytest-perf)
* gnu/packages/dav.scm (radicale)
* gnu/packages/debug.scm (c-vise)
[native-inputs]: Remove python-pytest-flake8.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:01 +01:00
Nicolas Graves e5ea0c75fe gnu: radicale: Remove python-pytest-isort native-input.
* gnu/packages/dav.scm (radicale)
[native-inputs]: Remove python-pytest-isort.

python-pytest-isort

Change-Id: I2d684c42d66183bd3e9e6f6281210cdcfd3b11b5
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:01 +01:00
Nicolas Graves 86d199a76a build-system/pyproject: Remove python-pytest-cov native-input.
* gnu/packages/astronomy.scm (python-wiimatch)
* gnu/packages/audio.scm (python-resampy, python-librosa)
* gnu/packages/backup.scm (borgmatic)
* gnu/packages/bioinformatics.scm (python-bed-reader, python-pysnptool)
(python-pairtools):
* gnu/packages/check.scm (python-pytest-nunit, python-pytest-perf)
* gnu/packages/dav.scm (vdirsyncer, radicale)
* gnu/packages/django.scm (python-django-redis)
* gnu/packages/engineering.scm (python-scikit-rf)
* gnu/packages/fediverse.scm (python-mastodon-py)
* gnu/packages/fontutils.scm (psautohint)
* gnu/packages/geo.scm (python-pyogrio)
* gnu/packages/graphviz.scm (python-uqbar)
* gnu/packages/jupyter.scm (python-jupyterlab-server python-nbclient,
python-jupyterlite-core, python-ipydatawidgets)
* gnu/packages/machine-learning.scm
(python-pymanopt, python-tensorly, python-torchmetrics)
* gnu/packages/maths.scm (python-libensemble)
* gnu/packages/music.scm (stargate)
* gnu/packages/python-check.scm (python-atpublic, python-vcrpy)
* gnu/packages/python-compression.scm (python-zipstream-ng)
* gnu/packages/python-science.scm (python-plotnine,
python-pandaparallel, python-pyts, python-pingouin)
* gnu/packages/python-web.scm (python-devpi-process, python-cheroot,
python-jsonpickle, python-flask-babel, python-url-normalize,
python-elasticsearch, python-hupper, python-simple-websocket,
python-apiron, python-huggingface-hub, python-aiosignal, python-ovh,
python-cbor2, python-zeep, hypercorn, python-warcio, python-aioftp,
python-oauthlib, python-tinycss2, python-cssselect2, python-httpcore,
python-wsgiprox, python-venusian, gunicorn)
* gnu/packages/python-xyz.scm (python-janus, python-affine,
python-contourpy, python-echo, python-rasterio, python-rich-tables,
python-babel, python-pymarshal, python-portalocker, python-expandvars,
python-mizani, python-cligj, autokey,
python-robotframework-pythonlibcore, python-lsp-jsonrpc,
python-numpydoc, python-pillow, python-manimpango, python-cairocffi,
python-pubmed-parser, python-sentry-sdk, python-prettytable,
python-sniffio, python-ipywidgets, python-pyproject-api,
python-pymemcache, python-async-lru, python-numcodecs, python-mwclient,
python-cmd2, python-pyan3, python-platformdirs, python-multipart,
python-shtab, python-scooby)
* gnu/packages/rdf.scm (python-rdflib-6)
* gnu/packages/simulation.scm (python-fenics-dijitso)
* gnu/packages/sphinx.scm (python-sphinx-design)
* gnu/packages/statistics.scm (python-patsy, python-rchitect)
* gnu/packages/task-management.scm (todoman)
* gnu/packages/vpn.scm (sshuttle)
* gnu/packages/web.scm (anonip, python-tibanna)
[native-inputs]: Remove python-pytest-cov.

Change-Id: I32f027794e90333c27fdff5871180779f603846c
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:01 +01:00
Nicolas Graves ecb5485994 gnu: python-pytest-perf: Remove python-pytest-black native-input.
* gnu/packages/check.scm (python-pytest-perf)
[native-inputs]: Remove python-pytest-black.

Change-Id: I46a98d059577c366699c634514f1cb364437aca0
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:00 +01:00
Nicolas Graves 14325eccca gnu: python-wcwidth: Remove coverage inputs.
* gnu/packages/python-xyz.scm (python-wcwidth)
[native-inputs]: Remove python-pytest-cov, python-wheel.
[description]: Improve style.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:00 +01:00
Nicolas Graves 01e58be593 gnu: python-watchdog: Remove coverage inputs.
* gnu/packages/python-xyz.scm (python-watchdog)
[native-inputs]: Remove python-pytest-cov, python-pytest-timeout.
[description]: Improve style.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:00 +01:00
Nicolas Graves 02556f441d gnu: python-numcodecs: Remove coverage inputs.
* gnu/packages/python-xyz.scm (python-numcodecs)
[native-inputs]: Remove python-pytest-cov, python-wheel.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:00 +01:00
Nicolas Graves 5f0d284bf7 gnu: python-semver: Remove coverage inputs.
* gnu/packages/python-xyz.scm (python-semver)
[native-inputs]: Remove python-pytest-cov, python-wheel.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:00 +01:00
Nicolas Graves f689a4abf7 gnu: python-numpydoc: Remove coverage inputs.
* gnu/packages/python-xyz.scm (python-numpydoc)
[native-inputs]: Remove python-pytest-cov and python-wheel.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:00 +01:00
Nicolas Graves ffd94d68bf gnu: python-anytree: Remove coverage inputs.
* gnu/packages/python-xyz.scm (python-anytree)[native-inputs]:
Remove python-pytest-cov.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:00 +01:00
Nicolas Graves e0b39171dd gnu: python-socksio: Remove python-pytest-cov input.
* gnu/packages/python-web.scm (python-socksio)[native-inputs]: Remove
python-pytest-cov.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:59:00 +01:00
Nicolas Graves 1154e0f020 gnu: python-waitress: Remove python-pytest-cov input.
* gnu/packages/python-web.scm (python-waitress)
[native-inputs]: Remove python-coverage, python-pytest-cov,
python-wheel.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:59 +01:00
Nicolas Graves 1b08af4565 gnu: python-cbor2: Remove python-pytest-cov input.
* gnu/packages/python-web.scm (python-cbor2)[native-inputs]:
Rmove python-pytest-cov, python-wheel.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:59 +01:00
Nicolas Graves 648646d7c9 gnu: python-test2ref: Remove python-pytest-cov input.
* gnu/packages/python-check.scm (python-test2ref
[native-inputs]: Remove python-pytest-cov.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:59 +01:00
Nicolas Graves 7e05bfc56e gnu: python-stdnum: Remove python-pytest-cov input.
* gnu/packages/finance.scm (python-stdnum)[native-inputs]:
Remove python-pytest-cov.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:59 +01:00
Nicolas Graves a3c98d5b7b gnu: python-arrow: Remove python-pytest-cov requirement.
* gnu/packages/time.scm (python-arrow)[native-inputs]: Remove
python-pytest-cov.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:59 +01:00
Nicolas Graves f2caf92e1f gnu: python-propcache: Remove python-pytest-cov requirement.
* gnu/packages/python-web.scm (python-propcache)[arguments]<#:phases>:
Add phase 'avoid-pytest-cov-preload.
[native-inputs]: Remove python-covdefaults, python-pytest-cov,
python-wheel.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:59 +01:00
Nicolas Graves 564974f2df gnu: python-yarl: Remove python-pytest-cov requirement.
* gnu/packages/python-web.scm (python-yarl)[arguments]<#:phases>: Add
phase 'avoid-pytest-cov-preload.
[native-inputs]: Remove python-covdefaults, python-pytest-cov,
python-wheel.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:59 +01:00
Nicolas Graves e6e4fb0c94 gnu: python-aiosignal: Remove python-pytest-cov requirement.
* gnu/packages/python-web.scm (python-aiosignal)
[arguments]<#:phases>: Add phase 'avoid-pytest-cov-preload.
[native-inputs]: Remove python-pytest-cov, python-wheel.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:59 +01:00
Nicolas Graves 69cf310de7 gnu: python-aiohappyeyeballs: Remove python-pytest-cov input.
* gnu/packages/python-web.scm (python-aiohappyeyeballs)
[native-inputs]: Remove python-pytest-cov.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:58 +01:00
Nicolas Graves faa20d1fba gnu: python-pycountry: Remove coverage input.
* gnu/packages/iso-codes.scm (python-pycountry)
[arguments]<#:phases>: Refresh phase 'fix-pytest-config.

Change-Id: I0ac06cc2d7835ae747a69b71df60374225ab40bd
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:58 +01:00
Nicolas Graves f817ef5535 gnu: python-docstring-to-markdown: Remove uneeded native-inputs.
* gnu/packages/python-xyz.scm (python-docstring-to-markdown)
[arguments]: Remove field.

Change-Id: I7790a8a12ab60f366b6a7af9a53aca6208e19eee
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:58 +01:00
Nguyễn Gia Phong db53005a36 gnu: Remove phase done by set-version in pyproject-build-system.
* gnu/packages/astronomy.scm (python-kanon)[arguments]<#:phases>:
  Remove 'relax-requirements and 'set-version.
  (python-stpipe)[arguments]<#:phases>:
  Remove 'set-version.
* gnu/packages/machine-learning.scm
  (python-botorch)[arguments]<#:phases>: Remove 'pretend-version.
* gnu/packages/openstack.scm
  (python-os-testr, python-requestsexceptions)[arguments]<#:phases>:
  Remove 'set-version.
* gnu/packages/package-management.scm
  (python-conda-libmamba-solver)[arguments]<#:phases>:
  Remove 'set-version.
* gnu/packages/patchutils.scm (pwclient)[arguments]<#:phases>:
  Remove 'set-PBR_VERSION.
* gnu/packages/python-check.scm
  (python-aioresponses)[arguments]<#:phases>: Remove 'set-pbr-version.
* gnu/packages/python-science.scm
  (python-modin, python-plotly, python-pytensor)[arguments]<#:phases>:
  Remove 'versioneer.
  (snakemake-5, snakemake-6, snakemake-7)[arguments]<#:phases>:
  Remove 'patch-version.
* gnu/packages/python-web.scm (python-alpaca-py)[arguments]<#:phases>:
  Remove 'set-version.
* gnu/packages/python-xyz.scm
  (python-logical-unification)[arguments]<#:phases>:
  Remove 'versioneer.
  (python-debugpy, python-strenum)[arguments]<#:phases>:
  Remove 'fix-version.
  (python-qstylizer)[arguments]<#:phases>: Remove 'set-pbr-version.
  (python-retry)[arguments]<#:phases>: Remove 'set-version.
* gnu/packages/statistics.scm (python-pymc)[arguments]<#:phases>:
  Remove 'versioneer.

Change-Id: I7b4557c576730e47575305f4f03bfe2523412c6c
Reviewed-by: Nicolas Graves <ngraves@ngraves.fr>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:58 +01:00
Nguyễn Gia Phong 4151a58d6d build: pyproject: set-version: Support more backends.
hatch-vcs also uses the SETUPTOOLS_SCM_PRETEND_VERSION
environment variable, while poetry-dynamic-versioning uses
POETRY_DYNAMIC_VERSIONING_BYPASS.  versioneer, on the other hand,
read from the Python package's ._version.get_versions().

The version scheme for Python packaging is not the same as
(nor compatible with) that of semantic version,
hence stop mentioning the latter in the docstring and comments.

When no relevant Python build backend is detected, regardless
if the source has been obtained from a VCS checkout, it is confusing
to mention any of the backends as unnecessary as a native input.
Moreover, unlike the hatch-vcs, poetry-dynamic-versioning
and setuptools-scm that works transparently with the build backend,
pbr and versioneer are required for building.
The output of the set-version phase has been adjusted accordingly.

* guix/build/pyproject-build-system.scm (set-version):
  Add support for python-hatch-vcs.  Clarify docstring.
  Log the explicit reason for noop cases.

References: https://github.com/ofek/hatch-vcs#version-source-environment-variables
References: https://github.com/mtkennerly/poetry-dynamic-versioning#environment-variables
References: https://github.com/python-versioneer/python-versioneer
References: https://docs.openstack.org/pbr/latest/user/packagers.html#versioning
References: https://packaging.python.org/en/latest/specifications/version-specifiers

Change-Id: I8f499856cb6b026539c96fb828e450a40ba10b79
Reviewed-by: Nicolas Graves <ngraves@ngraves.fr>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:58 +01:00
Nguyễn Gia Phong 18e8fdf8fa gnu: python-versioneer: Adjust patch.
* gnu/packages/patches/python-versioneer-guix-support.patch:
  Extract version from the environment variable
  instead of the parent directory name.

Change-Id: Ide050eeb8fbb82c29805fce74d891d62b7e707cb
Reviewed-by: Nicolas Graves <ngraves@ngraves.fr>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:58 +01:00
Sharlatan Hellseher 4a78b38245 gnu: python-openstep-plist: Update to 0.5.2.
* gnu/packages/python-xyz.scm (python-openstep-plist): Update to 0.5.2.
[native-inputs]: Remove python-cython-0; add python-cython.

Change-Id: I8fa859a2ef0fd156c90773a5aced929b6335214c
2026-04-16 09:58:58 +01:00
Sharlatan Hellseher 1530d27a96 gnu: python-dnspython: Update to 2.8.0.
* gnu/packages/python-xyz.scm (python-dnspython): Update to 2.8.0.
[arguments] <test-flags>: Clean up redundant skip options.

Change-Id: Ieb1f10fb99f10ec9ab6ae8e169a351ef652b6bac
2026-04-16 09:58:58 +01:00
Sharlatan Hellseher af74742e5f gnu: python-apsw: Update to 3.50.4.0.
* gnu/packages/databases.scm (python-apsw): Update to 3.50.4.0.
[source]: Switch to git-fetch.
[arguments] <test-backend, test-flags>: Use custom.
[phases]{build-extensions, build-test-helper}: Remove phases.
[native-inputs]: Remove unzip and python-wheel.

Change-Id: I2afcf969ddc1dccc87bd81c0d7b9f175d8e7f3af
2026-04-16 09:58:57 +01:00
Sharlatan Hellseher 3de4b8f706 gnu: python-clang: Add python-setuptools.
* gnu/packages/llvm.scm (python-clang)[native-inputs]: Add
python-setuptools.

Change-Id: I777aac2f15aaa99dd08719c8c7fbb515967bd214
2026-04-16 09:58:57 +01:00
Sharlatan Hellseher 162ce9ba8c gnu: weasyprint: Update to 68.1.
* gnu/packages/pdf.scm (weasyprint): Update to 68.1.
[arguments] <test-flags>: Remove "-c" overwriting project pytest config.
Limit parallel tests count up to 8 threads. Skip some broken tests.
<phases>: Add 'set-home.
[propagated-inputs]: Remove python-cairocffi, python-cairosvg, and
python-html5lib; add python-tinyhtml5.

Change-Id: I1eb2f3e886e397ab3a3d4b234dea180c372617a0
2026-04-16 09:58:57 +01:00
Sharlatan Hellseher 1bfa2363c1 gnu: python-pydyf: Update to 0.12.1.
* gnu/packages/pdf.scm (python-pydyf): Update to 0.12.1.
[source]: Switch to git-fetch.
[arguments]: Drop all.

Change-Id: I671e1114610f02e8d116d7068a8d476e8363f209
2026-04-16 09:58:57 +01:00
Hugo Buddelmeijer 315eaf9a97 gnu: jack-2: Update to 1.9.22-0.1795946.
* gnu/packages/audio.scm (jack-2): Update to
17959465a722225a36a8b612aed26764036f258e commit.
[arguments]<#:phases>: Remove 'python-compatibility phase.
[inputs]: Remove python-dbus-1.2; add python-dbus.

Merges: https://codeberg.org/guix/guix/pulls/7200
Change-Id: Ic6f3b67c67d7b87bd8b9efcbc7c0b8c04e0da5e6
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:57 +01:00
Hugo Buddelmeijer 914ffc7b7f gnu: python-pillow: Update to 12.1.1 [security-fixes].
Release notes since 11.1.0 (2025-01-02):
- 12.1.1 (2026-02-11)
  <https://pillow.readthedocs.io/en/stable/releasenotes/12.1.1.html>.
- 12.1.0 (2026-01-02)
  <https://pillow.readthedocs.io/en/stable/releasenotes/12.1.0.html>.
- 12.0.0 (2025-10-15)
  <https://pillow.readthedocs.io/en/stable/releasenotes/12.0.0.html>.
- 11.3.0 (2025-07-01)
  <https://pillow.readthedocs.io/en/stable/releasenotes/11.3.0.html>.
- 11.2.1 (2025-04-12)
  <https://pillow.readthedocs.io/en/stable/releasenotes/11.2.1.html>.

Containes fixes for:
CVE-2026-25990: Out-of-bounds write vulnerability in Pillow (Python
                imaging library) affecting versions 10.3.0 through
                12.1.0. The vulnerability can be triggered when loading
                specially crafted PSD image files.
CVE 2025-48379: Write buffer overflow on BCn encoding.
CVE-2021-25289: Heap-based Buffer Overflow.

* gnu/packages/python-xyz.scm (python-pillow): Update to 12.1.1.
[source]: Switch to git-fetch.
[native-inputs]: Add pybind11.
[home-page]: Update URL.
[license]: Switch to MIT-CMU license.

Merges: https://codeberg.org/guix/guix/pulls/7218
Change-Id: I5b13dca66aeb7efdfcc44c8c144b6c64601d9b1e
Reviewed-by: Nguyễn Gia Phong <cnx@loang.net>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:57 +01:00
Sharlatan Hellseher ce5d652847 gnu: python-fonttools: Swap inheritance, simplify.
* gnu/packages/python-xyz.scm (python-fonttools): Don't  inherit from
python-fonttools-miniaml.
[arguments]<test-flags>: Rework skipped tests.
[propagated-inputs]: Remove python-fs, python-lz4, and python-scipy.
(python-fonttools-minimal): Inherit from python-fonttools, simplify.

Relates-to: https://codeberg.org/guix/guix/issues/7195
Change-Id: I1da5dd67f41a90c291a48ec236e7e463acf65785
2026-04-16 09:58:57 +01:00
Yelninei dab84d4819 gnu: python-elementpath: Use libc-utf-8-locales.
* gnu/packages/xml.scm (python-elementpath):
[phases]{set-locales phase}: Remove phase.
[native-inputs]: Replace glibc-locales with
libc-utf8-locales-for-target.

Merges: https://codeberg.org/guix/guix/pulls/7189
Change-Id: Id89952c65ff644e5fb51dd7c0e0bf6c4791e4e3f
Reviewed-by: Nicolas Graves <ngraves@ngraves.fr>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:57 +01:00
Sharlatan Hellseher 60e02c1f12 gnu: python-rich-click: Update to 1.9.7.
* gnu/packages/python-xyz.scm (python-rich-click): Update to 1.9.7.
[phases]{fix-pytest-config}: New phase.
[propagated-inputs]: Remove python-typing-extensions.
[native-inputs]: Add python-inline-snapshot and python-typer.

Change-Id: I8f22ce7e79d6aae367474c1b609ed43d9ab38167
2026-04-16 09:58:56 +01:00
Sharlatan Hellseher 2e4bf2bda1 gnu: python-inline-snapshot: Update to 0.32.5.
* gnu/packages/python-check.scm (python-inline-snapshot): Update to 0.32.5.
[source]: Switch to git-fetch.
[arguments] <test-flags>: Ignore tests requiring isort.

Change-Id: Ic9bd5826f4cdc911dbae9eb52bfa08b7b56b5a9d
2026-04-16 09:58:56 +01:00
Sharlatan Hellseher ebe4b8d797 gnu: python-dirty-equals: Update to 0.11.0.
* gnu/packages/python-xyz.scm (python-dirty-equals): Update to 0.11.0.
[source]: Switch to git-fetch.
[arguments]: Drap all.
[propagated-inputs]: Remove python-pytz.
[native-inputs]: Add python-pydantic, python-pytest-examples, and
tzdata-for-tests.

Change-Id: Iff4b844ec8544d463806ff5c4fbd8c19deadd1c4
2026-04-16 09:58:56 +01:00
Sharlatan Hellseher bc1c1d9f97 gnu: python-pydantic: Adjust inputs.
* gnu/packages/python-xyz.scm (python-pydantic)[native-inputs]: Remove
python-dirty-equals; add python-dirty-equals-bootstrap and python-pytz.

Change-Id: I5094994f891cf2ed9d06dc70d12e92d9eb5b7e02
2026-04-16 09:58:56 +01:00
Sharlatan Hellseher 3f9a8a89c7 gnu: python-pydantic-core: Adjust inputs.
* gnu/packages/python-xyz.scm (python-pydantic-core)[native-inputs]:
Remove python-dirty-equals; add python-dirty-equals-bootstrap.

Change-Id: I35ac1000927495ea451f49c8ccfeb97de6e58c63
2026-04-16 09:58:56 +01:00
Sharlatan Hellseher aa1b2ce833 gnu: Add python-dirty-equals-bootstrap.
* gnu/packages/python-xyz.scm (python-dirty-equals-bootstrap): New variable.

Change-Id: I1f90def023d1a2cc64998fd92ed427431c6b00fc
2026-04-16 09:58:56 +01:00
Hugo Buddelmeijer 62c47b81ef gnu: python-gorilla: Update to 0.5.0.
* gnu/packages/python-xyz.scm (python-gorilla): Update to 0.5.0.

Change-Id: If6ec17cca1f3a08867fa3c163b1964b893621548
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:56 +01:00
Sharlatan Hellseher 254f891c6a gnu: python-booleanoperations: Move to fontutils.
The description of the package does not match the selected module, and
it's used only to build font related packages.

* gnu/packages/graphics.scm (python-booleanoperations): Move from here ...
* gnu/packages/fontutils.scm ... to here.

Change-Id: If96253ef74f2931b1c184eecd7c961b02e721cfd
2026-04-16 09:58:56 +01:00
Sharlatan Hellseher f0acd47f6d gnu: piglit: Update to 0.0.0-2.040ed91.
* gnu/packages/gl.scm (piglit): Update to
040ed91f234abb6a502d3a6910f1b0e54bd239a7 commit.
[phases]{wrap}: Use G-Expression.
[inputs]: Remove python-lxml, python-mako, and python-numpy-1; add
wayland-protocols.
[native-inputs]: Add python-lxml, python-mako, and python-numpy.

Change-Id: I060b5cce391a1c45d164117a9a72eeafc99a1194
2026-04-16 09:58:55 +01:00
Sharlatan Hellseher 5599d5222a gnu: python-notebook: Reduce closure size.
* gnu/packages/jupyter.scm (python-notebook)[native-inputs]: Remove
python-coverage, python-pytest-cov, and python-wheel.

Change-Id: I4cddfe84a40440dc8d052885e5d0d4539b97da76
2026-04-16 09:58:55 +01:00
Sharlatan Hellseher df13fd5aab gnu: python-json-logger: Skip 3 tests.
* gnu/packages/python-xyz.scm (python-json-logger)[arguments]
<test-flags>: Skip 3 tests failing on Python 3.12.
[native-inputs]: Remove python-wheel.

Change-Id: Ic3b63d0c1b7c54bfce9151515384ef38a7d6be0a
2026-04-16 09:58:55 +01:00
Sharlatan Hellseher e27dfea182 gnu: python-rich: Update to 14.3.3.
* gnu/packages/python-xyz.scm (python-rich): Update to 14.3.3.

Change-Id: I83512a4988f98a74e0d0b418a79a3b3f4b9481b9
2026-04-16 09:58:55 +01:00
Sharlatan Hellseher a4aefd9016 gnu: Remove python-rich-next.
* gnu/packages/python-xyz.scm (python-rich-next): Delete variable.

Change-Id: I7b37b4083d770452e4659a8b876976d824f3bed0
2026-04-16 09:58:55 +01:00
Sharlatan Hellseher b118b3e49a gnu: python-flasgger: Fix tests.
* gnu/packages/python-xyz.scm (python-flasgger):
[source] <snippet>: Apply upstream patch for Click 8.2 compatibility,
see <https://github.com/flasgger/flasgger/pull/633>.
[arguments] <test-flags>: Remove redundant option and run tests only in
"tests" directory.

Change-Id: I7fbe495dee922fd2aa67052cf445526adc5ab205
2026-04-16 09:58:55 +01:00
Hugo Buddelmeijer f0782036a7 gnu: python-notify2: Switch to python-dbus.
* gnu/packages/python-xyz.scm (python-notify2): Switch to python-dbus.
[propagated-inputs]: Remove python-dbus-1.2; add python-dbus.

Change-Id: I7eb0a276dbebde3fd1380ad1b0d307e72896b754
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:55 +01:00
Hugo Buddelmeijer 1ef7581811 gnu: terminator: Switch to python-dbus.
* gnu/packages/gnome.scm (terminator): Switch to python-dbus.
[inputs]: Remove python-dbus-1.2; add python-dbus.

Change-Id: I5ef84a30b3ff76f7581a6e9aa74ecb99ee750040
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:55 +01:00
Hugo Buddelmeijer a35dedb1e4 gnu: network-manager: Switch to python-dbus.
* gnu/packages/gnome.scm (network-manager): Switch to python-dbus.
[native-inputs]: Remove python-dbus-1.2; add python-dbus.

Change-Id: I67131ccb14540d96dc0bf6639a142d1385d37d2c
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:54 +01:00
Hugo Buddelmeijer 149696d069 gnu: libsecret: Switch to python-dbus.
* gnu/packages/gnome.scm (libsecret): Switch to python-dbus.
[native-inputs]: Remove python-dbus-1.2; add python-dbus.

Change-Id: If17e0eb40e5ed3493d5013bb9cc09135634e3239
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:54 +01:00
Hugo Buddelmeijer 1502fb4f89 gnu: system-config-printer: Switch to python-dbus.
* gnu/packages/gnome.scm (system-config-printer): Switch to python-dbus.
[inputs]: Remove python-dbus-1.2; add python-dbus.

Change-Id: Iba41894960ac4e432ad7cd03ce99cbcf228825d9
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:54 +01:00
Hugo Buddelmeijer e8fadd71bb gnu: gtg: Switch to python-dbus.
* gnu/packages/gnome.scm (gtg): Switch to python-dbus.
[inputs]: Remove python-dbus-1.2; add python-dbus.

Change-Id: I1ee875a33dc5a628bc8e4a5fe521c62319cafb57
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:54 +01:00
Hugo Buddelmeijer eb072c95a7 gnu: python-liblarch: Fix build by switching to python-pygobject-3.50.
* gnu/packages/gnome.scm (python-liblarch): Switch to python-pygobject-3.50.
[propagated-inputs]: Remove python-pygobject; add python-pygobject-3.50.

Change-Id: I2e528bda69f3cd5de7a23620e71160553b53a36b
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:54 +01:00
Hugo Buddelmeijer 22ba3a7395 gnu: telepathy-idle: Switch to python-dbus.
* gnu/packages/freedesktop.scm (telepathy-idle): Switch to python-dbus.
[inputs]: Remove python-dbus-1.2; add python-dbus.

Change-Id: Ia99a1ad430d46627a416ee50096cdef8727adbc8
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:54 +01:00
Hugo Buddelmeijer e711f425b1 gnu: modem-manager: Switch to python-dbus.
* gnu/packages/freedesktop.scm (modem-manager): Switch to python-dbus.
[native-inputs]: Remove python-dbus-1.2; add python-dbus.

Change-Id: Ia43359c043f9d2d9ded8cbad9445d1b75d514dac
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:54 +01:00
Sharlatan Hellseher 995a0aed24 gnu: python-qt-py: Update to 2.0.3.
* gnu/packages/qt.scm (python-qt-py): Update to 2.0.3.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments] <tests?>: Disable for now, see:
<https://github.com/mottosso/Qt.py/issues/395>.
[propagated-inputs]: Add python-types-pyside6.
[native-inputs]: Remove python-pyqt; add python-pyqt-6 and
python-setuptools.

Change-Id: I87f1186ec3db5b37ec3cb9389e97d0ecc81e79ac
2026-04-16 09:58:54 +01:00
Sharlatan Hellseher 75ed14bf15 gnu: python-qt.py: Rename to python-qt-py.
* gnu/packages/qt.scm (python-qt.py): Rename to python-qt-py.
(python-qt.py): Deprecate in favor of python-qt-py.

* gnu/packages/radio.scm (qspectrumanalyzer):
[inputs]: Remove python-qt.py; add python-qt-py.

Change-Id: Idd0921fadc4724ed7bd4ed6f3e4115ddb5e70e2a
2026-04-16 09:58:54 +01:00
Sharlatan Hellseher 4852a7f7cf gnu: Add python-types-pyside6.
* gnu/packages/python-xyz.scm (python-types-pyside6): New variable.

Change-Id: I7c5e60cf38de37b1a127fd8aa2ce062f1da9ae54
2026-04-16 09:58:53 +01:00
Sharlatan Hellseher 535c87a628 gnu: python-black: Update to 26.3.1.
* gnu/packages/python-xyz.scm (python-black): Update to 26.3.1.
Use G-Expressions.
[source]: Switch to git-fetch.
[arguments] <test-flags>: Skip one test.
[propagated-inputs]: Add python-pytokens.
[native-inputs]: Remove python-pytest-8; add python-pytest.

Change-Id: I132c774e3d946be8ed7f6be7574ea847b82fddf2
2026-04-16 09:58:53 +01:00
Sharlatan Hellseher 0276f1ef47 gnu: Add python-pytokens.
* gnu/packages/python-xyz.scm (python-pytokens): New variable.

Change-Id: I1757fc076cb104533e4fa4223215615ac9c82d53
2026-04-16 09:58:53 +01:00
Sharlatan Hellseher 730bee6fcc gnu: python-pathspec: Update to 1.0.4.
* gnu/packages/python-build.scm (python-pathspec): Update to 1.0.4.
[source]: Switch to git-fetch.
[native-inputs]: Remove python-setuptools-bootstrap; add
python-packaging-bootstrap.

Change-Id: I02bab3eab782a735bd22f34e9667748c393c3fdf
2026-04-16 09:58:53 +01:00
Reza Housseini 25817549ee gnu: python-click: Update to 8.3.1.
* gnu/packages/python-xyz.scm (python-click): Update to 8.3.1.

Merges: https://codeberg.org/guix/guix/pulls/6877
Change-Id: I0d4fea5e4628a39025705517b12f9a229365dd75
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:53 +01:00
Hugo Buddelmeijer afe1b1d3c0 gnu: python-sphinxcontrib-jquery: Update to 4.1-0.80d1d39.
* gnu/packages/sphinx.scm (python-sphinxcontrib-jquery): Update to
80d1d3925c17c1860283323972680690f81d7b18 commit.
[source]: Switch to git-fetch.
[native-inputs]: Add python-pytest.

Merges: https://codeberg.org/guix/guix/pulls/7112
Change-Id: I9a68700797e9b4650e01e504bc2d5abbdca8435d
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:53 +01:00
Andreas Enge d66835d123 build-system: python: Remove strip-python2-variant.
* guix/build-system/python.scm (strip-python2-variant): Remove variable.

Fixes: guix/guix#5398
Change-Id: Ice537cbbecdc04cafcd5f1260a27a5f3a631df58
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:53 +01:00
Andreas Enge 6560108894 gnu: Remove python2-dbus.
* gnu/packages/python-xyz.scm (python2-dbus): Delete variable.

Change-Id: I7975a5f4d172ecf7558cdf3469e6c60136feee48
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:53 +01:00
Andreas Enge 37ecb105b2 gnu: python-dbus: Remove python2-variant property.
* gnu/packages/python-xyz.scm (python-dbus)[property]: Remove field.

Change-Id: Id37d3f0a42af06d4470abc69f983f6df14d609c7
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:52 +01:00
Sharlatan Hellseher 12db42bcff gnu: python-msgspec: Adjust style and indentation.
* gnu/packages/serialization.scm (python-msgspec): Adjust style and
indentation.

Change-Id: I76fba5a2314febe4cddbc712fecf7a596a31915e
2026-04-16 09:58:52 +01:00
Nguyễn Gia Phong 8c443f70f8 gnu: python-msgspec: Update to 0.20.0.
* gnu/packages/serialization.scm (python-msgspec): Update to 0.20.0.
  [source]<snippet>: Adjust the path to atof_consts.h.
  [arguments]<#:test-flags>: Adjust to disable all typing tests.
  [native-inputs]: Remove python-gcovr, python-versioneer, and python-wheel.
  [supported-systems]: Remove restrictions as no longer specified
  by upstream.

Change-Id: Iab29b85cfd5c598db82f8753475d15ad97a564db
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:52 +01:00
Sharlatan Hellseher 11e043e7c6 gnu: python-anyio: Simplify and rework skipped tests.
Anyio is know for shaky and time sensitive tests particularly on heavy
loaded machines and CI with cores count more than 16. This change
excludes all network tests with "-m no network" marker and time
sensitive test on all architectures.

* gnu/packages/python-xyz.scm (python-anyio)[arguments] <test-flags>:
Simplify and rework skipped/ignored tests.

Relates-to: https://codeberg.org/guix/guix/issues/6931
Relates-to: https://codeberg.org/guix/guix/issues/6649
Merges: https://codeberg.org/guix/guix/pulls/7070
Change-Id: Ide333652172e5d97c735414fe2b3d1beac6ab5bd
2026-04-16 09:58:52 +01:00
Hugo Buddelmeijer 97c2c51b83 gnu: python-can: Fix build.
* gnu/packages/python-xyz.scm (python-can): Fix build.
[native-inputs]: Remove python-future.

Change-Id: I189672b60c5367a6c5af202aad27984f3c260634
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:52 +01:00
Hugo Buddelmeijer 0cd615775c gnu: python-pyxdg: Update to 0.28-0.63033ac.
* gnu/packages/freedesktop.scm (python-pyxdg): Update 0.28-0.63033ac.
[arguments]<#:test-flags>: Remove as tests pass.

Change-Id: Iefe8fb19a85348420b0727ab25267e1ea4cb4d55
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:52 +01:00
Hugo Buddelmeijer 8133fe614a gnu: python-pysendfile: Fix build on python-3.12.
* gnu/packages/python-xyz.scm (python-pysendfile): Fix build.
[propagated-inputs]: Add python-pyasynchat.

Change-Id: I1981abb1f976f5ad9c23ab398a87ff2fd1d96b75
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:52 +01:00
Hugo Buddelmeijer e90023ac5a gnu: python-inotify: Fix build on python-3.12.
* gnu/packages/python-xyz.scm (python-inotify): Fix build.
[propagated-inputs]: Add python-pyasyncore.

Change-Id: I3de6bebfd4bb5c1ab1d13710864c9e53d8a31e14
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:52 +01:00
Hugo Buddelmeijer 12a1b173f7 gnu: fiu: Fix build on python-3.12.
* gnu/packages/debug.scm (fiu): Fix build.
[native-inputs]: Add python-setuptools.

Change-Id: If5f8eacbeafd8bdc66351b2939b753f58e4eb27f
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:51 +01:00
Hugo Buddelmeijer e98fae36aa gnu: rrdtool: Fix build on python-3.12.
* gnu/packages/rrdtool.scm (rrdtool): Fix build.
[native-inputs]: Add python-setuptools.

Change-Id: I87b91bd6e6a9bd7be2ee1d9719c7f4c592f84c6d
2026-04-16 09:58:51 +01:00
Hugo Buddelmeijer eb501cbd5a gnu: Add python-pyasynchat.
* gnu/packages/python-xyz.scm (python-pyasynchat): New variable.

Change-Id: I6d1d1c69ab8ca53dca0d626887ce830ddf836384
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:51 +01:00
Hugo Buddelmeijer 22f4a6f6ed gnu: Add python-pyasyncore.
* gnu/packages/python-xyz.scm (python-pyasyncore): New variable.

Change-Id: I4fcfe9c22062223ba4a4d6341211529d955c4a0f
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:51 +01:00
Sharlatan Hellseher 0c574c4d9f gnu: python-google-cloud-core: Fix tests on python-3.12.
* gnu/packages/python-web.scm (python-google-cloud-core) [arguments]
<test-flags>: Ignore faileur on deprecation warning.

Change-Id: I4657321d9fd72dd2b6b8cb09a197b2c92fbc2ad8
2026-04-16 09:58:51 +01:00
Sharlatan Hellseher b516789762 gnu: python-google-api-core: Fix tests on python-3.12.
* gnu/packages/python-web.scm (python-google-api-core)[arguments]
<test-flags>: Ignore faileur on deprecation warning.

Change-Id: I8aff71d3a7c0fd2a4c4505fff0173f23c86455b0
2026-04-16 09:58:51 +01:00
Hugo Buddelmeijer 7216cba8b3 gnu: python-pyu2f: Update to 0.1.5-0.064be5a.
* gnu/packages/python-crypto.scm (python-pyu2f): Update to 0.1.5-0.064be5a.

Change-Id: I63a7f743f1e128b1e969056db35c3557e2791b86
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:51 +01:00
Hugo Buddelmeijer a7d1cd9a3a gnu: python-makefun: Update to 1.16.0-0.bacb3e1.
* gnu/packages/python-xyz.scm (python-makefun): Update to 1.16.0-0.bacb3e1.
[source]: Switch to git-fetch.
[native-inputs]: Remove python-wheel; add python-pytest-asyncio.

Change-Id: Iac0e5bad44b481b7f78ea5fec5da6ba9de50cc75
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:51 +01:00
Hugo Buddelmeijer 3c6e4c507e gnu: python-httplib2: Update to 0.31.2.
* gnu/packages/python-web.scm (python-httplib2): Update to 0.31.2.
[propagated-inputs]: Add python-pyparsing and python-pysocks.
[native-inputs]: Remove python-future and python-pyparsing.

Change-Id: I6d8272b1ffa00fa54d1fd72f21202fe6f7464c66
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:50 +01:00
Hugo Buddelmeijer 9670f549d9 gnu: python-flask-sqlalchemy: Update to 3.1.1-0.168cb4b.
* gnu/packages/python-web.scm (python-flask-sqlalchemy): Update to
3.1.1-0.168cb4b.
[source]: Switch to git-fetch.

Change-Id: I42972b20f998e5f99cab02938eb9cdd678720ef5
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:50 +01:00
Hugo Buddelmeijer b352249c57 gnu: python-srsly: Update to 2.5.2.
* gnu/packages/python-xyz.scm (python-srsly): Update to 2.5.2.
[source]: Switch to git-fetch.

Change-Id: I0e5544b6d4258e6f9d66be3751247815e06f96c9
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:50 +01:00
Hugo Buddelmeijer 3253b568ed gnu: python-catalogue: Update to 2.0.10.
* gnu/packages/python-xyz.scm (python-catalogue): Update to 2.0.10.
[native-inputs]: Remove python-wheel.

Change-Id: I5f1c5357f58454a70ec56ef1ff93944ad43fcb48
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:50 +01:00
Hugo Buddelmeijer 0bc7d7e78a gnu: python-bson: Update to 0.5.10-0.4e6b4c2.
Fix build in Python 3.12.

* gnu/packages/python-xyz.scm (python-bson): Update to  0.5.10-0.4e6b4c2.

Change-Id: I412852030b326dfb20d57c7d75bc50073027abad
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:50 +01:00
Yan Abu Arab 7812bab584 gnu: python-pydantic-core: Cleanup unneeded phase.
* gnu/packages/python-xyz.scm (python-pydantic-core)[phases]{patch-pyproject}:
Remove phase.

Merges: https://codeberg.org/guix/guix/pulls/6358
Change-Id: I04d0aaac7aec000db4e276e61097d55f9d8c630e
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:50 +01:00
jgart 22dca3d462 gnu: python-abjad: Update to 3.31.
* gnu/packages/music.scm (python-abjad): Update to 3.31.
[arguments]<tests?>: Enable them.
[phases]{fix-docstring}: Remove phase.
{remove-local-source}: New phase.
[native-inputs]: Add python-setuptools.
[description]: Fix fill-column.

Merges: https://codeberg.org/guix/guix/pulls/4256
Change-Id: Id5241c1fe706a57fabc6d714d4b92b49d8228be8
Co-authored-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:50 +01:00
Nicolas Graves 4e96693d68 gnu: python-cython-0: Fix build for python@3.12.
* gnu/packages/python-xyz.scm
(importlib-util-load-dynamic): Add helper string.
(python-cython-0)[arguments]<#:phases>: Add phase
'fix-pyximport-python-3.12.

Merges: https://codeberg.org/guix/guix/pulls/6222
Change-Id: I403e72cfdc82210bdfcbcb21e77cef89e8c68398
Reviewed-by: Hugo Buddelmeijer <hugo@buddelmeijer.nl>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:50 +01:00
Sharlatan Hellseher 5715df35ea gnu: Remove python-greenlet-2.
* gnu/packages/python-xyz.scm (python-greenlet-2): Delete variable.

Fixes: guix/guix#6801
Change-Id: Ib008ce81ca3af00d8c5c933d615b5a89effcc9ca
2026-04-16 09:58:49 +01:00
Hugo Buddelmeijer 2db81144e3 gnu: python-virtualenv: Fix build.
The test_build_c_ext.py test explicitly checks for >= 3.12 to decide
to access the internet.

* gnu/packages/python-xyz.scm (python-virtualenv): Fix build.
[arguments]<#:test-flags>: Ignore internet-requiring test.

Change-Id: I4c48f7820ef222dd7deb334334558850b7c79b04
2026-04-16 09:58:49 +01:00
Hugo Buddelmeijer 4ef20a42e4 gnu: python-fastapi: Update to 0.131.0.
* gnu/packages/python-web.scm (python-fastapi): Update to 0.131.0.
[native-inputs]: Remove python-sqlalchemy; add python-sqlalchemy-2.
[arguments]<#:test-backend>: Use 'custom.
<#:test-flags>: Update tests.
[home-page]: Update with redirect.
2026-04-16 09:58:49 +01:00
Hugo Buddelmeijer 29951f6b7a gnu: python-httpbin: Update to 0.10.2.
* gnu/packages/web.scm (python-httpbin): Update to 0.10.2.
[propagated-inputs]: Remove python-greenlet-2; add python-greenlet.
[native-inputs]: Remove python-wheel.

Change-Id: I864cbade29f19667f1479139558738f63e8a4230
2026-04-16 09:58:49 +01:00
Sharlatan Hellseher 3622f69cba gnu: python-roman: Fix tests.
* gnu/packages/python-xyz.scm (python-roman)[arguments]<test-flags>:
Add unitest discovery option in "src" directory.

Change-Id: I3e14d0a0bf6f5e50ec5755d4f1846123ca34e877
2026-04-16 09:58:49 +01:00
Sharlatan Hellseher 2247504e56 gnu: fontforge: Fix build on python-3.12.
* gnu/packages/fontutils.scm (fontforge): Update to 20230101.
[inputs]: Add python-setuptools-bootstrap.

Change-Id: I4d997fe2b1d05a6d4629a80e98378d5a98252b0c
2026-04-16 09:58:49 +01:00
Nicolas Graves 0839a558f5 gnu: libtorrent-rasterbar: Fix build on python-3.12.
* gnu/packages/bittorrent.scm (libtorrent-rasterbar)[native-inputs]:
Add python-setuptools.

Change-Id: I551065bcac8e62e3d25a95e235c567150ffe2ce3
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:49 +01:00
Nicolas Graves 7075473da9 gnu: libpwquality: Fix package build on python-3.12.
* gnu/packages/password-utils.scm (libpwquality)
[arguments]: Improve style, use gexps.
[native-inputs]: Improve style, add python-setuptools.

Change-Id: I124701452e3f8e22625aa30f69a51a71cb6827de
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:49 +01:00
Nicolas Graves d0b004fec7 gnu: python-libfreenect: Fix package build on python-3.12.
* gnu/packages/openkinect.scm (python-libfreenect)[native-inputs]: Add
python-setuptools.

Change-Id: I3c1dc418063ffd2adecd91f2ef5ad510a6792f0a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:48 +01:00
Nicolas Graves 9a9e396cb7 gnu: libimobiledevice: Fix package build on python-3.12.
* gnu/packages/libusb.scm (libimobiledevice)[native-inputs]: Add
python-setuptools.

Change-Id: I0450c97b418f2f3879b81be05469e1560baddfa9
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:48 +01:00
Nicolas Graves 5d2daa334a gnu: libplist: Fix package build on python-3.12.
* gnu/packages/libusb.scm (libplist)[native-inputs]: Add
python-setuptools.

Change-Id: If93408cb375f3e1d62207cb2a82bd4e3f0ee636a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:48 +01:00
Nicolas Graves 5226d78d0c gnu: openpmix: Fix package build on python-3.12.
* gnu/packages/parallel.scm (openpmix)[native-inputs]: Add
python-setuptools.

Change-Id: I6b4c3e880a5678887d32f5fdb4ef11d308bafe91
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:48 +01:00
Nicolas Graves 50773a77cc gnu: libselinux: Fix package build under python-3.12.
* gnu/packages/selinux.scm (libselinux)[native-inputs]: Add
python-setuptools.

Change-Id: I035052b9e87690c9a7bf5a7b8526871a8f57df78
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:48 +01:00
Nicolas Graves 603b84127a gnu: ableton-link: Fix package build under python-3.12.
* gnu/packages/audio.scm (ableton-link)
[arguments]: Relocate field, improve style (use gexps, and
search-input-file).
[native-inputs]: Add python-setuptools.

Change-Id: I7d6773334674ddaec0ab7c611fb64e6e4cb43879
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:48 +01:00
Nicolas Graves 9550f726a4 gnu: libiio: Fix package build under python-3.12.
* gnu/packages/radio.scm (libiio)
[native-inputs]: Add python-setuptools.
[license]: Relocate field.

Change-Id: Ief3c5f10b0744e4121b8b9297382d2d2d6598277
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:48 +01:00
Cayetano Santos bc58ff51b8 gnu: python-motulator: Update to 0.6.2.
* gnu/packages/engineering.scm (python-motulator): Update to 0.6.2.
[source]: Switch to git-fetch.
[native-inputs]: Remove python-ipykernel and python-toml.
[propagated-inputs]: Add python-tqdm.

Change-Id: Ic29ffedc4b663e4d2138cacc56e69c135add7f6d
2026-04-16 09:58:48 +01:00
Aaron Covrig 0b612d27df gnu: python-lxml: Update to 6.0.2.
* gnu/packages/xml.scm (python-lxml): Update to 6.0.2.

Change-Id: I5c16b8a2819e96a5fdeadbb35b72789cb78d1945
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:48 +01:00
Yan Abu Arab 65e6bccc83 gnu: maturin: Update to 1.11.5.
* gnu/packages/rust-apps.scm (maturin): Update to 1.11.5.
[arguments]<#:cargo-test-flags>: Add skip for test_pep639 and
metadata_hello_world_pep639, renamed 'test' namespace to 'tests'.
[inputs]: Add zstd:libs.
[native-inputs]: Add pkg-config.
* gnu/packages/patches/maturin-no-cross-compile.patch: Update to 1.11.5.
* gnu/packages/rust-crates.scm (maturin): Update dependencies.

Change-Id: Ic479aa238b60331402749ff24fbf2a5e2b4c280c
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:58:47 +01:00
Sharlatan Hellseher 4d98881bc4 gnu: python-pluggy: Switch to git-fetch.
* gnu/packages/python-build.scm (python-pluggy):
[source]: Switch to git-fetch.
[arguments] <tests?>: Disable to break cycle with Pytest.
[native-inputs]: Remove python-wheel.
[home-page]: Use the URL mentioned on GitHub.

Change-Id: I81b053c7de9e57598e2172e6b5c001a15b770e45
2026-04-16 09:42:52 +01:00
Nicolas Graves 67747bdf26 gnu: ganeti: Switch to pyproject.
* gnu/packages/virtualization.scm (ganeti):
[arguments]<#:imported-modules, #:modules>: Switch to
pyproject-build-system.

Change-Id: I7ae1cfede7f6eea321deb35af2f1bb32c610e570
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:42:52 +01:00
Nicolas Graves fd7d396feb gnu: ganeti: Improve style.
* gnu/packages/virtualization.scm (ganeti): Run guix style.
[arguments]: Run guix style -S arguments.
<#:phases>: Improve phase 'create-vcs-version.
[native-inputs]: Add comment to explain why there are still labels.

Change-Id: I3dbdb93292076597bf73d580d5dac22e0e40311a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:42:52 +01:00
Nicolas Graves 746cd410c4 gnu: sugar-toolkit-gtk3: Switch to pyproject.
* gnu/packages/sugar.scm (sugar-toolkit-gtk3):
[arguments]<#:imported-modules, #:modules>: Switch to
pyproject-build-system.

Change-Id: Ie0f16e7616afc7e505e64e4be660f86f3952812d
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:42:52 +01:00
Nicolas Graves 22216af205 gnu: sby: Switch to pyproject.
* gnu/packages/electronics.scm (sby):
[arguments]<#:imported-modules, #:modules>: Switch to
pyproject-build-system.

Change-Id: I0d0ab1a192352c719a318a8383b9c77e4f979d00
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:42:52 +01:00
Nicolas Graves b8063abe48 gnu: mcy: Switch to pyproject.
* gnu/packages/electronics.scm (mcy):
[arguments]<#:imported-modules, #:modules, #:phases>: Switch to
pyproject-build-system.

Change-Id: I0f1004a7c28e88a49a5c55bccdb734d4e017b8c5
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:42:52 +01:00
Nicolas Graves 1b07a4babb gnu: eqy: Switch to pyproject.
* gnu/packages/electronics.scm (eqy):
[arguments]<#:imported-modules, #:modules, #:phases>: Switch to
pyproject-build-system.

Change-Id: Id206edb3a75bc025b18c70fc27a7d3b40efb2852
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:42:52 +01:00
Nicolas Graves 242c6c7bd9 gnu: koboldcpp: Switch to pyproject.
* gnu/packages/machine-learning.scm (koboldcpp):
[arguments]<#:imported-modules, #:modules>: Switch to
pyproject-build-system.

Change-Id: I320ad76b1c475f12a0cefc036bd1a19d91e00041
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:42:51 +01:00
Nicolas Graves 504c086702 gnu: llama-cpp: Switch to pyproject.
* gnu/packages/machine-learning.scm (llama-cpp):
[arguments]<#:imported-modules, #:modules>: Relocate keywords. Switch
to pyproject-build-system.

Change-Id: I0b99e2b4b4beaf9fd085428022ec38b9e25995c3
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:42:51 +01:00
Nicolas Graves 66b3e99de0 gnu: sbcl-burgled-batteries3: Switch to pyproject.
* gnu/packages/lisp-xyz.scm (sbcl-burgled-batteries3):
[arguments]<#:imported-modules, #:modules>: Switch to
pyproject-build-system.
<#:phases>: Rewrite phase 'set-*cpython-include-dir*-var to use modern
procedures.

Change-Id: Ifd210c047f29b5ddae84cdde93efe35a557fc810
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:42:51 +01:00
Nicolas Graves edc687521b gnu: emacs-jedi: Switch to pyproject.
* gnu/packages/emacs-xyz.scm (emacs-jedi)[arguments]<#:modules>:
Switch to pyproject.

Change-Id: I77ac94bbf8bd43e9f366ff7047a3bf90bf31c6fc
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:42:51 +01:00
Nicolas Graves c9f5cba191 gnu: sbcl-burgled-batteries3: Improve style.
* gnu/packages/lisp-xyz.scm (sbcl-burgled-batteries3)[arguments]: Use
modern style.

Change-Id: I9399703d9a207526a2f4f07fbfd65dff92881053
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:42:51 +01:00
Nicolas Graves 1ccb996584 gnu: qgis: Switch to pyproject.
* gnu/packages/geo.scm (qgis):
[arguments]<#:imported-modules, #:modules>: Switch to
pyproject-build-system.
<#:phases>: Rewrite phase 'configure-pyqt5-sip-path with site-packages.

Change-Id: I481c31160d4452d6c146eb8c65966f1b2f4c1342
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:42:50 +01:00
Nicolas Graves 714f736bde gnu: grass: Switch to pyproject.
* gnu/packages/geo.scm (grass):
[arguments]<#:imported-modules, #:modules>: Switch to
pyproject-build-system.

Change-Id: I00f74565eaab9e33f4cb8652b1df7f283e50a4cf
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:42:50 +01:00
Nicolas Graves d85de95099 gnu: dblatex: Fix build with python@3.12.
* gnu/packages/patches/dblatex-importlib.patch: New file.
* gnu/packages/docbook.scm (dblatex)[origin]<patches>: Record patch.
* gnu/local.mk: Record patch.
2026-04-16 09:42:50 +01:00
Nicolas Graves e8e9f70f80 gnu: nmap: Fix tests under python@3.12.
* gnu/packages/admin.scm (nmap)[arguments]<#:phases>:
Add phase 'fix-tests-for-python-3.12.

Change-Id: I9f4aa9fceca2d922e00b6305878e137644c2a39f
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:42:50 +01:00
Nicolas Graves 6df00a88c0 build-system: pyproject: Remove reference to python-build-system.
* guix/build-system/pyproject.scm (%pyproject-build-system-modules):
Replace %python-build-system-modules by %default-gnu-imported-modules.

Change-Id: Ifee0564b61d15a022dc22afe437567d86034c81b
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-16 09:42:50 +01:00
Nicolas Graves 8ac93ac8d2 gnu: python: Refactor module.
* gnu/packages/python.scm
(common-python-phases): New variable, encompassing phases used both in
all python packages.  Add a warning comment.
(common-python3-phases): New variable, encompassing phases used in all
python@3 packages.  Add a warning comment.
(python-2.7)[arguments]<#:phases>: Modify them
from (common-python-phases) base.
(python-3.10)[arguments]: Avoid substituting python-2.7 arguments.
<#:configure-flags>: ...except here, which is fine since it's not
further inherited.
<#:phases>: Modify them from (common-python3-phases) base.
(python-3.11)[arguments]<#:phases>: Modify them
from (common-python3-phases) base.
(python-2.7)[arguments]<#:phases>: Modify them
from (common-python3-phases) base.
2026-04-16 09:42:50 +01:00
Andreas Enge 7095ca3038 gnu: python-3: Set to python-3.12.
* gnu/packages/python.scm (python-3): Define as python-3.12 instead of
python-3.11.

Change-Id: Ibb7106f19f54a5d7e58a128f37a2b62ba3b60e8c
2026-04-16 09:42:49 +01:00
Andreas Enge d779660608 gnu: python-3.12: Set name to "python".
* gnu/packages/python.scm (python-3.12)[name]: Set to "python" instead
of "python-next".

Change-Id: I01bcc4adff7aaa97f7077279800d6ecc0ae1c36d
2026-04-16 09:42:47 +01:00
519 changed files with 46807 additions and 135860 deletions
+3 -6
View File
@@ -42,12 +42,9 @@
;; For use with 'bug-reference-prog-mode'. Extra bug-reference
;; configuration should be done in your Emacs user configuration file;
;; refer to (info (guix) The Perfect Setup).
(eval . (setq-local bug-reference-bug-regexp
;; #8545 (issues), !8545 (PRs), guix/guix#8545 and
;; guix/guix!8545
(rx (group (seq (? "guix/guix") (or "#" "!"))
(group (one-or-more digit))))))
(bug-reference-url-format . "https://codeberg.org/guix/guix/issues/%s")
(bug-reference-bug-regexp
. "\\(<https?://\\bugs\\.gnu\\.org/\\([0-9]+\\)>\\)")
(bug-reference-url-format . "https://issues.guix.gnu.org/%s")
(eval . (add-to-list 'completion-ignored-extensions ".go"))
-4
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"))
@@ -120,8 +118,6 @@
(name "sharlatan"))
("F494 72F4 7A59 00D5 C235 F212 89F9 6D48 08F3 59C7"
(name "snape"))
("6688 9153 C51C 4613 A493 A525 2F0D FD14 EF99 DAC3"
(name "steffen"))
("6580 7361 3BFC C5C7 E2E4 5D45 DC51 8FC8 7F97 16AA"
(name "vagrantc"))
(;; primary: "C955 CC5D C048 7FB1 7966 40A9 199A F6A3 67E9 4ABB"
+6 -13
View File
@@ -32,7 +32,6 @@ gnu/packages/assembly\.scm @guix/build-tools
gnu/packages/autogen\.scm @guix/build-tools
gnu/packages/autotools\.scm @guix/build-tools
gnu/packages/bison\.scm @guix/build-tools
gnu/packages/compiler-tools\.scm @guix/build-tools
gnu/packages/m4\.scm @guix/build-tools
gnu/packages/oyacc\.scm @guix/build-tools
gnu/packages/re2c\.scm @guix/build-tools
@@ -162,8 +161,6 @@ gnu/system/examples/bare-bones\.tmpl @guix/documentation
gnu/system/examples/lightweight-desktop\.tmpl @guix/documentation
gnu/system/examples/desktop\.tmpl @guix/documentation
gnu/packages/dotnet\.scm @guix/dotnet
gnu/packages/electronics\.scm @guix/electronics
gnu/packages/hdl\.scm @guix/electronics
gnu/packages/libftdi\.scm @guix/electronics
@@ -182,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
@@ -267,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
@@ -278,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
@@ -292,12 +286,12 @@ guix/build-system/julia\.scm @guix/julia
gnu/packages/(kde)(-.+|)\.scm$ @guix/kde
gnu/build/linux-modules\.scm @guix/linux-libre
gnu/packages/aux-files/linux-libre.*$ @guix/linux-libre
gnu/packages/linux\.scm @guix/linux-libre
gnu/tests/linux-modules\.scm @guix/linux-libre
guix/build/linux-module-build-system\.scm @guix/linux-libre
guix/build-system/linux-module\.scm @guix/linux-libre
gnu/build/linux-modules\.scm @guix/kernel
gnu/packages/aux-files/linux-libre.*$ @guix/kernel
gnu/packages/linux\.scm @guix/kernel
gnu/tests/linux-modules\.scm @guix/kernel
guix/build/linux-module-build-system\.scm @guix/kernel
guix/build-system/linux-module\.scm @guix/kernel
gnu/packages/lisp(-.+|)\.scm$ @guix/lisp
guix/build/asdf-build-system\.scm @guix/lisp
@@ -324,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
-10
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 \
@@ -1281,14 +1279,6 @@ $(GIT_HOOKS_DIR):
$(GIT_HOOKS_DIR)/%: etc/git/% | $(GIT_HOOKS_DIR)/
if [ -n "$(GIT_HOOKS_DIR)" ]; then cp "$<" "$@"; fi
# Special-case the pre-push hook installation, to ensure it is always
# up-to-date with its source.
.PHONY: $(GIT_HOOKS_DIR)/pre-push
$(GIT_HOOKS_DIR)/pre-push: etc/git/pre-push | $(GIT_HOOKS_DIR)
@if [ -n "$(GIT_HOOKS_DIR)" ]; then \
cmp "--silent" "$<" "$@" || cp "$<" "$@"; \
fi
$(GIT_CONFIG_FILE): etc/git/gitconfig
if [ -n "$(GIT_CONFIG_FILE)" ]; then \
git config --fixed-value --replace-all include.path \
-1
View File
@@ -120,7 +120,6 @@ running 'guix-daemon $extra_options'" >&2
"@abs_top_builddir@/pre-inst-env" \
"@abs_top_builddir@/guix-daemon" \
$extra_options \
--allow-aslr \
--substitute-urls="$GUIX_BINARY_SUBSTITUTE_URL" &
daemon_pid=$!
+23 -41
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019-2026 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019-2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2022 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2025 Florian Pelz <pelzflorian@pelzflorian.de>
@@ -324,31 +324,17 @@ actual file name."
((('span ('@ ('class "category")) ;raw Texinfo 6.8
(? string-or-entity?) ...) rest ...)
#t)
((('span ;Texinfo 6, post-processed
('@ ('class "symbol-definition-category"))
(? string-or-entity?) ...) rest ...)
#t)
((('span ;Texinfo 7
('@ ('class "category-def")) _ ...)
('span ('strong ('@ ('class "def-name")) _ ...)
_ ...)
rest ...)
((('span ('@ ('class "symbol-definition-category"))
(? string-or-entity?) ...) rest ...)
#t)
(x
#f))))
(define (definition-class? class)
;; Return true for "deffn def-line", "deftp def-line", etc.
(string-suffix? " def-line" class))
(let ((shtml (call-with-input-file file html->shtml)))
(let loop ((shtml shtml)
(anchors anchors))
(match shtml
((or ('dt ('@ ('id id) _ ...) rest ...) ;Texinfo 6
('dt ('@ ('class (? definition-class?)) ;Texinfo 7
('id id))
rest ...))
(('dt ('@ ('id id) _ ...) rest ...)
(if (and (string-prefix? "index-" id)
(worthy-entry? rest))
(alist-cons (anchor-id->key id)
@@ -519,16 +505,10 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(loop rest (cons str strings)))
((('*ENTITY* "additional" entity) . rest)
(loop rest (cons (entity->string entity) strings)))
((('*ENTITY* "additional-char" entity) . rest)
(loop rest (cons (string
(integer->char (string->number entity)))
strings)))
((('span _ lst ...) . rest) ;for <span class="roman">
(loop (append lst rest) strings))
((('var ('@ _) name) . rest) ;for @var{name} within @lisp
((('var name) . rest) ;for @var{name} within @lisp
(loop rest (cons name strings))) ;XXX: losing formatting
((('var name) . rest) ;likewise (Texinfo 6)
(loop rest (cons name strings)))
(something
(pk 'unsupported-code-snippet something)
(primitive-exit 1)))))
@@ -557,10 +537,7 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(link (@ (rel "stylesheet")
(type "text/css")
(href #$syntax-css-url)))))
((or ('pre ('@ ('class "lisp")) ;Texinfo 6
code-snippet ...)
('pre ('@ ('class "lisp-preformatted"))
code-snippet ...))
(('pre ('@ ('class "lisp")) code-snippet ...)
`(pre (@ (class "lisp"))
,@(highlights->sxml*
(pair-open/close
@@ -568,16 +545,14 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(concatenate-snippets code-snippet)))
anchors)))
;; For Texinfo 6: Replace the ugly <strong> used for @deffn
;; etc., which translate to <dt>, with more stylable
;; markup. No such post-processing is needed for @deffn
;; with Texinfo 7.
;; Replace the ugly <strong> used for @deffn etc., which
;; translate to <dt>, with more stylable markup.
(('dt ('@ ('id id)) ;raw Texinfo 6.8
('span ('@ ('class "category")) category ...)
('span ('strong thing)
anchor))
(highlight-definition id category thing '()))
(('dt ('@ ('id id)) ;ditto
(('dt (@ ('id id))
('span ('@ ('class "category")) category ...)
('span ('strong thing)
(? space?) ('em args ...)
@@ -833,9 +808,16 @@ in SOURCE."
(match sxml
(('*TOP* decl body ...)
`(*TOP* ,decl ,@(map loop body)))
((or ('body ('@ _) elements ...)
('body elements ...))
`(body ,(navigation-bar
(('head elements ...)
;; Add reference to our own manual CSS, which provides
;; support for the language menu.
`(head ,@elements
(link (@ (rel "stylesheet")
(type "text/css")
(href #$manual-css-url)))))
(('body ('@ attributes ...) elements ...)
`(body (@ ,@attributes)
,(navigation-bar
;; TODO: Add "Contribute" menu, to report
;; errors, etc.
(list (menu-dropdown
@@ -970,12 +952,12 @@ makeinfo OPTIONS."
(mkdir-p (string-append #$output "/"
(normalize language)))
(setenv "LANGUAGE" language)
(apply invoke #$(file-append texinfo-7 "/bin/makeinfo")
(apply invoke #$(file-append texinfo "/bin/makeinfo")
"-o" (string-append #$output "/"
(normalize language)
"/html_node")
opts)
(apply invoke #$(file-append texinfo-7 "/bin/makeinfo")
(apply invoke #$(file-append texinfo "/bin/makeinfo")
"--no-split"
"-o"
(string-append #$output "/"
@@ -1427,7 +1409,7 @@ commit date (an integer)."
(string-append #+tar "/bin:"
#+xz "/bin:"
#+zstd "/bin:"
#+texinfo-7 "/bin"))
#+texinfo "/bin"))
(invoke "tar" "xf" #$(package-source guile))
(mkdir-p (string-append #$output "/en/html_node"))
@@ -1446,7 +1428,7 @@ commit date (an integer)."
(string-append #$output "/en/html_node")))))))))
(define %guile-manual-base-url
"https://doc.guix.gnu.org/guile/latest/en")
"https://www.gnu.org/software/guile/manual")
(define (for-all-languages index)
(map (lambda (language)
+7 -114
View File
@@ -618,33 +618,6 @@ enhance @code{scheme-mode} and Geiser. @xref{Introduction,,,
emacs-guix, Emacs-Guix Reference Manual}, to make sure you don't miss
out!
@unnumberedsubsubsec Submitting Pull Requests Following the AGit Workflow
@cindex AGit workflow, for pull requests (Emacs).
@url{https://codeberg.org/halvin/agitjo, Agitjo} is a helper to ease
AGit workflow based patch submission (@pxref{Submitting Patches}).
Install it with:
@example
guix install emacs-agitjo
@end example
Assuming your local checkout is on the branch containing the changes you
would like to submit for inclusion in the @code{master} branch, use
@command{M-x agitjo-push} then:
@itemize
@item
Set options like the title @option{-t} and the session identifier
@option{-s}.
@item
Invoke one of the push commands to execute a @command{git push} operation.
@end itemize
When creating a new pull request, a dedicated buffer will open for
drafting a description. The force-push option @option{-f} is enabled to
push changes to the existing pull request.
@unnumberedsubsubsec Taming Boilerplate with Templates
@cindex code snippets
@@ -733,7 +706,13 @@ Manual}). To set it up, enable it in the relevant modes:
When working from a Git checkout of Guix, setup is automatic:
@code{bug-reference} automatically detects that the project is hosted on
Codeberg and infers the issue and pull request URL from there.
Codeberg@footnote{
@c 'vc-git-repository-url' is used by
@c 'bug-reference-setup-from-vc-alist', which checks for one of these
@c names for the remote.
As of Emacs@tie{}30.2, auto-detection works if and
only if the Git remote is called @code{upstream} or @code{origin}.} and
infers the issue and pull request URL from there.
@node Guile Studio
@subsection Guile Studio
@@ -1688,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}).
@@ -1720,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
@@ -2736,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
@@ -2751,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
+21 -362
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
@@ -646,11 +644,9 @@ This field contains a description of the source code origin. The
@enumerate
@item The method, here @code{url-fetch} to download via HTTP/FTP, but other methods
exist, such as @code{git-fetch} for Git repositories. @xref{origin
Reference,,, guix, GNU Guix Reference Manual}, for more info on the
available download methods.
exist, such as @code{git-fetch} for Git repositories.
@item The URI, which is typically some @code{https://} location for @code{url-fetch}. Here
the special @code{mirror://gnu} refers to a set of well known locations, all of
the special `mirror://gnu` refers to a set of well known locations, all of
which can be used by Guix to fetch the source, should some of them fail.
@item The @code{sha256} checksum of the requested file. This is essential to ensure
the source is not corrupted. Note that Guix works with base32 strings,
@@ -1118,8 +1114,7 @@ Let's discuss those fields in depth.
@subsubsection @code{git-fetch} method
Unlike the @code{url-fetch} method, @code{git-fetch} expects a @code{git-reference} which takes
a Git repository and a commit (@pxref{origin Reference,,, guix, GNU Guix
Reference Manual}). The commit can be any Git reference such as
a Git repository and a commit. The commit can be any Git reference such as
tags, so if the @code{version} is tagged, then it can be used directly. Sometimes
the tag is prefixed with a @code{v}, in which case you'd use @code{(commit (string-append
"v" version))}.
@@ -1165,7 +1160,7 @@ Snippets might need additional Guile modules which can be imported from the
There are 3 different input types. In short:
@table @code
@table @asis
@item native-inputs
Required for building but not runtime -- installing a package
through a substitute won't install these inputs.
@@ -1233,14 +1228,9 @@ It's advised to separate outputs only when you've shown it's worth it: if the
output size is significant (compare with @code{guix size}) or in case the package is
modular.
@xref{Packages with Multiple Outputs,,, guix, GNU Guix Reference
Manual}, for more info.
@subsubsection Build system arguments
The @code{arguments} is a keyword-value list used to configure the build
process; these arguments are passed to the @dfn{build system}
(@pxref{Build Systems,,, guix, GNU Guix Reference Manual}).
The @code{arguments} is a keyword-value list used to configure the build process.
The simplest argument @code{#:tests?} can be used to disable the test suite when
building the package. This is mostly useful when the package does not feature
@@ -1256,7 +1246,7 @@ following flags
"CC=gcc")
@end lisp
translate into:
translate into
@example
$ make CC=gcc prefix=/gnu/store/...-<out>
@@ -1276,9 +1266,7 @@ Similarly, it's possible to set the configure flags:
The @code{%build-inputs} variable is also generated in scope. It's an association
table that maps the input names to their store directories.
The @code{phases} keyword lists the sequential steps of the build
system. @xref{Build Phases,,, guix, GNU Guix Reference Manual}, for
details; in a nutshell,
The @code{phases} keyword lists the sequential steps of the build system. Typically
phases include @code{unpack}, @code{configure}, @code{build}, @code{install} and @code{check}. To know
more about those phases, you need to work out the appropriate build system
definition in @samp{$GUIX_CHECKOUT/guix/build/gnu-build-system.scm}:
@@ -1393,12 +1381,10 @@ Its return value is ignored.
@subsubsection Code staging
The astute reader may have noticed the hash-tilde and hash-dollar syntax in the
The astute reader may have noticed the quasi-quote and comma syntax in the
argument field. Indeed, the build code in the package declaration should not be
evaluated on the client side, but only when passed to the Guix daemon. This
mechanism of passing code around two running processes is called @uref{https://arxiv.org/abs/1709.00833, code staging}.
@xref{G-Expressions,,, guix, GNU Guix Reference Manual}, for info on the
this mechanism, which is called @dfn{g-expressions}.
@subsubsection Utility functions
@@ -1407,7 +1393,7 @@ equivalent system invocations (@code{make}, @code{mkdir}, @code{cp}, etc.)@: com
regular ``Unix-style'' installations.
Some like @code{chmod} are native to Guile.
@xref{File System,,, guile, Guile reference manual} for a complete list.
@xref{,,, guile, Guile reference manual} for a complete list.
Guix provides additional helper functions which prove especially handy in the
context of package management.
@@ -1541,9 +1527,9 @@ The recursive importer won't import packages for which Guix already has package
definitions, except for the very first.
Not all applications can be packaged this way, only those relying on a select
number of supported systems.
@xref{Invoking guix import,,, guix, GNU Guix Reference Manual} for
the full list of importers.
number of supported systems. Read about the full list of importers in
the guix import section of the manual
(@pxref{Invoking guix import,,, guix, GNU Guix Reference Manual}).
@node Automatic update
@subsubsection Automatic update
@@ -1563,9 +1549,6 @@ well:
$ guix refresh hello --update
@end example
@xref{Invoking guix refresh,,, guix, GNU Guix Reference Manual}, for
more info.
@node Inheritance
@subsubsection Inheritance
@@ -1590,9 +1573,7 @@ noticed that a significant number of them have a @code{inherit} field:
All unspecified fields are inherited from the parent package. This is very
convenient to create alternative packages, for instance with different source,
version or compilation options. @xref{Defining Package Variants,,, guix,
GNU Guix Reference Manual}, for a discussion of inheritance and of other
ways to create package variants.
version or compilation options.
@node Getting help
@subsection Getting help
@@ -1633,8 +1614,7 @@ hopefully we will see your contributions soon!
@itemize
@item
@xref{Defining Packages,,, guix, GNU Guix Reference Manual}, for the
@code{package} reference in the manual.
The @uref{https://guix.gnu.org/manual/en/html_node/Defining-Packages.html, package reference in the manual}
@item
@uref{https://gitlab.com/pjotrp/guix-notes/blob/master/HACKING.org, Pjotrs hacking guide to GNU Guix}
@@ -1667,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
@@ -1727,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
@@ -2018,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
@@ -3274,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
@@ -3454,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
@@ -4509,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
@@ -4545,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
@@ -4564,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
+170 -779
View File
File diff suppressed because it is too large Load Diff
+13 -13
View File
@@ -6,7 +6,7 @@
# Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2018, 2021 Julien Lepiller <julien@lepiller.eu>
# Copyright © 2019 Timothy Sample <samplet@ngyro.com>
# Copyright © 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
# Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
# Copyright © 2024 gemmaro <gemmaro.dev@gmail.com>
#
# This file is part of GNU Guix.
@@ -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,16 +138,16 @@ $(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" "$@"
%D%/os-config-%.texi: gnu/system/examples/%.tmpl
$(AM_V_GEN)$(MKDIR_P) "`dirname $@`"; \
sed -e s,@,@@,g "$<" > "$@"
cp "$<" "$@"
infoimagedir = $(infodir)/images
dist_infoimage_DATA = \
+5 -6
View File
@@ -1,4 +1,5 @@
#!/bin/sh
# From Gerrit Code Review 3.11.1.
#
# Part of Gerrit Code Review (https://www.gerritcodereview.com/)
#
@@ -69,9 +70,9 @@ dest="$1.tmp.${random}"
trap 'rm -f "$dest" "$dest-2"' EXIT
if ! sed -e '/>8/q' "$1" | git stripspace --strip-comments > "${dest}" ; then
echo "cannot strip comments from $1"
exit 1
if ! cat "$1" | sed -e '/>8/q' | git stripspace --strip-comments > "${dest}" ; then
echo "cannot strip comments from $1"
exit 1
fi
if test ! -s "${dest}" ; then
@@ -90,7 +91,7 @@ else
pattern=".*"
fi
if git interpret-trailers --no-divider --parse < "$1" | grep -q "^$token: $pattern$" ; then
if git interpret-trailers --parse < "$1" | grep -q "^$token: $pattern$" ; then
exit 0
fi
@@ -98,7 +99,6 @@ fi
# sentinel at the end to make sure there is one.
# Avoid the --in-place option which only appeared in Git 2.8
if ! git interpret-trailers \
--no-divider \
--trailer "Signed-off-by: SENTINEL" < "$1" > "$dest-2" ; then
echo "cannot insert Signed-off-by sentinel line in $1"
exit 1
@@ -110,7 +110,6 @@ fi
# Avoid the --in-place option which only appeared in Git 2.8
# Avoid the --where option which only appeared in Git 2.15
if ! git -c trailer.where=before interpret-trailers \
--no-divider \
--trailer "Signed-off-by: $token: $value" < "$dest-2" |
sed -e "s/^Signed-off-by: \($token: \)/\1/" \
-e "/^Signed-off-by: SENTINEL/d" > "$dest" ; then
+2 -2
View File
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020-2022, 2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2023 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2025 Efraim Flashner <efraim@flashner.co.il>
;;;
@@ -61,7 +61,7 @@ TARGET."
;; from the other package sets.
(fold delete %base-packages
(append (map specification->package
'("kbd" "iproute2" "iw" "wireless-tools"))
'("e2fsprogs" "kbd" "iproute2" "iw" "wireless-tools"))
%base-packages-linux)))
(define %system-packages
+398 -2088
View File
File diff suppressed because it is too large Load Diff
+10 -52
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.
;;;
@@ -514,7 +513,6 @@ of Rebar and Mix build systems and Hex.pm importer."
"gnu/packages/autogen.scm"
"gnu/packages/autotools.scm"
"gnu/packages/bison.scm"
"gnu/packages/compiler-tools.scm"
"gnu/packages/m4.scm"
"gnu/packages/oyacc.scm"
"gnu/packages/re2c.scm")))
@@ -662,12 +660,6 @@ challenges"))
"gnu/system/examples/lightweight-desktop.tmpl"
"gnu/system/examples/desktop.tmpl")))
(define-team dotnet
(team 'dotnet
#:name ".NET"
#:description ".NET programming environment."
#:scope (list "gnu/packages/dotnet.scm")))
(define-team electronics
(team 'electronics
#:name "Electronics team"
@@ -698,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
@@ -835,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"
@@ -852,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"
@@ -876,8 +865,8 @@ and the maven-build-system."
"The plasma desktop environment, and KDE Applications."
#:scope (list (make-regexp* "^gnu/packages/(kde)(-.+|)\\.scm$"))))
(define-team linux-libre
(team 'linux-libre
(define-team kernel
(team 'kernel
#:name "Linux-libre kernel team"
#:scope (list "gnu/build/linux-modules.scm"
(make-regexp* "^gnu/packages/aux-files/linux-libre.*$")
@@ -954,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"
@@ -1249,11 +1237,6 @@ the \"texlive\" importer."
"guix/build-system/zig.scm")))
(define-member (person "Anderson Torres"
"anderson.torres.8519@gmail.com"
"AndersonTorres")
community translations)
(define-member (person "Eric Bavier"
"bavier@posteo.net"
"bavier")
@@ -1264,11 +1247,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")
@@ -1298,7 +1276,7 @@ the \"texlive\" importer."
(define-member (person "Leo Famulari"
"leo@famulari.name"
"lfam")
linux-libre)
kernel)
(define-member (person "Efraim Flashner"
"efraim@flashner.co.il"
@@ -1383,7 +1361,7 @@ the \"texlive\" importer."
(define-member (person "Vagrant Cascadian"
"vagrant@debian.org"
"vagrantc")
debian embedded linux-libre)
debian embedded kernel)
(define-member (person "Vagrant Cascadian" ;XXX: duplicate
"vagrant@reproducible-builds.org"
@@ -1537,7 +1515,7 @@ the \"texlive\" importer."
(define-member (person "Rodion Goritskov"
"rodion@goritskov.com"
"rodion-goritskov")
games java kde linux-libre release)
games java kde kernel release)
(define-member (person "Jason Conroy"
"jconroy@tscripta.net"
@@ -1557,7 +1535,7 @@ the \"texlive\" importer."
(define-member (person "Danny Milosavljevic"
"dannym@friendly-machines.com"
"daym")
bootstrap dotnet hpc python rust science)
bootstrap hpc python rust science)
(define-member (person "Andy Tai"
"atai@atai.org"
@@ -1577,7 +1555,7 @@ the \"texlive\" importer."
(define-member (person "Nguyễn Gia Phong"
"cnx@loang.net"
"cnx")
build-tools lua qa-packages sysadmin vcs)
build-tools python qa-packages sysadmin vcs)
(define-member (person "Lilah Tascheter"
"lilah@lunabee.space"
@@ -1622,7 +1600,7 @@ the \"texlive\" importer."
(define-member (person "Wilko Meyer"
"w@wmeyer.eu"
"theesm")
linux-libre perl)
kernel perl)
(define-member (person "Untrusem"
"mysticmoksh@riseup.net"
@@ -1652,7 +1630,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"
@@ -1674,26 +1652,6 @@ the \"texlive\" importer."
"tok")
electronics)
(define-member (person "gemmaro"
"gemmaro.dev@gmail.com"
"gemmaro")
ruby)
(define-member (person "bdunahu"
"bdunahu@operationnull.com"
"bdunahu")
games)
(define-member (person "Nomike"
"nomike@nomike.com"
"nomike")
dotnet)
(define-member (person "Fabio Natali"
"me@fabionatali.com"
"fnat")
emacs)
(define (find-team name)
(or (hash-ref %teams (string->symbol name))
+24 -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
View File
@@ -446,11 +446,9 @@ when booting a root file system on a Btrfs subvolume."
(modules (menu-entry-multiboot-modules entry)))
#~(format port "
menuentry ~s {
~a
multiboot ~a root=~a~a~a
}~%"
#$label
#$(grub-root-search device kernel)
#$kernel
#$(device-name->hurd-device-name device-name #:disk disk)
(string-join (list #$@arguments) " " 'prefix)
+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
+24 -90
View File
@@ -74,37 +74,16 @@ Return the value associated with OPTION, or #f on failure."
(loop (absolute target) (+ depth 1))
file))))))
(define* (make-hurd-device-nodes #:key (root "/") (hurd "/hurd"))
(define* (make-hurd-device-nodes #:optional (root "/"))
"Make some of the nodes needed on GNU/Hurd."
(define (scope dir)
(in-vicinity root dir))
(define scope-set-translator
(match-lambda
((file-name command)
(scope-set-translator (list file-name command #o600)))
((file-name command mode)
(let ((mount-point (scope file-name)))
(set-translator mount-point command mode)))))
(string-append root (if (string-suffix? "/" root) "" "/") dir))
(mkdir-p (scope "dev"))
;; XXX: We must have `/dev/console` otherwise `console-run` tries to
;; create it while the file-system is still read-only.
(for-each (lambda (file)
(call-with-output-file (scope file)
(lambda (port)
(display file port) ;avoid hard-linking
(chmod port #o666))))
'("dev/console"
;; XXX What about vcs?
;; Don't create /dev/null etc just yet; the store
;; messes-up the permission bits.
;; "dev/null"
;; "dev/zero"
;; "dev/full"
;; "dev/random"
;; "dev/urandom"
))
;; Don't create /dev/null etc just yet; the store
;; messes-up the permission bits.
;; Don't create /dev/console, /dev/vcs, etc.: they are created by
;; console-run on first boot.
(mkdir-p (scope "servers"))
(for-each (lambda (file)
@@ -122,47 +101,22 @@ Return the value associated with OPTION, or #f on failure."
"suspend"))
(mkdir-p (scope "servers/socket"))
(mkdir-p (scope "servers/bus/pci"))
;; Set the 'gnu.translator' extended attribute for passive translator
;; settings for pipes (servers/socet/1) and mount information (proc/mounts).
;; Pipes are needed for guile-3.0.11 to startup, this enables moving
;; "runsystem" to guile.
;; XXX TODO: Set more passive xattr translators?
(define servers
`(
;; ("servers/bus/pci" ("/hurd/pci-arbiter"))
;; ("servers/crash-dump-core" ("/hurd/crash" "--dump-core"))
;; ("servers/crash-kill" ("/hurd/crash" "--kill"))
;; ("servers/crash-suspend" ("/hurd/crash" "--suspend"))
;; ("servers/password" ("/hurd/password"))
;; PIPE -- for running runsystem as Guile
("servers/socket/1" (,(in-vicinity hurd "pflocal")))
;; /servers/socket/2 and /26 are created by 'static-networking-service'.
;; XXX: Spawn pfinet without arguments on these nodes so that a DHCP
;; client has someone to talk to?
("proc" (,(in-vicinity hurd "procfs") "--stat-mode=444"))))
;; Don't create /servers/socket/1 & co: runsystem does that on first boot.
(for-each scope-set-translator servers)
(define devices
'())
(for-each scope-set-translator devices))
;; TODO: Set the 'gnu.translator' extended attribute for passive translator
;; settings?
(mkdir-p (scope "servers/bus/pci")))
(define (passive-translator-xattr? file-name)
"Return true if FILE-NAME has an extended @code{gnu.translator} attribute
set.
Note that reading \"gnu.*\" xattrs on Linux only work with ext4; for tmpfs,
used during image creation, linux-7.0 with linux-shmem-hurd-xattr patch is
needed."
(and (file-exists? file-name)
(catch 'system-error
(lambda _ (not (string-null? (getxattr file-name "gnu.translator"))))
(lambda args
(if (= ENODATA (system-error-errno args))
#f
(apply throw args))))))
set."
(catch 'system-error
(lambda _ (not (string-null? (getxattr file-name "gnu.translator"))))
(lambda args
(if (= ENODATA (system-error-errno args))
#f
(apply throw args)))))
(define (passive-translator-installed? file-name)
"Return true if @file{showtrans} finds a translator installed on FILE-NAME."
@@ -182,11 +136,7 @@ needed."
(passive-translator-installed? file-name)))
(define* (set-translator file-name command #:optional (mode #o600))
"Setup translator COMMAND on FILE-NAME.
Note that setting \"gnu.*\" xattrs on Linux only work with ext4; for tmpfs,
used during image creation, linux-7.0 with linux-shmem-hurd-xattr patch is
needed."
"Setup translator COMMAND on FILE-NAME."
(unless (translated? file-name)
(let ((dir (dirname file-name)))
(unless (directory-exists? dir)
@@ -218,7 +168,7 @@ needed."
"Make some of the device nodes needed on GNU/Hurd."
(define (scope dir)
(in-vicinity root dir))
(string-append root (if (string-suffix? "/" root) "" "/") dir))
(define scope-set-translator
(match-lambda
@@ -230,19 +180,8 @@ needed."
(define (mkdir* dir)
(let ((dir (scope dir)))
(unless (file-exists? dir)
(mkdir-p dir))))
;; (define random-seed "/var/lib/random-seed")
;; ;; Create seed file to avoid
;; ;; /gnu/store/...-hurd-x.y.z/hurd/random: Warning: Failed to read random seed file /var/lib/random-seed: No such file or directory
;; (let ((file (scope random-seed)))
;; (mkdir-p (dirname file))
;; (call-with-output-file file
;; (lambda (port)
;; (display (iota 1000) port)
;; (chmod port #o600))))
(unless (file-exists? dir)
(mkdir-p dir))))
(define servers
'(("servers/bus/pci" ("/hurd/pci-arbiter"))
@@ -259,14 +198,8 @@ needed."
(define devices
`(("dev/full" ("/hurd/null" "--full") #o666)
("dev/null" ("/hurd/null") #o666)
;; The random translators, especially /dev/urandom, need to be non-passive
;; When they exist in the file-system and reference /var/lib/random-seed
;; while / is read-only. console-run will hang.
;; ("dev/random" ("/hurd/random" "--seed-file" ,random-seed)
;; #o644)
;; ("dev/urandom" ("/hurd/random" "--seed-file" ,random-seed
;; "--fast")
;; #o644)
("dev/random" ("/hurd/random" "--seed-file" "/var/lib/random-seed")
#o644)
("dev/zero" ("/hurd/storeio" "--store-type=zero") #o666)
("dev/console" ("/hurd/term" "/dev/console" "device" "console"))
@@ -351,6 +284,7 @@ needed."
(rename-file (scope "dev/console") (scope "dev/console-")))
(for-each scope-set-translator devices)
(false-if-EEXIST (symlink "/dev/random" (scope "dev/urandom")))
(false-if-EEXIST (symlink "/dev/fd/0" (scope "dev/stdin")))
(false-if-EEXIST (symlink "/dev/fd/1" (scope "dev/stdout")))
(false-if-EEXIST (symlink "/dev/fd/2" (scope "dev/stderr")))
+1 -1
View File
@@ -322,7 +322,7 @@ register-closure."
;; Populate /dev.
(when make-device-nodes
(make-device-nodes #:root root))
(make-device-nodes root))
(when register-closures?
(unless copy-closures?
+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)
+1 -10
View File
@@ -173,16 +173,7 @@ SYSTEM."
(define (core-packages system)
"Return the 'core' package set suitable for SYSTEM, which might be a system
type or a GNU triplet."
(cond ((target-linux? system)
(append %core-packages
%linux-packages
(cond ((target-arm32? system)
(list linux-libre-arm-generic))
((target-aarch64? system)
(list linux-libre-arm64-generic))
((target-riscv64? system)
(list linux-libre-riscv64-generic))
(else '()))))
(cond ((target-linux? system) (append %core-packages %linux-packages))
((target-hurd? system) (append %core-packages %hurd-packages))
((target-mingw? system) %core-packages-for-mingw)
(else '())))
+10 -19
View File
@@ -81,10 +81,7 @@ entry will be expired even if it has been accessed recently.")
"Maximum time a cache entry for SSH keys is valid, in seconds.")
(extra-content
(raw-configuration-string "")
"Raw content to add to the end of @file{~/.gnupg/gpg-agent.conf}.")
(shepherd-requirement
(list-of-symbols '())
"List of services that should be started before this service."))
"Raw content to add to the end of @file{~/.gnupg/gpg-agent.conf}."))
(define (home-gpg-agent-configuration-file config)
"Return the @file{gpg-agent.conf} file for @var{config}."
@@ -107,7 +104,7 @@ entry will be expired even if it has been accessed recently.")
(define (home-gpg-agent-shepherd-services config)
"Return the possibly-empty list of Shepherd services for @var{config}."
(match-record config <home-gpg-agent-configuration>
(gnupg ssh-support? shepherd-requirement)
(gnupg ssh-support?)
;; 'gpg-agent' is started on demand by GnuPG's programs, but it has to be
;; started explicitly when OpenSSH support is enabled (info "(gnupg) Agent
;; Options").
@@ -122,21 +119,15 @@ entry will be expired even if it has been accessed recently.")
#:socket-directory-permissions #o700))))
(list (shepherd-service
(provision '(gpg-agent ssh-agent))
(requirement shepherd-requirement)
(modules '((shepherd support))) ;for '%user-runtime-dir'
(start
#~(lambda args
((make-systemd-constructor
(list #$(file-append gnupg "/bin/gpg-agent")
"--supervised" "--enable-ssh-support")
(list #$(endpoint "ssh" "S.gpg-agent.ssh")
#$(endpoint "browser" "S.gpg-agent.browser")
#$(endpoint "extra" "S.gpg-agent.extra")
;; #$(endpoint "scdaemon" "S.scdaemon")
#$(endpoint "std" "S.gpg-agent"))
;; Inherit graphical session environment.
#:environment-variables (environ))
args)))
(start #~(make-systemd-constructor
(list #$(file-append gnupg "/bin/gpg-agent")
"--supervised" "--enable-ssh-support")
(list #$(endpoint "ssh" "S.gpg-agent.ssh")
#$(endpoint "browser" "S.gpg-agent.browser")
#$(endpoint "extra" "S.gpg-agent.extra")
;; #$(endpoint "scdaemon" "S.scdaemon")
#$(endpoint "std" "S.gpg-agent"))))
(stop #~(make-systemd-destructor))
(documentation "Start 'gpg-agent', the GnuPG passphrase
agent, with support for handling OpenSSH material."))))
-68
View File
@@ -70,11 +70,6 @@
openssh-host-proxy-command
openssh-host-host-key-algorithms
openssh-host-accepted-key-types
openssh-host-control-master
openssh-host-control-file-name
openssh-host-control-persist
openssh-host-sent-environment-variables
openssh-host-environment-variables
openssh-host-extra-content
proxy-jump
proxy-jump-host-name
@@ -89,9 +84,6 @@
(define (serialize-field-name name)
(match name
('accepted-key-types "PubkeyAcceptedKeyTypes")
('sent-environment-variables "SendEnv")
('environment-variables "SetEnv")
('control-file-name "ControlPath")
(_
(let ((name (let ((str (symbol->string name)))
(if (string-suffix? "?" str)
@@ -138,14 +130,6 @@
(define-maybe string)
(define-maybe natural-number)
(define (serialize-symbol field value)
(if (maybe-value-set? value)
(string-append " " (serialize-field-name field) " "
(symbol->string value) "\n")
""))
(define-maybe symbol)
(define (serialize-raw-configuration-string field value)
(string-append value "\n"))
(define raw-configuration-string? string?)
@@ -158,33 +142,6 @@
(define-maybe string-list)
(define (env-list? lst)
(string-list? lst))
(define (serialize-env-list field lst)
(string-append " " (serialize-field-name field) " "
(string-join lst " ") "\n"))
(define-maybe env-list)
(define (string-alist? lst)
(and (list? lst)
(every (lambda (x)
(and (pair? x)
(string? (car x))
(string? (cdr x))))
lst)))
(define (serialize-string-alist field lst)
(string-append " " (serialize-field-name field) " "
(string-join
(map (match-lambda
((key . value)
(format #nil "~s" (string-append key "=" value))))
lst) " ") "\n"))
(define-maybe string-alist)
(define-record-type <proxy-command>
(proxy-command command)
proxy-command?
@@ -318,31 +275,6 @@ through before connecting to the server.")
(accepted-key-types
maybe-string-list
"The list of accepted user public key types.")
(control-master
maybe-symbol
"Enables the sharing of multiple sessions over a single network connection.
Acceptable values are @code{'no}, @code{'yes}, @code{'auto}, @code{'ask}, and
@code{'autoask}.")
(control-file-name
maybe-string
"The file name of the control socket used for connection sharing, or
@code{\"none\"} to disable connection sharing.")
(control-persist
maybe-string
"When used in conjunction with @env{control-master}, specifies that the
master connection should remain open in the background (waiting for future
client connections) after the initial client connection has been closed.")
(sent-environment-variables
maybe-env-list
"Specifies which variables from the local environment should be sent to the
server. The server must also support it, and the server must be configured to
accept those environment variables.")
(environment-variables
maybe-string-alist
"List of environment variables with corresponding values to send to the
server, as an alist of strings of the form @code{'(\"@var{variable}\"
. \"@var{value}\")}. The server must also support it, and the server must be
configured to accept those environment variables.")
(extra-content
(raw-configuration-string "")
"Extra content appended as-is to this @code{Host} block in
+35 -58
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>
@@ -76,7 +76,6 @@
# Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com>
# Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
# Copyright © 2025 bdunahu <bdunahu@operationnull.com>
# Copyright © 2026 Simen Endsjø <contact@simendsjo.me>
#
# This file is part of GNU Guix.
#
@@ -209,7 +208,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/cobol.scm \
%D%/packages/code.scm \
%D%/packages/commencement.scm \
%D%/packages/compiler-tools.scm \
%D%/packages/compression.scm \
%D%/packages/compton.scm \
%D%/packages/computer-architecture.scm \
@@ -236,7 +234,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/darwin.scm \
%D%/packages/data-language.scm \
%D%/packages/databases.scm \
%D%/packages/datalog.scm \
%D%/packages/datamash.scm \
%D%/packages/datastructures.scm \
%D%/packages/dav.scm \
@@ -344,7 +341,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/golang-check.scm \
%D%/packages/golang-compression.scm \
%D%/packages/golang-crypto.scm \
%D%/packages/golang-graphics.scm \
%D%/packages/golang-maths.scm \
%D%/packages/golang-vcs.scm \
%D%/packages/golang-web.scm \
@@ -506,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 \
@@ -615,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 \
@@ -733,6 +727,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/zig.scm \
%D%/packages/zig-xyz.scm \
%D%/packages/zile.scm \
%D%/packages/zwave.scm \
\
%D%/services.scm \
%D%/services/admin.scm \
@@ -759,7 +754,6 @@ GNU_SYSTEM_MODULES = \
%D%/services/docker.scm \
%D%/services/authentication.scm \
%D%/services/file-sharing.scm \
%D%/services/firmware.scm \
%D%/services/games.scm \
%D%/services/ganeti.scm \
%D%/services/getmail.scm \
@@ -1004,9 +998,7 @@ dist_patch_DATA = \
%D%/packages/patches/akonadi-not-relocatable.patch \
%D%/packages/patches/akonadi-timestamps.patch \
%D%/packages/patches/alure-dumb-2.patch \
%D%/packages/patches/amd-smi-newer-libdrm.patch \
%D%/packages/patches/amd-smi-python.patch \
%D%/packages/patches/angband-remove-nonfree-tile-options.patch \
%D%/packages/patches/ibus-anthy-fix-tests.patch \
%D%/packages/patches/ibus-table-paths.patch \
%D%/packages/patches/antiword-CVE-2014-8123.patch \
@@ -1023,7 +1015,6 @@ dist_patch_DATA = \
%D%/packages/patches/ath9k-htc-firmware-gcc.patch \
%D%/packages/patches/ath9k-htc-firmware-gcc-compat.patch \
%D%/packages/patches/atlas-gfortran-compat.patch \
%D%/packages/patches/aubio-waflib-python312-compat.patch \
%D%/packages/patches/audacity-ffmpeg-fallback.patch \
%D%/packages/patches/audiofile-fix-datatypes-in-tests.patch \
%D%/packages/patches/audiofile-fix-sign-conversion.patch \
@@ -1101,11 +1092,11 @@ 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 \
%D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \
%D%/packages/patches/ceph-fix-cmake.patch \
%D%/packages/patches/cf-tool-add-languages.patch \
%D%/packages/patches/chmlib-inttypes.patch \
%D%/packages/patches/cl-ana-pr-49.patch \
@@ -1138,8 +1129,10 @@ dist_patch_DATA = \
%D%/packages/patches/clog-fix-shared-build.patch \
%D%/packages/patches/clucene-gcc-14.patch \
%D%/packages/patches/clucene-pkgconfig.patch \
%D%/packages/patches/codex-acp-0.11.1-disable-code-mode.patch \
%D%/packages/patches/codex-acp-0.11.1-remove-patch-sections.patch \
%D%/packages/patches/coda-use-system-libs.patch \
%D%/packages/patches/codex-acp-0.9.2-remove-patch-sections.patch \
%D%/packages/patches/codex-acp-0.9.2-replace-result-flatten.patch \
%D%/packages/patches/codex-0.98.0-remove-patch-sections.patch \
%D%/packages/patches/cogl-fix-double-free.patch \
%D%/packages/patches/collada-dom-boost.patch \
%D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
@@ -1171,6 +1164,7 @@ dist_patch_DATA = \
%D%/packages/patches/cryfs-boost-1.89-fix.patch \
%D%/packages/patches/csvkit-set-locale-for-tests.patch \
%D%/packages/patches/ctranslate2-local-build.patch \
%D%/packages/patches/ctune-cmake-disable-git-clone.patch \
%D%/packages/patches/cube-nocheck.patch \
%D%/packages/patches/cups-relax-root-ownership-check.patch \
%D%/packages/patches/cura-engine-gcc-14.patch \
@@ -1181,6 +1175,7 @@ dist_patch_DATA = \
%D%/packages/patches/curlftpfs-fix-memory-leak.patch \
%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/cvs-CVE-2017-12836.patch \
%D%/packages/patches/cyrus-sasl-fix-time-h.patch \
%D%/packages/patches/d-feet-drop-unused-meson-argument.patch \
@@ -1244,7 +1239,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 \
@@ -1301,7 +1296,6 @@ dist_patch_DATA = \
%D%/packages/patches/fbgemm-use-system-libraries.patch \
%D%/packages/patches/fbreader-curl-7.62.patch \
%D%/packages/patches/fbreader-fix-icon.patch \
%D%/packages/patches/fdroidcl-fix-tests.patch \
%D%/packages/patches/fenics-dolfin-algorithm.patch \
%D%/packages/patches/fenics-dolfin-demo-init.patch \
%D%/packages/patches/fenics-dolfin-boost.patch \
@@ -1368,8 +1362,16 @@ dist_patch_DATA = \
%D%/packages/patches/ganeti-disable-version-symlinks.patch \
%D%/packages/patches/ganeti-haskell-pythondir.patch \
%D%/packages/patches/ganeti-lens-compat.patch \
%D%/packages/patches/ganeti-openssh-test-fix.patch \
%D%/packages/patches/ganeti-pyyaml-compat.patch \
%D%/packages/patches/ganeti-procps-compat.patch \
%D%/packages/patches/ganeti-reorder-arbitrary-definitions.patch \
%D%/packages/patches/ganeti-relax-dependencies.patch \
%D%/packages/patches/ganeti-shepherd-master-failover.patch \
%D%/packages/patches/ganeti-shepherd-support.patch \
%D%/packages/patches/ganeti-sphinx-import.patch \
%D%/packages/patches/ganeti-template-haskell-2.17.patch \
%D%/packages/patches/ganeti-template-haskell-2.18.patch \
%D%/packages/patches/gawk-shell.patch \
%D%/packages/patches/gcc-arm-bug-71399.patch \
%D%/packages/patches/gcc-arm-link-spec-fix.patch \
@@ -1465,6 +1467,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 \
@@ -1509,8 +1512,6 @@ dist_patch_DATA = \
%D%/packages/patches/glibc-reinstate-prlimit64-fallback.patch \
%D%/packages/patches/glibc-supported-locales.patch \
%D%/packages/patches/glibc-versioned-locpath.patch \
%D%/packages/patches/glog-windows-h-nonwindows.patch \
%D%/packages/patches/glycin-sandbox-Adapt-bwrap-invocation.patch \
%D%/packages/patches/gmime-disable-tests.patch \
%D%/packages/patches/gmp-arm-asm-nothumb.patch \
%D%/packages/patches/gmp-faulty-test.patch \
@@ -1618,6 +1619,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 \
@@ -1653,7 +1655,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 \
@@ -1665,7 +1666,6 @@ dist_patch_DATA = \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
%D%/packages/patches/ispell-for-linphone-cmake.patch \
%D%/packages/patches/jami-avutil-link.patch \
%D%/packages/patches/jami-libjami-cmake.patch \
%D%/packages/patches/jamvm-1.5.1-aarch64-support.patch \
%D%/packages/patches/jamvm-1.5.1-armv7-support.patch \
%D%/packages/patches/jamvm-2.0.0-aarch64-support.patch \
@@ -1677,7 +1677,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 \
@@ -1686,8 +1685,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 \
@@ -1704,6 +1701,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 \
@@ -1748,8 +1746,9 @@ dist_patch_DATA = \
%D%/packages/patches/kio-search-smbd-on-PATH.patch \
%D%/packages/patches/kismet-unbundle-boost.patch \
%D%/packages/patches/kissfft-tflite-micro.patch \
%D%/packages/patches/kitty-fix-wayland-protocols.patch \
%D%/packages/patches/kmod-module-directory.patch \
%D%/packages/patches/kmscon-8-runtime-keymap-switch.patch \
%D%/packages/patches/kmscon-runtime-keymap-switch.patch \
%D%/packages/patches/knot-remove-runtime-deps.patch \
%D%/packages/patches/kobodeluxe-paths.patch \
%D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch \
@@ -1862,7 +1861,6 @@ dist_patch_DATA = \
%D%/packages/patches/linux-libre-arm64-mnt-reform-revert-vop2-display-modes.patch \
%D%/packages/patches/linux-pam-no-setfsuid.patch \
%D%/packages/patches/linux-pam-unix_chkpwd.patch \
%D%/packages/patches/linux-shmem-hurd-xattr.patch \
%D%/packages/patches/lirc-localstatedir.patch \
%D%/packages/patches/lirc-reproducible-build.patch \
%D%/packages/patches/llvm-13-gcc-14.patch \
@@ -1881,10 +1879,10 @@ dist_patch_DATA = \
%D%/packages/patches/lua-5.4-pkgconfig.patch \
%D%/packages/patches/lua-5.4-liblua-so.patch \
%D%/packages/patches/lua-5.4-search-paths.patch \
%D%/packages/patches/lua-5.5-search-paths.patch \
%D%/packages/patches/lua-5.x-search-path-helpers.patch \
%D%/packages/patches/lua-lgi-fix-pango.patch \
%D%/packages/patches/lua-lgi-fix-ref.patch \
%D%/packages/patches/luanti-paths.patch \
%D%/packages/patches/lugaru-fix-sound.patch \
%D%/packages/patches/luit-posix.patch \
%D%/packages/patches/lxc-no-static-bin.patch \
@@ -1943,6 +1941,7 @@ dist_patch_DATA = \
%D%/packages/patches/modglue-fix-build.patch \
%D%/packages/patches/modem-manager-fix-test-wrapper.patch \
%D%/packages/patches/module-init-tools-moduledir.patch \
%D%/packages/patches/monero-use-system-miniupnpc.patch \
%D%/packages/patches/mono-1.2.6-bootstrap.patch \
%D%/packages/patches/mono-1.9.1-add-MONO_CREATE_IMAGE_VERSION.patch \
%D%/packages/patches/mono-1.9.1-fixes.patch \
@@ -1967,7 +1966,7 @@ dist_patch_DATA = \
%D%/packages/patches/mswebrtc-cmake.patch \
%D%/packages/patches/mtools-mformat-uninitialized.patch \
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
%D%/packages/patches/musl-CVE-2026-40200.patch \
%D%/packages/patches/musl-cross-locale.patch \
%D%/packages/patches/mutt-store-references.patch \
%D%/packages/patches/m17n-lib-1.8.0-use-pkg-config-for-freetype.patch \
%D%/packages/patches/nanosvg-prusa-slicer.patch \
@@ -1978,12 +1977,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/netbeans-25-wayland-font-rendering.patch \
%D%/packages/patches/netpbm-CVE-2017-2586.patch \
%D%/packages/patches/netpbm-CVE-2017-2587.patch \
%D%/packages/patches/netsurf-message-timestamp.patch \
@@ -1993,7 +1986,6 @@ dist_patch_DATA = \
%D%/packages/patches/nhc98-c-update.patch \
%D%/packages/patches/nheko-0-12-1-fix-rendering-replies.patch \
%D%/packages/patches/nix-dont-build-html-doc.diff \
%D%/packages/patches/nlohmann_json_fix_char8_t.patch \
%D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \
%D%/packages/patches/neovim-tree-sitter-grammar-path.patch \
%D%/packages/patches/network-manager-plugin-ownership.patch \
@@ -2010,13 +2002,10 @@ dist_patch_DATA = \
%D%/packages/patches/nss-3.115-disable-broken-tests.patch \
%D%/packages/patches/nss-3.115-disable-pkix-ocsp-tests.patch \
%D%/packages/patches/ntp-fix-dereferencing-the-wrong-variable.patch \
%D%/packages/patches/ntfs-3g-autoconf-sbin-helpers.patch \
%D%/packages/patches/ntfs-3g-consistent-sbindir-usage.patch \
%D%/packages/patches/nvi-add-function-prototypes.patch \
%D%/packages/patches/nvi-assume-preserve-path.patch \
%D%/packages/patches/nvi-dbpagesize-binpower.patch \
%D%/packages/patches/nvi-db4.patch \
%D%/packages/patches/obs-advanced-masks-nlohmann-json.patch \
%D%/packages/patches/obs-modules-location.patch \
%D%/packages/patches/ocaml-ctypes-test-oo.patch \
%D%/packages/patches/ocaml-multiple-definitions.patch \
@@ -2024,6 +2013,7 @@ dist_patch_DATA = \
%D%/packages/patches/ocaml-4.07-dynamically-allocate-signal-stack.patch \
%D%/packages/patches/ocaml-4.09-dynamically-allocate-signal-stack.patch \
%D%/packages/patches/ocaml-4.09-multiple-definitions.patch \
%D%/packages/patches/ogs-6.5.7-netcdfconverter.patch \
%D%/packages/patches/omake-fix-non-determinism.patch \
%D%/packages/patches/oneko-remove-nonfree-characters.patch \
%D%/packages/patches/onetbb-other-arches.patch \
@@ -2078,9 +2068,9 @@ dist_patch_DATA = \
%D%/packages/patches/openssl-3.0-c-rehash-in.patch \
%D%/packages/patches/openssl-hurd64.patch \
%D%/packages/patches/opentaxsolver-file-browser-fix.patch \
%D%/packages/patches/open-zwave-hidapi.patch \
%D%/packages/patches/opusfile-CVE-2022-47021.patch \
%D%/packages/patches/orbit2-fix-array-allocation-32bit.patch \
%D%/packages/patches/orca-fix-gst-init-check-call.patch \
%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 \
@@ -2111,7 +2101,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-3.11-fix-tests.patch \
%D%/packages/patches/python-3.12-fix-tests.patch \
%D%/packages/patches/python-anyio-unuse-exceptiongroup-in-test.patch \
%D%/packages/patches/python-beangulp-click-8.2-compat.patch \
%D%/packages/patches/python-bed-reader-use-store-samples.patch \
%D%/packages/patches/python-chai-drop-python2.patch \
%D%/packages/patches/python-clarabel-blas.patch \
@@ -2140,14 +2129,11 @@ dist_patch_DATA = \
%D%/packages/patches/python-sphinx-prompt-docutils-0.19.patch \
%D%/packages/patches/python-sshtunnel-pep518.patch \
%D%/packages/patches/python-zeroc-ice-3.6.5-python-3.11-support.patch \
%D%/packages/patches/python-zeroc-ice-3.6.5-python-3.12-support.patch \
%D%/packages/patches/python-zipfile2-python-3.12-support.patch \
%D%/packages/patches/qcodeeditor-qt6.patch \
%D%/packages/patches/qtdeclarative-5-disable-qmlcache.patch \
%D%/packages/patches/qtdeclarative-disable-qmlcache.patch \
%D%/packages/patches/qtlocation-5.15.8-mapboxgl-gcc13.patch \
%D%/packages/patches/qtwebengine-revert-egl.patch \
%D%/packages/patches/qtwebengine5-python312-six-compat.patch \
%D%/packages/patches/quodlibet-disable-bundled-packages.patch \
%D%/packages/patches/qxlsx-fix-include-directory.patch \
%D%/packages/patches/schiffbruch-fix-build-for-gcc-13.patch \
@@ -2188,8 +2174,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 \
@@ -2257,7 +2241,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch \
%D%/packages/patches/python-pillow-CVE-2022-45199.patch \
%D%/packages/patches/python-libxml2-utf8.patch \
%D%/packages/patches/python-lsp-server-python-3.13-compatibility.patch \
%D%/packages/patches/python-memcached-syntax-warnings.patch \
%D%/packages/patches/python-mslice-matplotlib-3.6-compatibility.patch \
%D%/packages/patches/python-packaging-test-arch.patch \
@@ -2273,14 +2256,12 @@ dist_patch_DATA = \
%D%/packages/patches/python-pytorch-system-libraries.patch \
%D%/packages/patches/python-pytorch-without-kineto.patch \
%D%/packages/patches/python-robotframework-sshlibrary-rf5-compat.patch \
%D%/packages/patches/python-py-ubjson-recursion-test.patch \
%D%/packages/patches/python-vaex-core-fix-tsl-use.patch \
%D%/packages/patches/python-vega-datasets-remove-la-riots-code.patch \
%D%/packages/patches/python-versioneer-guix-support.patch \
%D%/packages/patches/python-werkzeug-tests.patch \
%D%/packages/patches/qdigidoc-bundle-config-files.patch \
%D%/packages/patches/qdigidoc-bundle-tsl-files.patch \
%D%/packages/patches/qdigidoc-fix-icon.patch \
%D%/packages/patches/qemu-build-info-manual.patch \
%D%/packages/patches/qemu-fix-agent-paths.patch \
%D%/packages/patches/qemu-fix-test-virtio-version.patch \
@@ -2295,6 +2276,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 \
@@ -2410,13 +2393,10 @@ dist_patch_DATA = \
%D%/packages/patches/rust-1.78-unwinding-fix.patch \
%D%/packages/patches/rust-1.81-fix-riscv64-bootstrap.patch \
%D%/packages/patches/rust-candle-0.9.1-add-candle-onnx-to-workspace.patch \
%D%/packages/patches/rust-codex-0.98.0-core-remove-self-dep.patch \
%D%/packages/patches/rust-codex-0.98.0-test-shebangs.patch \
%D%/packages/patches/rust-codex-0.117.0-core-remove-self-dep.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-codex-0.98.0-test-timeout.patch \
%D%/packages/patches/rust-codex-0.98.0-windows-sandbox-protocol-version.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 \
@@ -2426,6 +2406,7 @@ dist_patch_DATA = \
%D%/packages/patches/sajson-build-with-gcc10.patch \
%D%/packages/patches/sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch \
%D%/packages/patches/sbc-fix-build-non-x86.patch \
%D%/packages/patches/sbcl-fix-arm64-shared-lib.patch \
%D%/packages/patches/sbcl-aserve-add-HTML-5-elements.patch \
%D%/packages/patches/sbcl-aserve-fix-rfe12668.patch \
%D%/packages/patches/sbcl-burgled-batteries3-fix-signals.patch \
@@ -2451,10 +2432,10 @@ dist_patch_DATA = \
%D%/packages/patches/seq24-rename-mutex.patch \
%D%/packages/patches/libsequoia-fix-ffi-Makefile.patch \
%D%/packages/patches/libsequoia-remove-store.patch \
%D%/packages/patches/shakespeare-spl-fix-grammar.patch \
%D%/packages/patches/shared-mime-info-xdgmime-path.patch \
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
%D%/packages/patches/showtime-python-3.11-compat.patch \
%D%/packages/patches/simpleitk-r-4.6.0.patch \
%D%/packages/patches/sipwitch-fix-build-with-exosip5.patch \
%D%/packages/patches/slim-config.patch \
%D%/packages/patches/slim-gcc-14.patch \
@@ -2489,7 +2470,6 @@ dist_patch_DATA = \
%D%/packages/patches/swift-corelibs-libdispatch-5.7.3-modulemap.patch \
%D%/packages/patches/swift-llvm-5.7.3-linux.patch \
%D%/packages/patches/swig-support-gcc-12.patch \
%D%/packages/patches/swig-support-r-4.6.0.patch \
%D%/packages/patches/swish-e-search.patch \
%D%/packages/patches/swish-e-format-security.patch \
%D%/packages/patches/t1lib-CVE-2010-2642.patch \
@@ -2537,7 +2517,6 @@ dist_patch_DATA = \
%D%/packages/patches/transcode-ffmpeg.patch \
%D%/packages/patches/trytond-add-guix_trytond_path.patch \
%D%/packages/patches/ttf2eot-cstddef.patch \
%D%/packages/patches/tuir-python-3.12-support.patch \
%D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/tvm_fix_cpptest_build.patch \
%D%/packages/patches/twinkle-bcg729.patch \
@@ -2615,7 +2594,6 @@ dist_patch_DATA = \
%D%/packages/patches/webrtc-audio-processing-big-endian.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-boost-compat.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 \
@@ -2628,7 +2606,6 @@ dist_patch_DATA = \
%D%/packages/patches/x265-arm-flags.patch \
%D%/packages/patches/x265-4-arm-flags.patch \
%D%/packages/patches/xdg-desktop-portal-wlr-harcoded-length.patch\
%D%/packages/patches/xdmf-3.0.0-hdf5.patch \
%D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \
%D%/packages/patches/xfig-Enable-error-message-for-missing-libraries.patch \
%D%/packages/patches/xfig-Fix-double-free-when-requesting-MediaBox.patch \
+86 -205
View File
@@ -2,7 +2,6 @@
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
;;; Copyright © 2025 Owen T. Heisler <writer@owenh.net>
;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
;;; Copyright © 2026 Maxim Cournoyer <maxim@guixotic.coop>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,7 +36,6 @@
#:use-module (gnu system)
#:use-module (guix base32)
#:use-module (guix colors)
#:use-module (guix deprecation)
#:use-module (guix derivations)
#:use-module (guix diagnostics)
#:use-module (guix gexp)
@@ -57,7 +55,6 @@
#:use-module (ice-9 string-fun)
#:use-module (ice-9 textual-ports)
#:use-module (json)
#:use-module ((rnrs base) #:select (assert))
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-2)
#:use-module (srfi srfi-34)
@@ -69,10 +66,8 @@
#:use-module (ssh session)
#:use-module (ssh sftp)
#:use-module (ssh shell)
#:export (%hetzner-os-arm ;deprecated
%hetzner-os-x86 ;deprecated
make-hetzner-os
#:export (%hetzner-os-arm
%hetzner-os-x86
deploy-hetzner
hetzner-configuration
hetzner-configuration-allow-downgrades?
@@ -87,7 +82,6 @@
hetzner-configuration-server-type
hetzner-configuration-ssh-key
hetzner-configuration-ssh-public-key
hetzner-configuration-user
hetzner-configuration?
hetzner-environment-type))
@@ -104,7 +98,7 @@
;; Operating system for arm servers using UEFI boot mode.
(define %hetzner-os-arm/efi
(define %hetzner-os-arm
(operating-system
(host-name "guix-arm")
(bootloader
@@ -134,9 +128,9 @@
;; Operating system for x86 servers using BIOS boot mode.
(define %hetzner-os-x86/bios
(define %hetzner-os-x86
(operating-system
(inherit %hetzner-os-arm/efi)
(inherit %hetzner-os-arm)
(host-name "guix-x86")
(bootloader
(bootloader-configuration
@@ -152,51 +146,6 @@
(type "ext4"))
%base-file-systems))))
(define %hetzner-os-x86/efi
(operating-system
(inherit %hetzner-os-arm/efi)
(host-name "guix-x86")
(initrd-modules
(cons "virtio_scsi" %base-initrd-modules))))
(define (server-type-name->arch type-name)
"Return a symbol corresponding to the server type architecture, e.g.
@code{'x86} or @code{'arm}."
(cond
((string-prefix-ci? "cax" type-name)
'arm)
(else
'x86)))
(define (server-type-name->bootloader type-name)
"Return a symbol corresponding to the bootloader type, e.g.
@code{'efi} or @code{'bios}."
(if (eq? 'arm (server-type-name->arch type-name))
'efi
(cond
((string-prefix-ci? "cx" type-name)
'bios) ;old, cost-optimized x86 servers
(else
'efi)))) ;newer, regular performance/general purpose servers
(define* (make-hetzner-os server-type-name)
"Return an operating server customized for SERVER-TYPE-NAME, a string like
\"cx23\" or \"cax11\", denoting the Hetzner virtual server type."
(match (server-type-name->arch server-type-name)
('arm %hetzner-os-arm/efi)
('x86
(match (server-type-name->bootloader server-type-name)
('bios %hetzner-os-x86/bios)
('efi %hetzner-os-x86/efi)))))
(define-deprecated %hetzner-os-x86
make-hetzner-os
%hetzner-os-x86/bios)
(define-deprecated %hetzner-os-arm
make-hetzner-os
%hetzner-os-arm/efi)
(define (operating-system-authorize os)
"Authorize the OS with the public signing key of the current machine."
(if (file-exists? %public-key-file)
@@ -242,11 +191,6 @@ Have you run 'guix archive --generate-key'?")
;;; Hetzner configuration.
;;;
;;; This parameter overrides the value returned by
;;; `hetzner-configuration-ssh-key'.
(define %hetzner-ssh-key-file
(make-parameter #f))
(define-record-type* <hetzner-configuration> hetzner-configuration
make-hetzner-configuration hetzner-configuration? this-hetzner-configuration
(allow-downgrades? hetzner-configuration-allow-downgrades? ; boolean
@@ -258,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
@@ -269,39 +213,26 @@ Have you run 'guix archive --generate-key'?")
(default #t))
(ipv6 hetzner-configuration-ipv6 ; boolean | string
(default #t))
(ssh-public-key hetzner-configuration-ssh-public-key* ; #f | public-key | string
(ssh-public-key hetzner-configuration-ssh-public-key ; public-key | string
(thunked)
(default (and=> (hetzner-configuration-ssh-key
this-hetzner-configuration)
public-key-from-file))
(sanitize (lambda (value)
(if (string? value)
(public-key-from-file value)
value))))
(ssh-key hetzner-configuration-ssh-key* ; #f | string
(default #f))
(user hetzner-configuration-user ;string
(default "root")))
(default (public-key-from-file (hetzner-configuration-ssh-key this-hetzner-configuration)))
(sanitize
(lambda (value)
(if (string? value) (public-key-from-file value) value))))
(ssh-key hetzner-configuration-ssh-key
(default #f))) ; #f | string
(define (hetzner-configuration-ssh-key config)
(or (%hetzner-ssh-key-file)
(hetzner-configuration-ssh-key* config)))
(define (hetzner-configuration-ssh-public-key config)
(or (and=> (%hetzner-ssh-key-file) public-key-from-file)
(hetzner-configuration-ssh-public-key* config)))
(define (public-key->fingerprint public-key)
"Return the SSH public key fingerprint of PUBLIC-KEY, a Guile-SSH public key
object, in the expected format for the Hetzner API."
(let ((hash (get-public-key-hash public-key 'md5)))
(define (hetzner-configuration-ssh-key-fingerprint config)
"Return the SSH public key fingerprint of CONFIG as a string."
(and-let* ((pubkey (hetzner-configuration-ssh-public-key config))
(hash (get-public-key-hash pubkey 'md5)))
(bytevector->hex-string hash)))
(define (public-key->string-with-type public-key)
"Return the SSH public key string of PUBLIC-KEY, a Guile-SSH public key
object, in the expected format for the Hetzner API."
(format #f "ssh-~a ~a" (get-key-type public-key)
(public-key->string public-key)))
(define (hetzner-configuration-ssh-key-public config)
"Return the SSH public key of CONFIG as a string."
(let ((public-key (hetzner-configuration-ssh-public-key config)))
(format #f "ssh-~a ~a" (get-key-type public-key)
(public-key->string public-key))))
;;;
@@ -314,26 +245,21 @@ object, in the expected format for the Hetzner API."
;; Get the operating system WITHOUT the provenance service to avoid a
;; duplicate symlink conflict in the store.
(os ((@@ (gnu machine) %machine-operating-system) target)))
(match-record config <hetzner-configuration>
( authorize? allow-downgrades? build-locally? user)
(machine
(inherit target)
(operating-system
(if authorize?
(operating-system-authorize os)
os))
(environment managed-host-environment-type)
(configuration
(machine-ssh-configuration
(allow-downgrades? allow-downgrades?)
(authorize? authorize?)
(build-locally? build-locally?)
(host-name (hetzner-server-public-ipv4 server))
;; XXX: match-record doesn't make use of custom accessors to obtain
;; the value, so we can't bind SSH-KEY with it.
(identity (hetzner-configuration-ssh-key config))
(system (hetzner-server-system server))
(user user)))))))
(machine
(inherit target)
(operating-system
(if (hetzner-configuration-authorize? config)
(operating-system-authorize os)
os))
(environment managed-host-environment-type)
(configuration
(machine-ssh-configuration
(allow-downgrades? (hetzner-configuration-allow-downgrades? config))
(authorize? (hetzner-configuration-authorize? config))
(build-locally? (hetzner-configuration-build-locally? config))
(host-name (hetzner-server-public-ipv4 server))
(identity (hetzner-configuration-ssh-key config))
(system (hetzner-server-system server)))))))
(define (hetzner-machine-location machine)
"Find the location of MACHINE on the Hetzner API."
@@ -437,43 +363,45 @@ Available locations:~%~%~a~%~%For more details, see: ~a")
"Return the form to bootstrap an operating system on SERVER."
(let* ((os (machine-operating-system machine))
(system (hetzner-server-system server))
(type-name (hetzner-server-type-name (hetzner-server-type server)))
(arm? (equal? "arm" (hetzner-server-architecture server)))
(x86? (equal? "x86" (hetzner-server-architecture server)))
(efi? (equal? 'efi (server-type-name->bootloader type-name)))
(root-fs-type (operating-system-root-file-system-type os)))
`(operating-system
(host-name ,(operating-system-host-name os))
(timezone "Etc/UTC")
(bootloader (bootloader-configuration
(bootloader ,(if efi?
'grub-efi-bootloader
'grub-bootloader))
(targets ,(if efi?
'(list "/boot/efi")
'(list "/dev/sda")))
(terminal-outputs '(console))))
(bootloader ,(cond (arm? 'grub-efi-bootloader)
(x86? 'grub-bootloader)))
(targets ,(cond (arm? '(list "/boot/efi"))
(x86? '(list "/dev/sda"))))
(terminal-outputs '(console))))
(initrd-modules (append
,(cond (arm? '(list "sd_mod" "virtio_scsi"))
(x86? '(list "virtio_scsi")))
%base-initrd-modules))
(file-systems (cons* (file-system
(mount-point "/")
(device "/dev/sda1")
(type ,root-fs-type))
,@(if efi?
'((file-system
(mount-point "/boot/efi")
(device "/dev/sda15")
(type "vfat")))
'())
%base-file-systems))
(file-systems ,(cond
(arm? `(cons* (file-system
(mount-point "/")
(device "/dev/sda1")
(type ,root-fs-type))
(file-system
(mount-point "/boot/efi")
(device "/dev/sda15")
(type "vfat"))
%base-file-systems))
(x86? `(cons* (file-system
(mount-point "/")
(device "/dev/sda1")
(type ,root-fs-type))
%base-file-systems))))
(services
(cons* (service dhcpcd-service-type)
;; 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)
(permit-root-login 'prohibit-password)))
(openssh openssh-sans-x)
(permit-root-login 'prohibit-password)))
%base-services)))))
(define (rexec-verbose session cmd)
@@ -495,9 +423,8 @@ values: list of output lines returned by CMD and its exit code."
(define (hetzner-machine-ssh-key machine)
"Find the SSH key for MACHINE on the Hetzner API."
(and-let* ((config (machine-configuration machine))
(public-key (hetzner-configuration-ssh-public-key config))
(expected (public-key->fingerprint public-key)))
(let* ((config (machine-configuration machine))
(expected (hetzner-configuration-ssh-key-fingerprint config)))
(find (lambda (ssh-key)
(equal? expected (hetzner-ssh-key-fingerprint ssh-key)))
(hetzner-api-ssh-keys
@@ -510,12 +437,10 @@ values: list of output lines returned by CMD and its exit code."
(format #t "creating ssh key for '~a'...\n" name)
(let* ((config (machine-configuration machine))
(api (hetzner-configuration-api config))
(pubkey (hetzner-configuration-ssh-public-key config))
(_ (assert pubkey))
(ssh-key (hetzner-api-ssh-key-create
api
(public-key->fingerprint pubkey)
(public-key->string-with-type pubkey)
(hetzner-configuration-api config)
(hetzner-configuration-ssh-key-fingerprint config)
(hetzner-configuration-ssh-key-public config)
#:labels (hetzner-configuration-labels config))))
(format #t "successfully created ssh key for '~a'\n" name)
ssh-key)))
@@ -541,16 +466,6 @@ values: list of output lines returned by CMD and its exit code."
(formatted-message (G_ "primary ip '~a' does not exist.")
name))))
(define temporary-ssh-key-file
(let ((ssh-key-file (port-filename (mkstemp "/tmp/hetzner-key-XXXXXX")))
(ssh-key #f))
(lambda ()
"Return a dynamically created, temporary private SSH key."
(unless ssh-key
(set! ssh-key (make-keypair 'ed25519))
(private-key-to-file ssh-key ssh-key-file))
ssh-key-file)))
(define (hetzner-machine-create-server machine)
"Create the Hetzner server for MACHINE."
(let* ((config (machine-configuration machine))
@@ -558,14 +473,13 @@ values: list of output lines returned by CMD and its exit code."
(server-type (hetzner-configuration-server-type config)))
(format #t "creating '~a' server for '~a'...\n" server-type name)
(let* ((ssh-key (hetzner-machine-ssh-key machine))
(_ (assert ssh-key)) ;required during provisioning
(ipv4 (hetzner-configuration-ipv4 config))
(ipv6 (hetzner-configuration-ipv6 config))
(api (hetzner-configuration-api config))
(server (hetzner-api-server-create
api
(machine-display-name machine)
#:ssh-keys (list ssh-key)
(list ssh-key)
#:ipv4 (if (string? ipv4)
(hetzner-primary-ip-id (hetzner-resolve-ip api ipv4))
ipv4)
@@ -613,15 +527,13 @@ values: list of output lines returned by CMD and its exit code."
(write-known-host! ssh-session)))
(define (hetzner-machine-enable-rescue-system machine server)
"Enable the rescue system on the Hetzner SERVER for MACHINE, provisioning it
with the configured SSH key, or a dynamically created temporary one."
"Enable the rescue system on the Hetzner SERVER for MACHINE."
(let* ((name (machine-display-name machine))
(config (machine-configuration machine))
(api (hetzner-configuration-api config))
(ssh-keys (and=> (hetzner-machine-ssh-key machine) list)))
(ssh-keys (list (hetzner-machine-ssh-key machine))))
(format #t "enabling rescue system on '~a'...\n" name)
(let ((action (hetzner-api-server-enable-rescue-system
api server #:ssh-keys ssh-keys)))
(let ((action (hetzner-api-server-enable-rescue-system api server ssh-keys)))
(format #t "successfully enabled rescue system on '~a'\n" name)
action)))
@@ -657,7 +569,6 @@ with the configured SSH key, or a dynamically created temporary one."
(set! hetzner-machine-ssh-run-script hetzner-machine-ssh-run-script)
(define (hetzner-machine-rescue-install-os machine ssh-session server)
"Init a minimal Guix System to bootstrap from."
(let ((name (machine-display-name machine))
(os (hetzner-machine-bootstrap-os-form machine server)))
(format #t "installing guix operating system on '~a'...\n" name)
@@ -676,9 +587,9 @@ chmod 600 /mnt/root/.ssh/authorized_keys
# Small instance don't have much disk space. Bind mount the store of the
# rescue system to the tmp directory of the new Guix system.
mkdir -p /mnt/tmp/gnu
mkdir -p /gnu
mount --bind /mnt/tmp/gnu /gnu
mkdir -p /mnt/tmp/gnu/store
mkdir -p /gnu/store
mount --bind /mnt/tmp/gnu/store /gnu/store
wget -O /tmp/guix-install.sh https://guix.gnu.org/guix-install.sh
chmod +x /tmp/guix-install.sh
@@ -754,8 +665,7 @@ apt-get install cloud-initramfs-growroot uidmap --assume-yes"))
action)))
(define (hetzner-machine-provision machine)
"Provision a Guix System bootstrap server for MACHINE on the Hetzner Cloud
service."
"Provision a server for MACHINE on the Hetzner Cloud service."
(with-exception-handler
(lambda (exception)
(let ((config (machine-configuration machine))
@@ -770,10 +680,12 @@ service."
(let ((ssh-session (hetzner-machine-wait-for-ssh machine server)))
(hetzner-machine-rescue-install-packages machine ssh-session)
(hetzner-machine-rescue-partition machine ssh-session)
(hetzner-machine-rescue-install-os machine ssh-session server))
(hetzner-machine-reboot machine server)
(hetzner-machine-authenticate-host machine server)
server))))
(hetzner-machine-rescue-install-os machine ssh-session server)
(hetzner-machine-reboot machine server)
(sleep 5)
(hetzner-machine-authenticate-host machine server)
server)))
#:unwind? #t))
(define (machine-not-provisioned machine)
(formatted-message
@@ -799,47 +711,16 @@ an environment type of 'hetzner-environment-type'."
;;; System deployment.
;;;
(define (cleanup-temporary-ssh-key/maybe api ssh-key)
"Delete the temporary SSH private key file from the file system and the
Hetzner API, if one was created used."
(when (%hetzner-ssh-key-file)
(format #t "cleaning up temporary ssh key~%")
(delete-file (%hetzner-ssh-key-file))
(%hetzner-ssh-key-file #f)
(hetzner-api-ssh-key-delete api ssh-key)))
(define (deploy-hetzner machine)
"Internal implementation of 'deploy-machine' for 'machine' instances with an
environment type of 'hetzner-environment-type'."
(hetzner-machine-validate machine)
(unless (hetzner-machine-ssh-key machine)
(hetzner-machine-ssh-key-create machine))
(let ((server (or (hetzner-machine-server machine)
(hetzner-machine-provision machine))))
(deploy-machine (hetzner-machine-delegate machine server))))
(define server (hetzner-machine-server machine))
(define config (machine-configuration machine))
(define api (hetzner-configuration-api config))
(define ssh-key #f) ;hetzner API key
;; Provisioning requires uploading an SSH key via the Hetzner API to
;; authenticate non-interactively with the newly created server.
(unless server ;provisioning?
(unless (hetzner-configuration-ssh-public-key config)
(format #t "using a temporary ssh key for provisioning~%")
(%hetzner-ssh-key-file (temporary-ssh-key-file)))
(set! ssh-key (or (hetzner-machine-ssh-key machine)
(hetzner-machine-ssh-key-create machine))))
;; Cleaning-up here is a bit tricky, as `deploy-machine' returns a monadic
;; value immediately, to be executed later; this means the clean-up must be
;; delayed until monadic evaluation time.
(let* ((server (or server (hetzner-machine-provision machine)))
(delegate-machine (hetzner-machine-delegate machine server)))
;; FIXME: The clean-up in the guard does not run even when
;; `deploy-machine' fails.
(guard (c (#t (cleanup-temporary-ssh-key/maybe api ssh-key)
(raise c)))
(mlet %store-monad
((value (deploy-machine delegate-machine)))
(cleanup-temporary-ssh-key/maybe api ssh-key)
(return value)))))
;;;
+8 -90
View File
@@ -1,6 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
;;; Copyright © 2026 Maxim Cournoyer <maxim@guixotic.coop>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,7 +19,6 @@
(define-module (gnu machine hetzner http)
#:use-module (guix diagnostics)
#:use-module (guix i18n)
#:use-module (guix memoization)
#:use-module (guix records)
#:use-module (ice-9 iconv)
#:use-module (ice-9 match)
@@ -53,7 +51,6 @@
hetzner-api-action-wait
hetzner-api-actions
hetzner-api-create-ssh-key
hetzner-api-images
hetzner-api-locations
hetzner-api-primary-ips
hetzner-api-request-body
@@ -84,23 +81,6 @@
hetzner-error-code
hetzner-error-message
hetzner-error?
hetzner-image?
hetzner-image-id
hetzner-image-type
hetzner-image-status
hetzner-image-name
hetzner-image-description
hetzner-image-disk-size
hetzner-image-created
hetzner-image-created-from
hetzner-image-bound-to
hetzner-image-os-flavor
hetzner-image-os-version
hetzner-image-rapid-deploy
hetzner-image-protection
hetzner-image-deprecated
hetzner-image-deleted
hetzner-image-architecture
hetzner-ipv4-blocked?
hetzner-ipv4-dns-ptr
hetzner-ipv4-id
@@ -168,7 +148,6 @@
hetzner-ssh-key?
make-hetzner-action
make-hetzner-error
make-hetzner-image
make-hetzner-ipv4
make-hetzner-ipv6
make-hetzner-location
@@ -189,19 +168,7 @@
(make-parameter (getenv "GUIX_HETZNER_API_TOKEN")))
;; Ideally this would be a Guix image. Maybe one day.
(define %hetzner-default-server-image
(mlambda (api)
"Return the latest Debian image available. This image gets used for the
initial system provisioning phase, before Guix System takes over."
(let ((debian-images (filter (lambda (image)
(string=? "debian"
(hetzner-image-os-flavor image)))
(hetzner-api-images api))))
(hetzner-image-name
(last (sort debian-images
(lambda (x y)
(< (string->number (hetzner-image-os-version x))
(string->number (hetzner-image-os-version y))))))))))
(define %hetzner-default-server-image "debian-11")
;; Falkenstein, Germany
(define %hetzner-default-server-location "fsn1")
@@ -323,43 +290,6 @@ initial system provisioning phase, before Guix System takes over."
(server-type hetzner-server-type "server_type"
json->hetzner-server-type)) ; <hetzner-server-type>
(define-json-mapping <hetzner-image>
make-hetzner-image hetzner-image? json->hetzner-image
(id hetzner-image-id) ;integer
(type hetzner-image-type) ;string
(status hetzner-image-status) ;string
(name hetzner-image-name "name" (null-or identity)) ;string | null
(description hetzner-image-description) ;string
(image-size hetzner-image-size "image_size" ;number | null (GiB)
(null-or identity))
(disk-size hetzner-image-disk-size "disk_size") ;number (GiB)
(created hetzner-image-created) ;string (date)
(created-from hetzner-image-created-from "created_from" ;object | null
(null-or json->hetzner-image-created-from))
(bound-to hetzner-image-bound-to "bound_to" (null-or identity)) ;integer | null
(os-flavor hetzner-image-os-flavor "os_flavor") ;string
(os-version hetzner-image-os-version "os_version" ;string | null
(null-or identity))
(rapid-deploy hetzner-image-rapid-deploy "rapid_deploy") ;boolean
(protection hetzner-image-protection "protection" ;object
json->hetzner-image-protection)
(deprecated hetzner-image-deprecated) ;string
(deleted hetzner-image-deleted "deleted" (null-or identity)) ;null | string
(architecture hetzner-image-architecture)) ;string
(define (null-or parser)
(lambda (value)
(if (eq? 'null value)
*unspecified*
(parser value))))
(define-json-type <hetzner-image-created-from>
(id) ;integer
(name)) ;string
(define-json-type <hetzner-image-protection>
(delete)) ;boolean
(define-json-mapping <hetzner-server-type>
make-hetzner-server-type hetzner-server-type? json->hetzner-server-type
(architecture hetzner-server-type-architecture) ; string
@@ -668,11 +598,11 @@ initial system provisioning phase, before Guix System takes over."
(apply hetzner-api-list api "/locations" "locations" json->hetzner-location options))
(define* (hetzner-api-server-create
api name #:key
ssh-keys
api name ssh-keys
#:key
(ipv4 #f)
(ipv6 #f)
(image (%hetzner-default-server-image api))
(image %hetzner-default-server-image)
(labels '())
(location %hetzner-default-server-location)
(server-type %hetzner-default-server-type)
@@ -690,11 +620,7 @@ initial system provisioning phase, before Guix System takes over."
,@(if (integer? ipv6) `(("ipv6" . ,ipv6)) '())))
("location" . ,location)
("server_type" . ,server-type)
,@(if ssh-keys
`(("ssh_keys" .
,(apply vector (map hetzner-ssh-key-id
ssh-keys))))
'())
("ssh_keys" . ,(apply vector (map hetzner-ssh-key-id ssh-keys)))
("start_after_create" . ,start-after-create?)))))
(hetzner-api-action-wait api (hetzner-api-body-action body))
(json->hetzner-server (assoc-ref body "server"))))
@@ -705,15 +631,12 @@ initial system provisioning phase, before Guix System takes over."
(hetzner-api-action-wait api (hetzner-api-body-action body))))
(define* (hetzner-api-server-enable-rescue-system
api server #:key ssh-keys (type "linux64"))
api server ssh-keys #:key (type "linux64"))
"Enable the rescue system for SERVER with the Hetzner API."
(let* ((ssh-keys (and ssh-keys
(apply vector (map hetzner-ssh-key-id ssh-keys))))
(let* ((ssh-keys (apply vector (map hetzner-ssh-key-id ssh-keys)))
(body (hetzner-api-post
api (hetzner-server-path server "/actions/enable_rescue")
#:body `(,@(if ssh-keys
`(("ssh_keys" . ,ssh-keys))
'())
#:body `(("ssh_keys" . ,ssh-keys)
("type" . ,type)))))
(hetzner-api-action-wait api (hetzner-api-body-action body))))
@@ -764,8 +687,3 @@ initial system provisioning phase, before Guix System takes over."
"Get server types from the Hetzner API."
(apply hetzner-api-list api "/server_types" "server_types"
json->hetzner-server-type options))
(define* (hetzner-api-images api . options)
"Get image types from the Hetzner API."
(apply hetzner-api-list api "/images" "images"
json->hetzner-image options))
+1 -7
View File
@@ -164,12 +164,6 @@ flags."
%default-package-module-path
channels-scm))))
(define (strip-trailing-slash s)
;; Strip the trailing slash of a string, if present.
(if (string-suffix? "/" s)
(string-drop-right s 1)
s))
(define %patch-path
;; Define it after '%package-module-path' so that '%load-path' contains user
;; directories, allowing patches in $GUIX_PACKAGE_PATH to be found.
@@ -178,7 +172,7 @@ flags."
(if (string=? directory %distro-root-directory)
(string-append directory "/gnu/packages/patches")
directory))
(map strip-trailing-slash %load-path))))
%load-path)))
;; This procedure is used by Emacs-Guix up to 0.5.1.1, so keep it for now.
;; See <https://github.com/alezost/guix.el/issues/30>.
+1 -4
View File
@@ -51,7 +51,6 @@
#:use-module (gnu packages libusb)
#:use-module (gnu packages java)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages tcl)
#:use-module (gnu packages xml)
@@ -186,9 +185,7 @@ terminals.")
(native-inputs
(append
(list clisp
;; See: <https://bugzilla.redhat.com/show_bug.cgi?id=2231865>.
python-cython-0
python-setuptools ;remove with next update
python-cython
doxygen
gettext-minimal)
;; icedtea doesn't build reliably on all architectures.
+70 -142
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>
@@ -144,7 +144,7 @@
#:use-module (gnu packages elf)
#:use-module (gnu packages file)
#:use-module (gnu packages file-systems)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fonts)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk)
@@ -743,7 +743,7 @@ manager.")
(define-public swineherd
(package
(name "swineherd")
(version "0.0.5")
(version "0.0.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -752,7 +752,7 @@ manager.")
(file-name (git-file-name name version))
(sha256
(base32
"1w3fvkdmqvbzqfx3xindm8qgam54wja46isgwasaiqmmhnla7p52"))))
"0iij1pl0y410k1dk1ifa56dxmjb1blv0y3k5rxy794gwg6w6c480"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--localstatedir=/var")
@@ -766,7 +766,7 @@ manager.")
guile-netlink
guile-3.0
guix
shepherd-1.0))
shepherd-0.10))
(home-page "https://github.com/BIMSBbioinfo/swineherd")
(synopsis "System container manager")
(description
@@ -1084,7 +1084,7 @@ console.")
(define-public btop
(package
(name "btop")
(version "1.4.7")
(version "1.4.6")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1093,7 +1093,7 @@ console.")
(file-name (git-file-name name version))
(sha256
(base32
"0d3cr5l6gpcwhxgnrizny5b5kg6fys2hy9a58bc68w4n2hc040fy"))))
"1nj58dbv3c0rj8fngldkyrmdmacmjnbg8ch1c07ik97kqnnzd3l7"))))
(build-system gnu-build-system)
(native-inputs (list lowdown))
(arguments
@@ -1157,7 +1157,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)
@@ -1165,7 +1165,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
@@ -1308,8 +1308,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
@@ -1971,7 +1970,7 @@ maintenance releases.")
(define-public dhcpcd
(package
(name "dhcpcd")
(version "10.3.2")
(version "10.3.0")
(source
(origin
(method git-fetch)
@@ -1980,7 +1979,7 @@ maintenance releases.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1z5rpi0n2vwhkh3c4d0dxwp38fl18br58jpy7kzh97gzg3gpk5dl"))))
(base32 "058k8wbzbjb6mm6qklv40z1y4k6sdb4ysap1xk6pny1m1f9xkdax"))))
(inputs (list bash-minimal coreutils-minimal eudev sed))
(build-system gnu-build-system)
(arguments
@@ -2979,7 +2978,7 @@ system is under heavy load.")
(define-public stress-ng
(package
(name "stress-ng")
(version "0.21.01")
(version "0.20.01")
(source
(origin
(method git-fetch)
@@ -2988,7 +2987,7 @@ system is under heavy load.")
(commit (string-append "V" version))))
(file-name (git-file-name name version))
(sha256
(base32 "11w8xjm53lgnxfvg286lavqjh0il3bfr1fsgyk915167r4vlabqq"))))
(base32 "1jkinrxh9ppv7xfii9xlisnd2679wnj4ljq12h8y0nvwrm8fkm0b"))))
(build-system gnu-build-system)
(arguments
;; XXX The test suite seems to cause instability on the VisionFive 2
@@ -3405,7 +3404,7 @@ provides the following commands:
;; variable in the tests/import/cpan.scm test.
(list (search-path-specification
(variable "GUIX_PYTHONPATH")
(files (list "lib/python3.12/site-packages")))))
(files (list "lib/python3.11/site-packages")))))
(home-page "https://www.ansible.com/")
(synopsis "Radically simple IT automation")
(description "Ansible aims to be a radically simple IT automation system.
@@ -3423,7 +3422,7 @@ modules and plugins that extend Ansible.")
(define-public debops
(package
(name "debops")
(version "3.3.0")
(version "3.2.5")
(source
(origin
(method git-fetch)
@@ -3432,7 +3431,7 @@ modules and plugins that extend Ansible.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0z6wck5kax5h2bjv1vw8pbd7fdcdhx87bj9fakh3h0rar9d2qksj"))
(base32 "15wfhha2b315i15l40j3sylyvs3mdrfw5awzq4cix51l5jppx8z5"))
(patches
(search-patches "debops-setup-py-avoid-git.patch"))))
(build-system pyproject-build-system)
@@ -3441,7 +3440,7 @@ modules and plugins that extend Ansible.")
(list ansible
bash-minimal
encfs
fuse
fuse-2
util-linux ;; for umount
findutils
git
@@ -3454,8 +3453,8 @@ modules and plugins that extend Ansible.")
python-future
python-gitpython
python-jinja2
python-pyxdg
python-pyyaml
python-pyxdg
python-toml))
(arguments
(list
@@ -3470,7 +3469,7 @@ modules and plugins that extend Ansible.")
`("PATH" ":" prefix
,(map dirname
(map (cut search-input-file inputs <>)
(list ;; "bin/ansible" ;see above
(list "bin/ansible"
"bin/gpg"
"bin/git"
"bin/git-crypt"
@@ -3750,68 +3749,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
@@ -4434,7 +4424,7 @@ buffers.")
(define-public igt-gpu-tools
(package
(name "igt-gpu-tools")
(version "2.4")
(version "2.3")
(source
(origin
(method git-fetch)
@@ -4443,7 +4433,7 @@ buffers.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ijvfa5wamihzbl8l29sc27ml0kmgzlld83jm5mln6bb4bvny4gs"))))
(base32 "1vyqrsvxraib98r4i6cjmxq7nis480s2ns95v78dscygcci42i8a"))))
(build-system meson-build-system)
(arguments
`(#:tests? #f ; many of the tests try to load kernel modules
@@ -4461,7 +4451,6 @@ buffers.")
libdrm
libpciaccess
libunwind
pciutils
procps
python))
(native-inputs
@@ -4731,7 +4720,7 @@ information tool.")
(define-public fastfetch-minimal
(package
(name "fastfetch-minimal")
(version "2.63.1")
(version "2.60.0")
(source
(origin
(method git-fetch)
@@ -4740,7 +4729,7 @@ information tool.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "13a5maf8jxyga5bga96s40binqp2i54pjlipsnqgfj85q01yzkg9"))
(base32 "089577qgxd63zqzd00fz381bfpmj6pwlmy2zfan9r6gbm1jvj4i8"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "src/3rdparty")
@@ -7072,7 +7061,7 @@ network, which causes enabled computers to power on.")
(define-public witr
(package
(name "witr")
(version "0.3.2")
(version "0.1.7")
(source
(origin
(method git-fetch)
@@ -7081,7 +7070,7 @@ network, which causes enabled computers to power on.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "06vxrgd0j2v6s4snmyviwpp66hm5zai7xca9318inhyg4jw3ngg5"))))
(base32 "18xx01lxd5j019gy9jmpms3awv4snlr028w01bfkyfid6hlwxbq2"))))
(build-system go-build-system)
(arguments
(list
@@ -7199,67 +7188,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 zeptofetch
(package
(name "zeptofetch")
(version "1.21")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.archlinux.org/gurov/zeptofetch")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1f1dm9nrp0z0prqy90csrkbk98ixp0jx76ax473qb0qsbb7ys4g7"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; No tests available.
#:make-flags
#~(list (string-append "PREFIX="
#$output))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)))) ; No configure script.
(home-page "https://gitlab.archlinux.org/gurov/zeptofetch")
(synopsis
"Fast, minimal system information tool for Linux.")
(description
"This package provides a system fetch tool, similar to
@command{neofetch}, @command{fastfetch}, etc. It is lightweight and
has a focus on performance.")
(license license:gpl3+)))
(define-public zzz
(package
(name "zzz")
+2 -2
View File
@@ -117,7 +117,7 @@ Features:
(define-public python-zbarlight
(package
(name "python-zbarlight")
(version "4.0")
(version "3.0")
(source
(origin
(method git-fetch)
@@ -126,7 +126,7 @@ Features:
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1q1nfc7g7bl9y63fwvnq1fcgqk79inc2hhw3ilvyw0nk0g74v8cm"))))
(base32 "1radfpfhfhkx3xnz01bqr5l9pl2zv70zis6l2kw1gwqbfw65r6w6"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-pillow))
(inputs (list zbar))
+2 -2
View File
@@ -52,7 +52,7 @@
#:use-module (gnu packages cpp)
#:use-module (gnu packages curl)
#:use-module (gnu packages documentation)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fltk)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc)
@@ -457,7 +457,7 @@ precision.")
(inputs
;; TODO: Unbundle "libmicropython.a".
(list ao
fltk
fltk-1.3
glpk
gmp
gsl
+15 -22
View File
@@ -1229,35 +1229,28 @@ main repository.")
(define-public fdroidcl
(package
(name "fdroidcl")
(version "0.8.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Hoverth/fdroidcl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1bflahcsjarv4v6r61knl5gc5iydh1lwvqjgffhxr4pis4qfsqsa"))
;; XXX: Reported upstream.
;; See: <https://github.com/Hoverth/fdroidcl/pull/92>.
(patches (search-patches "fdroidcl-fix-tests.patch"))))
(version "0.7.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mvdan/fdroidcl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1s3fszlyyab9gbdrg52zcbafsb1mgb770skg7b3gj7f3pzfnra5n"))))
(build-system go-build-system)
(arguments
(list
#:install-source? #f
#:import-path "mvdan.cc/fdroidcl"))
(inputs
(list go-github-com-kr-pretty
go-github-com-pelletier-go-toml-v2
go-github-com-rogpeppe-go-internal
go-github-com-schollz-progressbar-v3))
(home-page "https://github.com/Hoverth/fdroidcl")
`(#:import-path "mvdan.cc/fdroidcl"
#:tests? #f ;requires internet access
#:install-source? #f))
(inputs (list go-github-com-kr-pretty go-github-com-schollz-progressbar-v3))
(synopsis "F-Droid desktop client")
(description
"While the Android client integrates with the system with regular update
checks and notifications, this is a simple command line client that talks to
connected devices via ADB.")
(home-page "https://github.com/mvdan/fdroidcl")
(license license:bsd-3)))
(define-public emacs-fdroid
+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
+2 -2
View File
@@ -22,7 +22,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gettext)
#:use-module (gnu packages linux)
@@ -180,7 +180,7 @@ supported by Canonical since 2009.")
(list libapparmor))
;; Python module `readline' needed
(native-inputs
(list bison flex gettext-minimal perl python python-setuptools which))
(list bison flex gettext-minimal perl python which))
(license license:gpl2))))
(define-public pam-apparmor
+2 -13
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,14 +43,13 @@
#: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)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages gettext)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
@@ -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")
+314 -1064
View File
File diff suppressed because it is too large Load Diff
+85 -270
View File
@@ -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>
@@ -63,7 +63,6 @@
;;; Copyright © 2026 Noé Lopez <noelopez@free.fr>
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
;;; Copyright © 2026 Daniel Martins <email@danielfm.me>
;;; Copyright © 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -103,7 +102,7 @@
#:use-module (gnu packages elf)
#:use-module (gnu packages emacs)
#:use-module (gnu packages file)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fltk)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
@@ -128,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)
@@ -137,6 +135,7 @@
#:use-module (gnu packages music)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages ninja)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages oneapi)
#:use-module (gnu packages perl)
@@ -145,7 +144,6 @@
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
@@ -195,45 +193,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")
@@ -820,8 +779,7 @@ Filter) modules follow the convention of 1V / Octave.")
"https://aubio.org/pub/aubio-" version ".tar.bz2"))
(sha256
(base32
"1npks71ljc48w6858l9bq30kaf5nph8z0v61jkfb70xb9np850nl"))
(patches (search-patches "aubio-waflib-python312-compat.patch"))))
"1npks71ljc48w6858l9bq30kaf5nph8z0v61jkfb70xb9np850nl"))))
(build-system waf-build-system)
(arguments
(list
@@ -1251,7 +1209,7 @@ PulseAudio clients, featuring:
(define-public ardour
(package
(name "ardour")
(version "9.2")
(version "9.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1268,7 +1226,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
@@ -2135,17 +2093,7 @@ envelope follower, distortion effects, tape effects and more.")
(base32
"01hnx4hhbz3ap3bw15s42q4q1mw1mhdjwygq4550wvjfg6k4ga8w"))))
(build-system waf-build-system)
(arguments
(list
#:tests? #false ;There are no tests.
#:phases
'(modify-phases %standard-phases
(add-after 'unpack 'python3.12-compatibility
(lambda _
(substitute* "waflib/Context.py"
(("imp.new_module") "types.ModuleType")
(("import os, re, imp, sys")
"import os, re, types, sys")))))))
(arguments (list #:tests? #false)) ;There are no tests.
(inputs (list lv2))
(native-inputs (list pkg-config))
(home-page "https://git.drobilla.net/cgit.cgi/omins.lv2.git/")
@@ -3478,7 +3426,7 @@ from being able to mix multiple JACK audio streams.")
(define-public pipemixer
(package
(name "pipemixer")
(version "0.5.0")
(version "0.4.1")
(source
(origin
(method git-fetch)
@@ -3487,8 +3435,19 @@ from being able to mix multiple JACK audio streams.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "104h2zdhqx5gdddnb7v7rhrflznh4v7d4g3s6vk2mxwf938zgm72"))))
(base32 "0fvnvr74q5khxlj5sylfnkblydmwgdbvj04mhdqw0zzmfqwignhd"))))
(build-system meson-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-pw-device
(lambda _
(substitute* "src/pw/device.c"
;; TODO: Report upstream:
;; ../source/src/pw/device.c:328:80: error: expected
;; ; before { token
(("iter\\) \\{") "iter); {")))))))
(native-inputs
(list pkg-config))
(inputs
@@ -3888,58 +3847,6 @@ provided by Pipewire.")
cross-platform audio input/output stream library.")
(license license:expat)))
(define-public python-pyroomacoustics
(package
(name "python-pyroomacoustics")
(version "0.10.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/LCAV/pyroomacoustics")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0546506lg93nrybvilc4wgrgvn317w9zxv2jwikhpfy1i0qyrnkk"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list
;; Want to download data from the internet:
"--ignore"
"pyroomacoustics/directivities/tests/test_sofa_directivities.py"
"--ignore"
"pyroomacoustics/datasets/tests/test_download_uncompress.py"
;; May fail because of slight numerical imprecision.
"--ignore"
"pyroomacoustics/experimental/tests/test_measure_rt60.py")
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-extra-include-paths
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPLUS_INCLUDE_PATH"
(string-append
(search-input-directory inputs "include/eigen3")
":"
(or (getenv "CPLUS_INCLUDE_PATH") ""))))))))
(propagated-inputs (list python-scipy))
(native-inputs (list eigen
pybind11
python-cython
python-matplotlib
python-numpy
python-pytest
python-setuptools
python-sofa))
(inputs (list nanoflann))
(home-page "https://github.com/LCAV/pyroomacoustics")
(synopsis "Python library for room acoustics")
(description "@code{pyroomacoustics} is a framework for simulating the
acustic behaviour of rooms, such as computing the impulse response using
different simulation methods.")
(license license:expat)))
(define-public python-pulsectl
(package
(name "python-pulsectl")
@@ -4044,40 +3951,6 @@ to send and receive OSC messages using a nice and simple Python API. Also
included are the command line utilities @code{send_osc} and @code{dump_osc}.")
(license license:lgpl2.1+)))
(define-public python-sofa
(package
(name "python-sofa")
(version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/spatialaudio/python-sofa/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0n6mdck2dawfm6napqhhxi8gjyvs6121pblcr7zjl37a8ldqvg29"))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;No tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-wrong-dependency
(lambda _
(substitute* "setup.py"
(("'datetime'")
"")))))))
(propagated-inputs (list python-netcdf4 python-numpy python-scipy))
(native-inputs (list python-setuptools))
(home-page "https://github.com/spatialaudio/python-sofa/")
(synopsis
"Python @acronym{Spatially Oriented Format for Acoustics, SOFA} API")
(description
"Python API for @acronym{Spatially Oriented Format for Acoustics, SOFA} files
as specified in @url{https://www.sofaconventions.org, SOFA conventions}.")
(license license:expat)))
(define-public python-soundfile
(package
(name "python-soundfile")
@@ -4586,33 +4459,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")
@@ -5017,42 +4863,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")
@@ -6713,23 +6523,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"
@@ -6737,20 +6546,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
@@ -6769,16 +6576,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
@@ -7213,6 +7017,32 @@ developing fully accurate DirectX Audio runtime libraries.")
license:expat
license:public-domain))))
(define-public gnaural
(package
(name "gnaural")
(version "20110606")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gnaural/Gnaural/gnaural_"
version ".tar.xz"))
(sha256
(base32
"1gq519c0imsh57zklyi0f8h64l3ai48lh672c834470z8c6kvbfi"))))
(build-system gnu-build-system)
(inputs
(list alsa-lib gtk+-2 libsndfile portaudio))
(native-inputs
(list pkg-config))
(home-page "https://gnaural.sourceforge.net/")
(synopsis "Binaural beat synthesizer")
(description "Gnaural is a programmable auditory binaural beat synthesizer
intended to be used for brainwave entrainment. Gnaural supports creation of
binaural beat tracks of different frequencies and exporting of tracks into
different audio formats. Gnaural can also be linked over the internet with
other Gnaural instances, allowing synchronous sessions between many users.")
(license license:gpl2+)))
(define-public darkice
(package
(name "darkice")
@@ -7423,7 +7253,6 @@ as is the case with audio plugins.")
(find-files "bin")))))))))
(inputs
(list alsa-lib
bash-minimal
ffmpeg
fluidsynth
file
@@ -7481,8 +7310,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")
@@ -7496,12 +7325,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
@@ -8141,16 +7965,7 @@ Icecast server.")
(lambda _
(substitute* "misc.c"
(("#include <stdio.h>\n" all)
(string-append all "#include <string.h>\n")))
(substitute* "wavsubs.c"
(("#include \"wavsubs.h\"\n" all)
(string-append all "#include <stdlib.h>")))
(substitute* "wavfile.c"
(("#include \"wavsubs.h\"\n" all)
(string-append all "#include <stdlib.h>")))
(substitute* "generator.c"
(("#include \"wavsubs.h\"\n" all)
(string-append all "#include <stdlib.h>")))))
(string-append all "#include <string.h>\n")))))
(delete 'configure)
(replace 'install
(lambda* (#:key make-flags outputs #:allow-other-keys)
@@ -8162,8 +7977,7 @@ Icecast server.")
(inputs
(list ncurses))
(native-inputs
`(("gcc" ,gcc-9)
("groff" ,groff-minimal) ; for nroff
`(("groff" ,groff-minimal) ; for nroff
("util-linux" ,util-linux))) ; for col
(home-page "https://github.com/bleskodev/siggen")
(synopsis "Signal generation tools")
@@ -8257,10 +8071,10 @@ Home Page}.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/librosa/librosa/")
(commit version)
;; TODO: Package test data.
(recursive? #true)))
(url "https://github.com/librosa/librosa/")
(commit version)
;; For test files.
(recursive? #true)))
(file-name (git-file-name name version))
(sha256
(base32 "065x43hx670rjrclxi4hiqxscllb16v9s7myjvg7rd5pd3y0k7sg"))))
@@ -8268,13 +8082,14 @@ Home Page}.")
(arguments
(list
#:test-flags
#~(list "-k" (string-append
;; Resampling tests require python-samplerate.
"not resample"
;; These tests use Pooch and download data files.
" and not example and not test_cite"
;; XXX assert 22050 == 31744
" and not test_stream"))))
;; Ignore --mpl flag.
'(list "-k" (string-append
;; Resampling tests require python-samplerate.
"not resample"
;; These tests use Pooch and download data files.
" and not example and not test_cite"
;; XXX assert 22050 == 31744
" and not test_stream"))))
(propagated-inputs
(list python-audioread
python-decorator
@@ -8293,9 +8108,9 @@ Home Page}.")
(list python-matplotlib
python-packaging
python-pytest
python-pytest-mpl
python-resampy
python-setuptools))
python-setuptools
python-wheel))
(home-page "https://librosa.org")
(synopsis "Python module for audio and music processing")
(description
@@ -1989,7 +1989,7 @@ CONFIG_SCSI_LOWLEVEL=y
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_PMCRAID is not set
# CONFIG_SCSI_PM8001 is not set
CONFIG_SCSI_VIRTIO=m
# CONFIG_SCSI_VIRTIO is not set
# CONFIG_SCSI_DH is not set
# end of SCSI device support
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+21 -19
View File
@@ -897,7 +897,7 @@ is like a time machine for your data.")
(define-public restic
(package
(name "restic")
(version "0.18.1")
(version "0.17.3")
(source
(origin
(method git-fetch)
@@ -906,7 +906,7 @@ is like a time machine for your data.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0gxhknn022bwg2s8hababqg3vjkzflq59vr67y7r1c8fjnlsgf4l"))))
(base32 "1wsgq7f0bfi0i5iiwcc3hlf2lhxcnz3zfs8p8bc6l913r9hvyg1x"))))
(build-system go-build-system)
(arguments
(list
@@ -915,18 +915,15 @@ is like a time machine for your data.")
#:import-path "github.com/restic/restic/cmd/restic"
#:unpack-path "github.com/restic/restic"
#:embed-files #~(list "children" "nodes" "text")
#:test-flags
;; Python is required.
#~(list "-skip" "TestStdinFromCommand|TestStdinFromCommandNoOutput")
#:test-subdirs #~(list "../../...")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-python-path
(lambda* (#:key inputs unpack-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" unpack-path)
(substitute* "cmd/restic/cmd_backup_integration_test.go"
(("python")
(search-input-file inputs "/bin/python3"))))))
(add-after 'install 'install-docs
(lambda* (#:key unpack-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" unpack-path)
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(let* ((man "/share/man")
(man-section (string-append man "/man")))
;; Install all the man pages to "out".
@@ -949,12 +946,12 @@ is like a time machine for your data.")
go-github-com-cenkalti-backoff-v4
go-github-com-cespare-xxhash-v2
go-github-com-elithrar-simple-scrypt
;; go-github-com-go-ole-go-ole ;Windows only
;; go-github-com-go-ole-go-ole ;windows only
go-github-com-google-go-cmp
go-github-com-hashicorp-golang-lru-v2
go-github-com-klauspost-compress
;; go-github-com-microsoft-go-winio ;Windows only
go-github-com-minio-minio-go-v7
go-github-com-minio-sha256-simd
go-github-com-ncw-swift-v2
go-github-com-peterbourgon-unixtransport
go-github-com-pkg-errors
@@ -974,7 +971,6 @@ is like a time machine for your data.")
go-golang-org-x-text
go-golang-org-x-time
go-google-golang-org-api
python-minimal
;; XXX: These packages have to be bootstrapped to break cycle with
;; go-google-golang-org-grpc.
@@ -1268,9 +1264,10 @@ compression parameters used by Gzip.")
(define-public borgmatic
(package
(name "borgmatic")
(version "2.1.5")
(version "2.1.2")
(source
(origin
;; PyPI archive does not contain NEWS file needed for one test.
(method git-fetch)
(uri (git-reference
(url "https://projects.torsion.org/borgmatic-collective/borgmatic")
@@ -1278,11 +1275,10 @@ compression parameters used by Gzip.")
(file-name (git-file-name name version))
(sha256
(base32
"17i15ysg0wbcnfvki8wz2z9gx3zx99czv3czjh83y2m1xppvqbl5"))))
"0vrpl21n6hf3pj0di4n7s36jq64sx24c93j48cmbdgczs8jiwi36"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 2609 passed
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'configure
@@ -1297,12 +1293,18 @@ compression parameters used by Gzip.")
(("(module.get_local_path.+ == )'borg'" all start)
(string-append start "'"
(search-input-file inputs "bin/borg")
"'"))))))))
"'")))))
(add-before 'check 'set-path
(lambda _
;; Tests require the installed executable.
(setenv "PATH"
(string-append #$output "/bin" ":"
(getenv "PATH"))))))))
(native-inputs
(list python-flexmock
python-pytest
python-pytest-timeout
python-setuptools))
python-setuptools
python-wheel))
(inputs
(list borg
python-apprise
+24 -31
View File
@@ -13,8 +13,7 @@
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025-2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2026 Sughosha <sughosha@disroot.org>
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; 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 pyproject)
#:use-module (guix build-system meson)
@@ -679,26 +677,20 @@ the user is too low. To raise such limit on a Guix System, refer to
"0ifnw8vnkcgrksx7g5d9ii4kjppqnk32lvrybdybmibyvag6zfdc"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ; no tests
#:make-flags
#~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration"
(string-append "CC=" #$(cc-for-target)))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-broken-makefile
(lambda _
;; Remove erroneous "-lm" target
(substitute* "Makefile"
(("hackbench.o -lm") "hackbench.o"))))
(delete 'configure)
(replace 'install
(lambda _
(install-file "interbench"
(string-append #$output "/bin"))
(install-file "interbench.8"
(string-append #$output
"/share/man/man8")))))))
(native-inputs (list gcc-10))
`(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-broken-makefile
(lambda _
;; Remove erroneous "-lm" target
(substitute* "Makefile"
(("hackbench.o -lm") "hackbench.o"))))
(delete 'configure)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(install-file "interbench" (string-append out "/bin"))
(install-file "interbench.8" (string-append out "/share/man/man8"))))))))
(home-page "http://users.on.net/~ckolivas/interbench/")
(synopsis "Interactivity benchmark")
(description "interbench is designed to benchmark interactivity on Linux.
@@ -737,7 +729,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
@@ -746,13 +738,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
@@ -765,10 +758,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
+2082 -2077
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -28,7 +28,7 @@
#:use-module (guix build-system gnu)
#:use-module (gnu packages m4)
#:use-module (gnu packages perl)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (srfi srfi-1))
(define-public bison
+11 -12
View File
@@ -360,18 +360,18 @@ Transmission BitTorrent daemon.")
(name "aria2")
(version "1.37.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aria2/aria2")
(commit (string-append "release-" version))))
(method url-fetch)
(uri (string-append "https://github.com/aria2/aria2/releases/"
"download/release-" version
"/aria2-" version ".tar.xz"))
(sha256
(base32
"1yr9yxr7z3bdg51afpzj0i63xl2rdk1prl20qws21y6r1x58vf65"))
(file-name (git-file-name name version))
"0sxng4pynhj2qinranpv6wyzys3d42kz1gg2nrn63sw5f2nj1930"))
(patches (search-patches "aria2-unbundle-wslay.patch"))
(snippet
#~(begin (use-modules (guix build utils))
(delete-file-recursively "deps")))))
(delete-file-recursively "deps")
(delete-file "configure")))))
(build-system gnu-build-system)
(arguments
(list
@@ -381,13 +381,10 @@ Transmission BitTorrent daemon.")
#$output "/etc/bash_completion.d/"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'update-gettext-version
(add-after 'unpack 'patch-configure
(lambda _
(substitute* "configure.ac"
(("AM_GNU_GETTEXT_VERSION\\(.*\\)")
(format #f "AM_GNU_GETTEXT_VERSION([~a])"
#$(package-version (this-package-native-input
"gettext-minimal")))))))
(("0[.]18") "0.19.6"))))
(add-after 'unpack 'delete-socket-tests
(lambda _
(substitute* "test/LpdMessageDispatcherTest.cc"
@@ -419,6 +416,8 @@ Transmission BitTorrent daemon.")
"Aria2 is a lightweight, multi-protocol & multi-source command-line
download utility. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
(properties
'((release-monitoring-url . "https://github.com/aria2/aria2/releases")))
(license license:gpl2+)))
(define-public uget
+2 -2
View File
@@ -334,7 +334,7 @@ parallel study, and original language study.")
(define-public book-emacs-lisp-elements
(package
(name "book-emacs-lisp-elements")
(version "2.0.4")
(version "2.0.1")
(source
(origin
(method git-fetch)
@@ -343,7 +343,7 @@ parallel study, and original language study.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "06mhrb16h93n3s3srcfgmzsyh2lxx4ffj1di6qvczfg4039pi3c8"))))
(base32 "0774zycgx3zspn6f8pszap1751xgrlv2h3x66kksnj589nfnwzil"))))
(build-system emacs-build-system)
(arguments
(list
+54 -59
View File
@@ -48,14 +48,13 @@
#:use-module (gnu packages base)
#:use-module (gnu packages disk)
#:use-module (gnu packages bison)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages disk)
#:use-module (gnu packages firmware)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
@@ -66,6 +65,7 @@
#:use-module (gnu packages man)
#:use-module (gnu packages mtools)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ninja)
#:use-module (gnu packages package-management)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -267,8 +267,8 @@
;; rebooting.
(if (member (or (%current-target-system)
(%current-system))
(package-supported-systems fuse))
(list fuse)
(package-supported-systems fuse-2))
(list fuse-2)
'())))
(native-inputs
(append (list pkg-config
@@ -1815,68 +1815,63 @@ For more information, refer to
(define-public os-prober
(package
(name "os-prober")
(version "1.84")
(version "1.81")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://salsa.debian.org/installer-team/os-prober.git")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (string-append "mirror://debian/pool/main/o/os-prober/os-prober_"
version ".tar.xz"))
(sha256
(base32 "1bji3w6nbqaz8zqrbmy8b1j5dph9xn7bdh1cd2z8ia1q125i6mgp"))))
(base32 "10w8jz6mqhp0skdcam9mpgv79vx1sv7lkpra3rqjg0jkhvn2in9g"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; No tests.
#:modules '((guix build gnu-build-system)
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(ice-9 regex) ; string-match
(srfi srfi-26)) ; cut
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target)))
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda _
(substitute* (find-files ".")
(("/usr") #$output))
(substitute* (find-files "." "50mounted-tests$")
(("mkdir") "mkdir -p -v"))))
(replace 'install
(lambda _
(define (find-files-non-recursive directory)
(find-files directory
(lambda (file stat)
(string-match (string-append "^" directory "/[^/]*$")
file))
#:directories? #t))
(ice-9 regex) ; for string-match
(srfi srfi-26)) ; for cut
#:make-flags
(list ,(string-append "CC=" (cc-for-target)))
#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(substitute* (find-files ".")
(("/usr") (assoc-ref outputs "out")))
(substitute* (find-files "." "50mounted-tests$")
(("mkdir") "mkdir -p"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(define (find-files-non-recursive directory)
(find-files directory
(lambda (file stat)
(string-match (string-append "^" directory "/[^/]*$")
file))
#:directories? #t))
(let ((bin (string-append #$output "/bin"))
(lib (string-append #$output "/lib"))
(share (string-append #$output "/share")))
(for-each (cut install-file <> bin)
(list "linux-boot-prober" "os-prober"))
(install-file "newns" (string-append lib "/os-prober"))
(install-file "common.sh" (string-append share "/os-prober"))
(install-file "os-probes/mounted/powerpc/20macosx"
(string-append lib "/os-probes/mounted"))
(for-each
(lambda (directory)
(for-each
(lambda (file)
(let ((destination (string-append lib "/" directory
"/" (basename file))))
(mkdir-p (dirname destination))
(copy-recursively file destination)))
(append (find-files-non-recursive (string-append directory "/common"))
(find-files-non-recursive (string-append directory "/x86")))))
(list "linux-boot-probes"
"linux-boot-probes/mounted"
"os-probes"
"os-probes/init"
"os-probes/mounted"))))))))
(home-page "https://joeyh.name/code/os-prober/")
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(lib (string-append out "/lib"))
(share (string-append out "/share")))
(for-each (cut install-file <> bin)
(list "linux-boot-prober" "os-prober"))
(install-file "newns" (string-append lib "/os-prober"))
(install-file "common.sh" (string-append share "/os-prober"))
(install-file "os-probes/mounted/powerpc/20macosx"
(string-append lib "/os-probes/mounted"))
(for-each
(lambda (directory)
(for-each
(lambda (file)
(let ((destination (string-append lib "/" directory
"/" (basename file))))
(mkdir-p (dirname destination))
(copy-recursively file destination)))
(append (find-files-non-recursive (string-append directory "/common"))
(find-files-non-recursive (string-append directory "/x86")))))
(list "os-probes" "os-probes/mounted" "os-probes/init"
"linux-boot-probes" "linux-boot-probes/mounted"))))))))
(home-page "https://joeyh.name/code/os-prober")
(synopsis "Detect other operating systems")
(description "os-prober probes disks on the system for other operating
systems so that they can be added to the bootloader. It also works out how to
+6 -55
View File
@@ -69,55 +69,6 @@ match website theme.")
(define-public adaptive-tab-bar-colour/icecat
(make-icecat-extension adaptive-tab-bar-colour))
(define canvasblocker
(package
(name "canvasblocker")
(version "1.12")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kkapsner/CanvasBlocker")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0xxs6s7nrl4y4qiw2cpkqh170mbv78n0ixd874a72jjvczw2vpg7"))
(modules '((guix build utils) (ice-9 match) (ice-9 ftw)))
(snippet
#~(begin
(for-each delete-file
'("canvasblocker.xpi" "package-lock.json"))
;; Delete all hidden files/directories except .tools.
(for-each
(match-lambda
((or "." ".tools" ".."
(? (lambda (name)
(not (string-prefix? "." name)))))
#t)
((? file-is-directory? dir)
(delete-file-recursively dir))
(file
(delete-file file)))
(scandir "."))))))
(build-system copy-build-system)
(properties '((addon-id . "CanvasBlocker@kkapsner.de")))
(arguments
(list
#:install-plan ;deduced from .tools/build.js
#~'(("." #$(assq-ref properties 'addon-id)
#:exclude ("crowdin.yml" "package.json" "releaseNotes.txt")
#:exclude-regexp ("test/.*" "versions/.*" ".tools/*")))))
(home-page "https://github.com/kkapsner/CanvasBlocker")
(synopsis "Firefox extension to protect from being fingerprinted")
(description "This extension allows users to prevent websites from using
some Javascript APIs to fingerprint them. Users can choose to block the APIs
entirely on some or all websites (which may break some websites) or just block
or fake its fingerprinting-friendly readout API.")
(license license:mpl2.0)))
(define-public canvasblocker/icecat
(make-icecat-extension canvasblocker))
(define play-to-kodi
(package
(name "play-to-kodi")
@@ -312,7 +263,7 @@ fill and submit login forms if a matching password entry is found.")
(define keepassxc-browser
(package
(name "keepassxc-browser")
(version "1.9.10")
(version "1.9.9.6")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -322,7 +273,7 @@ fill and submit login forms if a matching password entry is found.")
(file-name (git-file-name name version))
(sha256
(base32
"18kgmdvsq1kv9px8a1m7i10r4m0iik72qlnw9k2ijxmn1xikfyfb"))
"1chw1y1332zn69s7kf5mkljc1bp2xfvl3zzvafnalv3zj2jsa5cs"))
;; Default 'manifest.json' targets chromium based browsers and
;; depends on background.service_worker support.
;; See: <https://bugzilla.mozilla.org/show_bug.cgi?id=1573659>
@@ -377,15 +328,15 @@ with the @uref{https://keepassxc.org, KeePassXC} password manager.")
(define noscript
(package
(name "noscript")
(version "13.6.19.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
"1lb3855w34avs7idvycv8cfpjnpic2mnsh9yqkidrdw7msr0na74"))))
"0w2w0a76dk01bkh83mqwgs9ky02rjqk15z5sxg4a6mw0hpr81bpm"))))
(build-system copy-build-system)
(properties '((addon-id . "{73a6fe31-595d-460b-a920-fcc0f8843232}")))
(arguments
+4 -149
View File
@@ -64,6 +64,7 @@
#:use-module (gnu packages logging)
#:use-module (gnu packages lua)
#:use-module (gnu packages man)
#:use-module (gnu packages ninja)
#:use-module (gnu packages package-management)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
@@ -76,7 +77,6 @@
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages regex)
#:use-module (gnu packages rpc)
#:use-module (gnu packages serialization)
@@ -104,8 +104,7 @@
#:use-module (guix packages)
#:use-module (guix search-paths)
#:use-module (guix utils)
#:use-module (ice-9 optargs)
#:use-module (srfi srfi-1))
#:use-module (ice-9 optargs))
(define-public acr
(package
@@ -275,14 +274,14 @@ generate such a compilation database.")
(define-public bmake
(package
(name "bmake")
(version "20260508")
(version "20260313")
(source
(origin
(method url-fetch)
(uri (string-append
"http://www.crufty.net/ftp/pub/sjg/bmake-" version ".tar.gz"))
(sha256
(base32 "0b58j7l53jbqaxcfggimdbylf71hbyfm44m6s4646ry7mf8fl7kv"))
(base32 "0xgryknmv625idw37rq89mpl5rymwdb15j5w8zxwy1gf8b6z7j3n"))
(patches (search-patches "bmake-run-check-separately.patch"))))
(build-system gnu-build-system)
(inputs
@@ -1451,147 +1450,3 @@ It is an alternative to e.g. @command{make(1)} and @command{redo(1)}. Features:
@end itemize
")
(license license:wtfpl2)))
(define-public xmake
(package
(name "xmake")
(version "3.0.8")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/xmake-io/xmake.git")
(commit (string-append "v" version))
;; Requires some dependencies from "xmake-core-*" repos
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "1pdjz52w9lzfbcpx9wmzy0bsjg7i19xz43f63czk7jz9v0xba6gi"))))
(build-system gnu-build-system)
(arguments
(list
;; No check rule in make
;; TODO: find how to run Lua tests in "test" directory
#:tests? #f))
(home-page "https://xmake.io/")
(synopsis "Cross-platform build utility based on Lua")
(description "@command{xmake} is a cross-platform build utility based on Lua.
Features:
@itemize
@item Built-in caching and parallel compilation,
@item Concise Lua syntax,
@item Custom rules, plugins and modules,
@item Support for C++20 modules and compile_commands.json,
@item Support for languages outside C/C++ (e.g. Go, Rust, Zig).
@end itemize")
(license license:asl2.0)))
(define-public ninja/pinned
(hidden-package
(package
(name "ninja")
(version "1.13.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ninja-build/ninja")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0lp9dmxbjyjwv089i8mgq3nvnhpbnsn01ifm05m9s47w7cifrl8g"))))
(build-system gnu-build-system)
(inputs (list python-wrapper re2c))
(arguments
'(; Tests now require googletest, which is a circular dependency.
#:tests? #f
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _
(substitute* "src/subprocess-posix.cc"
(("/bin/sh") (which "sh")))
(substitute* "src/subprocess_test.cc"
(("/bin/echo") (which "echo")))))
(replace 'build
(lambda _
(invoke "./configure.py" "--bootstrap")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "./configure.py")
(invoke "./ninja" "ninja_test")
(invoke "./ninja_test"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(doc (string-append out "/share/doc/ninja")))
(install-file "ninja" bin)
(install-file "doc/manual.asciidoc" doc)))))))
(home-page "https://ninja-build.org/")
(synopsis "Small build system")
(description
"Ninja is a small build system with a focus on speed. It differs from
other build systems in two major respects: it is designed to have its input
files generated by a higher-level build system, and it is designed to run
builds as fast as possible.")
(license license:asl2.0))))
(define-public ninja
(package/inherit ninja/pinned
(properties (alist-delete 'hidden? (package-properties ninja/pinned)))))
(define-public samurai
(package
(name "samurai")
(version "1.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/michaelforney/samurai")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"04iw18hgkm72yrl83a2xh1jc47w9rilpb95kwick0j37b4q3gxj4"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;no test suite
#:make-flags #~(list (string-append "CC=" #$(cc-for-target))
(string-append "PREFIX=" #$output))
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-/bin/sh
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "build.c"
(("/bin/sh")
(search-input-file inputs "bin/sh")))))
(delete 'configure))))
(inputs (list bash-minimal))
(home-page "https://github.com/michaelforney/samurai")
(synopsis "Ninja-compatible build tool written in C")
(description "@code{samurai} is a ninja-compatible build tool written in
C99 with a focus on simplicity, speed, and portability. It is
feature-complete and supports most of the same options as ninja. This package
provides the command @command{samu}. For a @command{ninja} command
replacement, use the @code{samu-as-ninja-wrapper} package.")
(license (list license:asl2.0 ;for the most part
license:expat)))) ;htab.h, htab.c and tree.c
(define-public samu-as-ninja-wrapper
(package/inherit samurai
(name "samu-as-ninja-wrapper")
(build-system trivial-build-system)
(arguments
(list #:builder
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(let ((bindir (string-append #$output "/bin"))
(samu (string-append #$(this-package-input "samurai")
"/bin/samu")))
(mkdir-p bindir)
(symlink samu (string-append bindir "/ninja")))))))
(inputs (list samurai))
(description "This package provides the @command{ninja} command,
implemented as a symbolic link to the @command{samu} command of @code{samurai}
package.")))
+49 -50
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>
;;;
@@ -47,7 +47,6 @@
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix deprecation)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
@@ -62,7 +61,7 @@
#:use-module (gnu packages bootstrap)
#:use-module (gnu packages bison)
#:use-module (gnu packages check)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages perl)
@@ -81,7 +80,6 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages gettext)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages xml))
@@ -1094,8 +1092,32 @@ portability.")
(license (list license:bsd-2 ;all files except...
license:bsd-3)))) ;...the unidef.1 manual page
(define-deprecated/public-alias byacc
(@ (gnu packages compiler-tools) byacc))
(define-public byacc
(package
(name "byacc")
(version "20240109")
(source (origin
(method url-fetch)
(uri (string-append
"https://invisible-mirror.net/archives/byacc/byacc-"
version ".tgz"))
(sha256
(base32
"0il4w1vwbglayakywyghiqhcjpg1yvv5ww2p8ylz32bi05wpg2gj"))
(snippet
#~(begin (delete-file "btyaccpar.c")
(delete-file "yaccpar.c")))))
(native-inputs
(list gawk))
(build-system gnu-build-system)
(home-page "https://invisible-island.net/byacc/byacc.html")
(synopsis "Berkeley Yacc LALR parser generator")
(description
"Berkeley Yacc is an LALR(1) parser generator. Yacc reads the grammar
specification from a file and generates an LALR(1) parser for it. The parsers
consist of a set of LALR(1) parsing tables and a driver routine written in the
C programming language.")
(license license:public-domain)))
(define-public argparse
(package
@@ -1304,6 +1326,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")
@@ -1477,48 +1518,6 @@ Telemetry Transport (MQTT) publish-subscribe messaging protocol.")
(home-page "https://microsoft.github.io/mimalloc/")
(license license:expat)))
(define-public mps
(package
(name "mps")
(version "1.118.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Ravenbrook/mps")
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "078iv3fsz0dnfwb7g63apkvcksczbqfxrxm73k80jwnwca6pgafy"))))
(build-system gnu-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-cflags
;; The recursive make call in the test suite doesn't pass CFLAGS
;; down properly so we need to do it ourselves
(lambda _
(substitute* "Makefile.in"
(("CFLAGS=\"(.*)\"" _ flags)
(string-append "CFLAGS=\"" flags " $(CFLAGS)\""))))))
#:parallel-build? #f ;Parallel build fails
#:test-target "test"
#:make-flags
#~(list "CFLAGS=-Wno-error=dangling-pointer -Wno-maybe-uninitialized"
;; These flags are needed for the recursive make calls in testing
(string-append "CC=" #$(cc-for-target)) "-j" "1")))
(inputs (list sqlite))
(home-page "http://www.ravenbrook.com/project/mps")
(synopsis "Memory pool system")
(description
"This package provides a cross-platform memory management system. It
permits the flexible combination of memory management techniques, supporting
manual and automatic memory management, in-line allocation, finalization,
weakness, and multiple concurrent co-operating incremental generational
garbage collections. It also includes a library of memory pool classes
implementing specialized memory management policies.")
(license license:bsd-2)))
;;; The package is named orangeduck-mpc to differentiate it from GNU mpc.
(define-public orangeduck-mpc
;; The last release lacks an 'install' target.
@@ -1762,7 +1761,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)
@@ -1771,7 +1770,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")
+23 -11
View File
@@ -52,7 +52,7 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
#:use-module (gnu packages docbook)
@@ -337,7 +337,7 @@ reconstruction capability.")
(define-public cdrdao
(package
(name "cdrdao")
(version "1.2.6")
(version "1.2.5")
(source
(origin
(method git-fetch)
@@ -347,18 +347,30 @@ reconstruction capability.")
(string-append "rel_" (string-replace-substring version "." "_")))))
(file-name (git-file-name name version))
(sha256
(base32 "0hb8dfb88zk01yk5nfl8m5hsg4x2scb2899pxb717zywznr8jijw"))))
(build-system glib-or-gtk-build-system)
(base32 "1hh1lm4wr1vhsq2brczn94h88h3bppvjidj9cfqkl20jhaj38968"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list
;; Use the native SCSI interface.
"--without-scglib")))
'(#:configure-flags
(list
;; GCDMaster depends on obsolete libgnomeuimm, see
;; <https://github.com/cdrdao/cdrdao/issues/3>.
"--without-gcdmaster"
;; Use the native SCSI interface.
"--without-scglib")
#:phases
(modify-phases %standard-phases
(add-before 'bootstrap 'fix-configure.ac
(lambda _
;; Remove references to missing macros.
(substitute* "configure.ac"
(("^AM_GCONF_SOURCE_2.*") "")
;; This was introduced in autoconf-2.70, but is described
;; as usually not needed in the autoconf documentation.
(("^AC_CHECK_INCLUDES_DEFAULT") "")))))))
(native-inputs
(list autoconf-2.72 automake `(,glib "bin") pkg-config))
(list autoconf automake pkg-config))
(inputs
(list ao gtkmm-3 lame libmad libsigc++-2 libvorbis))
(list ao lame libmad libvorbis))
(home-page "https://cdrdao.sourceforge.net")
(synopsis "Read and write CDs in disk-at-once mode")
(description "cdrdao records audio or data CDs in disk-at-once (DAO) mode,
+32 -20
View File
@@ -2695,11 +2695,7 @@ failures and errors instantly.")
"test_is_not_identity"
"test_resolves_builtin_types[object]"
"test_resolves_forwardrefs_to_builtin_types[object]"
"test_timezone_lookup[tzinfo]"
;; hypothesis.errors.FailedHealthCheck: Input generation is slow
#$@(if (target-riscv64?)
'("test_can_run_with_no_db")
'()))
"test_timezone_lookup[tzinfo]")
" and not "))
#:phases
#~(modify-phases %standard-phases
@@ -3030,32 +3026,24 @@ possible to write plugins to add your own checks.")
(define-public behave
(package
(name "behave")
;; 1.3.3 (2025-09-04), the latest changes provide support for Python
;; 3.12+; move back to git tag when released.
(properties '((commit . "43d0a93240c0b25b0cbf59bdc196b74fb8a2353e")
(revision . "0")))
(version (git-version "1.3.3"
(assoc-ref properties 'revision)
(assoc-ref properties 'commit)))
(version "1.3.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/behave/behave")
(commit (assoc-ref properties 'commit))))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05671jf7scpgqr8chzgs9bxidvf12nlkqqiqxa5qwmykqfvc8nk4"))))
(base32 "1fxj51kailsdakqi7qbw700k258n7r3lv75mgxs45ld5xh2jfyxh"))))
(build-system pyproject-build-system)
;; tests: 1638 passed, 3 skipped, 2 xfailed
(native-inputs
(list python-chardet
python-freezegun
python-charset-normalizer
(list python-assertpy
python-chardet
python-mock
python-path
python-pyhamcrest
python-pytest
python-pytest-html
python-setuptools))
(propagated-inputs
(list python-colorama
@@ -3100,7 +3088,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))
@@ -3688,6 +3676,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")
+6 -18
View File
@@ -46,7 +46,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages documentation)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages fortran-xyz)
@@ -579,7 +579,7 @@ stored with user-specified precision.")
python-sphinx))
(inputs
(list fftwf
`(,hwloc "lib")
`(,hwloc-2 "lib")
libtirpc
lmfit
muparser
@@ -825,7 +825,7 @@ colleagues, or to generate pre-rendered animations.")
(define-public python-pyscf
(package
(name "python-pyscf")
(version "2.9.0")
(version "2.12.1")
(source
(origin
(method git-fetch)
@@ -834,14 +834,10 @@ colleagues, or to generate pre-rendered animations.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1lj48c749aqf9zd5xbshjsfr0y972r2nsm8lf3760jbfadg9jdsi"))))
(base32 "00q5c0r5yzp05m65679164s7jzm9678b63msm8g7953vh8v9g25y"))))
(build-system pyproject-build-system)
(arguments
(list
#:modules
'((guix build pyproject-build-system)
(guix build utils)
(ice-9 textual-ports))
;; Some tests take a very long time and libxc support is not enabled.
#:tests? #f
#:phases
@@ -867,16 +863,8 @@ colleagues, or to generate pre-rendered animations.")
"-DBUILD_XCFUN=OFF"
"-DBUILD_LIBCINT=OFF"))))))))
(native-inputs
(list
cmake-minimal
;; HACK: Add gcc, make tune work.
;; build-system-with-tuning-compiler on guix/transformations.scm
;; want to find compiler on the build-inputs, but gcc is on the
;; python-build-system's host-inputs, so when tune it , will report:
;; "failed to determine which compiler is used"
(canonical-package gcc)
python-setuptools
python-wheel))
(list cmake-minimal
python-setuptools))
(inputs
(list
;; Use qcint when tuning for x86_64.
+12 -11
View File
@@ -302,7 +302,7 @@ will name the threaded machine type unless THREADS? is provided as #f."
(name "chez-scheme-for-racket")
;; The version should match `(scheme-version #t)`.
;; See s/cmacros.ss c. line 360.
(version "10.4.0-pre-release.1-1") ; expect a chez-nanopass-bootstrap update
(version "10.3.0-pre-release.2") ; expect a chez-nanopass-bootstrap update
(source #f)
(build-system gnu-build-system)
(inputs `(,@(if (nix-system->native-chez-machine-type)
@@ -507,7 +507,7 @@ version of Chez Scheme.")
(name "chez-scheme")
;; The version should match `(scheme-version-number #t)`.
;; See s/cmacros.ss c. line 360.
(version "10.4.0") ; expect a chez-nanopass-bootstrap update
(version "10.2.0") ; expect a chez-nanopass-bootstrap update
(source (origin
(method git-fetch)
(uri (git-reference
@@ -515,7 +515,7 @@ version of Chez Scheme.")
(commit (string-append "v" version))))
(sha256
(base32
"079vlkl27qdvsg1rsynmd828m42n98c2dnldkhsxf2slfsqd9kv5"))
"14iv4kfkyvrkigr1n2prf71n2l3vs0sf0549rvh6y4x2faa2l329"))
(file-name (git-file-name name version))
(patches (search-patches "chez-scheme-bin-sh.patch"))
(snippet #~(begin
@@ -840,9 +840,9 @@ User's Guix}, among other documents.")
(define-public chez-nanopass-bootstrap
(hidden-package
(package
(name "chez-nanopass-bootstrap")
(version "1.9.4")
(properties '((chez-nanopass-release-date . "December 29, 2025")))
(name "chez-nanopass")
(version "1.9.2")
(properties `((chez-nanopass-release-date . "October 18, 2020")))
(source
(origin
(method git-fetch)
@@ -850,7 +850,7 @@ User's Guix}, among other documents.")
(url "https://github.com/nanopass/nanopass-framework-scheme")
(commit (string-append "v" version))))
(sha256
(base32 "1qq0vnbrvcialgjgnblfq3qp1ilqg94h0kg896ksd9v4g7ipj9v0"))
(base32 "16vjsik9rrzbabbhbxbaha51ppi3f9n8rk59pc6zdyffs0vziy4i"))
(file-name (git-file-name "nanopass-framework-scheme" version))
(snippet
#~(begin
@@ -929,9 +929,10 @@ create compilers, making them easier to understand and maintain.")
(define-public chez-nanopass
(package
(inherit chez-nanopass-bootstrap)
(name "chez-nanopass")
(version "1.9.4")
(properties '((chez-nanopass-release-date . "December 29, 2025")))
;; This release has a significant bug fix. Expect the next releases of
;; chez-scheme{,-for-racket} to want this for chez-nanopass-bootstrap.
(version "1.9.3")
(properties '((chez-nanopass-release-date . "August 24, 2025")))
(source
(let ((bootstrap-origin (package-source chez-nanopass-bootstrap)))
(origin
@@ -940,7 +941,7 @@ create compilers, making them easier to understand and maintain.")
(url (git-reference-url (origin-uri bootstrap-origin)))
(commit (string-append "v" version))))
(sha256
(base32 "1qq0vnbrvcialgjgnblfq3qp1ilqg94h0kg896ksd9v4g7ipj9v0"))
(base32 "0757x3a3b4kcd3jk52h4ikqzv7cc1mvphlw592f0r5pz99bkxiin"))
(file-name (git-file-name "nanopass-framework-scheme" version)))))
(native-inputs (list chez-scheme stex))))
+47 -95
View File
@@ -20,113 +20,65 @@
(define-module (gnu packages chicken)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix build-system chicken)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix svn-download)
#:use-module ((guix licenses)
#:prefix license:)
#:use-module (srfi srfi-1))
#:prefix license:))
;; This package is build from pre-built C source code, provided in the CHICKEN
;; release tarball. Based on this bootstrap compiler, we build CHICKEN from
;; the Scheme source, thus enabling us to (at least) patch it.
;;
;; See <https://issues.guix.gnu.org/22366>.
(define-public chicken-bootstrap
(hidden-package
(package
(name "chicken-bootstrap")
(version "5.4.0")
(source (origin
(method url-fetch)
(uri (string-append "https://code.call-cc.org/releases/"
version "/chicken-" version ".tar.gz"))
(sha256
(base32
"0pzcrnzkjw2sa44vy59wbygvlc3nva8zisprkdnvyrqi3jk4lp9w"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1))
;; No `configure' script; run "make check" after "make install" as
;; prescribed by README.
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'check)
(add-after 'install 'check
(assoc-ref %standard-phases 'check)))
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list "PLATFORM=linux"
(string-append "PREFIX=" out)
(string-append "VARDIR=" out "/var/lib")))
;; Parallel builds are not supported, as noted in README.
#:parallel-build? #f))
(native-search-paths
(list (search-path-specification
(variable "CHICKEN_REPOSITORY_PATH")
;; TODO extract binary version into a module level definition.
(files (list "var/lib/chicken/11")))))
;; Reference gcc-toolchain lazily to avoid circular module dependency
;; problems.
(propagated-inputs (list (module-ref (resolve-interface
'(gnu packages commencement))
'gcc-toolchain)))
(home-page "https://www.call-cc.org/")
(synopsis "R5RS Scheme implementation that compiles native code via C")
(description
"CHICKEN is a compiler for the Scheme programming language. CHICKEN
pr oduces portable and efficient C, supports almost all of the R5RS Scheme
la nguage standard, and includes many enhancements and extensions.")
(license license:bsd-3))))
;; The CHICKEN compiler is itself written in CHICKEN, the CHICKEN release
;; tarballs includes auto-generated C code to mitigate the compiler
;; bootstrapping problem. To be able to patch the original Scheme source,
;; we compile from this Scheme source here using the chicken-bootstrap
;; compiler obtained from the autogenerated C code.
;;
;; See <https://issues.guix.gnu.org/22366>.
(define-public chicken
(package
(inherit chicken-bootstrap)
(name "chicken")
(version "5.4.0")
(source (origin
(method url-fetch)
(uri (string-append "https://code.call-cc.org/releases/"
version "/chicken-" version ".tar.gz"))
(sha256
(base32
"0pzcrnzkjw2sa44vy59wbygvlc3nva8zisprkdnvyrqi3jk4lp9w"))))
(build-system gnu-build-system)
(arguments
(substitute-keyword-arguments (package-arguments chicken-bootstrap)
((#:phases phases)
#~(modify-phases #$phases
;; CHICKEN contains auto-generated C code, remove it and
;; compile from the Scheme source using chicken-bootstrap.
(add-after 'unpack 'remove-auto-generated-code
(lambda _
(invoke "make" "spotless")))
;; Invoke commands by name, not by path.
;;
;; See <https://codeberg.org/guix/guix/issues/8471>.
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((sh (search-input-file inputs "/bin/sh"))
(cp (search-input-file inputs "/bin/cp")))
(substitute* "egg-compile.scm"
(("/bin/sh") sh)
(("\"cp\"") (string-append "\"" cp "\"")))
(substitute* "posixunix.scm"
(("/bin/sh") sh))
(substitute* "chicken-install.scm"
(("\"sh \"") (string-append "\"" sh " \""))))))))))
(inputs (list chicken-bootstrap))
(properties
(alist-delete 'hidden? (package-properties chicken-bootstrap)))))
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1))
;; No `configure' script; run "make check" after "make install" as
;; prescribed by README.
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'check)
(add-after 'install 'check
(assoc-ref %standard-phases 'check)))
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list "PLATFORM=linux"
(string-append "PREFIX=" out)
(string-append "VARDIR=" out "/var/lib")))
;; Parallel builds are not supported, as noted in README.
#:parallel-build? #f))
(native-search-paths
(list (search-path-specification
(variable "CHICKEN_REPOSITORY_PATH")
;; TODO extract binary version into a module level definition.
(files (list "var/lib/chicken/11")))))
;; Reference gcc-toolchain lazily to avoid circular module dependency
;; problems.
(propagated-inputs (list (module-ref (resolve-interface
'(gnu packages commencement))
'gcc-toolchain)))
(home-page "https://www.call-cc.org/")
(synopsis "R5RS Scheme implementation that compiles native code via C")
(description
"CHICKEN is a compiler for the Scheme programming language. CHICKEN
produces portable and efficient C, supports almost all of the R5RS Scheme
language standard, and includes many enhancements and extensions.")
(license license:bsd-3)))
(define-public chicken-compile-file
(package
+23 -23
View File
@@ -53,6 +53,7 @@
#:use-module (gnu packages llvm)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages maths)
#:use-module (gnu packages ninja)
#:use-module (gnu packages node)
#:use-module (gnu packages nss)
#:use-module (gnu packages pciutils)
@@ -78,9 +79,12 @@
'("base/third_party/cityhash" ;Expat
"base/third_party/double_conversion" ;BSD-3
"base/third_party/icu" ;Unicode, X11-style
"base/third_party/nspr" ;MPL-2.0
"base/third_party/superfasthash" ;BSD-3
"base/third_party/symbolize" ;BSD-3
"base/third_party/xdg_user_dirs" ;Expat
"buildtools/third_party/libc++" ;BSD
"buildtools/third_party/libc++abi" ;BSD
"net/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+
"net/third_party/quiche" ;BSD-3
"net/third_party/uri_template" ;ASL2.0
@@ -218,6 +222,7 @@
"third_party/libaom/source/libaom/third_party/fastfeat" ;BSD-3
"third_party/libaom/source/libaom/third_party/vector" ;Expat
"third_party/libaom/source/libaom/third_party/x86inc" ;ISC
"third_party/libc++" ;Expat
"third_party/libdrm" ; Expat
"third_party/libgav1" ;ASL2.0
"third_party/libjingle_xmpp" ;BSD-3
@@ -243,6 +248,8 @@
"third_party/libzip" ;BSD-3
"third_party/lit" ;BSD-3
"third_party/lit/v3_0" ;BSD-3
"third_party/llvm-libc" ;ASL2.0
"third_party/llvm-libc/src/shared" ;ASL2.0
"third_party/lottie" ;Expat
"third_party/lss" ;BSD-3
"third_party/lzma_sdk" ;public domain
@@ -393,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))
@@ -405,7 +412,7 @@
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
(sha256
(base32
"1ha84j3zckdv2l8dpicqhmr6a8mq3bqwalw0bmgamvlmns9i7nrj"))))
"0l6v4wf16067igawjlh90f3d287mkw0cq4j5lvrxxy17y1skynzc"))))
(define %debian-origin
(origin
@@ -418,7 +425,7 @@
((_ version) version))))
(sha256
(base32
"04lqbclkvn9nsksgjpjilh78a8y17mwwq4pmhr6h8gvpp2y3bhhc"))))
"0gqarll08i7rcs1amapciv263xvzglc8p44ikavq3xd12yyvcd98"))))
(define (origin-file origin file)
(computed-file
@@ -563,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)
@@ -589,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"
@@ -682,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)
@@ -690,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\""
@@ -770,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
@@ -888,15 +892,13 @@
"resources.pak"
"v8_context_snapshot.bin"
"chrome_crashpad_handler"
"icudtl.dat"
;; Swiftshader ICD.
"libvk_swiftshader.so"
"vk_swiftshader_icd.json"
;; Chromium ships its own libGL and
;; vulkan implementation called ANGLE.
"libvulkan.so.1"
;; Chromium ships its own libGL
;; implementation called ANGLE.
"libEGL.so" "libGLESv2.so"))
(locales (string-append lib "/locales"))
(resources (string-append lib "/resources"))
@@ -912,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"
+34 -106
View File
@@ -23,24 +23,19 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages clojure)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages golang)
#:use-module (gnu packages guile)
#:use-module (gnu packages java)
#:use-module (gnu packages maven)
#:use-module (gnu packages)
#:use-module (guix build-system ant)
#:use-module (guix build-system clojure)
#:use-module (guix build-system copy)
#:use-module (guix build-system go)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system ant)
#:use-module (guix build-system copy)
#:use-module (guix build-system clojure))
(define-public clojure-spec-alpha
(package
@@ -382,14 +377,14 @@ designs.")
(define-public clojure-tools
(package
(name "clojure-tools")
(version "1.12.4.1618")
(version "1.12.4.1582")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.clojure.org/install/clojure-tools-"
version
".tar.gz"))
(sha256 (base32 "08fy3k248sbsrbgl0lq3q4d23vp4chdawy230ardx61sssk9sxhk"))
(sha256 (base32 "08gzfblnz0zhnk6pwr9vcm6y168psgrwmqww3wqk1v7j5gr68n7x"))
;; Remove AOT compiled JAR. The other JAR only contains uncompiled
;; Clojure source code.
(snippet
@@ -517,7 +512,7 @@ defining and using monads and useful monadic functions.")
(define-public clojure-core-async
(package
(name "clojure-core-async")
(version "1.9.865")
(version "1.8.741")
(home-page "https://github.com/clojure/core.async")
(source (origin
(method git-fetch)
@@ -527,7 +522,7 @@ defining and using monads and useful monadic functions.")
(file-name (git-file-name name version))
(sha256
(base32
"15pc2m58fscix85gsiwl9dlvw2x6alvc4qni46rry2sr00nfzd3r"))))
"1m6lir2xr119yxz483cz0rfw4k3a40qmmsiwl2y7kyxy65vab60z"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -551,7 +546,7 @@ work on Communicating Sequential Processes (CSP).")
(define-public clojure-core-cache
(package
(name "clojure-core-cache")
(version "1.2.263")
(version "1.2.249")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -560,7 +555,7 @@ work on Communicating Sequential Processes (CSP).")
(file-name (git-file-name name version))
(sha256
(base32
"19q81aki8wb120v6jfylwqgf965mwkhrpcsrs5zazjfjv8vq6glx"))))
"0hdwv5dsx49i12riz3frzshwkgw26ah43667lzga2n6zgpmrh8ii"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -603,7 +598,7 @@ It supports Clojure 1.5.1 and later as well as ClojureScript.")
(define-public clojure-core-memoize
(package
(name "clojure-core-memoize")
(version "1.2.281")
(version "1.2.273")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -612,7 +607,7 @@ It supports Clojure 1.5.1 and later as well as ClojureScript.")
(file-name (git-file-name name version))
(sha256
(base32
"0bnlqs7m69svhfadwy46wgc88j9ma9fhdk4586b4xxppamj6c5j4"))))
"009fj19y464an66pryygmqbnx2dqk5wkp40rbkbgkir0ax0k6j3y"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -739,7 +734,7 @@ maps also support conj/peek/pop operations.")
(define-public clojure-data-xml
(package
(name "clojure-data-xml")
(version "0.2.0-alpha11")
(version "0.2.0-alpha10")
(home-page "https://github.com/clojure/data.xml")
(source (origin
(method git-fetch)
@@ -749,7 +744,7 @@ maps also support conj/peek/pop operations.")
(file-name (git-file-name name version))
(sha256
(base32
"0k7hq3s4zbk0ryhgycivl1dk22fzh60522a57az8ykmixhqjxwhg"))))
"0mnhgrh20p2wwmq8a4631dkpxbgbijwi6sfhw5v784hzkjkfgkh6"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -867,7 +862,7 @@ tree.
(define-public clojure-tools-analyzer
(package
(name "clojure-tools-analyzer")
(version "1.2.2")
(version "1.2.1")
(home-page "https://github.com/clojure/tools.analyzer")
(source (origin
(method git-fetch)
@@ -877,7 +872,7 @@ tree.
(file-name (git-file-name name version))
(sha256
(base32
"07cxphrmd6a3clnalrdqxlyin8l0lw0xhjy2rh9gaizxfv5c23jp"))))
"0apa3gc45rmdj19plbvglpj6i9dadkgvvidj5mcnkzi9y3h0nr27"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
@@ -943,7 +938,7 @@ tools.analyzer, providing additional JVM-specific passes.")
(define-public clojure-tools-cli
(package
(name "clojure-tools-cli")
(version "1.4.256")
(version "1.3.250")
(home-page "https://github.com/clojure/tools.cli")
(source (origin
(method git-fetch)
@@ -952,7 +947,7 @@ tools.analyzer, providing additional JVM-specific passes.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1kr1cpypzgzh8pkih5qamsaq8c96jfpcvmn9f330sic2shb53m55"))))
(base32 "1nyw33w83gd7xlbpma03p4jwcdcp38h8y99x2rqw4zcnw19gsz4p"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure/")
@@ -964,25 +959,29 @@ tools.analyzer, providing additional JVM-specific passes.")
work with command-line arguments.")
(license license:epl1.0)))
(define-public clojure-tools-deps-edn
(define-public clojure-tools-deps
(package
(name "clojure-tools-deps-edn")
(version "0.9.22")
(home-page "https://github.com/clojure/tools.deps.edn")
(name "clojure-tools-deps")
(version "0.28.1578")
(home-page "https://github.com/clojure/tools.deps")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"082p6zpbb8vvdc9ncc0d66h3g7sax4pp0h4fymwiv0lakzyq3g9g"))))
"1w3f8cl81q4kln6iz74fnfzms4c4x279ivh1962pcg22q8l1w8d5"))))
(build-system clojure-build-system)
(arguments
`(#:source-dirs '("src/main/clojure" "src/main/resources")
#:java-source-dirs '("src/main/java")
#:test-dirs '("src/test/clojure")
#:doc-dirs '()
;; FIXME: Could not initialize class
;; org.eclipse.aether.transport.http.SslSocketFactory
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'build 'reference-clojure-jar-input
@@ -993,42 +992,12 @@ work with command-line arguments.")
(string-append "org.clojure/clojure {:local/root \""
(assoc-ref inputs "clojure")
"/share/java/clojure.jar\"}"))))))))
(synopsis "Reader for @file{deps.edn}")
(description "This package provides support for reading and manipulating
@file{deps.edn} files and data structures. It can be used in scenarios where
the @code{tools.deps} library is not needed for dep expansion.")
(license license:epl1.0)))
(define-public clojure-tools-deps
(package
(name "clojure-tools-deps")
(version "0.29.1598")
(home-page "https://github.com/clojure/tools.deps")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1qds0ri6y8s7419x3pzl9yhhr19qli3l52yg9a78w47h0w6dd1kv"))))
(build-system clojure-build-system)
(arguments
`(#:source-dirs '("src/main/clojure" "src/main/resources")
#:java-source-dirs '("src/main/java")
#:test-dirs '("src/test/clojure")
#:doc-dirs '()
;; FIXME: Could not initialize class
;; org.eclipse.aether.transport.http.SslSocketFactory
#:tests? #f))
(propagated-inputs (list maven-3.8-core
maven-resolver-1.6-connector-basic
maven-resolver-1.6-transport-http
maven-resolver-1.6-transport-file
clojure-tools-gitlibs
clojure-tools-cli
clojure-tools-deps-edn
clojure-data-xml
cognitect-aws-api))
(synopsis "Clojure library supporting clojure-tools")
@@ -1206,7 +1175,7 @@ asynchronous support.")
(define-public cognitect-aws-api
(package
(name "cognitect-aws-api")
(version "0.8.824")
(version "0.8.800")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1215,7 +1184,7 @@ asynchronous support.")
(file-name (git-file-name name version))
(sha256
(base32
"0ivlcmsr7rvr7741k9wzniv2zxijida0b588nqngm5vrgna816yl"))
"17sxj3mvq4iasr0kchbx2anmrh25v8bvmpam4si704vksmnm28p3"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -1258,44 +1227,3 @@ an operation on the service. invoke takes a map and returns a map, and works
the same way for every operation on every service.")
(home-page "https://github.com/cognitect-labs/aws-api")
(license license:asl2.0)))
(define-public let-go
(package
(name "let-go")
(version "1.7.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nooga/let-go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "139a129fw3w9a4bcfgms60ll90vy2vmqinbmjn44zmgx4fr2adif"))))
(build-system go-build-system)
(arguments
(list
#:go go-1.26
#:install-source? #f
#:import-path "github.com/nooga/let-go"))
(native-inputs
(list go-github-com-davecgh-go-spew
go-github-com-alimpfard-line
go-github-com-hashicorp-go-uuid
go-github-com-kr-pretty
go-github-com-pmezard-go-difflib
go-github-com-stretchr-testify
go-github-com-zeebo-bencode
go-golang-org-x-sys
go-gopkg-in-check-v1
go-gopkg-in-yaml-v3))
(home-page "https://nooga.github.io/let-go")
(synopsis "Clojure dialect written in Go")
(description
"let-go is a Clojure dialect with a bytecode compiler and a stack virtual
machine, written in the Go programming language.
It is not a drop-in replacement for Clojure JVM. It does not load JARs and
does not aim to. Most idiomatic Clojure code runs unmodified, but a real
project with library dependencies will need adjustments.")
(license license:expat)))
+1 -1
View File
@@ -32,7 +32,7 @@
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages docbook)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages gettext)
#:use-module (gnu packages libevent)
#:use-module (gnu packages linux)
+1 -1
View File
@@ -25,7 +25,7 @@
#:use-module (guix gexp)
#:use-module (gnu packages bison)
#:use-module (gnu packages dbm)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
+3 -43
View File
@@ -1,8 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012-2013, 2015, 2018, 2020, 2021, 2023, 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2015, 2018, 2020, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018, 2019-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2019-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
@@ -66,7 +66,7 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages elf)
#:use-module (gnu packages emacs)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages golang-build)
@@ -865,46 +865,6 @@ Objective@tie{}C, D, Java, Pawn, and Vala). Features:
the C, C++, C++/CLI, ObjectiveC, C#, and Java programming languages.")
(license license:lgpl3+)))
(define-public idutils
(package
(name "idutils")
(version "4.6")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/idutils/idutils-" version ".tar.xz"))
(sha256
(base32 "1hmai3422iaqnp34kkzxdnywl7n7pvlxp11vrw66ybxn9wxg90c1"))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* (find-files "lib" "\\.c$")
(("#if defined _IO_ftrylockfile")
"#if defined _IO_EOF_SEEN"))
(substitute* "lib/stdio-impl.h"
(("^/\\* BSD stdio derived implementations")
(string-append
"#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN" "\n"
"# define _IO_IN_BACKUP 0x100\n" "#endif\n\n"
"/* BSD stdio derived implementations")))
;; 'gets' is deprecated in glibc 2.33 and its declaration is
;; no longer visible by default from <stdio.h>.
(substitute* "lib/stdio.in.h"
(("_GL_WARN_ON_USE \\(gets.*")
""))))))
(build-system gnu-build-system)
(native-inputs (list emacs-minimal))
(home-page "https://www.gnu.org/software/idutils/")
(synopsis "Identifier database utilities")
(description
"The GNU idutils package includes tools to create an index of textual
tokens used in a list of file names and then to query that index. Thus, it
allows the user to, for example, find all the uses of a particular function
in a large programming project. In addition to handling textual tokens, it
can also handle numeric constants and the contents of character strings.")
(license license:gpl3+)))
(define-public indent
;; XXX: Not released anymore, but some patches fix CVEs.
(let ((commit "1737c929cbe2ec8a181107df9742894a44c57f71")
+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 -1
View File
@@ -42,7 +42,7 @@
#:use-module (gnu packages m4)
#:use-module (gnu packages gawk)
#:use-module (gnu packages bison)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages guile)
#:use-module (gnu packages gettext)
#:use-module (gnu packages multiprecision)
-216
View File
@@ -1,216 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012-2014, 2019, 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2024-2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2020, 2021 Sergei Trofimovich <slyfox@inbox.ru>
;;; Copyright © 2018, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2025 Anderson Torres <anderson.torres.8519@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages compiler-tools)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bison)
#:use-module (gnu packages gawk)
#:use-module (gnu packages m4)
#:use-module (gnu packages man)
#:use-module (gnu packages python)
#:use-module (gnu packages)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (srfi srfi-1))
(define-public byacc
(package
(name "byacc")
(version "20240109")
(source
(origin
(method url-fetch)
(uri (string-append
"https://invisible-mirror.net/archives/byacc/byacc-"
version ".tgz"))
(sha256
(base32
"0il4w1vwbglayakywyghiqhcjpg1yvv5ww2p8ylz32bi05wpg2gj"))
(snippet
#~(begin
;; Remove machine-generated files
(for-each delete-file
(list "configure"
"btyaccpar.c"
"yaccpar.c"))))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
automake
gawk))
(home-page "https://invisible-island.net/byacc/byacc.html")
(synopsis "Berkeley Yacc LALR parser generator")
(description
"Berkeley Yacc is an LALR(1) parser generator. Yacc reads the grammar
specification from a file and generates an LALR(1) parser for it. The parsers
consist of a set of LALR(1) parsing tables and a driver routine written in the
C programming language.")
(license license:public-domain)))
(define-public flex
(package
(name "flex")
(version "2.6.4")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/westes/flex"
"/releases/download/v" version "/"
"flex-" version ".tar.gz"))
(sha256
(base32
"15g9bv236nzi665p9ggqjlfn4dwck5835vf0bbw2cz7h5c1swyp8"))))
(build-system gnu-build-system)
(arguments
(if (%current-target-system)
(list #:configure-flags
#~'("ac_cv_func_malloc_0_nonnull=yes"
"ac_cv_func_realloc_0_nonnull=yes"))
'()))
(native-inputs
(list help2man
;; m4 is not present in PATH when cross-building
m4))
(inputs
(list
(package
(inherit bison)
(arguments
;; Disable tests, since they require flex.
(substitute-keyword-arguments arguments
((#:tests? _ #f) #f)))
(inputs (modify-inputs inputs
(delete "flex"))))))
(propagated-inputs (list m4))
(home-page "https://github.com/westes/flex")
(synopsis "Fast lexical analyser generator")
(description
"Flex is a tool for generating scanners. A scanner, sometimes
called a tokenizer, is a program which recognizes lexical patterns in
text. The flex program reads user-specified input files, or its standard
input if no file names are given, for a description of a scanner to
generate. The description is in the form of pairs of regular expressions
and C code, called rules. Flex generates a C source file named,
\"lex.yy.c\", which defines the function yylex(). The file \"lex.yy.c\"
can be compiled and linked to produce an executable. When the executable
is run, it analyzes its input for occurrences of text matching the
regular expressions for each rule. Whenever it finds a match, it
executes the corresponding C code.")
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))))
(define-public oyacc
(package
(name "oyacc")
(version "6.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ibara/yacc")
(commit (string-append name "-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1a2nyg2nnh1las40klnp037sapaaph86kjx258cpqcwnk4cv3rnx"))))
(build-system gnu-build-system)
(arguments
(list
#:test-target "test"
#:make-flags
#~(list (string-append "BINDIR=" #$output "/bin")
(string-append "MANDIR=" #$output "/share/man/man1"))))
(home-page "https://github.com/ibara/yacc")
(synopsis "Portable YACC from OpenBSD")
(description
"@command{oyacc} is a portable version of the OpenBSD's
@acronym{yacc, Yet Another Compiler Compiler} program, with no dependencies
besides libc.")
(license license:bsd-2)))
(define-public oyacc-as-yacc-wrapper
(package/inherit oyacc
(name "oyacc-as-yacc-wrapper")
(build-system trivial-build-system)
(arguments
(list
#:builder
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(let ((bindir (string-append #$output "/bin"))
(oyacc (string-append #$(this-package-input "oyacc")
"/bin/oyacc")))
(mkdir-p bindir)
(symlink oyacc (string-append bindir "/yacc")))))))
(inputs (list oyacc))
(description
"This package provides the @command{yacc} command, implemented as a
symbolic link to the @command{oyacc} command from the same-named package.")))
(define-public re2c
(package
(name "re2c")
(version "4.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/skvadrik/" name
"/releases/download/" version "/"
name "-" version ".tar.xz"))
(sha256
(base32
"07ysqgdm0h566a8lwnpdgycp93vz7zskzihsgah3bla0ycj2pp69"))))
(build-system gnu-build-system)
(arguments
(list
#:tests?
(not (or (%current-target-system)
;; TODO: run_tests.py hangs
(system-hurd?)))
#:phases
(if (target-arm32?)
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-sources
(lambda _
(invoke "patch" "-p1" "--force" "--input"
#$(local-file (search-patch
"re2c-Use-maximum-alignment.patch"))))))
#~%standard-phases)))
(native-inputs
(list python)) ; for the test driver
(home-page "https://re2c.org/")
(synopsis "Lexer generator")
(description
"@code{re2c, Regular Expressions to Code} is a flexible lexical analyser.
Instead of using traditional table-driven approaches, it encodes a finite
state machine directly in the code in the form of jumps and comparisons.")
(license license:public-domain)))
+3 -36
View File
@@ -42,7 +42,6 @@
;;; Copyright © 2024 David Elsing <david.elsing@posteo.net>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024, 2025 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2026 Jake Forster <jakecameron.forster@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1476,7 +1475,7 @@ for most inputs, but the resulting compressed files are anywhere from 20% to
(define-public 7zip
(package
(name "7zip")
(version "26.01")
(version "26.00")
(source
(origin
(method git-fetch)
@@ -1484,7 +1483,7 @@ for most inputs, but the resulting compressed files are anywhere from 20% to
(url "https://github.com/ip7z/7zip")
(commit version)))
(sha256
(base32 "0qwzn9pz1m6f8q20cqgmfqp1qx6s7959xnyikpr60n1v8c1mj98q"))
(base32 "1fvgl9qp2pl5c0jmvgbdx6qig3qd80mhxvml42yby8y412x65sh7"))
(file-name (git-file-name name version))
(modules '((guix build utils)
(ice-9 regex)))
@@ -2376,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
@@ -3192,33 +3189,3 @@ exported by the zlib library.")
ratio at the cost of high CPU/memory usage.")
(home-page "https://github.com/byronknoll/cmix")
(license license:gpl3)))
(define-public zlib-ng
(package
(name "zlib-ng")
(version "2.3.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zlib-ng/zlib-ng")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0g4pxy7gc1slw9n6j583hzps32mml30f08gmmg1adsq4y3dl2cny"))))
(build-system cmake-build-system)
(native-inputs (list googletest))
(home-page "https://github.com/zlib-ng/zlib-ng")
(synopsis "Fork of the zlib data compression library")
(description
"zlib-ng is a @code{zlib} replacement with optimizations for next
generation systems.")
(license license:zlib)))
(define-public zlib-ng-compat
(package/inherit zlib-ng
(name "zlib-ng-compat")
(arguments
(substitute-keyword-arguments arguments
((#:configure-flags flags #~(list))
#~(cons "-DZLIB_COMPAT=ON" #$flags))))))
+89 -391
View File
@@ -50,7 +50,6 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages docker)
#:use-module (gnu packages glib)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
@@ -71,7 +70,6 @@
#:use-module (gnu packages networking)
#:use-module (gnu packages package-management)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages prometheus)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
@@ -123,365 +121,6 @@
"This package provides a Go library to read and manipulate checkpoint
archives as created by Podman, CRI-O and containerd.")
(license license:asl2.0)))
(define-public go-github-com-containerd-containerd-v2
(package
(name "go-github-com-containerd-containerd-v2")
(version "2.2.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/containerd/containerd")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0wxy5np689571s6lw77mx63nw75fx85w5svi0jplksmqzmjqp8wd"))
(snippet
#~(begin (use-modules (guix build utils))
(delete-file-recursively "vendor")
;; Submodules with their own go.mod files and packaged separately:
;;
;; - github.com/containerd/containerd/api
(delete-file-recursively "api")))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/containerd/containerd/v2"
#:test-subdirs
#~(list "cmd/protoc-gen-go-fieldpath/..."
"core/containers/..."
"core/content/..."
"core/diff"
"core/diff/apply"
"core/events/..."
"core/images/..."
"core/introspection/..."
"core/leases/..."
"core/metrics/..."
"core/remotes/..."
"core/sandbox/..."
"core/streaming/..."
"core/transfer"
"core/transfer/archive/..."
"core/transfer/image/..."
"core/transfer/local/..."
"core/transfer/plugins/..."
"core/transfer/streaming/..."
"core/unpack/..."
"internal/cleanup/..."
"internal/erofsutils/..."
"internal/eventq/..."
"internal/failpoint/..."
"internal/fsverity/..."
"internal/kmutex/..."
"internal/lazyregexp/..."
"internal/pprof/..."
"internal/randutil/..."
"internal/registrar/..."
"internal/tomlext/..."
"internal/truncindex/..."
"internal/userns/..."
"internal/wintls/..."
"pkg/apparmor/..."
"pkg/archive/..."
"pkg/atomicfile/..."
"pkg/blockio/..."
"pkg/cap/..."
"pkg/cio..."
"pkg/deprecation/..."
"pkg/dialer/..."
"pkg/display/..."
"pkg/epoch/..."
"pkg/fifosync/..."
"pkg/filters/..."
"pkg/gc/..."
"pkg/httpdbg/..."
;; TODO: Check why these submodule fail to build.
;; "client/..."
;; "cmd/containerd-shim-runc-v2/..."
;; "cmd/containerd-stress/..."
;; "cmd/containerd/..."
;; "cmd/ctr/..."
;; "cmd/gen-manpages/..."
;; "contrib/..."
;; "core/diff/proxy"
;; "core/metadata/..."
;; "core/mount/..."
;; "core/runtime/..."
;; "core/snapshots/..."
;; "core/transfer/proxy/..."
;; "core/transfer/registry/..."
;; "integration/..."
;; "internal/cri/..."
;; "internal/nri/..."
;; "pkg/cdi/..."
#;"plugins/...")
#:test-flags
#~(list "-skip" (string-join
;; panic: cannot statfs cgroup root [recovered]
(list "TestValidateConfig"
;; io_test.go:40: failed to start binary process:
;; fork/exec /bin/echo: no such file or directory
"TestNewBinaryIO"
;; expected success: got executable file not found in $PATH
"TestExecutorWithArgs"
"TestSetEnv"
"TestStdIOPipes"
;; panic: cannot statfs cgroup root
"TestContainerCapabilities"
"TestContainerSpecTty"
"TestContainerSpecReadonlyRootfs"
"TestContainerSpecWithExtraMounts"
"TestContainerAndSandboxPrivileged"
"TestPrivilegedBindMount"
"TestCgroupNamespace"
"TestPidNamespace/node_namespace_mode"
;; failed to apply b: invalid argument
"TestDiffTar/IgnoreSockets"
"TestBinDirVerifyImage/max_verifiers_=_-1,_with_timeout"
"TestContainerSpecDefaultPath"
;; Error: Not equal:
;; expected: 1000
;; actual : 123
"TestSetPositiveOomScoreAdjustment")
"|"))))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-dario-cat-mergo
go-github-com-adalogics-go-fuzz-headers
go-github-com-checkpoint-restore-checkpointctl
go-github-com-checkpoint-restore-go-criu-v7
go-github-com-containerd-btrfs-v2
go-github-com-containerd-cgroups-v3
go-github-com-containerd-console
go-github-com-containerd-containerd-api
go-github-com-containerd-continuity
go-github-com-containerd-errdefs
go-github-com-containerd-errdefs-pkg
go-github-com-containerd-fifo
go-github-com-containerd-go-cni
go-github-com-containerd-go-runc
go-github-com-containerd-imgcrypt-v2
go-github-com-containerd-log
go-github-com-containerd-nri
go-github-com-containerd-otelttrpc
go-github-com-containerd-platforms
go-github-com-containerd-plugin
go-github-com-containerd-ttrpc
go-github-com-containerd-typeurl-v2
go-github-com-containerd-zfs-v2
go-github-com-containernetworking-cni
go-github-com-containernetworking-plugins
go-github-com-coreos-go-systemd-v22
go-github-com-davecgh-go-spew
go-github-com-distribution-reference
go-github-com-docker-go-events
go-github-com-docker-go-metrics
go-github-com-docker-go-units
go-github-com-emicklei-go-restful-v3
go-github-com-fsnotify-fsnotify
go-github-com-google-certtostore
go-github-com-google-go-cmp
go-github-com-google-uuid
go-github-com-grpc-ecosystem-go-grpc-middleware-providers-prometheus
go-github-com-intel-goresctrl
go-github-com-klauspost-compress
go-github-com-mdlayher-vsock
;;go-github-com-microsoft-go-winio ;Windows only
;;go-github-com-microsoft-hcsshim ;Windows only
go-github-com-moby-locker
go-github-com-moby-sys-mountinfo
go-github-com-moby-sys-sequential
go-github-com-moby-sys-signal
go-github-com-moby-sys-symlink
go-github-com-moby-sys-user
go-github-com-moby-sys-userns
go-github-com-opencontainers-go-digest
go-github-com-opencontainers-image-spec
go-github-com-opencontainers-runtime-spec
go-github-com-opencontainers-runtime-tools
go-github-com-opencontainers-selinux
go-github-com-pelletier-go-toml-v2
go-github-com-prometheus-client-golang
go-github-com-sirupsen-logrus
go-github-com-tchap-go-patricia-v2
go-github-com-urfave-cli-v2
go-github-com-vishvananda-netlink
go-github-com-vishvananda-netns
go-go-etcd-io-bbolt
go-go-opentelemetry-io-contrib-instrumentation-google-golang-org-grpc-otelgrpc
go-go-opentelemetry-io-contrib-instrumentation-net-http-otelhttp
go-go-opentelemetry-io-otel
go-go-opentelemetry-io-otel-exporters-otlp-otlptrace
go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracegrpc
go-go-opentelemetry-io-otel-exporters-otlp-otlptrace-otlptracehttp
go-go-opentelemetry-io-otel-sdk
go-go-opentelemetry-io-otel-trace
go-go-uber-org-goleak
go-golang-org-x-mod
go-golang-org-x-sync
go-golang-org-x-sys
go-golang-org-x-time
go-google-golang-org-genproto-googleapis-rpc
go-google-golang-org-grpc
go-google-golang-org-protobuf
go-gopkg-in-inf-v0
go-k8s-io-apimachinery
go-k8s-io-client-go
go-k8s-io-cri-api
go-k8s-io-klog-v2
go-tags-cncf-io-container-device-interface))
(home-page "https://containerd.io/")
(synopsis "Container runtime support daemon")
(description
"Containerd is a container runtime with an emphasis on simplicity,
robustness, and portability. It is available as a daemon, which can manage
the complete container lifecycle of its host system: image transfer and
storage, container execution and supervision, low-level storage and network
attachments, etc.")
(license license:asl2.0)))
(define-public go-github-com-containers-gvisor-tap-vsock
(package
(name "go-github-com-containers-gvisor-tap-vsock")
(version "0.8.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/containers/gvisor-tap-vsock")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xz710dmy58gngd0qizjw8g9nkraksqald8vzhwc5h36dqkc8nrf"))
(modules '((guix build utils)))
(snippet
#~(begin
(delete-file-recursively "vendor")
;; Submodules with their own go.mod files and packaged separately:
;;
;; - github.com/containers/gvisor-tap-vsock/tools
(delete-file-recursively "tools")))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/containers/gvisor-tap-vsock"
#:unpack-path "github.com/containers/gvisor-tap-vsock"
#:build-flags
#~(list (string-append "-ldflags="
"-X github.com/containers/gvisor-tap-vsock"
"/pkg/types.gitVersion=" #$version))
#:test-flags
#~(list "-skip"
(string-join
;; Received unexpected error:
;; listen unix /tmp/guix-.../test.sock: bind: invalid argument
(list "TestNotificationSender_Success"
;; Requires network
"TestSuite"
"TestDNS")
"|"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'prune-tests
(lambda* (#:key unpack-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" unpack-path)
;; Requires working DNS.
(substitute* "pkg/services/dns/dns_test.go"
(("Should pass DNS requests to default system DNS.*" all)
(string-append all "\n" "ginkgo.Skip(\"No network.\");"))
(("\"redhat.com\",")
"\"localhost\",")
(("\"52.200.142.250\"")
"\"127.0.0.1\""))))))))
(native-inputs
(list go-github-com-stretchr-testify
go-github-com-foxcpp-go-mockdns))
(propagated-inputs
(list go-github-com-apparentlymart-go-cidr
go-github-com-containers-winquit
go-github-com-coreos-stream-metadata-go
go-github-com-dustin-go-humanize
go-github-com-google-gopacket
go-github-com-inetaf-tcpproxy
go-github-com-insomniacslk-dhcp
;; go-github-com-linuxkit-virtsock ;Windows only
go-github-com-mdlayher-vsock
;; go-github-com-microsoft-go-winio ;Windows only
go-github-com-miekg-dns
go-github-com-onsi-ginkgo
go-github-com-onsi-gomega
go-github-com-opencontainers-go-digest
go-github-com-sirupsen-logrus
go-github-com-songgao-packets
go-github-com-songgao-water
go-github-com-vishvananda-netlink
go-golang-org-x-crypto
go-golang-org-x-mod
go-golang-org-x-sync
go-golang-org-x-sys
go-gopkg-in-yaml-v3
go-gvisor-dev-gvisor))
(home-page "https://github.com/containers/gvisor-tap-vsock")
(synopsis "Network stack for virtualization based on gVisor")
(description "This package provides a replacement for @code{libslirp} and
@code{VPNKit}, written in pure Go. It is based on the network stack of gVisor
and brings a configurable DNS server and dynamic port forwarding.
It can be used with QEMU, Hyperkit, Hyper-V and User-Mode Linux.
The binary is called @command{gvproxy}.")
(license license:asl2.0)))
(define-public go-github-com-rootless-containers-rootlesskit-v3
(package
(name "go-github-com-rootless-containers-rootlesskit-v3")
(version "3.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rootless-containers/rootlesskit")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0giw1whjpm64h8f1iamgym246rr3wl01w7zgw4lygrj7dqk3clmb"))))
(build-system go-build-system)
(arguments
(list
#:skip-build? #t
#:import-path "github.com/rootless-containers/rootlesskit/v3"))
(propagated-inputs
(list go-github-com-containernetworking-plugins
go-github-com-containers-gvisor-tap-vsock
go-github-com-gofrs-flock
go-github-com-google-uuid
go-github-com-gorilla-mux
go-github-com-insomniacslk-dhcp
go-github-com-masterminds-semver-v3
go-github-com-moby-sys-mountinfo
go-github-com-moby-vpnkit
go-github-com-sirupsen-logrus
go-github-com-songgao-water
go-github-com-urfave-cli-v2
go-golang-org-x-sync
go-golang-org-x-sys
go-gotest-tools-v3))
(home-page "https://github.com/rootless-containers/rootlesskit")
(synopsis "Linux-native fakeroot using user namespaces in Golang")
(description
"@code{RootlessKit} is a Linux-native implementation of \"fake root\" using
@url{http://man7.org/linux/man-pages/man7/user_namespaces.7.html,(code
user_namespaces(7))}. It is used to run containers engines as an
unprivileged user, known as \"Rootless mode\".")
(license license:asl2.0)))
;;;
;;; Executables:
@@ -511,7 +150,7 @@ as created by Podman, CRI-O and containerd.")))
(define-public crun
(package
(name "crun")
(version "1.27.1")
(version "1.25.1")
(source
(origin
(method url-fetch)
@@ -521,7 +160,7 @@ as created by Podman, CRI-O and containerd.")))
"/crun-" version ".tar.gz"))
(sha256
(base32
"1w782s95f3xvw3fb66l2ciqkqsg4bk7n9ph31jmvn669ap272ymy"))))
"02kksvnja234k8mpq5j7yms8npbpvh8iz3k03h21lwcqzqsb88rx"))))
(build-system gnu-build-system)
(arguments
(list
@@ -906,7 +545,7 @@ Layer-4 sockets.")
(define-public cni-plugins
(package
(name "cni-plugins")
(version "1.9.1")
(version "1.9.0")
(source
(origin
(method git-fetch)
@@ -915,7 +554,7 @@ Layer-4 sockets.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "12z6w2jk6xgfiwdxys7skpkxldz1cgaa7scgfcr90lsghay59s6w"))
(base32 "0l3jgbizq0yaxld07hsdbh6ix2w6i789101ddk0ldnsmr93jg6ni"))
(snippet
#~(begin (use-modules (guix build utils))
(delete-file-recursively "vendor")))))
@@ -956,33 +595,92 @@ configure network interfaces in Linux containers.")
(license license:asl2.0)))
(define-public gvisor-tap-vsock
(package/inherit go-github-com-containers-gvisor-tap-vsock
(package
(name "gvisor-tap-vsock")
(version "0.8.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/containers/gvisor-tap-vsock")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xz710dmy58gngd0qizjw8g9nkraksqald8vzhwc5h36dqkc8nrf"))
(modules '((guix build utils)))
(snippet
#~(begin
(delete-file-recursively "vendor")
;; Submodules with their own go.mod files and packaged separately:
;;
;; - github.com/containers/gvisor-tap-vsock/tools
(delete-file-recursively "tools")))))
(build-system go-build-system)
(arguments
(substitute-keyword-arguments arguments
((#:install-source? _ #t) #f)
((#:skip-build? _ #t) #f)
((#:tests? _ #t) #f)
((#:phases _ '%standard-phases)
#~(modify-phases %standard-phases
;; Build binary outputs are taken from project's Makefile.
(replace 'build
(lambda arguments
(for-each
(lambda (cmd)
(apply (assoc-ref %standard-phases 'build)
`(,@arguments #:import-path ,cmd)))
(list "github.com/containers/gvisor-tap-vsock/cmd/gvproxy"
"github.com/containers/gvisor-tap-vsock/cmd/qemu-wrapper"
"github.com/containers/gvisor-tap-vsock/cmd/vm"))))
(add-after 'install 'fix-bin-name
(lambda _
(rename-file (string-append #$output "/bin/vm")
(string-append #$output "/bin/gvforwarder"))))))))
(list
#:install-source? #f
#:import-path "github.com/containers/gvisor-tap-vsock/cmd/gvproxy"
#:unpack-path "github.com/containers/gvisor-tap-vsock"
#:build-flags
#~(list (string-append "-ldflags="
"-X github.com/containers/gvisor-tap-vsock"
"/pkg/types.gitVersion=" #$version))
#:test-flags
;; serve UDP error: *net.OpError read udp 127.0.0.1:5354: use of closed
;; network connection
#~(list "-skip" "TestSuite")
#:test-subdirs
#~(list "../../...") ;test the whole library
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'prune-tests
(lambda* (#:key unpack-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" unpack-path)
;; Requires working DNS.
(substitute* "pkg/services/dns/dns_test.go"
(("Should pass DNS requests to default system DNS.*" all)
(string-append all "\n" "ginkgo.Skip(\"No network.\");"))
(("\"redhat.com\",")
"\"localhost\",")
(("\"52.200.142.250\"")
"\"127.0.0.1\""))))))))
(native-inputs
(package-propagated-inputs go-github-com-containers-gvisor-tap-vsock))
(propagated-inputs '())
(inputs '())))
(list go-github-com-apparentlymart-go-cidr
go-github-com-containers-winquit
go-github-com-coreos-stream-metadata-go
go-github-com-dustin-go-humanize
go-github-com-foxcpp-go-mockdns
go-github-com-google-gopacket
go-github-com-inetaf-tcpproxy
go-github-com-insomniacslk-dhcp
;; go-github-com-linuxkit-virtsock ;Windows only
go-github-com-mdlayher-vsock
;; go-github-com-microsoft-go-winio ;Windows only
go-github-com-miekg-dns
go-github-com-onsi-ginkgo
go-github-com-onsi-gomega
go-github-com-opencontainers-go-digest
go-github-com-sirupsen-logrus
go-github-com-songgao-packets
go-github-com-songgao-water
go-github-com-stretchr-testify
go-github-com-vishvananda-netlink
go-golang-org-x-crypto
go-golang-org-x-mod
go-golang-org-x-sync
go-golang-org-x-sys
go-gopkg-in-yaml-v3
go-gvisor-dev-gvisor))
(home-page "https://github.com/containers/gvisor-tap-vsock")
(synopsis "Network stack for virtualization based on gVisor")
(description "This package provides a replacement for @code{libslirp} and
@code{VPNKit}, written in pure Go. It is based on the network stack of gVisor
and brings a configurable DNS server and dynamic port forwarding.
It can be used with QEMU, Hyperkit, Hyper-V and User-Mode Linux.
The binary is called @command{gvproxy}.")
(license license:asl2.0)))
(define-public catatonit
(package
@@ -1187,7 +885,7 @@ being rootless and not requiring any daemon to be running.")
(define-public buildah
(package
(name "buildah")
(version "1.43.1")
(version "1.43.0")
(source
(origin
(method git-fetch)
@@ -1195,7 +893,7 @@ being rootless and not requiring any daemon to be running.")
(url "https://github.com/containers/buildah")
(commit (string-append "v" version))))
(sha256
(base32 "00x4ja5n49jmkmiv54mmkihks9pnjnna7s7py57in6pc9g85xj2y"))
(base32 "0pwdd0mxhxy530c2sbsz0rnnb1jyl41rvnqn9ywfgb6lz5f4ja2a"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
+1 -1
View File
@@ -35,7 +35,7 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages emacs)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages gawk)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ocaml)
+1 -71
View File
@@ -23,7 +23,7 @@
(define-module (gnu packages coreboot)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages pciutils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cargo)
@@ -127,76 +127,6 @@ formats:
It also comes with example files generated by bincfg.")
(license license:gpl3+)))
(define-public bucts
(package
(name "bucts")
(version %coreboot-version)
(source %coreboot-origin)
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ;no tests
#:make-flags #~(list (string-append "CC=" #$(cc-for-target)))
#:phases #~(modify-phases %standard-phases
(delete 'configure) ;no configure script
(add-after 'unpack 'enter-source
(lambda _
(chdir "util/bucts")))
(add-after 'enter-source 'set-version
(lambda _
(substitute* "Makefile"
(("^VERSION:=*")
#$(string-append "VERSION:=" version)))))
;; no install target
(replace 'install
(lambda _
(let ((bin (string-append #$output "/bin"))
(doc (string-append #$output "/share/doc/bucts/"))
(licenses (string-append #$output
"/share/licenses/bucts/")))
(install-file "bucts" bin)
(install-file "readme.md" doc)
(install-file "../../COPYING" licenses)))))))
(inputs (list pciutils))
(home-page "https://coreboot.org")
(synopsis "Tool to swap the BIOS bootblock and backup bootblock on the
Intel I945 chipsets")
(description
"The @command{bucts} command can flip a bit in the BUC.TS register of the
Intel I945 chipsets and show the register status. When the bit is set, it
swaps the bootblock location. Because the bootblock region is often set
read-only by the default BIOS, this enables to bypass that restriction and is
used as part of a procedure to replace the nonfree BIOS with free software on
various computers (Lenovo X60, X60s, X60T, T60, probably more).")
(license license:gpl2)))
(define-public ectool
(package
(name "ectool")
(version %coreboot-version)
(source %coreboot-origin)
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; no test suite
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
"INSTALL=install"
(string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "util/ectool")))
(delete 'configure)))) ; no configure script
(home-page "https://doc.coreboot.org/util.html")
(synopsis "Tool to dump and modify @acronym{EC, Embedded Controller} RAM
on computers such as laptops")
(description "This package provides @command{ectool}, a program to dump
and modify the contents of @acronym{EC, Embedded Controller} RAM
on mobile computers.")
(license license:gpl2)))
(define-public ifdtool
(package
(name "ifdtool")
+12 -263
View File
@@ -28,7 +28,7 @@
;;; Copyright © 2022-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2022 muradm <mail@muradm.net>
;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2022, 2026 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2022-2025 David Elsing <david.elsing@posteo.net>
;;; Copyright © 2022-2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2022-2024, 2026 Maxim Cournoyer <maxim@guixotic.coop>
@@ -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,8 +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>
;;; Copyright © 2026 bdunahu <bdunahu@operationnull.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -134,7 +132,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)
@@ -937,85 +934,6 @@ inspired by the @url{https://github.com/gruns/icecream, Python library} of the
same name.")
(license license:expat)))
(define-public tinyformat
(package
(name "tinyformat")
(version "2.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/c42f/tinyformat")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0j8bxrg7i4rn98iqpfh03krshgcbwh8hq8nm0p3sfdqpira3vi3y"))))
(build-system cmake-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(replace 'install
(lambda _
(install-file "../source/tinyformat.h"
(string-append #$output "/include")))))))
(home-page "https://github.com/c42f/tinyformat")
(synopsis "Minimal, type-safe printf replacement library for C++")
(description "@code{tinyformat} is a type-safe @code{printf} replacement
library in a single C++ header file. Design goals include:
@itemize
@item Type-safety and extensibility for user defined types
@item C99 @code{printf} compatibility, to the extent possible using
@code{std::ostream}
@item POSIX extension for positional arguments
@item Simplicity and minimalism; a single header file to include and
distribute with your projects
@item Augment rather than replace the standard stream formatting mechanism
@item C++98 support, with optional C++11 niceties
@end itemize")
(license license:boost1.0)))
(define-public span
(let ((commit "836dc6a0efd9849cb194e88e4aa2387436bb079b")
(revision "0"))
(package
(name "span")
(version (git-version "0.1.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tcbrindle/span")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1v3x1mj4if8jrr7cmrcbhv8n8ygla0liqb0dic6g6ji7px2pr6jf"))
(snippet
#~(delete-file "test/catch.hpp"))))
(build-system cmake-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-catch2
(lambda _
;; Use catch2 from Guix.
(substitute* (find-files "test" "\\.cpp$")
(("#include \"catch.hpp\"")
"#include <catch2/catch.hpp>"))))
(replace 'install
(lambda _
(install-file "../source/include/tcb/span.hpp"
(string-append #$output "/include")))))))
(native-inputs
(list catch2))
(home-page "https://github.com/tcbrindle/span")
(synopsis "C++20's @code{std::span} shim for older compilers")
(description "This package provides a single-header implementation of
C++20's @code{std::span}, conforming to the C++20 committee draft. It is
compatible with C++11, but will use newer language features if they are
available.")
(license license:boost1.0))))
(define-public google-highway
(package
(name "google-highway")
@@ -1434,9 +1352,6 @@ data transfer object.")
(define-public nlohmann-json
(package
(name "nlohmann-json")
;; XXX: Merge related package `nlohmann-json-no-char8-t' back into here when
;; updating from 3.12.0, as the unique patch it applies will already be
;; incorporated in.
(version "3.12.0")
(home-page "https://github.com/nlohmann/json")
(source
@@ -1510,46 +1425,6 @@ intuitive syntax and trivial integration.")
(define-deprecated-package json-modern-cxx
nlohmann-json)
(define-public nlohmann-json-no-char8-t
(package
;; XXX: Version 3.12.0 does not work without char8_t support.
;; OpenRCT2 compiles with -fno-char8_t, and thus requires this patch.
;; See https://github.com/nlohmann/json/pull/4736
(inherit nlohmann-json)
(name "nlohmann-json-no-char8-t")
(version "3.12.0")
(source
(origin
(method git-fetch)
(uri (git-reference (url "https://github.com/nlohmann/json")
(commit (string-append "v" version))))
(sha256
(base32 "09nqq56ighr3lghhn3fs399lkllghz717j0xyp87x0giw86ayh3h"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
#~(begin
;; Delete bundled software. Preserve doctest_compatibility.h, which
;; is a wrapper library added by this package.
(install-file "./tests/thirdparty/doctest/doctest_compatibility.h"
"/tmp")
(delete-file-recursively "./tests/thirdparty")
(install-file "/tmp/doctest_compatibility.h"
"./tests/thirdparty/doctest")
;; Adjust for the unbundled fifo_map and doctest.
(substitute* (find-files "./tests/" "\\.h(pp)?")
(("#include \"doctest\\.h\"") "#include <doctest/doctest.h>")
(("#include <doctest\\.h>") "#include <doctest/doctest.h>"))
(with-directory-excursion "tests/src"
(let ((files (find-files "." "\\.cpp$")))
(substitute* files
(("#include ?\"(fifo_map.hpp)\"" all fifo-map-hpp)
(string-append
"#include <fifo_map/" fifo-map-hpp ">")))))))
(patches
(search-patches "nlohmann_json_fix_char8_t.patch"))))))
(define-public jthread
(let ((commit "0fa8d394254886c555d6faccd0a3de819b7d47f8")
(revision "0"))
@@ -1795,38 +1670,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")
@@ -3347,7 +3190,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
@@ -3514,7 +3358,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
@@ -3523,7 +3367,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
@@ -3762,7 +3606,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
@@ -3771,7 +3615,7 @@ std::wstring, etc).")
(file-name (git-file-name name version))
(sha256
(base32
"1l13nsl4sgq71m7aifrmmmfyl14vp48vqdh7pb50hxqq6f8bq2b5"))))
"19x1yklf641yrpad6lk4cq3jmird10d5ig8hicm3p9lxh92k78cl"))))
(build-system cmake-build-system)
(arguments
(list
@@ -3782,10 +3626,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++")
@@ -3822,39 +3668,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")
@@ -4524,29 +4337,6 @@ file name and location, as well as filters with friendly names (such as
"This package provides a simple S-Expression parser for C++.")
(license license:gpl3+))))
(define-public sfl-library
(package
(name "sfl-library")
(version "2.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/slavenf/sfl-library")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1ngy86b9y1b8a4j37c14m1jrg0q5b12jj8b0gdnpl5sjb1r2fljk"))))
(build-system cmake-build-system)
(arguments (list #:tests? #f)) ;no tests
(home-page "https://github.com/slavenf/sfl-library")
(synopsis "Header-only C++11/20 container library")
(description "sfl-library provides many STL-like (Standard Template Library)
containers including vectors, associative containers, and unordered containers
based on hash tables. These containers are designed for C++11 and C++20
constant expression usage.")
(license license:zlib)))
(define-public string-view-lite
(package
(name "string-view-lite")
@@ -4704,47 +4494,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")
+832 -2080
View File
File diff suppressed because it is too large Load Diff
+12 -11
View File
@@ -275,17 +275,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
+13 -4
View File
@@ -111,7 +111,7 @@ Refresh}in-DRAM mitigations effectively and as such can trigger bit flips.")
(define-public gallia
(package
(name "gallia")
(version "2.1.1")
(version "2.0.2")
(source
(origin
(method git-fetch)
@@ -120,7 +120,7 @@ Refresh}in-DRAM mitigations effectively and as such can trigger bit flips.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04xzh5fi18wrkjs7sqwlv344jf54njvnly042rhxq3x5jrvpvkdw"))))
(base32 "1yvjpwpqq6r6glfm4qzb8j91d2gsfy4lvygd9z9pg2j6jvcq6f6s"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -132,16 +132,25 @@ Refresh}in-DRAM mitigations effectively and as such can trigger bit flips.")
#:test-flags #~(list "tests/pytest")))
(native-inputs
(list python-poetry-core
python-pygit2
python-pytest
python-pytest-asyncio))
(inputs
(list python-aiosqlite
(list python-aiofiles
python-aiosqlite
python-argcomplete
python-boltons
python-can
python-construct
python-exitcode
python-httpx
python-more-itertools
python-msgspec
python-platformdirs
python-psutil
python-pydantic
python-pygit2
python-tabulate
python-wcwidth
python-zstandard))
(home-page "https://github.com/Fraunhofer-AISEC/gallia")
(synopsis "Extendable Pentesting Framework")
+132 -287
View File
@@ -32,7 +32,7 @@
;;; Copyright © 2017 Kristofer Buffington <kristoferbuffington@gmail.com>
;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018, 2021-2023, 2026 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2018, 2021, 2022, 2023 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
@@ -69,9 +69,6 @@
;;; Copyright © 2025 Simen Endsjø <contact@simendsjo.me>
;;; 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.
;;;
@@ -109,7 +106,7 @@
#:use-module (gnu packages dbm)
#:use-module (gnu packages docbook)
#:use-module (gnu packages emacs)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
@@ -128,10 +125,8 @@
#: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 kerberos)
#:use-module (gnu packages language)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libevent)
@@ -148,7 +143,6 @@
#:use-module (gnu packages networking)
#:use-module (gnu packages node)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages openldap)
#:use-module (gnu packages openstack)
#:use-module (gnu packages pantheon)
#:use-module (gnu packages parallel)
@@ -177,7 +171,6 @@
#:use-module (gnu packages ruby)
#:use-module (gnu packages ruby-check)
#:use-module (gnu packages ruby-xyz)
#:use-module (gnu packages security-token)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages ssh)
@@ -204,7 +197,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)
@@ -1063,31 +1055,6 @@ auto-completion and syntax highlighting.")
\"special\", or \"backslash commands\") on PostgreSQL.")
(license license:bsd-3)))
(define-public python-sqlite-anyio
(package
(name "python-sqlite-anyio")
(version "0.2.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/davidbrochart/sqlite-anyio")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "075fnrrwzn9xc2clkcsyfycjc870khcwnpdg4g726qwl44pfzy2a"))))
(build-system pyproject-build-system)
(arguments
(list
#:build-backend "poetry.core.masonry.api")) ;XXX: python-uv-build is required
(propagated-inputs (list python-anyio python-typing-extensions))
(native-inputs (list python-poetry-core python-pytest))
(home-page "https://github.com/davidbrochart/sqlite-anyio")
(synopsis "Asynchronous client for SQLite using AnyIO")
(description "This package provides an asynchronous client for SQLite
using @code{AnyIO}.")
(license license:expat)))
(define-public python-sqlitedict
(package
(name "python-sqlitedict")
@@ -1186,152 +1153,108 @@ autocompletion and syntax highlighting.")
auto-completion and syntax highlighting.")
(license license:bsd-3)))
;; XXX When updating, check whether boost-for-mysql is still needed.
;; It might suffice to patch cmake/boost.cmake as done in the past.
(define-public mysql
(package
(name "mysql")
(version "9.7.0")
(version "5.7.33")
(source (origin
(method url-fetch)
(uri (list (string-append
"https://cdn.mysql.com/Downloads/MySQL-"
(method url-fetch)
(uri (list (string-append
"https://dev.mysql.com/get/Downloads/MySQL-"
(version-major+minor version) "/"
name "-" version ".tar.gz")
(string-append
"https://downloads.mysql.com/archives/get/file/"
name "-" version ".tar.gz")))
(sha256
(base32
"0v9hc8yzp0f5pwl4kr1a8k7lwyf62g95klxb6avfrc2npjx79dbl"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
(snippet
#~(begin
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
;; Delete bundled source libraries.
(delete-all-but "extra"
;; XXX: The build system doesn't currently
;; support unbundling these.
"json" ;used by bundled opentelemetry
"libbacktrace"
"libcno"
"opentelemetry-cpp"
"opentelemetry-proto"
"rapidjson"
"unordered_dense"
"xxhash")))))
(sha256
(base32
"1bb343mf7n0qg2qz497gxjsqprygrjz1q1pbz76hgqxnsy08sfxd"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ;FIXME: teach build system to use system googletest
#:configure-flags
#~(list "-DBUILD_CONFIG=mysql_release"
"-DWITH_AUTHENTICATION_LDAP=ON"
"-DWITH_AUTHENTICATION_WEBAUTHN=ON"
"-DWITH_BENCHMARK=OFF"
;; XXX: BUILD_ID is disabled so that the INFO_BIN target is not
;; run; this target relies on running mysqld before it is
;; installed, which fails in our case.
"-DWITH_BUILD_ID=OFF"
"-DWITH_FIDO=system"
"-DWITH_SYSTEM_LIBS=ON"
"-DWITH_UNIT_TESTS=OFF" ;avoid bundled googletest
"-DREPRODUCIBLE_BUILD=ON"
"-DMYSQL_DATADIR=/var/lib/mysql"
"-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
"-DINSTALL_INFODIR=share/info"
"-DINSTALL_MANDIR=share/man"
"-DINSTALL_PLUGINDIR=lib/mysql/plugin"
"-DINSTALL_INCLUDEDIR=include/mysql"
"-DINSTALL_DOCREADMEDIR=share/mysql/docs"
"-DINSTALL_SUPPORTFILESDIR=share/mysql"
"-DINSTALL_MYSQLSHAREDIR=share/mysql"
"-DINSTALL_MYSQLTESTDIR=OFF"
"-DINSTALL_DOCDIR=share/mysql/docs"
"-DINSTALL_SHAREDIR=share/mysql")
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'disable-broken-abi-check
(lambda _
;; The ABI check started failing with MySQL 9.7.0 for unknown
;; reasons.
(substitute* "cmake/abi_check.cmake"
(("RUN_ABI_CHECK 1")
"RUN_ABI_CHECK 0"))))
(add-after 'install 'remove-extra-binaries
(lambda _
;; Remove the 3 *_embedded files, which weigh in at
;; 14 MiB each.
(for-each delete-file
(find-files (string-append #$output "/bin")
"_embedded$"))))
(add-after 'install 'wrap-mysql_helpers
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((bin (string-append #$output "/bin"))
(gawk (search-input-file inputs "bin/gawk"))
(coreutils (search-input-file inputs "bin/ls"))
(grep (search-input-file inputs "bin/grep"))
(ps (search-input-file inputs "bin/ps"))
(sed (search-input-file inputs "bin/sed")))
(wrap-program (search-input-file outputs "bin/mysql_config")
`("PATH" suffix
,(list (dirname gawk)
(dirname coreutils)
(dirname sed))))
(wrap-program (search-input-file outputs "bin/mysqld_safe")
`("PATH" suffix
,(list (dirname gawk)
(dirname coreutils)
(dirname grep)
(dirname ps)
(dirname sed)))))))
(add-after 'install 'fix-permissions
;; XXX: Otherwise, the guix daemon reports: "suspicious ownership
;; or permission on `/gnu/store/...-mysql-9.7.0'; rejecting this
;; build output".
(lambda _
(chmod #$output #o755))))))
`(#:configure-flags
'("-DBUILD_CONFIG=mysql_release"
"-DWITH_SSL=system"
"-DWITH_ZLIB=system"
"-DDEFAULT_CHARSET=utf8"
"-DDEFAULT_COLLATION=utf8_general_ci"
"-DMYSQL_DATADIR=/var/lib/mysql"
"-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
"-DINSTALL_INFODIR=share/mysql/docs"
"-DINSTALL_MANDIR=share/man"
"-DINSTALL_PLUGINDIR=lib/mysql/plugin"
"-DINSTALL_SCRIPTDIR=bin"
"-DINSTALL_INCLUDEDIR=include/mysql"
"-DINSTALL_DOCREADMEDIR=share/mysql/docs"
"-DINSTALL_SUPPORTFILESDIR=share/mysql"
"-DINSTALL_MYSQLSHAREDIR=share/mysql"
"-DINSTALL_DOCDIR=share/mysql/docs"
"-DINSTALL_SHAREDIR=share/mysql"
;; Get rid of test data.
"-DINSTALL_MYSQLTESTDIR="
"-DINSTALL_SQLBENCHDIR=")
#:phases (modify-phases %standard-phases
(add-after
'install 'remove-extra-binaries
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; Remove the 3 *_embedded files, which weigh in at
;; 14 MiB each.
(for-each delete-file
(find-files (string-append out "/bin")
"_embedded$"))
#t)))
(add-after
'install 'wrap-mysql_helpers
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(awk (assoc-ref inputs "gawk"))
(coreutils (assoc-ref inputs "coreutils"))
(grep (assoc-ref inputs "grep"))
(ps (assoc-ref inputs "procps"))
(sed (assoc-ref inputs "sed")))
(wrap-program (string-append bin "/mysql_config")
`("PATH" ":" suffix
(,(string-append awk "/bin")
,(string-append coreutils "/bin")
,(string-append sed "/bin"))))
(wrap-program (string-append bin "/mysqld_safe")
`("PATH" ":" suffix
(,(string-append awk "/bin")
,(string-append coreutils "/bin")
,(string-append grep "/bin")
,(string-append ps "/bin")
,(string-append sed "/bin"))))))))))
(native-inputs
(list bison perl pkg-config))
(inputs
(list bash-minimal
boost
boost-for-mysql
coreutils
curl
cyrus-sasl
gawk
grep
icu4c
libaio
libedit
libfido2
libtirpc
lz4
mit-krb5
ncurses
openldap
openssl
protobuf
openssl-1.1
procps
rpcsvc-proto ; rpcgen
rpcsvc-proto ; rpcgen
sed
zlib
`(,zstd "lib")))
zlib))
(home-page "https://www.mysql.com/")
(synopsis "Fast, easy to use, and popular database")
(description
"MySQL is a fast, reliable, and easy to use relational database
management system that supports the standardized Structured Query
Language.")
(license license:gpl2))) ;v2 only -- see 'Election of GPLv2' in LICENSE
(license license:gpl2)))
(define-public mysql-connector-python
(package
(name "mysql-connector-python")
(version "9.7.0")
(version "8.3.0")
(source
(origin
(method git-fetch)
@@ -1340,23 +1263,66 @@ Language.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0zdm35apj1cfraxwlqfmr04pm87qpw73ilb8p88cn08zsa8q11hg"))))
(base32 "18jvpnnwmfrn961rvqmsygp7dw3spf3swhxhal4hhj5hqddckj5f"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 1371 passed
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'compatibility
(lambda _
(substitute* "src/mysql_capi.c"
(("res = mysql_options\\(&self->session, MYSQL_OPT_LOAD_DATA_LOCAL_DIR.*")
"res = 0;")
(("mysql_options\\(&self->session, MYSQL_OPT_LOAD_DATA_LOCAL_DIR.*")
"")
(("mysql_options\\(&self->session, MYSQL_OPT_TLS_CIPHERSUITES.*")
"")
;; The C API does not have mysql_bind_param, so we produce an
;; error here.
(("status = mysql_bind_param.*") "status = 1;")
(("#include \"mysql_capi_conversion\\.h\"" all)
(string-append all "\n" "#include <stdbool.h>")))))
(add-after 'unpack 'chdir
(lambda _
;; Our protobuf is too old for the mysqlx dev API, so use the
;; classic one without the C modules.
(chdir "mysql-connector-python")))
(add-before 'build 'prepare-build
(lambda _
(setenv "MYSQL_CAPI" #$(this-package-input "mysql"))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; Some of these tests might be failing due to the build
;; container's restrictions, others are due to the version
;; mismatch.
(substitute* "tests/cext/test_cext_api.py"
(("def test_change_user") "def _do_not_test_change_user")
(("def test_get_character_set_info")
"def _do_not_test_get_character_set_info"))
(substitute* "tests/test_bugs.py"
(("def test_change_user") "def _do_not_test_change_user")
(("def test_lost_connection") "def _do_not_test_lost_connection")
(("def test_kill_query") "def _do_not_test_kill_query")
;; These all fail because of expired certificates.
(("def test_cext_verify_server_certificate")
"def _do_not_test_cext_verify_server_certificate")
(("def test_pure_verify_server_certificate")
"def _do_not_test_pure_verify_server_certificate")
(("def test_verify_server_name_cext_cnx")
"def _do_not_test_verify_server_name_cext_cnx")
(("def test_verify_server_name_pure_cnx")
"def _do_not_test_verify_server_name_pure_cnx"))
(substitute* '("tests/test_connection.py"
"tests/test_aio_connection.py")
(("def test_allow_local_infile_in_path")
"def _do_not_test_allow_local_infile_in_path")
;; This fails because of expired certificates.
(("def test_connect_with_unix_socket")
"def _do_not_test_connect_with_unix_socket"))
(substitute* "tests/test_constants.py"
(("def test_deprecated")
"def _do_not_test_deprecated"))
(mkdir-p "/tmp/datadir")
(invoke "python3" "unittests.py"
"--verbosity=3"
@@ -1364,8 +1330,9 @@ Language.")
"--keep"
"--mysql-topdir=/tmp/datadir"
"--unix-socket=/tmp/datadir")))))))
(propagated-inputs (list python-protobuf))
(inputs (list mysql protobuf-3.20 openssl-1.1 zlib))
(native-inputs (list python-setuptools))
(inputs (list mysql openssl zlib `(,zstd "lib")))
(home-page "https://dev.mysql.com/doc/connector-python/en/index.html")
(synopsis "MySQL driver written in Python")
(description "MySQL Connector/Python enables Python programs to access
@@ -1672,14 +1639,14 @@ and high-availability (HA).")
(define-public postgresql-17
(package
(name "postgresql")
(version "17.10")
(version "17.7")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"144cb40gn1lasvz0jvz4i72mda8k7pm1bx6azq2vggfddm8h72h7"))
"1dg9labqgph2idaypb8khdvbag29pr3h4bqv5w8k7kgc08rk97pg"))
(patches (search-patches
"postgresql-disable-normalize_exec_path.patch"))))
(build-system gnu-build-system)
@@ -1742,14 +1709,14 @@ pictures, sounds, or video.")
(package
(inherit postgresql-17)
(name "postgresql")
(version "16.14")
(version "16.10")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"0w9lgsn03m4k0v3m622v7fk3gqbfbjvwv34mrrc0i4ip4wa7gl7n"))
"0hib575m9x3z8c71gkcv9jsyq77d3qk7q2zgzvfy6clwrvs8b16y"))
(patches (search-patches
"postgresql-disable-normalize_exec_path.patch"))))
(arguments
@@ -1773,14 +1740,14 @@ pictures, sounds, or video.")
(package
(inherit postgresql-16)
(name "postgresql")
(version "15.18")
(version "15.15")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"1d13qckpslfqamdmp23q3rbzxlp1rqwszylilyllpsp3gzwhvpqi"))
"1ais46b2ij38y75i1w336as03pybyndsd2pp2q8gdjq9igmsllsp"))
(patches (search-patches
"postgresql-disable-resolve_symlinks.patch"))))
(native-inputs (modify-inputs native-inputs
@@ -1793,7 +1760,6 @@ pictures, sounds, or video.")
(inherit postgresql-15)
(name "postgresql")
(version "14.20")
(replacement postgresql-14.23)
(source (origin
(inherit (package-source postgresql-15))
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
@@ -1802,19 +1768,6 @@ pictures, sounds, or video.")
(base32
"0sv45dsmyplfys6dfdjdwmrczl46s82x35xdh311nxj02q7z29vm"))))))
(define-public postgresql-14.23
(package
(inherit postgresql-14)
(name "postgresql")
(version "14.23")
(source (origin
(inherit (package-source postgresql-14))
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"19clihp73ak2p5di90jhg50lqjkkr0iy349gkki30qsl5f11cwnc"))))))
(define-deprecated/public postgresql-13 #f
(package
(inherit postgresql-14)
@@ -3234,64 +3187,6 @@ Driver.")
;; COPYING contains copy of lgpl2.1 - but copyright notices just say "LGPL"
(home-page "https://www.unixodbc.org")))
(define-public sqliteodbc
(package
(name "sqliteodbc")
(version "0.99991")
(source (origin
(method url-fetch)
(uri (string-append "http://www.ch-werner.de/sqliteodbc/"
name "-" version ".tar.gz"))
(sha256
(base32
"0p4avhqxnd2l49g3vpzwrmdi8wxyqzy0vswalaagmqfdsfwav52d"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; no check target
#:configure-flags
#~(list "--disable-static"
(string-append "--with-sqlite3=" #$(this-package-input "sqlite"))
(string-append "--with-odbc=" #$(this-package-input "unixodbc")))
#:phases
#~(modify-phases %standard-phases
(add-before 'install 'create-lib-directory
(lambda _
(mkdir-p (string-append #$output "/lib"))))
(add-after 'install 'remove-extra-sqlite-extensions
(lambda _
;; Keep this package focused on the ODBC driver itself.
(for-each delete-file
(find-files (string-append #$output "/lib")
"^libsqlite3_mod_.*\\.(la|so)$"))))
(add-after 'install 'install-odbcinst.ini
(lambda _
(let ((dir (string-append #$output "/share/sqliteodbc")))
(mkdir-p dir)
(call-with-output-file (string-append dir "/odbcinst.ini")
(lambda (port)
(display
(string-append
"[SQLite3]\n"
"Description = SQLite3 ODBC Driver\n"
"Driver = " #$output "/lib/libsqlite3odbc.so\n"
"Setup = " #$output "/lib/libsqlite3odbc.so\n"
"Threading = 2\n")
port)))))))))
(native-search-paths
(list (search-path-specification
(variable "ODBCSYSINI")
(files '("share/sqliteodbc"))
(separator #f))))
(inputs (list sqlite unixodbc))
(home-page "http://www.ch-werner.de/sqliteodbc/")
(synopsis "ODBC driver for SQLite")
(description
"SQLiteODBC provides an ODBC driver for SQLite 3 databases. It installs
the shared library and a driver registration file so applications using
unixODBC can resolve the @code{SQLite3} driver name from a Guix profile.")
(license license:tcl/tk)))
(define-public nanodbc
(package
(name "nanodbc")
@@ -4293,8 +4188,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
@@ -5174,54 +5069,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")
@@ -5665,7 +5512,7 @@ with integrated support for finding required rows quickly.")
(define-public apache-arrow
(package
(name "apache-arrow")
(version "24.0.0")
(version "23.0.1")
(source
(origin
(method git-fetch)
@@ -5675,7 +5522,7 @@ with integrated support for finding required rows quickly.")
(file-name (git-file-name name version))
(sha256
(base32
"1j3gs5ffa9gx2y2nggmi2zn5rj0bsnjnxrzfnipx6050jz6n8dx9"))))
"1qn7wgavi3kiz4d6w1naqj5631bg87fnj6gbhaxmpmynm5hi9wm7"))))
(build-system cmake-build-system)
(arguments
(list
@@ -5843,8 +5690,6 @@ __version_tuple__ = version_tuple = (~a)~%" version version-tuple))))))
pkg-config
python-cython
python-pytest
python-pytest-runner
python-scikit-build-core
python-setuptools-scm
python-setuptools))
(outputs '("out"))
-113
View File
@@ -1,113 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2026 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages datalog)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages libffi)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages python)
#:use-module (gnu packages sqlite)
#:use-module (guix build-system cmake)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
(define-public souffle
(package
(name "souffle")
(version "2.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/souffle-lang/souffle")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1lrw69g02b17vxxz4g7cj8hbmc39wlzl80vl5fwy40a6b9pxwrsj"))
(snippet
#~(begin
;; Delete bundled dependencies. souffle also uses a forked
;; and modified version of json11. We cannot unbundle
;; that.
(for-each delete-file
(list "licenses/TCBRINDLE SPAN.txt"
"licenses/TINYFORMAT.txt"
"src/include/souffle/utility/span.h"
"src/include/souffle/utility/tinyformat.h"))))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags #~(list "-DSOUFFLE_GIT=OFF"
(string-append "-DPACKAGE_VERSION="
#$version))
;; We disable these tests since they fail with gcc 14. This issue
;; has been reported upstream:
;; https://github.com/souffle-lang/souffle/issues/2576
#:test-exclude (string-join
(list "syntactic/cpp_keywords_run_souffle"
"syntactic/cpp_keywords_c_run_souffle"
"syntactic/cpp_keywords_compare_std_outputs"
"syntactic/cpp_keywords_compare_csv"
"syntactic/cpp_keywords_c_compare_std_outputs"
"syntactic/cpp_keywords_c_compare_csv")
"|")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'replace-bundled-libraries
(lambda _
;; Patch souffle to use tinyformat from Guix.
(substitute* (find-files "src" "\\.(cpp|h)$")
(("#include \"souffle/utility/tinyformat.h\"")
"#include <tinyformat.h>"))
;; Replace span.h with a header that uses span from Guix
;; and provides the same namespace.
(call-with-output-file "src/include/souffle/utility/span.h"
(lambda (port)
(display "#pragma once
#include <span.hpp>
namespace souffle {
using tcb::span;
}
"
port))))))))
(inputs
(list libffi
ncurses
python
span
sqlite
zlib))
(native-inputs
(list bison
flex
tinyformat))
(home-page "https://souffle-lang.github.io/")
(synopsis "Datalog variant")
(description "Soufflé is a variant of Datalog for tool designers crafting
analyses in Horn clauses. Soufflé synthesizes a native parallel C++ program
from a logic specification. The Soufflé language is similar to Datalog (but
has terms known as records), and is frequently used as a domain-specific
language for analysis problems.")
(license (list license:upl ; main license
;; src/include/souffle/profile/htmlJsChartistPlugin.h
;; src/include/souffle/utility/json11.h
license:expat))))
+50 -66
View File
@@ -58,7 +58,7 @@
#:use-module (gnu packages code)
#:use-module (gnu packages compression)
#:use-module (gnu packages digest)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gdb)
@@ -77,6 +77,7 @@
#:use-module (gnu packages mail)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ninja)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
@@ -262,7 +263,7 @@ simple way to add custom protocol messages.")
(define-public c-vise
(package
(name "c-vise")
(version "2.8.0")
(version "2.4.0")
(source
(origin
(method git-fetch)
@@ -270,53 +271,37 @@ simple way to add custom protocol messages.")
(url "https://github.com/marxin/cvise")
(commit (string-append "v" version))))
(sha256
(base32 "1ynhm1d56r25apgvv0wqbdrhjbwigkwrgw92g2czz4nfx77rjxz2"))
(base32 "1i2z5q2pcwh1gpdqc24x1a2q5vzwhblzzq021nzwf304di7m18vl"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-linkage
(lambda _
(substitute* "clang_delta/CMakeLists.txt"
(("\\$\\{LLVM_LINK_LLVM_DYLIB\\}")
"True")
((" LLVM")
" LLVMSupport"))))
(add-before 'build 'hardcode-paths
(lambda _
(substitute* "cvise.py"
(("/bin/bash")
(which "bash"))
(("(.*)# Special case for clang-format" all blank)
(format #f "~a# Special case for unifdef
~aprograms['unifdef'] = ~s
~a"
blank blank (which "unifdef") all)))))
(add-after 'install 'wrap
(lambda _
(let ((python-path (getenv "GUIX_PYTHONPATH")))
(wrap-program (string-append #$output "/bin/cvise")
`("PYTHONPATH" ":" prefix
(,(string-join
(filter (lambda (cand)
(not (string-contains cand "pytest")))
(string-split python-path #\:))
":"))))))))))
(native-inputs
(list flex
python-pytest
python-pytest-flake8))
(list flex python-pytest))
(inputs
(list bash-minimal
clang
llvm
unifdef
python
python-pebble
python-psutil
python-chardet))
(list bash-minimal clang llvm unifdef
python python-pebble python-psutil python-chardet))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-linkage
(lambda _
(substitute* "clang_delta/CMakeLists.txt"
(("\\$\\{LLVM_LINK_LLVM_DYLIB\\}") "True")
((" LLVM") " LLVMSupport"))))
(add-before 'build 'hardcode-paths
(lambda _
(substitute* "cvise.py"
(("/bin/bash") (which "bash"))
(("(.*)# Special case for clang-format" & >)
(string-append > "# Special case for unifdef\n"
> "programs['unifdef'] = '" (which "unifdef") "'\n"
&)))))
(add-after 'install 'wrap
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(python-path (getenv "GUIX_PYTHONPATH")))
(wrap-program (string-append out "/bin/cvise")
`("PYTHONPATH" ":" prefix (,python-path)))
#t))))))
(home-page "https://github.com/marxin/cvise")
(synopsis "Reducer for interesting code")
(description
@@ -993,27 +978,26 @@ engineering.")
(define-public seer-gdb
(package
(name "seer-gdb")
(version "2.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/epasveer/seer")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1szfqybqr5z982vian4f0hpsagiqapzys3axwibyjyg5whjswva1"))))
(version "1.16")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/epasveer/seer.git")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0jdvyg2jab1pvf36pvkyrfsg2wyy8zp1qx0v2ksclgrnr1hja6k6"))))
(build-system qt-build-system)
(arguments
(list
#:tests? #f ;tests are strangely manual
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "src"))))))
`(#:tests? #f ; Those are strangely manual
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "src"))))))
(inputs
(list gdb qtbase qtcharts qtsvg qtwayland))
(list qtbase-5 qtcharts-5 qtwayland-5))
(synopsis "GUI frontend for GDB")
(description "This package provides a frontend to GDB, the GNU debugger.")
(home-page "https://github.com/epasveer/seer")
@@ -1053,7 +1037,7 @@ to aid in debugging.")
(define-public delve
(package
(name "delve")
(version "1.26.3")
(version "1.25.2")
(source
(origin
(method git-fetch)
@@ -1063,7 +1047,7 @@ to aid in debugging.")
(file-name (git-file-name name version))
(sha256
(base32
"0mf363l7md4193cgrpb6hkhmsgnlnrx44q1bzw3zq0bmjrcg3fj7"))
"1b6vp6m4vjx4wfs1djhpizvz40s563jwld9lgjq82svaiilrmlqa"))
(snippet
#~(begin (use-modules (guix build utils))
(delete-file-recursively "vendor")))))
@@ -1081,7 +1065,7 @@ to aid in debugging.")
(list go-github-com-cilium-ebpf
go-github-com-cosiner-argv
go-github-com-creack-pty
go-github-com-derekparker-trie-v3
go-github-com-derekparker-trie
go-github-com-go-delve-liner
go-github-com-google-go-dap
go-github-com-hashicorp-golang-lru
+50 -76
View File
@@ -48,7 +48,6 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
@@ -56,7 +55,7 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages education)
#:use-module (gnu packages emacs)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
@@ -122,83 +121,58 @@ Carnegie Mellon University.")
"https://github.com/cmusphinx/cmudict/blob/master/LICENSE"))))
(define-public dico
(let ((commit "05da4bc9e613834fdb065e38c7181044d8889575")
(revision "0"))
(package
(name "dico")
(version (git-version "2.12" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.gnu.org.ua/dico.git")
(commit commit)
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "1fmr01gpvvb1p6p9ylr67nqx8ymmmkqjhsi9y5zvp2nc32cgxvah"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags #~(list "--disable-static")
#:phases
#~(modify-phases %standard-phases
(replace 'bootstrap
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "grecs/bootstrap"
(("/bin/sh")
(which "bash"))
((" GRECS_GIT_ID=.*")
" GRECS_GIT_ID=v1.0-25-g51b12be\n"))
(invoke "perl" "./bootstrap" "--force" "--skip-po")))
(add-before 'build 'post-configure
(lambda* (#:key inputs #:allow-other-keys)
;; For some reason, this file is missing.
(install-file "gnulib/lib/getopt.c"
"xdico/gnu")
;; This code invokes "/bin/sh -c 'm4 -s ...'".
(substitute* "grecs/src/grecs-lex.l"
(("\"/bin/sh")
(string-append "\""
(search-input-file inputs "/bin/sh"))))))
(add-before 'check 'silence-guile
(lambda _
;; Guile is too talkative, which disturbs the test
;; infrastructure. Gag it.
(setenv "GUILE_AUTO_COMPILE" "0")
(setenv "GUILE_WARN_DEPRECATED" "no"))))))
(native-inputs
(list autoconf-2.71
automake
bison
flex
gettext-minimal
groff
libtool
perl
texinfo))
(inputs
(list m4 ;used at run time
bash-minimal ;likewise
pcre
python-wrapper
guile-3.0
gsasl
readline
zlib
wordnet
libxcrypt ;for 'crypt'
libltdl))
(home-page "https://www.gnu.org.ua/software/dico/")
(synopsis "Implementation of DICT server (RFC 2229)")
(description
"GNU Dico implements a flexible dictionary server and client according
to RFC 2229 (DICT Server). It is able to access any database available,
(package
(name "dico")
(version "2.12")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/dico/dico-"
version ".tar.xz"))
(sha256
(base32
"1xvahrav8aml90qcj4cj3a33y0n7nm1k0ywgks1zy2q91v2qk2vj"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags #~(list "--disable-static")
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-shell-file-name
(lambda* (#:key inputs #:allow-other-keys)
;; This code invokes "/bin/sh -c 'm4 -s ...'".
(substitute* "grecs/src/grecs-lex.c"
(("\"/bin/sh\"")
(string-append "\""
(search-input-file inputs "/bin/sh")
"\"")))))
(add-before 'check 'silence-guile
(lambda _
;; Guile is too talkative, which disturbs the test
;; infrastructure. Gag it.
(setenv "GUILE_AUTO_COMPILE" "0")
(setenv "GUILE_WARN_DEPRECATED" "no"))))))
(native-inputs (list groff))
(inputs
(list m4 ;used at run time
bash-minimal ;likewise
pcre
python-wrapper
guile-3.0
gsasl
readline
zlib
wordnet
libxcrypt ;for 'crypt'
libltdl))
(home-page "https://www.gnu.org.ua/software/dico/")
(synopsis "Implementation of DICT server (RFC 2229)")
(description
"GNU Dico implements a flexible dictionary server and client according to
RFC 2229 (DICT Server). It is able to access any database available,
regardless of format, thanks to its modular structure. New modules may be
written in C, Guile or Python. Dico also includes a command-line client,
which may be used to query remote dictionary databases.")
(license license:gpl3+))))
(license license:gpl3+)))
(define-public libmaa
(package
+33 -81
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>
@@ -93,8 +93,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)
@@ -105,6 +103,7 @@
#:use-module (gnu packages libbsd)
#:use-module (gnu packages linux)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ninja)
#:use-module (gnu packages nss)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-web)
@@ -264,14 +263,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
@@ -294,7 +293,6 @@ tmpfs/ramfs filesystems.")
(,util-linux "lib")))
(native-inputs
(list gettext-minimal
pkg-config
;; For the tests.
e2fsprogs
@@ -309,6 +307,18 @@ tmpfs/ramfs filesystems.")
tables. It includes a library and command-line utility.")
(license license:gpl3+)))
(define-public parted-3.4
(package
(inherit parted)
(version "3.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/parted/parted-"
version ".tar.xz"))
(sha256
(base32
"0hjkv84x1bs2qqyx1fnzjqyyqrhv7kpdbq9bgydmi99d8wi80ag1"))))))
(define-public fdisk
(package
(name "fdisk")
@@ -409,49 +419,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")
@@ -1224,25 +1191,16 @@ and its highly optimized now for efficient performance.")
(package
(name "volume-key")
(version "0.3.12")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://pagure.io/volume_key")
(commit (string-append "volume_key-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0zadzbh26ckk263w02d02r2x3mry2kxbybkhwwaxwpv6jsrm7xr6"))))
(source (origin
(method url-fetch)
(uri (string-append "https://releases.pagure.org/volume_key/volume_key-"
version ".tar.xz"))
(sha256
(base32
"16rhfz6sjwxlmss1plb2wv2i3jq6wza02rmz1d2jrlnsq67p98vc"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
automake
gettext-minimal
libtool
pkg-config
python ; used to generate the Python bindings
python-setuptools
swig))
(list pkg-config swig-4.0 python-3)) ; used to generate the Python bindings
(inputs
(append
(cons cryptsetup-minimal (libcryptsetup-propagated-inputs))
@@ -1252,21 +1210,15 @@ and its highly optimized now for efficient performance.")
glib
gpgme)))
(arguments
(list
#:tests? #f ; not sure how tests are supposed to pass, even when run manually
#:configure-flags
#~(list "--without-python"
(string-append "--with-gpgme-prefix="
#$(this-package-input "gpgme")))
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'set-python-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((python #$(this-package-native-input "python")))
(setenv "PYTHON3"
(string-append python "/bin/python3"))
(setenv "PYTHON3_CONFIG"
(string-append python "/bin/python3-config"))))))))
`(#:tests? #f ; not sure how tests are supposed to pass, even when run manually
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-python.h-path
(lambda* (#:key inputs #:allow-other-keys)
(let ((python (assoc-ref inputs "python")))
(substitute* "Makefile.in"
(("/usr/include/python") (string-append python "/include/python")))
#t))))))
(home-page "https://pagure.io/volume_key")
(synopsis "Manipulate storage volume encryption keys")
(description
+3 -8
View File
@@ -46,13 +46,12 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz))
(define-public boinc-client
(package
(name "boinc-client")
(version "8.2.12")
(version "8.2.9")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -63,7 +62,7 @@
(file-name (git-file-name "boinc" version))
(sha256
(base32
"0531n0yij1gh06xy6plwivbpmhqfq15jizg3rdgri40nz41rzbgr"))))
"0ik9423ii6kal29jdn907pxy8w86zpi8n158qx1gcsh8lsaif1v5"))))
(build-system gnu-build-system)
(arguments
(list
@@ -109,11 +108,7 @@ resources). It supports virtualized, parallel, and GPU-based applications.")
"--with-gtk"
"--with-auth")))
(native-inputs
(list autoconf
automake
pkg-config
python-setuptools
which))
(list pkg-config autoconf automake which))
(inputs
(list avahi
gtk+
+18 -2
View File
@@ -200,13 +200,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
@@ -297,6 +297,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")
+6 -9
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.
;;;
@@ -41,7 +40,6 @@
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
@@ -49,10 +47,10 @@
#:use-module (gnu packages gdb)
#:use-module (gnu packages libedit)
#:use-module (gnu packages llvm)
#:use-module (gnu packages ninja)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages textutils)
#:use-module (gnu packages xorg)
@@ -117,7 +115,6 @@
("ldc" ,gdmd)
("ninja" ,ninja)
("python-wrapper" ,python-wrapper)
("python-setuptools" ,python-setuptools)
("tzdata" ,tzdata-for-tests)
("unzip" ,unzip)))
(home-page "http://wiki.dlang.org/LDC")
@@ -323,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)))))
+4 -94
View File
@@ -24,7 +24,7 @@
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2024 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2024-2026 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2024, 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2026 Anderson Torres <anderson.torres.8519@gmail.com>
;;;
@@ -56,7 +56,7 @@
#:use-module (gnu packages datastructures)
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
#:use-module (gnu packages glib)
@@ -77,8 +77,6 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages ragel)
#:use-module (gnu packages serialization)
@@ -95,8 +93,6 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
@@ -115,7 +111,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"))))
@@ -308,58 +303,6 @@ protocol.")
(home-page "https://github.com/earlchew/cloudflare-cli")
(license license:expat))))
(define-public ddclient
(package
(name "ddclient")
(version "4.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ddclient/ddclient")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0sz4f7qx4yjg6q6ybhzilb7f0kshz46c54y3i4hq2nww2bhkc8a4"))))
(build-system gnu-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'bootstrap 'patch-ddclient.in-shebang
(lambda _
;; This is run in the bootstrap phase, so patch before
(patch-shebang "ddclient.in")))
(add-after 'install 'wrap-program
(lambda* (#:key inputs #:allow-other-keys)
(wrap-program (string-append #$output "/bin/ddclient")
`("PERL5LIB" ":" prefix
,(map (lambda (input-name)
(string-append (assoc-ref inputs input-name)
"/lib/perl5/site_perl"))
'("perl-json")))))))))
(native-inputs
(list autoconf
automake
perl-http-daemon
perl-plack
perl-test-mockmodule
perl-test-tcp
perl-test-warnings))
(inputs
(list curl
perl
perl-json
bash-minimal))
(home-page "https://github.com/ddclient/ddclient")
(synopsis "Dynamic DNS update client")
(description
"ddclient is used to update dynamic DNS entries for accounts on many
dynamic DNS services. It supports a wide range of routers and protocols,
including Cloudflare, Namecheap, DynDNS, FreeDNS, Google Domains, and many
more.")
(license license:gpl2+)))
(define-public ldns
(package
(name "ldns")
@@ -555,39 +498,6 @@ and BOOTP/TFTP for network booting of diskless machines.")
;; Source files only say GPL2 and GPL3 are allowed.
(license (list license:gpl2 license:gpl3))))
(define-public dnsupdate
(package
(name "dnsupdate")
(version "0.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lopsided98/dnsupdate")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0bp6mm0yhg4hs698xdmvcfad4jqf5rgb1cab88pfzyx9w52x0ag6"))))
(build-system pyproject-build-system)
(arguments
(list #:test-backend #~'unittest
#:test-flags #~'("discover" "-p" "*_test.py")))
(native-inputs
(list python-setuptools))
(propagated-inputs
(list python-beautifulsoup4
python-netifaces
python-pyyaml
python-requests))
(home-page "https://github.com/lopsided98/dnsupdate")
(synopsis "Modern and flexible dynamic DNS client")
(description
"Dnsupdate is a dynamic DNS client that provides support for multiple DNS
services, including Afraid.org FreeDNS, Cloudflare, IETF standard DNS
updates (nsupdate), and custom HTTP-based services. It uses YAML
configuration files and supports multiple address detection methods.")
(license license:gpl3+)))
;; 'bind' is the name of a built-in Guile procedure, which is why we choose a
;; different name here.
(define-public isc-bind
@@ -841,14 +751,14 @@ to result in system-wide compromise.")
(define-public unbound
(package
(name "unbound")
(version "1.25.1")
(version "1.24.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.unbound.net/downloads/unbound-"
version ".tar.gz"))
(sha256
(base32 "0vsqmgnq7ibi0b3akzy45nqf0wazmb0bmpk2fp8wyn89gckvds0g"))))
(base32 "1nwwwmwazwx40nm88lhh7k1basml2ai6j9q30gnclvca00zbbrs4"))))
(build-system gnu-build-system)
(outputs '("out" "python"))
(native-inputs
-65
View File
@@ -44,7 +44,6 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages containers)
#:use-module (gnu packages compression)
#:use-module (gnu packages glib)
#:use-module (gnu packages golang)
@@ -198,50 +197,6 @@ enforce convention and best practices for metrics collection in Docker
projects.")
(license (list license:asl2.0 license:cc-by-sa4.0))))
(define-public go-github-com-moby-policy-helpers
(package
(name "go-github-com-moby-policy-helpers")
(version "0.0.0-20260507153417-a39d60132186")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/moby/policy-helpers")
(commit (go-version->git-ref version))))
(file-name (git-file-name name version))
(sha256
(base32 "12fa602jianip7dg98f2i9i686s2a9bsclw8sqxw1ac1v19qlqr8"))
(modules '((guix build utils)))
(snippet '(delete-file-recursively "vendor"))))
(build-system go-build-system)
(arguments
(list
#:go go-1.25
#:embed-files #~(list ".*\\.json")
#:import-path "github.com/moby/policy-helpers"))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
(list go-github-com-containerd-containerd-v2
go-github-com-containerd-errdefs
go-github-com-containerd-platforms
go-github-com-distribution-reference
go-github-com-gofrs-flock
go-github-com-in-toto-in-toto-golang
go-github-com-opencontainers-go-digest
go-github-com-opencontainers-image-spec
go-github-com-pkg-errors
go-github-com-sigstore-protobuf-specs
go-github-com-sigstore-sigstore
go-github-com-sigstore-sigstore-go
go-github-com-theupdateframework-go-tuf-v2
go-golang-org-x-sync))
(home-page "https://github.com/moby/policy-helpers")
(synopsis "Policy helpers for Docker")
(description "This package provides a policy helpers for Moby (Docker)
and BuildKit. It is a work in progress.")
(license license:asl2.0)))
(define-public python-docker
(package
(name "python-docker")
@@ -372,26 +327,6 @@ applications services. Then, using a single command, the containers are
created and all the services are started as specified in the configuration.")
(license license:asl2.0)))
(define-public docker-policy-helper
(package/inherit go-github-com-moby-policy-helpers
(name "docker-policy-helper")
(arguments
(substitute-keyword-arguments arguments
((#:import-path _) "github.com/moby/policy-helpers/cmd/policy-helper")
((#:install-source? _ #t) #f)
((#:skip-build? _ #t) #f)
((#:tests? _ #t) #f)
((#:unpack-path _ "") "github.com/moby/policy-helpers")
((#:phases phases '%standard-phases)
#~(modify-phases #$phases
(add-after 'install 'fix-bin-name
(lambda _
(rename-file (string-append #$output "/bin/policy-helper")
(string-append #$output "/bin/docker-policy-helper"))))))))
(native-inputs (package-propagated-inputs go-github-com-moby-policy-helpers))
(propagated-inputs '())
(inputs '())))
(define-public python-docker-pycreds
(package
(name "python-docker-pycreds")
+14 -32
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2018, 2026 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
@@ -57,7 +57,7 @@
#:use-module (gnu packages bison)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages docbook)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gettext)
@@ -191,20 +191,21 @@ markup) can be customized and extended by the user.")
(define-deprecated asciidoc-py3 asciidoc)
(define-public doxygen-1.16
(define-public doxygen
(package
(name "doxygen")
(version "1.16.1")
(version "1.14.0")
(home-page "https://www.doxygen.nl/")
(source
(origin
(method url-fetch)
(uri (list (string-append home-page "files/doxygen-" version
".src.tar.gz")
(string-append "mirror://sourceforge/doxygen/rel-" version
"/doxygen-" version ".src.tar.gz")))
(sha256
(base32 "1a33w82ln692qsf3ls0j31f6khljjs1cy3bwd70pra2fa4xy6710"))))
(source (origin
(method url-fetch)
(uri (list (string-append home-page "files/doxygen-"
version ".src.tar.gz")
(string-append "mirror://sourceforge/doxygen/rel-"
version "/doxygen-" version
".src.tar.gz")))
(sha256
(base32
"0pbbdvc1zxps6mi58bry16rcrdw6b9gvf9nhv0kp60qkmc8nslyl"))))
(build-system cmake-build-system)
(native-inputs
(list bison
@@ -248,25 +249,6 @@ IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl,
and to some extent D.")
(license license:gpl3+)))
(define-public doxygen-1.14
(package
(inherit doxygen-1.16)
(name "doxygen")
(version "1.14.0")
(home-page "https://www.doxygen.nl/")
(source (origin
(method url-fetch)
(uri (list (string-append home-page "files/doxygen-"
version ".src.tar.gz")
(string-append "mirror://sourceforge/doxygen/rel-"
version "/doxygen-" version
".src.tar.gz")))
(sha256
(base32
"0pbbdvc1zxps6mi58bry16rcrdw6b9gvf9nhv0kp60qkmc8nslyl"))))))
(define-public doxygen doxygen-1.14)
(define-public halibut
(package
(name "halibut")
+1 -1
View File
@@ -29,7 +29,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages gettext)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages base)
+2 -2
View File
@@ -147,13 +147,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.
+2 -41
View File
@@ -206,7 +206,7 @@ with Microsoft Compiled HTML (CHM) files.")
python-css-parser
python-cssselect
python-dateutil
python-dnspython
python-dnspython-1.16
python-feedparser
python-fonttools
python-html2text
@@ -282,9 +282,7 @@ tags = [\"WS_X11\"]")
(string-append "[tool.sip.project]
sip-include-dirs = [\""
#$(this-package-input "python-pyqt")
"/lib/python"
#$(version-major+minor (package-version python))
"/site-packages/PyQt6/bindings\"]")))
"/lib/python3.11/site-packages/PyQt6/bindings\"]")))
(substitute* "src/calibre/ebooks/pdf/pdftohtml.py"
(("PDFTOHTML = 'pdftohtml'")
(string-append "PDFTOHTML = \""
@@ -416,43 +414,6 @@ e-books for convenient reading.")
accessing and converting various ebook file formats.")
(license license:expat)))
(define-public epub-thumbnailer
;; See: <https://github.com/marianosimone/epub-thumbnailer/issues/46>.
(let ((commit "de4b5bf0fcd1817d560f180231f7bd22d330f1be")
(revision "0"))
(package
(name "epub-thumbnailer")
(version (git-version "0.0.0" revision commit))
(home-page "https://github.com/marianosimone/epub-thumbnailer")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1bkknrcds67qkgci6kdkv51fz8hzmqg8z1vkkni4jl4vgix7cjxg"))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;no tests provided
#:phases
#~(modify-phases %standard-phases
(add-after 'strip 'rename-program
(lambda _
(with-directory-excursion #$output
(rename-file "bin/epub-thumbnailer.py"
"bin/epub-thumbnailer")))))))
(propagated-inputs (list python-pillow))
(native-inputs (list python-setuptools))
(synopsis
"Extract the cover of an epub book and create a thumbnail for it")
(description
"@code{epub-thumbnailer} is a simple script that tries to find a cover
into an epub file and creates a thumbnail for it.")
(license license:gpl3))))
(define-public inkbox
(package
(name "inkbox")
+1 -1
View File
@@ -42,7 +42,7 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages django)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
+45
View File
@@ -204,3 +204,48 @@ and EFI variable management.")
;; Library routines (in lib/) are under LGPL 2.1.
;; Compiling/linking/using OpenSSL is permitted.
(license (list license:gpl2 license:lgpl2.1))))
(define-public efilinux
(package
(name "efilinux")
(version "1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mfleming/efilinux")
(commit (string-append "efilinux-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0b4nxzr3wl5v4b52r79iw1arfgasz26xb38r2blw9v2qz2s1q9w2"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(list "CC=gcc"
,@(match (%current-system)
("aarch64-linux"
'("ARCH=aarch64"))
("armhf-linux"
'("ARCH=arm"))
(_ '()))
(string-append "INCDIR=" (assoc-ref %build-inputs "gnu-efi")
"/include")
(string-append "LIBDIR=" (assoc-ref %build-inputs "gnu-efi")
"/lib"))
#:tests? #f ; No tests exist.
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(install-file "efilinux.efi"
(string-append (assoc-ref outputs "out")
"/libexec"))
#t)))))
(inputs
(list gnu-efi))
(synopsis "Minimal Linux loader for UEFI")
(description "This package provides a minimal Linux loader as an UEFI
program.")
(home-page "https://github.com/mfleming/efilinux")
(license license:bsd-2)))
+53 -449
View File
@@ -90,7 +90,7 @@
#:use-module (gnu packages elf)
#:use-module (gnu packages embedded)
#:use-module (gnu packages engineering)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk)
@@ -104,13 +104,11 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gperf)
#:use-module (gnu packages graph)
#:use-module (gnu packages graphics)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages groff)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages java)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libffi)
@@ -195,10 +193,6 @@
(add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
(assoc-ref glib-or-gtk:%standard-phases
'generate-gdk-pixbuf-loaders-cache-file))
(add-after 'unpack 'fix-python-incompatibilities
(lambda _
(substitute* (find-files "." "\\.py$")
(("assertEquals") "assertEqual"))))
(add-before 'build 'set-home-env
(lambda _
(setenv "HOME" "/tmp")))
@@ -245,8 +239,8 @@ are also taken from the original.")
(license license:gpl3+))))
(define-public abc
(let ((commit "7bf1177d3900212df9e5c32ffc3ff2f59bc9b02b")
(revision "11"))
(let ((commit "80c8a9a1928ef8148a6b504e9590ec07c55c8bcf")
(revision "10"))
(package
(name "abc")
(version (git-version "0.0" revision commit))
@@ -258,7 +252,7 @@ are also taken from the original.")
(file-name (git-file-name name version))
(sha256
(base32
"1zyip7x3av03mp766m60md2a8g8xp4divpgxj6n4760i753i9b85"))))
"1fbnwsd841z86vfv45443qfpx0l199vf08sgms8wyz19jw7m5ds6"))))
(build-system gnu-build-system)
(inputs
(list readline))
@@ -283,7 +277,7 @@ formal verification.")
(package
(inherit abc)
(name "abc-yosyshq")
(version "0.65")
(version "0.64")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -292,53 +286,12 @@ formal verification.")
(file-name (git-file-name name version))
(sha256
(base32
"11viizz5kxh93a56fqxq0ma4945whzlfagw5bb61aw2jlyqym9ka"))))
"1jk74yq7dnrnai8r9hqc10jcjmgj50jxj6hsflmvc61acm1r3f8r"))))
(home-page "https://github.com/YosysHQ/abc/")
(description "ABC is a program for sequential logic synthesis and
formal verification. This is the Yosyshq fork of ABC.")
(license (license:non-copyleft "file:///copyright.txt"))))
(define-public appcsxcad
(package
(name "appcsxcad")
(version "0.2.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thliebig/AppCSXCAD")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "145awcsg4vl2xmrh5yf9fcasmghrai3x6ivgdxmrm1w3v9gyaccf"))))
(build-system qt-build-system)
(arguments
(list
#:qtbase qtbase ;for Qt 6
#:tests? #f)) ;No tests.
(inputs (list boost
cgal
csxcad
eigen
expat
freetype
gmp
hdf5
libjpeg-turbo
libpng
libtiff
lz4
openmpi
qcsxcad
tinyxml
vtk))
(home-page "https://github.com/thliebig/AppCSXCAD")
(synopsis "Minimal GUI application for the @code{qcsxcad} library")
(description
"A minimal application for the @code{qcsxcad} library which is used to
describe geometrical objects and their physical and non-physical properties.")
(license license:gpl3)))
(define-public apycula
(package
(name "apycula")
@@ -450,7 +403,7 @@ standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
(define-public ciel
(package
(name "ciel")
(version "2.4.1")
(version "2.4.0")
(source
(origin
(method git-fetch)
@@ -459,7 +412,7 @@ standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "08r30ighn86995dcf7278k9nrci8wbp6kglgk011y6g80z9m2zm7"))))
(base32 "0cj4cpmpqi7aqj9jkpp87qs9bjcg3j97adv1s91pnfrkplff8rh1"))))
(arguments
(list
#:tests? #f ;no tests
@@ -489,62 +442,6 @@ standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
chip design and @acronym{EDA, Electronic Design Automation}.")
(license license:asl2.0)))
(define-public csxcad
(package
(name "csxcad")
(version "0.6.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thliebig/CSXCAD")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1c383zsv4fp40kmpawamfi9zg3b8x3d4m091ldwk15mii3467hp3"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ; No tests.
#:configure-flags
#~(list
(string-append "-DFPARSER_ROOT_DIR=" #$(this-package-input "fparser")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-cmake-and-sources
(lambda _
(substitute* "CMakeLists.txt"
((" system\n")
"")
(("find_package\\(HDF5 1.8 COMPONENTS C HL REQUIRED\\)")
"find_package(HDF5 REQUIRED COMPONENTS C HL)"))
;; Fix missing `std::`.
;; This is fixed in upstream already but not tagged.
(substitute* "src/CSPropDiscMaterial.cpp"
(("\tcout ")
"\tstd::cout ")))))))
(inputs (list boost
cgal
eigen
fparser
hdf5
gmp
libjpeg-turbo
libpng
libtiff
lz4
mpfr
openmpi
tinyxml
vtk
zlib))
(home-page "https://github.com/thliebig/CSXCAD")
(synopsis "3D geometry library for C++")
(description
"@code{csxcad} is a C++ library to describe geometrical objects
and their physical or non-physical properties for electromagnetics simulations.")
(license license:lgpl3+)))
(define-public comedilib
(package
(name "comedilib")
@@ -569,7 +466,7 @@ individual low-level driver modules.")
(define-public eqy
(package
(name "eqy")
(version "0.65")
(version "0.64")
(source
(origin
(method git-fetch)
@@ -611,8 +508,7 @@ individual low-level driver modules.")
;; https://github.com/YosysHQ/eqy/actions/runs/18767539188/job/53545383858
(invoke "make" "-C" "examples/spm")
(invoke "make" "-C" "examples/simple"))))
(add-after 'install 'python:wrap
(assoc-ref py:%standard-phases 'wrap)))))
(add-after 'install 'python:wrap py:wrap))))
(native-inputs
(list clang python-minimal-wrapper python-sphinx texinfo yosys))
(inputs
@@ -1021,7 +917,7 @@ files.")
(define-public klayout
(package
(name "klayout")
(version "0.30.9")
(version "0.30.7")
(source
(origin (method git-fetch)
(uri (git-reference
@@ -1030,7 +926,7 @@ files.")
(file-name (git-file-name name version))
(sha256
(base32
"1v5ddw7xixvdc3qshd0lkrc3ayk2q5wkk1zbhvsidq0kzlqbr2z5"))))
"0xyrn9vhx871vm141hgsb9qrdim51vfk2mw8hcqyam1ixkbz5jjv"))))
(build-system copy-build-system)
(arguments
(list
@@ -1173,7 +1069,7 @@ characterization result in a liberty library file.")
(define-public kicad
(package
(name "kicad")
(version "10.0.3")
(version "10.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1181,7 +1077,7 @@ characterization result in a liberty library file.")
(commit version)))
(sha256
(base32
"0ldaj072x16452xw2wszbk20g932rz36zappjrxc4m6ygx298aa3"))
"1470x1276yvd8li3w25zjg73fkpl2qp4dsx7adanafq5c4l47rmc"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -1289,9 +1185,7 @@ characterization result in a liberty library file.")
"Kicad is a program for the formation of printed circuit
boards and electrical circuits. The software has a number of programs that
perform specific functions, for example, pcbnew (Editing PCB), eeschema (editing
electrical diagrams), gerbview (viewing Gerber files) and others. To use
SQLite-backed database libraries, install the optional @code{sqliteodbc}
package.")
electrical diagrams), gerbview (viewing Gerber files) and others.")
(license license:gpl3+)))
(define-public kicad-doc
@@ -1306,7 +1200,7 @@ package.")
(file-name (git-file-name name version))
(sha256
(base32
"1532y6whn1bcwjb417qlga1hibgpfqs594l9zs4c8f5ymaqb8s1b"))))
"1k0ayxsy0nnv9qxkii9yrxs7jx9y3wfjpsv5yl9wql3vdg3qay69"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_FORMATS=html"
@@ -1314,7 +1208,7 @@ package.")
#:tests? #f)) ;no test suite
(native-inputs (list asciidoc
gettext-minimal
git-minimal/pinned
git-minimal
perl
perl-unicode-linebreak
perl-yaml-tiny
@@ -1338,7 +1232,7 @@ package.")
(file-name (git-file-name name version))
(sha256
(base32
"05h8dbygch2kp4s5ikspxngwv999j7jwsiwm4pzwwcrir7dqzdfl"))))
"0khfnln0f2zsz5hy31nw2rr0nflb2z3s9n9f7g41g03m9l3s43v2"))))
(build-system cmake-build-system)
(native-inputs (list python-wrapper))
(arguments
@@ -1368,7 +1262,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
"0wdzsn7z11wc5yskk576a4a6qfagsvw0y6r034inxrnfc32aiah9"))))
"0ymmd1rzrczpvcqzw1mld9x8xhbka0vvjy3kdqwysg4ri97f5wrm"))))
(synopsis "Official KiCad footprint libraries")
(description "This package contains the official KiCad footprint libraries.")))
@@ -1385,7 +1279,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
"01nbjcs3890hyfmafc623ldmfi9n8sjr5m0wripz5fq5fjdnzqxl"))))
"0k91iw661fpzb7saryjxdcdvk1kis7dhbcpzp7xzjk84i4jvxrp5"))))
(synopsis "Official KiCad 3D model libraries")
(description "This package contains the official KiCad 3D model libraries.")))
@@ -1407,60 +1301,6 @@ libraries.")
(description "This package contains the official KiCad project and
worksheet templates.")))
(define-public kicad-cern-libraries
;; Upstream does not tag releases.
(let ((commit "980670fefdf71965aae6c56194d7f2a68c3e6a68")
(revision "0"))
(package
(name "kicad-cern-libraries")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/ohwr/cern-kicad-libs.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0lr1p28gknbgsr86hbzh87plagcyc040v6141xmha280n78h2l62"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("SchLib" "share/kicad/cern/")
("PcbLib" "share/kicad/cern/")
("CERN.sqlite" "share/kicad/cern/")
("CERN_Linux.kicad_dbl" "share/kicad/cern/")
("fp-lib-table" "share/kicad/cern/")
("sym-lib-table" "share/kicad/cern/")
("README.md" "share/doc/kicad-cern-libraries/")
("LICENSE" "share/doc/kicad-cern-libraries/")
("LICENSES" "share/doc/kicad-cern-libraries/")
("CHECKSUMS" "share/doc/kicad-cern-libraries/")
("pcblib_conversion_log.txt" "share/doc/kicad-cern-libraries/")
("schlib_conversion_log.txt" "share/doc/kicad-cern-libraries/"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'adapt-library-tables
(lambda _
(substitute* "sym-lib-table"
(("\\$\\{KICAD9_SYMBOL_DIR\\}")
"${KICAD10_SYMBOL_DIR}")))))))
(propagated-inputs (list sqliteodbc))
(native-search-paths
(list (search-path-specification
(variable "CERN_LIB_DIR")
(files '("share/kicad/cern"))
(separator #f))))
(home-page "https://gitlab.com/ohwr/cern-kicad-libs")
(synopsis "CERN component libraries for KiCad")
(description
"This package provides CERN's KiCad component libraries, including
schematic symbols, footprints, a SQLite-backed database library, and KiCad
library tables. The libraries are generated from CERN's Altium Designer
libraries.")
(license license:ohl2-p))))
(define-public lepton-eda
(package
(name "lepton-eda")
@@ -1662,7 +1502,7 @@ an embedded event driven algorithm.")
(define-public librelane
(package
(name "librelane")
(version "3.0.3")
(version "3.0.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1671,16 +1511,12 @@ an embedded event driven algorithm.")
(file-name (git-file-name name version))
(sha256
(base32
"0g4b5kby7zp8v59xzxmfxh3a2yqvmmsb1wsmasl3cz1aibk343a8"))))
"1v43adkw5c624nd06g11cb609v8pj3prfyyawbq3i4k1w1law597"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "pyproject.toml"
(("click>=8,<8.3") "click>=8"))))
(add-after 'compress-documentation 'wrap-program
(lambda _
(wrap-program (string-append #$output "/bin/librelane")
@@ -1932,31 +1768,6 @@ management with library, schematic and board editors.")
(license (list license:expat ;libfst and fastlz-derived sources
license:bsd-2))))) ;for lz4-derived sources
(define-public python-csxcad
(package
(inherit csxcad)
(name "python-csxcad")
(build-system pyproject-build-system)
(arguments
(list
;; Tests are broken in v0.6.3.
;; Check on update.
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'prepare-build
(lambda _
(chdir "./python")
(setenv "CSXCAD_INSTALL_PATH"
#$(this-package-input "csxcad")))))))
(native-inputs (list python-minimal python-cython python-numpy
python-setuptools))
(inputs (list csxcad fparser hdf5 python-numpy tinyxml))
(synopsis "Python bindings for @code{csxcad}")
(description "Library for describing geometrical objects and their
physical and non-physical properties.")
(license license:lgpl3+)))
(define-public python-lln-libparse
(package
(name "python-lln-libparse")
@@ -2207,7 +2018,7 @@ which allows one to install the M8 firmware on any Teensy.")
(define-public magic
(package
(name "magic")
(version "8.3.652")
(version "8.3.633")
(source
(origin
(method git-fetch)
@@ -2216,7 +2027,7 @@ which allows one to install the M8 firmware on any Teensy.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "07q2lldcq6zb1apa5d3paciha92r6jlp7xny8pc31f56k5s9jnmz"))))
(base32 "1rwrhb0q99rpv4lbiw1sqykwzf9gj1my2wkh6mp8g36rab2vhii3"))))
(build-system gnu-build-system)
(arguments
(list
@@ -2246,7 +2057,7 @@ versus schematic} tests and can assist with automatic routing.")
(define-public mcy
(package
(name "mcy")
(version "0.65")
(version "0.64")
(source
(origin
(method git-fetch)
@@ -2292,8 +2103,7 @@ versus schematic} tests and can assist with automatic routing.")
(chmod bin_ #o755)))
(install-it "mcy")
(install-it "mcy-dash")))
(add-after 'make-install 'python:wrap
(assoc-ref py:%standard-phases 'wrap)))))
(add-after 'make-install 'python:wrap py:wrap))))
(native-inputs
(list pkg-config
python-sphinx
@@ -2312,7 +2122,7 @@ coverage.")
(define-public netgen
(package
(name "netgen")
(version "1.5.320")
(version "1.5.318")
(source
(origin
(method git-fetch)
@@ -2321,7 +2131,7 @@ coverage.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "11mvf0nrsfc1lxbgqhmczi0maw4n10lib2xqnhpkyy73ci489147"))))
(base32 "19rd8y2pspycr2296nhm60fhsgnzlyzb09wx2kgqzg6s7h6cmrr5"))))
(build-system gnu-build-system)
(arguments
(list
@@ -2521,7 +2331,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
(define-public nvc
(package
(name "nvc")
(version "1.21.0")
(version "1.19.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2530,7 +2340,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
(file-name (git-file-name name version))
(sha256
(base32
"00hnrzk9dw88srfmjxxb9xkgnd5n26pmqlcw1bff1y0bckblsr38"))))
"1zizz2dafm53lzpjayy6vig5pz5ri9cszdivg0jzzh8s3ggkpy1i"))))
(build-system gnu-build-system)
(arguments
(list #:out-of-source? #t
@@ -2669,66 +2479,6 @@ such as:
@end itemize")
(license license:expat)))
(define-public openems
(package
(name "openems")
(version "0.0.36")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thliebig/openEMS")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1vxlknnji7kha0kabpjqh48i4r0rqlla9gcxhn69d0gcw76albmw"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(list (string-append "-DCSXCAD_ROOT_DIR="
#$(this-package-input "csxcad"))
(string-append "-DFPARSER_ROOT_DIR="
#$(this-package-input "fparser")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-cmake
(lambda _
(substitute* "CMakeLists.txt"
((" system\n") "")
(("find_package\\(HDF5 1.8 COMPONENTS C HL REQUIRED\\)")
"find_package(HDF5 1.8 REQUIRED)"))))
(delete 'check)
(add-after 'install 'check
(lambda* (#:key tests? source inputs #:allow-other-keys)
(when tests?
(let* ((testsuite (string-append source "/TESTSUITE"))
(testsuite-tmp "/tmp/openEMS-TESTSUITE"))
;; Testsuite directory needs to be writable.
(copy-recursively testsuite testsuite-tmp)
(invoke "octave" "--no-gui" "--eval"
(string-append
"addpath('" #$output "/share/openEMS/matlab');"
"addpath('"
(search-input-directory inputs "share/CSXCAD/matlab")
"');"
;; Work around bug in test script.
"addpath('" testsuite-tmp "/helperscripts');"
"run('" testsuite-tmp "/run_testsuite.m');")))))))))
(native-inputs (list cmake-minimal octave pkg-config))
(inputs (list boost
csxcad
fparser
hdf5
openmpi
tinyxml
vtk))
(home-page "https://www.openems.de")
(synopsis "Electromagnetic field solver")
(description "@code{OpenEMS} is an electromagnetic field solver using
the @acronym{FDTD, Finite-Difference Time-Domain} method.")
(license license:gpl3+)))
(define-public pcb-rnd
(package
(name "pcb-rnd")
@@ -3438,12 +3188,8 @@ SystemVerilog, and SystemC, with conversion between languages and to JSON.")
inputs "include/antlr4-runtime"))
(antlr4cpp-lib (search-input-file
inputs "lib/libantlr4-runtime.so"))
(python-include
(search-input-directory
inputs
(string-append
"include/python"
#$(version-major+minor (package-version python))))))
(python-include (search-input-directory
inputs "include/python3.11")))
;; Patch CMake to use our paths directly.
(substitute* "src/CMake_antlr4.txt"
(("set\\(ANTLR_CLASSPATH \"\"\\)")
@@ -3535,44 +3281,6 @@ integrated circuit Hardware Description Language} and SystemVerilog
parser library for Python.")
(license license:expat)))
(define-public python-openems
(package
(inherit openems)
(name "python-openems")
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ; No tests. Check again on package upgrade.
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-sources
;; Check if this is still needed on upgrade.
(lambda _
(substitute* "python/openEMS/_nf2ff.pxd"
(("cimport cython.numeric")
"import cython
from cython cimport numeric"))))
(add-before 'build 'prepare-build
(lambda* _
(chdir "./python")
(setenv "CSXCAD_INSTALL_PATH"
#$(this-package-input "csxcad"))
(setenv "OPENEMS_INSTALL_PATH"
#$(this-package-input "openems")))))))
(native-inputs (list python-cython python-setuptools))
(inputs (list csxcad
fparser
openems
python-csxcad
python-hdf5storage
python-numpy
tinyxml))
(home-page "https://www.openems.de")
(synopsis "Python API for the electromagnetic field solver @code{OpenEMS}")
(description "@code{OpenEMS} is an electromagnetic field solver using
the @acronym{FDTD, Finite-Difference Time-Domain} method.")
(license license:gpl3+)))
(define-public python-pyucis
(package
(name "python-pyucis")
@@ -3608,16 +3316,13 @@ Standard} data mode.")
(version "0.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/SanDisk-Open-Source/pyvcd")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "pyvcd" version))
(sha256
(base32 "1a1fsgxmpy6gbrs7lp3a56b7d4g6srlp42y5azb1ywjx3w8fiwc6"))))
(base32 "15nnydvr1a4ykh8cagi484sfgvdg0dnjxaw6c0ivhjbrbblpaqnw"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest python-setuptools python-setuptools-scm))
(list python-setuptools python-setuptools-scm))
(home-page "http://pyvcd.readthedocs.io/")
(synopsis "Library to manipulate digital wave files")
(description
@@ -3753,7 +3458,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)
@@ -3762,7 +3467,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
@@ -3805,7 +3510,7 @@ set.")
(define-public fusesoc
(package
(name "fusesoc")
(version "2.4.6")
(version "2.4.5")
(source
(origin
(method git-fetch)
@@ -3814,7 +3519,7 @@ set.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "11bmvk10mszv65ws84jmm220ivwn55v8664kkdm9d4m99pryi2kp"))))
(base32 "1sw0zl6hjlzp1a0agdl9yp901pih70ppzzss18l8f3jxs6q7jm1n"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -3894,7 +3599,7 @@ Automation}.")
#$output "/share/info/hdlmake-figures")))))
#:test-flags #~(list "test_all.py")))
(native-inputs
(list python-pytest python-setuptools python-sphinx texinfo))
(list python-setuptools python-sphinx texinfo))
(propagated-inputs (list python-networkx))
(home-page "https://ohwr.gitlab.io/project/hdl-make/")
(synopsis "Generate multi-purpose makefiles for HDL projects")
@@ -4071,36 +3776,6 @@ design.")
to enforce it.")
(license license:gpl3+)))
(define-public python-pyxhdl
(package
(name "python-pyxhdl")
(version "0.53")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/davidel/pyxhdl")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "16dqqhbg5q6fxlhnfcjimxv1zgziw5g46askjhfg8g2hn7i3vfal"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-backend #~'custom
#:test-flags #~(list "tests/test_runner.py")))
(native-inputs
(list python-setuptools))
(propagated-inputs
(list python-numpy python-misc-utils))
(home-page "https://github.com/davidel/pyxhdl")
(synopsis
"Python frontend for @acronym{HDL, Hardware Description Languages}")
(description
"PyXHDL replaces HDL code by Python, generating VHDL (>= 2008) and
Verilog (SystemVerilog >= 2012) code to be used for synthesis and simulation.")
(license license:asl2.0)))
(define-public python-vunit
(package
(name "python-vunit")
@@ -4189,71 +3864,6 @@ automated testing of HDL code.")
;; subdirectories are under ASL.
(license (list license:mpl2.0 license:asl2.0))))
(define-public qcsxcad
(package
(name "qcsxcad")
(version "0.6.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thliebig/QCSXCAD")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ag1shyhsmfsvqm35fi2kfnbcngmln8rjsv88f97gyx9wiqc808y"))))
(build-system qt-build-system)
(arguments
(list
#:tests? #f ;No tests.
#:qtbase qtbase ;For Qt 6
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-sources
;; Fix missing `std::`-prefix and missing include.
;; This is fixed in upstream but not tagged with a version.
(lambda _
(substitute* "vtkInteractorStyleRubberBand2DPlane.cpp"
(("#include \"vtkCamera.h\"")
"#include <iostream>\n#include \"vtkCamera.h\"")
(("\tcerr ")
"\tstd::cerr "))
(substitute* "VTKPrimitives.cpp"
(("#include \"VTKPrimitives.h\"")
"#include <iostream>\n#include \"VTKPrimitives.h\"")
(("\tcerr ")
"\tstd::cerr ")
(("\tcout ")
"\tstd::cout "))
(substitute* "QVTKStructure.cpp"
(("#include \"QVTKStructure.h\"")
"#include <iostream>\n#include \"QVTKStructure.h\"")
(("\tcerr ")
"\tstd::cerr ")
(("\tcout ")
"\tstd::cout ")))))))
(inputs (list boost
cgal
csxcad
eigen
freetype
gmp
libjpeg-turbo
libpng
libtiff
lz4
openmpi
qt5compat
tinyxml
vtk))
(home-page "https://github.com/thliebig/QCSXCAD")
(synopsis "GUI library for @code{csxcad}")
(description
"GUI library for @code{csxcad} --- a library for describing geometrical
objects and their properties. This library is used in @code{appcsxcad}
which provides a standalone graphical frontend to @{csxcad}.")
(license license:lgpl3+)))
(define-public qrouter
(package
(name "qrouter")
@@ -4376,7 +3986,7 @@ input and outputs an XML dataset.")
(define-public qucs-s
(package
(name "qucs-s")
(version "26.1.1") ;update qucsator-rf accordingly
(version "26.1.0") ;update qucsator-rf accordingly
(source
(origin
(method git-fetch)
@@ -4386,7 +3996,7 @@ input and outputs an XML dataset.")
(file-name (git-file-name name version))
(sha256
(base32
"009siqmn76r2l17hnjqmr6ap8nw969hd5fyqigb4p3i8cvjq7gmx"))))
"0aiyrcrxln4v6qm2dmigb54wl0mj499q3g18pz87m1s2lfgicpb1"))))
(build-system qt-build-system)
(arguments
(list
@@ -4608,7 +4218,7 @@ them usable as simple logic analyzer and/or oscilloscope hardware.")
(define-public sby
(package
(name "sby")
(version "0.65")
(version "0.64")
(source
(origin
(method git-fetch)
@@ -4617,7 +4227,7 @@ them usable as simple logic analyzer and/or oscilloscope hardware.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "19cvbvg6jjh7lj1sd7jz7yd5wrlswg6dmyajc7kxgl7dd97ivpwy"))))
(base32 "0jksspdgq2grk4a80i5yfc9bazfij37wpmrlkvygpz9ys5ny1432"))))
(build-system gnu-build-system)
(arguments
(list
@@ -4890,7 +4500,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)
@@ -4899,7 +4509,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
@@ -5039,7 +4649,7 @@ parallel computing platforms. It also supports serial execution.")
(define-public yosys
(package
(name "yosys")
(version "0.65")
(version "0.64")
(source
(origin
(method git-fetch)
@@ -5047,16 +4657,15 @@ parallel computing platforms. It also supports serial execution.")
(url "https://github.com/YosysHQ/yosys")
(commit (string-append "v" version))))
(sha256
(base32 "04sks9hj8h9vy6zii29zjgq38h2h4nz8a7xxiq33p1aivwq7bz8q"))
(base32 "13gw5msk1kv05jkb330nybvx2s0ixm6l6mdpyapnqmv3lkhby1mj"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
(list
#:test-target "all"
#:test-target "vanilla-test" ;TODO: restore to "test" with next release
#:make-flags
#~(list (string-append "PREFIX=" #$output)
"ENABLE_FUNCTIONAL_TESTS=1"
"ENABLE_EDITLINE=1"
"ENABLE_LIBYOSYS=1"
"ENABLE_PYOSYS=1"
@@ -5071,11 +4680,6 @@ parallel computing platforms. It also supports serial execution.")
#$(this-package-input "abc-yosyshq")))
#:phases
#~(modify-phases %standard-phases
;; TODO: Remove when fixed.
(add-after 'unpack 'remove-aiger
(lambda _
(substitute* "tests/Makefile"
((".*aiger.*") ""))))
(add-before 'configure 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "backends/smt2/smtio.py"
@@ -5166,12 +4770,12 @@ parallel computing platforms. It also supports serial execution.")
(git-reference
(url "https://github.com/povik/yosys-slang")
;; No tags, nor releases.
(commit "cf20b1ba0d2c9df0508f927930a87565e7e0d220")
(commit "4e53d772996184b07e9bfe784060f96e6cb0a267")
(recursive? #t))) ;requires slang and fmt
(file-name "yosys-slang")
(sha256
(base32
"1rl9i19a90yis33g549ida7lygfh1qka5k96zdrvk0shn2jnm8g4")))))
"1jjr1b6xd1sr9fkyfyl4y2wkzl51m7g10bw97mnw81v2mzssrs2q")))))
;; Optional dependencies increase considerably package closure.
;; - gtkwave: required only for vcd2fst binary, used by sim command.
;; - graphviz, xdot: used by show command to display schematics.
@@ -5202,7 +4806,7 @@ for various application domains, including FPGAs and ASICs.")
license:expat
;; yosys-slang/third_party/fmt
license:bsd-2 license:bsd-3 license:psfl
;; yosys, yosys-slang
;; yosys
license:isc))))
(define-deprecated-package yosys-clang yosys)
+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
+1 -2
View File
@@ -164,8 +164,7 @@ Mix.CLI.main()"
'("ERL_LIBS" prefix ("${GUIX_ELIXIR_LIBS}"))))
programs))))))))
(outputs '("out" "src"))
(inputs (list bash-minimal erlang rebar3))
(native-inputs (list git-minimal))
(inputs (list bash-minimal erlang rebar3 git))
(native-search-paths
(list (search-path-specification
(variable "GUIX_ELIXIR_LIBS")
+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
+655 -1573
View File
File diff suppressed because it is too large Load Diff
+4 -5
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.
;;;
@@ -702,8 +701,8 @@ editor (with wide ints)" )
#~(cons "--with-wide-int" #$flags))))))
(define-public emacs-next-minimal
(let ((commit "d969185878bf50faedbafbd609c361875b891b53")
(revision "3"))
(let ((commit "509228fc6c026921c67459f21164e0325efc583b")
(revision "2"))
(package
(inherit emacs-minimal)
(name "emacs-next-minimal")
@@ -717,7 +716,7 @@ editor (with wide ints)" )
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1pmx71b6pazjpyfs1d2ngby1idsviwbap3xbr5b7dgf0rngim32s"))
(base32 "04aalyrx5jysk5fhlka98fhfx23sy99zp8j16i0ils20sflyig6n"))
(patches
(search-patches "emacs-next-disable-jit-compilation.patch"
"emacs-next-exec-path.patch"
@@ -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="
+8 -12
View File
@@ -57,7 +57,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gdb)
#:use-module (gnu packages guile)
@@ -1919,7 +1919,7 @@ and Zilog Z80 families, plus many of their variants.")
(define-public python-psptool
(package
(name "python-psptool")
(version "3.6")
(version "3.1")
(source
(origin
(method git-fetch)
@@ -1928,40 +1928,36 @@ and Zilog Z80 families, plus many of their variants.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1s53bqimh1ih0xqmyppm2ikphi8r9492k67kn4pz3jngh2gp1wnf"))))
(base32 "1fbx3b42cr7dv07p2b9qgzrgs19i066ysfasgvlfjscg2v68j8d0"))))
(build-system pyproject-build-system)
(arguments
(list #:test-backend #~'unittest))
(native-inputs
(list python-hatch-vcs
python-hatchling
python-psptrace-bootstrap
(list python-psptrace-bootstrap
python-setuptools))
(propagated-inputs
(list python-cryptography
python-prettytable))
(home-page "https://github.com/PSPReverse/psptool")
(synopsis "Tool for dealing with AMD binary blobs")
(description "PSPTool is a tool for dealing with AMD binary blobs.")
(description "PSPTool is a tool for dealing with AMD binary blobs")
(license license:gpl3+)))
(define-public python-psptrace
(package
(name "python-psptrace")
(version "0.11")
(version "0.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "psptrace" version))
(sha256
(base32 "0lzv0dy2m5g6q4rpjd4wpw0p7n8v8crkx7akbp53lpy1c6y40iw8"))))
(base32 "1mrympnpkkns2dxq34h9x9qn667ihdvbbf0wpmbp3jli0n7bj7ih"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;no tests in PyPI or Git
(native-inputs
(list python-hatch-vcs
python-hatchling
python-setuptools))
(list python-setuptools))
(propagated-inputs
(list python-prettytable
python-psptool))
+28 -36
View File
@@ -68,7 +68,6 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
@@ -81,7 +80,7 @@
#:use-module (gnu packages engineering)
#:use-module (gnu packages elf)
#:use-module (gnu packages file-systems)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fltk)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
@@ -108,6 +107,7 @@
#:use-module (gnu packages music)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages ninja)
#:use-module (gnu packages parallel)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
@@ -147,7 +147,7 @@
(define-public ares
(package
(name "ares")
(version "147")
(version "145")
(source
(origin
(method git-fetch)
@@ -156,28 +156,23 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1b4xixngp8md2ishf3cyfwpzjcsvjb5zp678can5dcmv9z1dlsis"))
(modules '((guix build utils)))
(snippet
;; Delete non-free blobs: Supersoft Diagnostics II.
#~(delete-file-recursively "tests/i8080/tests"))))
(base32 "074kkgrbiga7grkwhnhw51ih7krxgf91m9zrrwjkj4q1hdjhlz5a"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ; non-free blobs
#:configure-flags
#~(list "-DARES_BUILD_LOCAL=FALSE"
"-DARES_BUILD_OFFICIAL=TRUE"
"-DARES_BUNDLE_SHADERS=FALSE"
"-DARES_SKIP_DEPS=TRUE"
(string-append "-DARES_VERSION_OVERRIDE=" #$version))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'avoid-libglvnd
(lambda _
;; TODO: Our mesa doesn't have libglvnd support.
(substitute* "ruby/cmake/os-linux.cmake"
(("OpenGL::GLX") "OpenGL::GL")))))))
(list #:tests? #f ; No tests
#:configure-flags
#~(list "-DARES_BUILD_LOCAL=FALSE"
"-DARES_BUILD_OFFICIAL=TRUE"
"-DARES_BUNDLE_SHADERS=FALSE"
"-DARES_SKIP_DEPS=TRUE"
(string-append "-DARES_VERSION_OVERRIDE=" #$version))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'avoid-libglvnd
(lambda _
;; XXX: Our mesa doesn't have libglvnd support.
(substitute* "ruby/cmake/os-linux.cmake"
(("OpenGL::GLX") "OpenGL::GL")))))))
(native-inputs
(list pkg-config))
(inputs
@@ -1268,8 +1263,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
@@ -1294,6 +1288,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
@@ -2167,9 +2163,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")
@@ -3457,7 +3451,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)
@@ -3466,16 +3460,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
@@ -3609,9 +3603,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
+274 -404
View File
@@ -33,7 +33,7 @@
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022, 2024-2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2022, 2024, 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2022, 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2022, 2023, 2025 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2023 Theofilos Pechlivanis <theofilos.pechlivanis@gmail.com>
@@ -46,7 +46,7 @@
;;; Copyright © 2025 Matthew Elwin <elwin@northwestern.edu>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
;;; Copyright © 2025-2026 bdunahu <bdunahu@operationnull.com>
;;; Copyright © 2025 bdunahu <bdunahu@operationnull.com>
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2026 Daniel Khodabakhsh <d@niel.khodabakh.sh>
;;; Copyright © 2026 Spencer King <spencer.king@wustl.edu>
@@ -113,7 +113,7 @@
#:use-module (gnu packages emacs-build)
#:use-module (gnu packages emacs-xyz)
#:use-module (gnu packages file)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk)
@@ -437,8 +437,9 @@ optimizer; and it can produce photorealistic and design review images.")
"0x37vfp6k0d2z3gnig0hbicvi0jp8v267xjnn3z8jdllpiaa6p3k"))
(snippet
;; Remove a non-free file.
#~(begin
(delete-file "doc/psfig.sty")))
'(begin
(delete-file "doc/psfig.sty")
#t))
(patches (search-patches "fastcap-mulSetup.patch"
"fastcap-mulGlobal.patch"))))
(build-system gnu-build-system)
@@ -448,93 +449,79 @@ optimizer; and it can produce photorealistic and design review images.")
;; LaTeX Warning: Citation `nabors91' on page 2 undefined on input line
;; 3.
`(("texlive" ,(texlive-local-tree))
("ghostscript" ,ghostscript)
("libfaketime" ,libfaketime)))
("ghostscript" ,ghostscript)))
(arguments
(list
#:make-flags #~(list "CC=gcc" "RM=rm" "SHELL=sh"
(string-append
"CFLAGS="
"-Wno-error=implicit-int"
" -Wno-error=return-mismatch"
" -Wno-error=implicit-function-declaration")
"all")
`(#:make-flags '("CC=gcc" "RM=rm" "SHELL=sh" "all")
#:parallel-build? #f
#:tests? #f ;; no tests-suite
#:modules `((srfi srfi-1)
,@%default-gnu-modules)
#:modules ((srfi srfi-1)
,@%default-gnu-modules)
#:phases
#~(modify-phases %standard-phases
(add-after 'build 'make-doc
(lambda _
(invoke "faketime"
"1970-01-01 00:00:00"
"make" "CC=gcc" "RM=rm" "SHELL=sh" "manual")))
(add-before 'make-doc 'fix-doc
(lambda _
(substitute* "doc/Makefile" (("/bin/rm") (which "rm")))
(substitute* (find-files "doc" "\\.tex")
(("\\\\special\\{psfile=([^,]*),.*scale=([#0-9.]*).*\\}"
all file scale)
(string-append "\\includegraphics[scale=" scale "]{"
file "}"))
(("\\\\psfig\\{figure=([^,]*),.*width=([#0-9.]*in).*\\}"
all file width)
(string-append "\\includegraphics[width=" width "]{"
file "}"))
(("\\\\psfig\\{figure=([^,]*),.*height=([#0-9.]*in).*\\}"
all file height)
(string-append "\\includegraphics[height=" height "]{"
file "}"))
(("\\\\psfig\\{figure=([^,]*)\\}" all file)
(string-append "\\includegraphics{" file "}")))
(substitute* '("doc/mtt.tex" "doc/tcad.tex" "doc/ug.tex")
(("^\\\\documentstyle\\[(.*)\\]\\{(.*)\\}"
all options class)
(string-append "\\documentclass[" options "]{"
class "}\n"
"\\usepackage{graphicx}\n"
"\\usepackage{robinspace}"))
(("\\\\setlength\\{\\\\footheight\\}\\{.*\\}" all)
(string-append "%" all))
(("\\\\setstretch\\{.*\\}" all)
(string-append "%" all)))))
(delete 'configure)
(add-before 'install 'clean-bin
(lambda _
(delete-file (string-append (getcwd) "/bin/README"))))
(add-before 'install 'make-pdf
(lambda _
(setenv "TEXMFVAR" "/tmp") ;For texlive font cache
(with-directory-excursion "doc"
(for-each (lambda (file)
(invoke "faketime"
"-f"
"1970-01-01 00:00:00"
"dvips" file "-o"))
(find-files "." "\\.dvi"))
(for-each (lambda (file)
(invoke "faketime"
"-f"
"1970-01-01 00:00:00"
"ps2pdf" file))
'("mtt.ps" "ug.ps" "tcad.ps"))
(invoke "make" "clean"))))
(replace 'install
(lambda _
(let* ((data (string-append #$output "/share"))
(bin (string-append #$output "/bin"))
(doc (string-append data "/doc/" #$name "-" #$version))
(examples (string-append doc "/examples")))
(with-directory-excursion "bin"
(for-each (lambda (f)
(install-file f bin))
(find-files "." ".*")))
(with-directory-excursion "doc"
(for-each (lambda (f)
(install-file f doc))
(find-files "." ".pdf")))
(copy-recursively "examples" examples)))))))
(modify-phases %standard-phases
(add-after 'build 'make-doc
(lambda _
(invoke "make" "CC=gcc" "RM=rm" "SHELL=sh" "manual")))
(add-before 'make-doc 'fix-doc
(lambda _
(substitute* "doc/Makefile" (("/bin/rm") (which "rm")))
(substitute* (find-files "doc" "\\.tex")
(("\\\\special\\{psfile=([^,]*),.*scale=([#0-9.]*).*\\}"
all file scale)
(string-append "\\includegraphics[scale=" scale "]{"
file "}"))
(("\\\\psfig\\{figure=([^,]*),.*width=([#0-9.]*in).*\\}"
all file width)
(string-append "\\includegraphics[width=" width "]{"
file "}"))
(("\\\\psfig\\{figure=([^,]*),.*height=([#0-9.]*in).*\\}"
all file height)
(string-append "\\includegraphics[height=" height "]{"
file "}"))
(("\\\\psfig\\{figure=([^,]*)\\}" all file)
(string-append "\\includegraphics{" file "}")))
(substitute* '("doc/mtt.tex" "doc/tcad.tex" "doc/ug.tex")
(("^\\\\documentstyle\\[(.*)\\]\\{(.*)\\}"
all options class)
(string-append "\\documentclass[" options "]{"
class "}\n"
"\\usepackage{graphicx}\n"
"\\usepackage{robinspace}"))
(("\\\\setlength\\{\\\\footheight\\}\\{.*\\}" all)
(string-append "%" all))
(("\\\\setstretch\\{.*\\}" all)
(string-append "%" all)))
#t))
(delete 'configure)
(add-before 'install 'clean-bin
(lambda _
(delete-file (string-append (getcwd) "/bin/README"))
#t))
(add-before 'install 'make-pdf
(lambda _
(setenv "TEXMFVAR" "/tmp") ;For texlive font cache
(with-directory-excursion "doc"
(and
(for-each (lambda (file)
(invoke "dvips" file "-o"))
(find-files "." "\\.dvi"))
(for-each (lambda (file)
(invoke "ps2pdf" file))
'("mtt.ps" "ug.ps" "tcad.ps"))
(invoke "make" "clean")))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(data (string-append out "/share"))
(bin (string-append out "/bin"))
(doc (string-append data "/doc/" ,name "-" ,version))
(examples (string-append doc "/examples")))
(with-directory-excursion "bin"
(for-each (lambda (f)
(install-file f bin))
(find-files "." ".*")))
(copy-recursively "doc" doc)
(copy-recursively "examples" examples)
#t))))))
(home-page "https://www.rle.mit.edu/cpg/research_codes.htm")
(synopsis "Multipole-accelerated capacitance extraction program")
(description
@@ -913,65 +900,64 @@ user-level language.")
;; TODO: Keep in sync with radare2.
(define-public iaito
(package
(name "iaito")
(version "6.1.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/iaito")
(commit version)))
(sha256
(base32
"16sp73k6ighjwp80nvf55lwzv0fb8p4ki76mnsc8xhl3vq7pka0w"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ;no tests
#:modules '((guix build gnu-build-system) (guix build qt-utils)
(guix build utils))
#:imported-modules `((guix build qt-utils)
,@%default-gnu-imported-modules)
#:phases
#~(modify-phases %standard-phases
;; The build system assumes the sdb lib is installed alongside
;; radare2. We already patch the radare2 package to use a
;; system-installed sdb rather than install its own, so we must
;; propagate those changes here.
(add-before 'configure 'add-sdb-libs
(lambda _
(substitute* '("./src/lib_radare2.pri")
(("pkg-config --libs r_core" all)
(string-append all " sdb")))))
(add-after 'install 'wrap-qt
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-all-qt-programs #:outputs outputs
#:inputs inputs
#:qtbase (assoc-ref inputs "qtbase")))))))
(inputs
(list capstone
libuv
libzip
lz4
openssl
qtbase
qtsvg
qtwayland
radare2
sdb))
(native-inputs
(list pkg-config python-minimal-wrapper))
(native-search-paths (list (search-path-specification
(variable "R2_LIBR_PLUGINS")
(files (list "lib/radare2"))
(separator #f)))) ;single value
(home-page "https://github.com/radareorg/iaito")
(synopsis "Official radare2 GUI")
(description "Iaito is the official graphical interface for radare2, a
;; Commit "Release 6.1.2"
(let ((commit "790878048ecb62f4d2f1b5f848948059dd5bb8fe")
(revision "1"))
(package
(name "iaito")
(version (git-version "6.1.2" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/iaito")
(commit commit)))
(sha256
(base32
"00nqn3mx2fj5higz4niwl0nx04vnjwzccw6zjx3rhwf6fj5yfamm"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ;no tests
#:modules '((guix build gnu-build-system) (guix build qt-utils)
(guix build utils))
#:imported-modules `((guix build qt-utils)
,@%default-gnu-imported-modules)
#:phases
#~(modify-phases %standard-phases
;; The build system assumes the sdb lib is installed alongside
;; radare2. We already patch the radare2 package to use a
;; system-installed sdb rather than install its own, so we must
;; propagate those changes here.
(add-before 'configure 'add-sdb-libs
(lambda _
(substitute* '("./src/lib_radare2.pri")
(("pkg-config --libs r_core" all)
(string-append all " sdb")))))
(add-after 'install 'wrap-qt
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-all-qt-programs #:outputs outputs
#:inputs inputs
#:qtbase (assoc-ref inputs "qtbase")))))))
(inputs
(list capstone
libuv
libzip
lz4
openssl
qtbase
qtsvg
qtwayland
radare2
sdb))
(native-inputs
(list pkg-config python-minimal-wrapper))
(home-page "https://github.com/radareorg/iaito")
(synopsis "Official radare2 GUI")
(description "Iaito is the official graphical interface for radare2, a
libre reverse engineering framework. Iaito focuses on simplicity, parity with
commands, features, and keybindings.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public inspekt3d
(let ((commit "703f52ccbfedad2bf5240bf8183d1b573c9d54ef")
@@ -1055,6 +1041,32 @@ in the context of per-cpu data. The library offers ABI headers to interface
with the kernel and various utilities such as per-cpu counters.")
(license (list license:lgpl2.1 license:expat)))))
(define-public linsmith
(package
(name "linsmith")
(version "0.99.33")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/linsmith/linsmith/linsmith-"
version "/linsmith-" version ".tar.gz"))
(sha256
(base32
"1629p29casy9pgy8hzva1bmgrvh923qk01ls3anik6zqn6swkjfn"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("CFLAGS=-fcommon")))
(native-inputs
(list pkg-config))
(inputs
(list gtk+-2 libgnomeui))
(home-page "https://jcoppens.com/soft/linsmith/index.en.php")
(synopsis "Smith Charting program")
(description "LinSmith is a Smith Charting program, mainly designed for
educational use. As such, there is an emphasis on capabilities that improve
the 'showing the effect of'-style of operation.")
(license license:gpl2+)))
(define-public valeronoi
(package
(name "valeronoi")
@@ -1227,7 +1239,7 @@ specified in rfc2217 and a (Linux specific) CAN mode.")
(define-public minicom
(package
(name "minicom")
(version "2.11.1")
(version "2.10")
(source
(origin
(method git-fetch)
@@ -1235,7 +1247,7 @@ specified in rfc2217 and a (Linux specific) CAN mode.")
(url "https://salsa.debian.org/minicom-team/minicom.git")
(commit version)))
(sha256
(base32 "15k20qbxrjdxadwzkp31hjy7apdasrsgs532kwmlkpzs92ff4ghs"))
(base32 "0sxbyf1li3lsrvkjpn04xz6ywa42ggfc1fhdrmsibfkhqja9abn0"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -1360,33 +1372,24 @@ determines the frequencies, decay constants, amplitudes, and phases of those sin
(define-public guile-libctl
(package
(name "guile-libctl")
(version "4.6.0")
(version "4.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/NanoComp/libctl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri
(string-append
"https://github.com/NanoComp/libctl/releases/download/v"
version "/libctl-" version ".tar.gz"))
(sha256
(base32
"1lsch1qc5w9yyprrvawfwbnz7na4qah0p752kxxv144xp8yq98x7"))))
"0x8r56lpfq83kfbq28vr25icl19xpfd6fjrxzcpdmv30l9pash83"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
#~(list "--enable-shared")
#:phases
#~(modify-phases %standard-phases
;; Avoid bin/sh shebang in configure.
(add-before 'bootstrap 'no-/bin/sh
(lambda _ (delete-file "autogen.sh"))))))
`(#:configure-flags '("--enable-shared")))
(native-inputs
(list autoconf
automake
libtool
gfortran))
`(("fortran" ,gfortran)))
(inputs
(list guile-3.0))
(home-page "https://libctl.readthedocs.io/en/latest/")
(list guile-2.2))
(home-page "http://ab-initio.mit.edu/wiki/index.php/Libctl")
(synopsis "Flexible control files implementation for scientific simulations")
(description
"Libctl is a Guile-based library implementing flexible control files
@@ -1396,7 +1399,7 @@ for scientific simulations.")
(define-public mpb
(package
(name "mpb")
(version "1.12.0")
(version "1.8.0")
(source (origin
(method url-fetch)
(uri
@@ -1405,41 +1408,50 @@ for scientific simulations.")
version "/mpb-" version ".tar.gz"))
(sha256
(base32
"197dm8z5hfikivb73rhywyq976rn1k621bf1admgc5xjaii20awd"))))
"1jgrb7dd6qs6j6y1gnxmdgrh79l2bvqa6nk60a4pw1annsks4brd"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list
(string-append "--with-libctl="
#$(this-package-input "guile-libctl") "/share/libctl")
"--enable-shared")))
`(#:configure-flags
(list (string-append "--with-libctl="
(assoc-ref %build-inputs "libctl")
"/share/libctl")
"--enable-shared")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'relax-gcc-14-strictness
(lambda _
(setenv "CFLAGS"
(string-join
(list "-Wno-error=incompatible-pointer-types"
"-Wno-error=implicit-function-declaration"
"-Wno-error=int-conversion")
" ")))))))
(native-inputs
(list gfortran
pkg-config
swig-4.4))
`(("fortran" ,gfortran)
("pkg-config" ,pkg-config)
("swig" ,swig-4.0)))
(inputs
(list fftw
gsl
guile-3.0
guile-libctl
hdf5
openblas
readline
zlib))
(home-page "https://mpb.readthedocs.io/en/latest/")
`(("fftw" ,fftw)
("gsl" ,gsl)
("guile" ,guile-2.2)
("hdf5" ,hdf5)
("openblas" ,openblas)
("libctl" ,guile-libctl)
("readline" ,readline)
("zlib" ,zlib)))
(home-page "http://ab-initio.mit.edu/wiki/index.php/MIT_Photonic_Bands")
(synopsis "Computes band structures and electromagnetic modes of dielectric
structures")
(description
"MIT Photonic-Bands (MPB) computes definite-frequency eigenstates
(harmonic modes) of Maxwell's equations in periodic dielectric structures for
arbitrary wavevectors, using fully-vectorial and three-dimensional methods.")
"MIT Photonic-Bands (MPB) computes definite-frequency eigenstates (harmonic modes)
of Maxwell's equations in periodic dielectric structures for arbitrary wavevectors, using
fully-vectorial and three-dimensional methods.")
(license license:gpl2+)))
(define-public meep
(package
(name "meep")
(version "1.33.0")
(version "1.30.1")
(source (origin
(method url-fetch)
(uri
@@ -1448,7 +1460,7 @@ arbitrary wavevectors, using fully-vectorial and three-dimensional methods.")
version "/meep-" version ".tar.gz"))
(sha256
(base32
"1azhgz6s95siqmnxb3if6waxbvia3bij5jmxgxjz4sgn2ahw1axx"))))
"1h80d7i7v06fxfdsa496b542dvr105c4v1n7pk8m3jssvbxvv2a0"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
@@ -1458,11 +1470,11 @@ arbitrary wavevectors, using fully-vectorial and three-dimensional methods.")
(native-inputs
(list gfortran
pkg-config
swig-4.4))
swig-4.0))
(inputs
(list fftw
gsl
guile-3.0
guile-2.2
guile-libctl
harminv
hdf5
@@ -1672,7 +1684,7 @@ multiple services and devices with hundreds of supported integrations.")
(define-public python-esptool
(package
(name "python-esptool")
(version "5.2.0")
(version "5.0.2")
(source
(origin
(method git-fetch)
@@ -1681,7 +1693,7 @@ multiple services and devices with hundreds of supported integrations.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0rgwa7mimznwkn8ql17yxwxsfp0is3i75y7bf62mgsxjyx7zawcd"))))
(base32 "1wl75j6ncm5lahy9pzc38qivhaf9p42a2bijishdkwkw388fs6x1"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -1717,7 +1729,7 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
(define-public radare2
(package
(name "radare2")
(version "6.1.4") ;keep in sync with iaito
(version "6.1.2") ;keep in sync with iaito
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1725,7 +1737,7 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
(commit version)))
(sha256
(base32
"0gq90rwwmkfc7v1rhyr3lw859rsm1ryhzrwidhhh6pbp6jv03k6w"))
"1d4sslhjxm00fchqcszfa59wf51v632jvf7aj4af0vdhl9f9n8k2"))
(file-name (git-file-name name version))
(patches
(search-patches "radare2-fix-meson-build-to-use-sys-sdb.patch"
@@ -1781,10 +1793,6 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
(propagated-inputs
;; In the Libs: section of r_hash.pc.
(list xxhash))
(native-search-paths (list (search-path-specification
(variable "R2_LIBR_PLUGINS")
(files (list "lib/radare2"))
(separator #f)))) ;single value
(home-page "https://radare.org/")
(synopsis "Reverse engineering framework")
(description
@@ -1802,180 +1810,20 @@ like relocation symbols. It is able to deal with malformed binaries, making
it suitable for security research and analysis.")
(license license:lgpl3)))
(define-public r2ghidra
(package
(name "r2ghidra")
(version "6.1.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/r2ghidra")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "04x7vmg67zz0llkz3r3nmcky5z8c4ha31z8jzkm19dnyslw2qlxr"))
(modules '((guix build utils)))
(snippet
;; Delete bundled libs and remove their references.
#~(begin (delete-file-recursively "subprojects")
(substitute* "ghidra/deps.mk"
(("ZLIB_LDFLAGS=.*") "")
(("ZLIB_CFLAGS=.*") ""))
(substitute* "src/Makefile"
(("(all:) subprojects-zlib" _ f) f)
(("PUGIXML_OBJS=.*") "")
(("PUGIXML_SRCS=.*") "")
(("PUGIXML_CFLAGS=.*") ""))))))
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~(let* ((zlib #$(this-package-input "zlib"))
(pugixml #$(this-package-input "pugixml-next")))
(list (string-append "CC=" #$(cc-for-target))
(format #f "ZLIB_LDFLAGS=-L~a/lib/ -lz" zlib)
(format #f "LDFLAGS=-L~a/lib/ -lpugixml" pugixml)
(format #f "ZLIB_CFLAGS=-I~a/include/" zlib)
(format #f "PUGIXML_CFLAGS=-I~a/include/" pugixml)
;; Ensure this matches R2_LIBR_PLUGINS as exported
;; by radare2 & iaito.
(format #f "PLUGDIR=~a/lib/radare2" #$output)))
#:tests? #f ;no 'check' rule, test dir may require 3rd-party binaries
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'skip-git-and-copy-ghidra
(lambda _
;; GIT is assumed to point to the git binary, but it is
;; only checked to be a file; this short-circuits the check.
(setenv "GIT" "configure")
(copy-recursively
(search-input-directory %build-inputs "share/ghidra-native")
"subprojects/ghidra-native")))
(add-before 'build 'set-system-sleighhome
;; Helper files which try to install in radare2's path
;; in the store, irrespective of PLUGDIR. As long as
;; r2ghidra knows where to find them, we can place them
;; anywhere.
(lambda _
(let ((sleighhome
(in-vicinity #$output "lib/radare2/sleighhome")))
;; Hardcoded path to check.
(substitute* "src/SleighAsm.cpp"
(("(path = strdup \\()[^\\)]*" _ f)
(string-append f "\"" sleighhome "\"")))
;; Install location.
(substitute* "ghidra/Makefile"
(("(sleigh-install D=\")\\$\\(DD\\)" _ f)
(string-append f sleighhome)))))))))
(inputs
(list capstone
libuv
libzip
lz4
openssl
pugixml-next
radare2
sdb
zlib))
(native-inputs
(list ghidra-native
pkg-config
python-minimal))
(home-page "https://www.radare.org/")
(synopsis "Native Ghidra Decompiler for radare2")
(description
"r2ghidra is a radare2 plugin which integrates the
@url{https://www.nsa.gov/ghidra,Ghidra} decompiler.")
;; Specified lgpl3 'only' in README.
(license license:lgpl3)))
(define-public ghidra-native
;; Latest commit; last release (8/2025) incompatible with current r2ghidra.
(let ((commit "df065bad0f9e7cea233479048681f811c4f640a2")
(revision "1"))
(package
(name "ghidra-native")
(version (git-version "0.6.2" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/ghidra-native")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "14bzrl856x3bsqjpks85rzxcxncfmnjwc5knv2h4lybfz4bxcn39"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ;no tests
#:make-flags #~(list "patch")
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(replace 'install ;no install target
(lambda _
(let ((ghidra-native-patched
(in-vicinity #$output "/share/ghidra-native/src")))
(copy-recursively "src" ghidra-native-patched)))))))
(home-page "https://www.radare.org/")
(synopsis "Native parts of ghidra")
(description
"This package contains the native parts of ghidra, to be used from
r2ghidra.")
(properties '((hidden? . #t))) ;only provides source files
(license license:asl2.0))))
(define-public rayforge
(package
(name "rayforge")
(version "1.7.7") ;newer version requires python-raygeo (Rust)
(version "1.0.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/barebaric/rayforge")
(commit version)))
(url "https://github.com/barebaric/rayforge")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1w44qw51nynf1rk61y0d0wj6xl66ciswpcsp38dnwrpfwsqgafxw"))))
(base32 "1c6dl0x3pafmh4p533jbk2cj73q90vz1797jya3hzzxdv0h383yc"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 1626 passed
#:test-flags
;; XXX: Tests fail to pick exact version of cairo: E gi.RepositoryError:
;; Typelib file for namespace 'cairo', version '1.0' not found
#~(list "--ignore=tests/core/geo/test_font_config.py"
"--ignore=tests/core/geo/test_geo_text.py"
"--ignore=tests/core/geo/test_geometry.py"
"--ignore=tests/core/geo/test_text.py"
"--ignore=tests/core/geo/test_transform.py"
;; XXX: Projects ships a huge test suite which the majority
;; fail, run bare minimal core tests.
"tests/core")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
;; All of the dependencies are pined to exact version.
(substitute* "requirements.txt"
(("[=~]=.*") "\n")
;; XXX: Guix's opencv package does not provide Python's
;; version metadata.
(("opencv_python") ""))))
(add-before 'sanity-check 'set-home
(lambda _
(setenv "HOME" "/tmp")))
(add-before 'check 'remove-local-source
(lambda _
(delete-file-recursively "rayforge")))
(add-after 'wrap 'wrap-rayforge
(lambda _
(wrap-program (string-append #$output "/bin/rayforge")
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")))))))))
(native-inputs (list python-gitpython
python-pytest
python-pytest-asyncio
@@ -1988,27 +1836,54 @@ r2ghidra.")
python-asyncudp
python-blinker
python-ezdxf
python-gitpython
python-numpy
python-platformdirs
python-pluggy
python-pycairo
python-pyclipper
python-pygobject
python-pymupdf
python-pyopengl
python-pyopengl-accelerate
python-pypdf
python-pyserial
python-pyserial-asyncio
python-pyvips
python-pyyaml
python-scipy
python-semver
python-svgelements
python-trimesh
python-websockets
vtracer))
(home-page "https://rayforge.org/")
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'write-version-file
(lambda _
(call-with-output-file "rayforge/version.txt"
(lambda (port)
(display #$version port)))
(let ((port (open-file "MANIFEST.in" "a")))
(display "include rayforge/version.txt\n" port)
(close-port port))))
(add-after 'unpack 'fix-tests
(lambda _
(mkdir "tmp-home")
(setenv "HOME"
(string-append (getcwd) "/tmp-home"))
;; Fix abstract class test for older Python error message format
(substitute* "tests/pipeline/stage/test_base_stage.py"
(("without an implementation for abstract method 'reconcile'")
"abstract method '?reconcile'?"))
;; Fix arc fitting test: add looser tolerance for floating point comparison
(substitute* "tests/core/geo/test_fitting.py"
(("(assert np\\.allclose\\(.*, \\(-10\\.0, 0\\.0\\))" match)
(string-append match ", atol=1e-3")))))
(delete 'sanity-check) ; Tests against python package version of rayforge
(add-after 'wrap 'wrap-rayforge
(lambda _
(wrap-program (string-append #$output "/bin/rayforge")
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")))))))))
(home-page "https://github.com/barebaric/rayforge")
(synopsis "Desktop application for laser cutting and engraving")
(description
"Rayforge is a cross-platform 2D CAD and G-code control software designed
@@ -2134,7 +2009,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
(define-public gpx
(package
(name "gpx")
(version "2.6.8")
(version "2.5.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2143,7 +2018,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
(file-name (git-file-name name version))
(sha256
(base32
"1izs8s5npkbfrsyk17429hyl1vyrbj9dp6vmdlbb2vh6mfgl54h8"))))
"1yab269x8qyf7rd04vaxyqyjv4pzz9lp4sc4dwh927k23avr3rw5"))))
(build-system gnu-build-system)
(home-page "https://github.com/markwal/GPX")
(synopsis "Converting gcode to x3g files for 3D printing")
@@ -2258,7 +2133,7 @@ specification can be downloaded at @url{http://3mf.io/specification/}.")
(define-public manifold
(package
(name "manifold")
(version "3.4.1")
(version "3.3.2")
(source
(origin
(method git-fetch)
@@ -2267,7 +2142,7 @@ specification can be downloaded at @url{http://3mf.io/specification/}.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0x65708r6xln8sd53abbn1qnhz3wxnicn2837ida73ihargk5js1"))))
(base32 "0bq1gzvhyp0b9v0q6magwf0yi9lzqgh3fj9104wqfvpl2skgzkg7"))))
(build-system cmake-build-system)
(inputs (list onetbb clipper2 assimp python-nanobind googletest))
(arguments
@@ -2764,7 +2639,7 @@ but also adds new features and improves existing ones.")
(define-public emacs-scad-mode
(package
(name "emacs-scad-mode")
(version "99.0")
(version "98.0")
(source
(origin
(method git-fetch)
@@ -2772,10 +2647,9 @@ but also adds new features and improves existing ones.")
(url "https://github.com/openscad/emacs-scad-mode")
(commit version)))
(sha256
(base32 "0mqfvff8f7lqjviwz30j7vkb098xd0k8bdzznb77aw4q7gdsf8nm"))
(base32 "19mn6z98c8s7mspa7j8xw7za33gmpsy4iw2r9xiggdv7yh6mh8h8"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments (list #:tests? #f)) ; no tests
(propagated-inputs (list emacs-compat))
(synopsis "Emacs mode to edit OpenSCAD files")
(description
@@ -2853,7 +2727,7 @@ dynamics is used by FreeCAD 1.0.0 for its new Assembly workbench.")
(define-public freecad
(package
(name "freecad")
(version "1.1.1")
(version "1.1.0")
(source
(origin
(method git-fetch)
@@ -2863,7 +2737,7 @@ dynamics is used by FreeCAD 1.0.0 for its new Assembly workbench.")
(recursive? #t))) ;needed for the AddonManager
(file-name (git-file-name name version))
(sha256
(base32 "05dx7ifx33705mxb0vc82j0mzzkazakgadfgq5bws30qrxp49xgg"))
(base32 "029ndw1dypx0xhs4fyiinf7gpk8am0vm9b24idvdsx9x7ghrqz4j"))
(snippet
#~(begin
(use-modules (guix build utils))
@@ -3052,7 +2926,7 @@ Runge-Kutta method of order 5(4) from @code{scipy.integrate.solve_ivp.}")
(define-public cgns
(package
(name "cgns")
(version "4.5.2")
(version "4.3.0")
(source
(origin
(method git-fetch)
@@ -3061,7 +2935,7 @@ Runge-Kutta method of order 5(4) from @code{scipy.integrate.solve_ivp.}")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0r8y6lddp7q9nb6804c6bbr4y0pv7ssdzi9m5ddx50ksvfv382fw"))))
(base32 "0jig1y7lv9qk1ri2gqws7ffpajmhxnank7gbyna9hfaghsxdlnvd"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags
@@ -4094,7 +3968,7 @@ G-codes to binary and vice versa.")
(list bash-minimal
boost-1.83
cereal
cgal-5
cgal
curl
dbus
eigen
@@ -4183,6 +4057,10 @@ BOM creation and has a lot of extra features.")
(sha256
(base32 "19fi0y0lk45cyampczgh3kz2swai4zcgzkffp0xf5h55rxxrdpvk"))))
(build-system cmake-build-system)
(inputs
(list protobuf
python
python-sip-4))
(arguments
`(#:tests? #f
#:configure-flags '("-DBUILD_EXAMPLES=OFF")
@@ -4203,11 +4081,6 @@ BOM creation and has a lot of extra features.")
(package-version python))
"/site-packages"
" Python3_SITEARCH"))))))))
(inputs
(list protobuf
python
python-sip-4))
(native-inputs (list python-setuptools))
(home-page "https://github.com/Ultimaker/libArcus")
(synopsis "Communication library for Ultimaker software components")
(description "This library contains C++ code and Python3 bindings for
@@ -4426,6 +4299,15 @@ problem. It was inspired from the SVGNest Javascript library.")
(sha256
(base32 "0jhqfylg6vzlbz9rqs981bg6y8s18iklw1p8hmax72xq2c7561s1"))))
(build-system cmake-build-system)
(native-inputs
(list pkg-config))
(inputs
(list boost
clipper
libnest2d-for-cura
nlopt
python
python-sip-4))
(arguments
`(#:tests? #f
#:phases
@@ -4445,16 +4327,6 @@ problem. It was inspired from the SVGNest Javascript library.")
(string-append path " Python3_SITEARCH"))
(("\\$\\{_process_output\\} Python3_SITELIB")
(string-append path " Python3_SITELIB")))))))))
(native-inputs
(list pkg-config
python-setuptools))
(inputs
(list boost
clipper
libnest2d-for-cura
nlopt
python
python-sip-4))
(home-page "https://github.com/Ultimaker/pynest2d")
(synopsis "Python bindings for libnest2d")
(description
@@ -4499,6 +4371,8 @@ belongs to the Cura project from Ultimaker.")
(sha256
(base32 "1cq85x0xizsjwf9nl7v7x4i9vl335mgv2lda3q2c9fcwrndsc3wk"))))
(build-system cmake-build-system)
(inputs
(list python python-sip-4))
(arguments
`(#:tests? #f ; No test suite.
#:phases
@@ -4515,8 +4389,6 @@ belongs to the Cura project from Ultimaker.")
(string-append path " Python3_SITEARCH"))
(("\\$\\{_process_output\\} Python3_SITELIB")
(string-append path " Python3_SITELIB")))))))))
(inputs (list python python-sip-4))
(native-inputs (list python-setuptools))
(home-page "https://github.com/Ultimaker/libSavitar")
(synopsis "C++ implementation of 3mf loading with SIP python bindings")
(description "LibSavitar is a C++ implementation of 3mf loading with SIP
@@ -4959,9 +4831,7 @@ and mogan.")
(("'\" [+] python_path [+]")
(string-append "'\" + std::string(\""
(assoc-ref outputs "out")
"/lib/python"
#$(version-major+minor (package-version python))
"/site-packages"
"/lib/python3.11/site-packages"
"\") +")))))
(add-before 'check 'prepare-checks
(lambda _

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