Compare commits

...

552 Commits

Author SHA1 Message Date
Ian Eure
3dec0dbf14 gnu: services: Support channels when extending guix-service-type.
Most of the configuration for guix-service-type can be extended (build
machines, substitutes, etc), but channels currently cannot.  This commit adds
support for that.

* gnu/services/base.scm (guix-extension): Add `channels'.
(guix-extension-merge): Merge channels.
(guix-service-type): Add extension channels.
* doc/guix.texi (Getting Substitutes from Other Servers): Use a service
extension instead of modify-services.
(Base Services, guix-extension): Document channel field.

Change-Id: I26cd0556a536f49ecc61662fc10af080d6c6dc9f
2025-12-28 09:57:09 -08:00
Sharlatan Hellseher
93e4c03938 gnu: gprof2dot: Update to 2025.04.14.
* gnu/packages/graphviz.scm (gprof2dot): Update to 2025.04.14.
[build-system]: Switch to pyproject-build-system.
[arguments] <test-backend, test-flags>: Use 'custom.
<phases>: Use default 'check.
[native-inputs]: Add python-setuptools.

Change-Id: I5df63313a7646fa33bbef9b267fa4ce689c9e753
2025-12-28 14:39:33 +00:00
Sharlatan Hellseher
185cce0649 gnu: dot2tex: Switch to pyproject.
* gnu/packages/graphviz.scm (dot2tex): Update to 2.11.3.
[build-system]: Switch to pyproject-build-system.
[arguments] <test-flags>: Move options here.
<phases>: Use default 'check.
[native-inputs]: Add python-setuptools.

Change-Id: I969689cfcc57893c64ba39687b0b4b323d77b21a
2025-12-28 14:39:20 +00:00
Nicolas Graves
2a5619ac0d gnu: Deprecate protonvpn-cli.
* gnu/packages/vpn.scm (protonvpn-cli): Define as the deprecated
version of proton-vpn-cli.

Change-Id: I7205537b62ea78e74e4e310edea44b2f005529c5
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-28 14:38:57 +00:00
Nicolas Graves
b07af24158 gnu: Add proton-vpn-cli.
* gnu/packages/vpn.scm (proton-vpn-cli): New variable.

Change-Id: I1bc662904eb7739143714a3da1ff3590fefffba3
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-28 14:38:57 +00:00
Nicolas Graves
c5b0b9cba0 gnu: Add python-proton-vpn-api-core.
* gnu/packages/vpn.scm (python-proton-vpn-api-core): New variable.

Change-Id: I3812dd75f04a689328000f7284f57ab84eddf4ea
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-28 14:38:57 +00:00
Nicolas Graves
057784277e gnu: python-django-allauth: Update to 65.9.0.
* gnu/packages/django.scm (python-django-allauth): Update to 65.9.0.
[home-page, source]: Update repository url.

Change-Id: Ia9d821d1dcd2091157c01fd7eb9c04906cdd04c4
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-28 14:38:57 +00:00
Nicolas Graves
bc610da855 gnu: python-fido2: Update to 2.0.0.
* gnu/packages/security-token.scm (python-fido2): Update to 2.0.0.
[source]: Switch to git-fetch.
[arguments]<#:test-flags>: Add --no-device.

Change-Id: I892d6471968551c553b5e45ab6b926646176d8d2
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-28 14:38:57 +00:00
Nicolas Graves
06412fbe53 gnu: Add python-proton-vpn-local-agent.
* gnu/packages/vpn.scm (python-proton-vpn-local-agent): New variable.
* gnu/packages/rust-crates.scm: Add python-proton-vpn-local-agent
crate list.

Change-Id: Ife3ec38218a916eea083d1e7f2f9fffa9679b7a7
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-28 14:38:57 +00:00
Nicolas Graves
d7e7632f57 gnu: Add python-proton-keyring-linux.
* gnu/packages/vpn.scm (python-proton-keyring-linux): New variable.

Change-Id: Ic6d063d4aa05012c027a3217c1cf97e574721a58
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-28 14:38:57 +00:00
Nicolas Graves
f6659b612e gnu: Add python-proton-core.
* gnu/packages/vpn.scm (python-proton-core): New variable.

Change-Id: I0261d9393f9400098e9c26de74f7cac29fb1a035
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-28 14:38:55 +00:00
Sharlatan Hellseher
4349cca1bf gnu: python-pytaglib: Update to 3.1.0.
* gnu/packages/mp3.scm (python-pytaglib): Update to 3.1.0, use
G-Expressions.
[source]: Switch to git-fetch; remove redundund snippet.
[build-system]: Switch to pyproject-build-system.
[inputs]: Remove taglib; add taglib-next.
[native-inputs]: Add python-setuptools.

Fixes: guix/guix#4662
Change-Id: I44610089ec59a60c8e1ae59cd7a479a516f60067
2025-12-28 14:00:00 +00:00
Sharlatan Hellseher
27c0c4afe1 gnu: Add taglib-next.
* gnu/packages/mp3.scm (taglib-next): New variable.

Change-Id: I623ad7608183cdbc23c5e09da05cb496287c56f2
2025-12-28 13:59:51 +00:00
Sharlatan Hellseher
4f3a9d505f gnu: Remove python-iml.
* gnu/packages/machine-learning.scm (python-iml): Delete variable.

Fixes: guix/guix#4444
Change-Id: Iabdfc85d07177d0cba30b92917ad6036002b1b91
2025-12-28 13:34:53 +00:00
Sharlatan Hellseher
aa78526a35 gnu: Remove python-btchip-python.
* gnu/packages/finance.scm (python-btchip-python): Delete variable.

Fixes: guix/guix#4487
Change-Id: I7897a99112b86c87a8b7c322ca988b53beddbcaa
2025-12-28 13:33:52 +00:00
Sharlatan Hellseher
fa584635f9 gnu: Remove libtorrent-rasterbar-1.2.
* gnu/packages/bittorrent.scm (libtorrent-rasterbar-1.2): Delete variable.

Fixes: guix/guix#4446
Change-Id: I6e1b6676e69f785703ffaf1c37ed9356667ace33
2025-12-28 13:32:33 +00:00
Sharlatan Hellseher
70c207162e gnu: Remove python-sphinx-cloud-sptheme.
* gnu/packages/sphinx.scm (python-sphinx-cloud-sptheme): Delete variable.

Fixes: guix/guix#4421
Change-Id: Ied4c2a6278fc648ac3e64acd0289e4fddca7e013
2025-12-28 13:31:03 +00:00
Sharlatan Hellseher
c0539dcf93 gnu: Remove owncloud-client.
* gnu/packages/sync.scm (owncloud-client): Delete variable.

Fixes: guix/guix#4373
Change-Id: I5bb5973ccfd4dff03e685b23850f392c706680fa
2025-12-28 13:29:57 +00:00
Sharlatan Hellseher
2d0e42a795 gnu: Remove bitshuffle.
Deprecation was set 3 months ago.

* gnu/packages/python-compression.scm (bitshuffle): Delete variable.

Change-Id: I58b93f3122ee1c6993185dfa71ea417448973585
2025-12-28 13:28:45 +00:00
Sharlatan Hellseher
cb5fe64086 gnu: Remove python-google-brotli.
Deprecation was set 3 years ago, it's a time to drop the variable
completely.

* gnu/packages/python-compression.scm (python-google-brotli): Delete variable.

Change-Id: I5c0fe0f892b6a3e61b7c83ec16291cb0a2170978
2025-12-28 13:28:13 +00:00
Nicolas Graves
4940efce8a gnu: python-grid5000: Update to 1.2.4.
* gnu/packages/python-web.scm (python-grid5000): Update to 1.2.4.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.  Remove python-wheel.

Change-Id: Id63542172273e5b3ce0535c8350c56bcc59f781c
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-28 13:27:29 +00:00
Nicolas Graves
d0d5278165 gnu: python-jstyleson: Update to 0.0.2-0.8c47cc9.
* gnu/packages/python-web.scm (python-jstyleson): Update to 0.0.2-0.8c47cc9.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest, python-setuptools.
[description]: Improve style.

Change-Id: I54bfd8f5873ef29f3d710ec83639191cae352b13
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-28 13:27:29 +00:00
Nicolas Graves
f123706a89 gnu: python-flask-combo-jsonapi: Update to 1.1.0-0.3cfff98.
* gnu/packages/python-web.scm (python-flask-combo-jsonapi): Update to 1.1.0-0.3cfff98.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-flags>: Set them.
<#:phases>: Drop 'check phase replacement. Drop support for
marshmallow < 3 in phase 'loosen-requirements.
[native-inputs]: Add python-setuptools.  Remove python-coverage,
python-coveralls, python-pytest-runner.

Change-Id: Ib4d89b34ab72f1b5bf45f77731e117b57a8ce87d
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-28 13:27:29 +00:00
Nicolas Graves
16ba490bae gnu: python-marshmallow-jsonapi: Update to 0.26.0.
* gnu/packages/python-web.scm (python-marshmallow-jsonapi): Update to 0.26.0.
[source]: Switch to git-fetch.  Using a maintained branch to fix the
package.
[native-inputs]: Remove python-wheel.

Change-Id: I8814bd7b405334fdebe68bfa589a4eb70ebc1c8b
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-28 13:27:29 +00:00
Nicolas Graves
9248824066 gnu: python-marshmallow-jsonapi: Move to (gnu packages python-web).
* gnu/packages/python-xyz.scm (python-marshmallow-jsonapi): Move from here…
* gnu/packages/python-web.scm (python-marshmallow-jsonapi): …to here.

Change-Id: Ie1672601cac70ff7d40cd7323d094f50ef1152a6
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-28 13:27:25 +00:00
Sharlatan Hellseher
10593200ba gnu: Remove libdrm-armada-novena.
* gnu/packages/xdisorg.scm (libdrm-armada-novena): Delete variable.

Fixes: guix/guix#4380
Change-Id: I7f44ba854895f20b61e1548328917d041f02df07
2025-12-28 12:20:30 +00:00
Sharlatan Hellseher
a0c752515b gnu: Remove xf86-video-armada-novena.
* gnu/packages/xorg.scm (xf86-video-armada-novena): Delete variable.

Change-Id: I23020ceb3d705be856dd025f9ab6db9f560b5126
2025-12-28 12:20:30 +00:00
Sharlatan Hellseher
3422669f50 gnu: python-pykeepass: Update to 4.1.1.post1.
* gnu/packages/python-crypto.scm (python-pykeepass): Update to 4.1.1.post1.
[build-system]: Switch to pyproject-build-system.
[arguments] <test-backend>: Use 'unittest.
<phases>: Remove 'make-kdbx-writable and 'patch-requirements.
[propagated-inputs]: Remove python-dateutil and python-future; add
python-pyotp.
[native-inputs]: Add python-setuptools.

Change-Id: I0a47e095caec0334e2980cac4dc81881cc4fb1d2
2025-12-28 12:20:30 +00:00
Sharlatan Hellseher
f3d36c2391 gnu: python-cart: Update to 1.2.3.
* gnu/packages/python-xyz.scm (python-cart): Update to 1.2.3.
[native-inputs]: Remove python-wheel.

Change-Id: I02c5367c8b16e7f1fd3321627566ada4e868c6ae
2025-12-28 12:06:20 +00:00
Sharlatan Hellseher
ed0b121366 gnu: python-sendgrid: Update to 6.9.7.
* gnu/packages/python-web.scm (python-sendgrid): Update to 6.9.7.
[build-system]: Switch to pyproject-build-system.
[propagated-inputs]: Add python-cryptography, python-flask,
python-pyyaml, python-six, and python-werkzeug.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: I7bfe8845aed9d0f44cc732fc1c825f90bae25716
2025-12-28 12:06:20 +00:00
Sharlatan Hellseher
e4e3eb54d0 gnu: python-http-client: Switch to pyproject, improve package.
* gnu/packages/python-web.scm (python-http-client):
[build-system]: Switch to pyproejct-build-system.
[arguments] <test-backend>: Use unittest.
[native-inputs]: Add python-setuptools.

Change-Id: I74539b677886045419084f596390a91fd068f2a1
2025-12-28 12:06:20 +00:00
Nicolas Graves
7eaf4eae43 gnu: python-starkbank-ecdsa: Update to 2.2.0.
* gnu/packages/python-crypto.scm (python-starkbank-ecdsa): Update to 2.2.0.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-backend>: Set it.
[native-inputs]: Add python-setuptools, remove python-pytest.

Change-Id: I697e054b8e537592ba329709605e6200d1d47287
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-28 12:06:20 +00:00
Nicolas Graves
b6b3e42f6c gnu: python-pyu2f: Switch to pyproject.
* gnu/packages/python-crypto.scm (python-pyu2f):
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-flags>: Ignore failing tests.
[native-inputs]: Add python-setuptools.

Change-Id: If39d41b0d6a0e515bd7030e1ab2156797f287956
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-28 12:06:20 +00:00
Nicolas Graves
cc698b801e gnu: python-privy: Switch to pyproject.
* gnu/packages/python-crypto.scm (python-privy):
[build-system]: Switch to pyproject-build-system.
[arguments]: Drop them.
[native-inputs]: Add python-setuptools.

Change-Id: If994d1f9ac17efda3e99b62a619aa5e78516fce8
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-28 12:06:19 +00:00
Nicolas Graves
e64729df20 gnu: python-keyutils: Switch to pyproject.
* gnu/packages/python-crypto.scm (python-keyutils):
[build-system]: Switch to pyproject-build-system.
[arguments]: Relocate field.
[native-inputs]: Add python-setuptools. Remove python-pytest-runner.

Change-Id: I29b7829436918f7d959b9804b429c7cf2955bef1
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-28 12:06:19 +00:00
Nicolas Graves
d463b29e4d gnu: python-pycryptodome: Update to 3.23.0.
* gnu/packages/python-crypto.scm (python-pycryptodome): Update to 3.23.0.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-backend, #:test-flags>: Use custom.
<#:phases>: Add 'patch-gmp-path phase.
[inputs]: Add gmp.
[native-inputs]: Add python-pycryptodome-test-vectors, python-setuptools.
(python-pycryptodomex): Switch to package/inherit and build from the
same source as python-pycryptodome.
[arguments] <#:test-flags>: Adjust for python-pycryptodomex as seen in
INSTALL.rst.
<#:phases>: Add 'set-separate-namespace.
[synopsis]: Mention the difference as seen in README.md.

Change-Id: Ic19ee6627c1b95e79980add893a8f4678feae317
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-28 12:06:19 +00:00
Sharlatan Hellseher
a20e0f6f93 gnu: Add python-pycryptodome-test-vectors.
* gnu/packages/python-crypto.scm (python-pycryptodome-test-vectors): New variable.

Change-Id: I8e99ee01a6bca15a6f5bca6494eaf5efac209a5d
2025-12-28 12:06:19 +00:00
Nicolas Graves
74da72f491 gnu: python-blurhash: Update to 1.1.5.
* gnu/packages/python-crypto.scm (python-blurhash): Update to 1.1.5.
[build-system]: Switch to pyproject-build-system.
[arguments]: Replace <#:phases> with <#:test-flags>.
[native-inputs]: Add python-setuptools.
[synopsis, description]: Improve style.

Change-Id: Iea785b586d908b3b519e3ba930d0d5f8bb43e3e6
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-28 12:06:19 +00:00
Nicolas Graves
8c1b704409 gnu: python-crcmod: Switch to pyproject.
* gnu/packages/python-crypto.scm (python-crcmod):
[build-system]: Switch to pyproject-build-system.
[arguments]: Replace <#:phases> by <#:test-backend, #:test-flags>.
[native-inputs]: Add python-setuptools.

Change-Id: Id5d313dfe30c6103b45a8afd03c07b5238187b45
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-28 12:06:19 +00:00
Nicolas Graves
f78e0bff2b gnu: python-asn1crypto: Switch to pyproject.
* gnu/packages/python-crypto.scm (python-asn1crypto):
[build-system]: Switch to pyproject-build-system.
[arguments]: Replace <#:phases> by <#:test-backend>.
[native-inputs]: Add python-setuptools.

Change-Id: Ib2d0cb927ffddc9f0d8007a8d166121a96f8e41a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-28 12:06:19 +00:00
λx.x
acdee26a3a gnu: Add Atkinson Hyperlegible Mono.
* gnu/packages/fonts.scm (font-atkinson-hyperlegible-mono): New variable.

Closes: guix/guix#5161
Change-Id: Ie024afddf5cce460906b80b5a6f3abc8c849f008
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-28 20:01:02 +08:00
λx.x
e2d507e4c1 gnu: Add Atkinson Hyperlegible Next.
* gnu/packages/fonts.scm (font-atkinson-hyperlegible-next): New variable.

Change-Id: I0bcbbe951e75f99cbb8e56c1252bb01d5d4ca943
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-28 20:01:02 +08:00
Rodion Goritskov
65432c00fc tests: Add Fedora foreign distribution test.
* gnu/tests/foreign.scm (qcow-image-with-marionette):
  - Create .autorelabel file to make copied Guile work
    on SELinux-enabled systems.
(resize-lvm-xfs-partition): New variable.
(run-foreign-install-test): Increase RAM for VM to 1024
  as 512 is not sufficient to run Guix installation
  on Fedora.
(fedora-qcow2): New variable.
(%test-fedora-install): New variable.

Change-Id: Ib247a174dfea8630d830763410391077516a8c16
Merges: #5007
2025-12-28 12:38:29 +01:00
Rutherther
f1c1fb9340 tests: foreign: Add Ubuntu test.
This one is a bit more complicated than the other ones, because the qcow2
image is too small to hold the tarball contents.  So I have decided to add in
logic to resize the qemu img, the partition and the filesystem.

* gnu/tests/foreign.scm
(ubuntu-qcow2): New variable.
(ubuntu-uidmap-deb-file): New variable.
(ubuntu-libsuid4-deb-file): New variable.
(%test-ubuntu-install): New variable.

Change-Id: Ib705cfe0aeab5e6ede284b8eff06483aea617349e
Signed-off-by: Rutherther <rutherther@ditigal.xyz>

Merges: #4997
Change-Id: I17472d160665fa4965d1c1ee00d671746bd5fb74
2025-12-28 12:38:28 +01:00
Rutherther
0c74e5835e tests: foreign: Add utilities for resizing foreign images.
* gnu/tests/foreign.scm
(qcow-image-with-marionette): Add resize-image and
resize-proc to resize the image, the partition and the file system.
(resize-ext4-partition): New variable.
(run-foreign-install-test): Add resize-image and resize-proc; Pass them to
qcow-image-with-marionette.

Change-Id: I92dbe0cdcafb5ff0a0b6c3e9b96205b4ad9d10e8
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-28 12:38:27 +01:00
Dr. P. Roberts
b56e2cd6a7 gnu: Add hyprland-qt-support.
* gnu/packages/qt.scm (hyprland-qt-support): New variable.

Closes: guix/guix#4811
Change-Id: I27ef41f5b7a2fdc9599344a8d81c8a27714d9732
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-28 19:40:55 +08:00
Jaesung Lee
72f48ee0d4 gnu: Add fcitx5-hangul.
* gnu/packages/fcitx5.scm (fcitx5-hangul): New variable.

Close: guix/guix#5126
Change-Id: Icd5bc4cc6e9cd68e7ef99cec993b9097071980fc
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-28 19:40:55 +08:00
Cayetano Santos
dc711aad40 gnu: Add emacs-balanced-windows.
* gnu/packages/emacs-xyz.scm (emacs-balanced-windows): New variable.

Change-Id: I69673964fd2a5bd9ed3b4dce693800f76bf4208a
2025-12-28 11:51:03 +01:00
Sharlatan Hellseher
e6e301ac56 gnu: Remove beanbag.
* gnu/packages/zig-xyz.scm (beanbag): Delete variable.

Fixes: guix/guix#4390
Change-Id: I9d63ae691cd3ee4adf6d49a7210a1720af6f6fdd
2025-12-27 22:15:12 +00:00
Nicolas Graves
0f647d7e34 gnu: python-pylibacl: Update to 0.7.3.
* gnu/packages/acl.scm (python-pylibacl): Update to 0.7.3.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:phases>: Remove 'check phase, improve style.
[native-inputs]: Add python-setuptools.

Change-Id: I5360b2f7f6af3dca3890acb89220b29d1d7b3ae7
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 22:02:52 +00:00
Nicolas Graves
a5dd26b9c5 gnu: neovim-coqtail: Remove python-pynvim input.
* gnu/packages/vim.scm (neovim-coqtail)
[native-inputs, propagated-inputs]: Remove python-pynvim input.

Change-Id: Icec76ea9b98bf2ab20be2cc5e29e590d664eff96
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 22:02:52 +00:00
Nicolas Graves
7081495ec6 gnu: python-pynvim: Update to 0.6.0.
* gnu/packages/vim.scm (python-pynvim): Update to 0.6.0.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:tests?>: Enable them.
[native-inputs]: Add neovim, python-pytest, python-pytest-timeout,
python-setuptools.
[description]: Improve style.

Change-Id: I08ccc31275f8a4c96c4cb67eafa95f3cc5346116
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 22:02:52 +00:00
Nicolas Graves
fb99bbfbc5 gnu: python-vagrant: Update to 1.1.0.
* gnu/packages/virtualization.scm (python-vagrant): Update to 1.1.0.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: Ib886c4320655df628203e235171f98a4d19e118c
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 22:02:52 +00:00
Nicolas Graves
adbf5f9d51 gnu: qmpbackup: Update to 0.52.
* gnu/packages/virtualization.scm (qmpbackup): Update to 0.52.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.
[description]: Improve style.

Change-Id: I40915c336494a243e19469e028d22d1934255c66
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 22:02:52 +00:00
Nicolas Graves
0310ac86b4 gnu: anonip: Switch to pyproject.
* gnu/packages/web.scm (anonip):
[build-system]: Switch to pyproject-build-system.
[arguments]<#:phases>: Switch to <#:test-flags> instead.
[native-inputs]: Add python-setuptools.

Change-Id: Ie9d14f6d9d1e99bd4efb6591c8e2ec0e2d72de1a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 22:02:52 +00:00
Nicolas Graves
1d26eb93e2 gnu: buku: Update to 5.1.
* gnu/packages/web.scm (buku): Update to 5.1.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:tests?>: Enable them.
<#:test-flags>: Ignore failing tests.
[native-inputs]: Add python-pyyaml, python-pytest, python-setuptools.

Change-Id: I6c9d17dff6623de4255897bfa822ce885ccf1bab
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 22:02:52 +00:00
Nicolas Graves
64fd3e51b6 gnu: python-feedparser: Switch to pyproject.
* gnu/packages/web.scm (python-feedparser):
[build-system]: Switch to pyproject-build-system.
[arguments]: Replace <#:phases> with <#:test-backend, #:test-flags>.
[native-inputs]: Add python-setuptools.

Change-Id: Iedcbcd06e4d8171f484e077b93ff0dcc24ddf066
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 22:02:52 +00:00
Nicolas Graves
53d0957396 gnu: python-i3-py: Switch to pyproject.
* gnu/packages/wm.scm (python-i3-py):
[build-system]: Switch to pyproject-build-system.
[arguments]<#:phases>: Refresh phase 'install-doc.
[native-inputs]: Add python-setuptools.
[description]: Improve style.

Change-Id: Ida9397a7ffb3e142b44ac7f1516e072a93b853e6
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 22:02:52 +00:00
Nicolas Graves
085593c5ef gnu: xlsx2csv: Update to 0.8.3.
* gnu/packages/xml.scm (xlsx2csv): Update to 0.8.3.
[arguments]: Improve style.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: I8b4bd7e00b1fd6de08d9961ddc2f0a1c12c363b9
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 22:02:48 +00:00
Ghislain Vaillant
9aed8e406a python-pymc: Fix build.
* gnu/packages/statistics.scm (python-pymc): Fix build.
  [arguments]<#:phases>: Remove write-permissions, add relax-requirements.
  [native-inputs]: Add python-setuptools, remove python-pytest-cov.
  [propagated-inputs]: Remove python-fastprogress, add python-rich and
  python-threadpoolctl.

Change-Id: I728af9fbb2d739ae2d3bca197dc3d0fb02d04076
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 21:54:54 +00:00
Nicolas Graves
d313843515 gnu: pydf: Update to 15-0.af38bb3.
* gnu/packages/disk.scm (pydf): Update to 15-0.af38bb3.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:tests?>: Disable them.
[native-inputs]: Add python-setuptools.

Change-Id: I16dbe1f9d0e74fb5bc64e35b69f1ff8b9b032f84
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 21:45:45 +00:00
Nicolas Graves
4753a946c3 gnu: greaseweazle-host-tools: Switch to pyproject.
* gnu/packages/disk.scm (greaseweazle-host-tools):
[build-system]: Switch to pyproject-build-system.

Change-Id: Ifeaf9454be3f97e31d59f382c079b6dfe2f7bf2d
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 21:45:44 +00:00
Nicolas Graves
aba1210d8e gnu: rtv: Switch to pyproject.
* gnu/packages/syndication.scm (rtv):
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]: Improve style.
[native-inputs]: Add python-setuptools.  Remove python-coveralls,
python-coverage, python-pylint, python-vcrpy.

Change-Id: Ib77e39e961ca3b9badc11995b75870c54a7531e9
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 21:45:44 +00:00
Nicolas Graves
6c2b1e48c2 gnu: python-kitchen: Update to 1.2.6.
* gnu/packages/python-xyz.scm (python-kitchen): Update to 1.2.6.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-flags>: Ignore failing-tests.
<#:phases>: Add phase 'delete-broken-test-files.
[native-inputs]: Add python-pynose, python-setuptools.
[propagated-inpurs]: Remove python-chardet.
[description]: Improve style.

Change-Id: I3fad4736c6c828747cc6fcdf71ad7f3fc8226684
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 21:45:44 +00:00
Nicolas Graves
fe6941a641 gnu: python-pendulum: Update to 3.1.0.
* gnu/packages/rust-crates.scm (pendulum): Record crates.
* gnu/packages/time.scm (python-pendulum): Update to 3.1.0.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:imported-modules, #:modules, #:phases>: Set them for
maturin. Remove former 'add-setup.py phase.
[native-inputs]: Add maturin, python-pytest, python-pytest-benchmark,
python-pytz, python-setuptools, python-time-machine, rust, rust:cargo.
[inputs]: Add pendulum cargo-inputs.
[propagated-inputs]: Replace python-pytzdata by python-tzdata.
[description]: Improve style.

Change-Id: I056ca219e52ccd9d61a083d3eba2e7f72c945926
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 21:45:44 +00:00
Nicolas Graves
b1179ad62d gnu: python-pytzdata: Switch to pyproject.
* gnu/packages/time.scm (python-pytzdata):
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:tests?>: Enable them.
<#:phases>: Add phase 'use-poetry-core.
[native-inputs]: Add python-poetry-core, python-pytest.
[description]: Improve style.

Change-Id: I98601c5448d1d467e882626a841410b936f81c72
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 21:45:44 +00:00
Nicolas Graves
e1a9ae4b22 gnu: stig: Update to 0.14.1a0.
* gnu/packages/bittorrent.scm (stig): Update to 0.14.1a0.
[build-system]: Relocate field, switch to pyproject-build-system.
[arguments]: Relocate field, improve style.
[native-inputs]: Add python-setuptools.
[description]: Improve style.

Change-Id: I12a868709901cf874c2795c71ed81c6198cfd75b
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 21:45:44 +00:00
Nicolas Graves
a881defc09 gnu: python-pcpp: Switch to pyproject.
* gnu/packages/c.scm (python-pcpp):
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-backend, #:test-flags>: Set them.
[native-inputs]: Add python-setuptools.
[description]: Improve style.

Change-Id: Ib73ee56a32f3ad92adaff6127f3bfcb5e1d0a801
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 21:45:44 +00:00
Nicolas Graves
0b763df3a6 gnu: cmakelang: Switch to pyproject.
* gnu/packages/cmake.scm (cmakelang):
[build-system]: Switch to pyproject-build-system.
[arguments]<#:phases>: Improve phase 'adjust-setup.py.
<#:modules>: Adapt accordingly.
[native-inputs]: Add python-setuptools.

Change-Id: I91ec03b22140c69ea7a9cb39319302585d29398d
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 21:45:44 +00:00
Nicolas Graves
61a13d1a3d gnu: python-serverfiles: Switch to pyproject.
* gnu/packages/orange.scm (python-serverfiles):
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-backend>: Set it.
[native-inputs]: Add python-setuptools.

Change-Id: I3dbbf628c9940c31a57c5d796dc6a4897575073b
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 21:45:41 +00:00
Nicolas Graves
4fb5164f8e gnu: python-pytools: Update to 2025.2.5.
* gnu/packages/opencl.scm (python-pytools): Update to 2025.2.5.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-hatchling.
2025-12-27 21:42:21 +00:00
Nicolas Graves
06e34decdb gnu: me-cleaner: Switch to pyproject.
* gnu/packages/flashing-tools.scm (me-cleaner):
[source, description]: Improve style.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:phases>: Refresh them, use gexps.
[native-inputs]: Add python-setuptools.
2025-12-27 21:42:21 +00:00
Nicolas Graves
4a3faf19d4 gnu: python-setools: Update to 4.5.0.
* gnu/packages/selinux.scm (python-setools): Update to 4.5.0.
[arguments]<#:test-flags>: Set it.
<#:phases>: Remove phase 'remove-Werror. Add phase 'fix-tests.
[native-inputs]: Add python-pytest, python-pytest-qt.
[inputs]: Replace python-pyqt by python-pyqt-6.
2025-12-27 21:42:21 +00:00
Nicolas Graves
f8c7cd1b1d gnu: nyx: Switch to pyproject.
* gnu/packages/tor.scm (nyx):
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-backend>: Set it.
<#:phases>: Refresh them, improve style.
[native-inputs]: Add python-setuptools.
2025-12-27 21:42:21 +00:00
Nicolas Graves
ff65305ea7 gnu: python-grpc-stubs: Update to 1.53.0.6.
* gnu/packages/rpc.scm (python-grpc-stubs): Update to 1.53.0.6.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:tests?>: Disable them.
[native-inputs]: Add python-setuptools.
2025-12-27 21:42:21 +00:00
Nicolas Graves
2aae63601d gnu: python-setools: Switch to pyproject.
* gnu/packages/selinux.scm (python-setools):
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.
2025-12-27 21:42:21 +00:00
Nicolas Graves
cf7c47870f gnu: grammalecte: Run tests.
* gnu/packages/dictionaries.scm (grammalecte):
[arguments]<#:test-backend>: Set it.

Change-Id: Idc4b433767dd5a52c0929d9171d7c4b85a9031e3
2025-12-27 21:42:20 +00:00
Nicolas Graves
7652e6f8f9 gnu: docker-compose: Switch to pyproject.
* gnu/packages/docker.scm (docker-compose):
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.
2025-12-27 21:42:20 +00:00
Nicolas Graves
3a8656e0bd gnu: python-docker-5: Switch to pyproject.
* gnu/packages/docker.scm (python-docker-5):
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.
2025-12-27 21:42:13 +00:00
Cayetano Santos
df218e5435 teams: crypto: Adopt all crypto modules.
* etc/teams.scm (crypto)<#:scope>:
Add "gnu/packages/*-crypto.scm".
* CODEOWNERS: Regenerate file.

Change-Id: I42e71955143a8e14013d32d6a7c41138cb0d48d1
2025-12-27 21:49:30 +01:00
Aaron Covrig
136538c7bf gnu: python-pylems: Update to v0.6.9.
* gnu/packages/python-science.scm (python-pylems): Update to v0.6.9.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]: Execute project tests.
[native-inputs]: Add python-pytest and python-setuptools.
[propagated-inputs]: Add python-matplotlib.
[description]: Update with acronym.

Closes guix/guix#5024

Change-Id: Id3e454e5ae6f4ca49fad29cd4e0238aeb75e7653
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-27 21:39:41 +01:00
Nicolas Graves
79b3d9a0fb gnu: python-glue-core: Skip flaky test.
This test is failing in the CI with a message about speed of example
generation.  I can run it on my system just fine.

* gnu/packages/astronomy.scm (python-glue-core)[arguments]
<#:test-flags>: Skip flaky test.

Change-Id: I4af5279c356ff66f26287f533c0e68f95b700950
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 20:13:59 +00:00
Nicolas Graves
619cc0db5d gnu: toutenclic: Switch to pyproject.
* gnu/packages/education.scm (toutenclic):
[build-system]: Switch to pyproject-build-system.
[arguments]: Refresh them, improve style.
[native-inputs]: Add python-setuptools.
[description]: Improve style.

Change-Id: I08e66c14fb71763b76337035dc694f829809bd02
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 20:13:59 +00:00
Nicolas Graves
aa2288f00d gnu: mazo: Update to 1.2.1.
* gnu/packages/education.scm (mazo): Update to 1.2.1.
[build-system]: Switch to pyproject-build-system.
[arguments]: Refresh them, improve style.
[description]: Improve style.

Change-Id: I9e16d344dd0d3207f94d1b7ebdb1d14188857afc
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 20:13:59 +00:00
Nicolas Graves
45684d45b4 gnu: python-efl: Update to 1.26.1.
* gnu/packages/enlightenment.scm (python-efl): Update to 1.26.1.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-flags>: Ignore failing tests.
<#:phases>: Improve readability.
[native-inputs]: Add python-pytest, python-setuptools.

Change-Id: I0f06150d89fd6f0703ad31d1ba6589c41bc9d1ae
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 20:13:59 +00:00
Nicolas Graves
bf6d52423e gnu: xandikos: Update to 0.3.0.
* gnu/packages/dav.scm (xandikos): Update to 0.3.0.
[build-system]: Switch to pyproject-build-system.
[arguments]: Relocate field.
<#:test-backend>: Set it.
[native-inputs]: Add python-setuptools.

Change-Id: I6c8a9b0e3561904ebbe303defe51fbdc56c17cc1
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 20:13:59 +00:00
Nicolas Graves
d67366b0d1 gnu: ibus-theme-tools: Switch to pyproject.
* gnu/packages/ibus.scm (ibus-theme-tools):
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools. Improve style.

Change-Id: I5588e6fbea218036da063a0797ae9dca2ac61cc5
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 20:13:59 +00:00
Nicolas Graves
3eaad37aa5 gnu: gourmet: Switch to pyproject.
* gnu/packages/nutrition.scm (gourmet):
[build-system]: Switch to pyproject-build-system.
[arguments]<#:modules>: Drop them.
<#:test-flags>: Set them.
<#:phases>: Drop 'check phase replacement. Rename phase 'prepare-x to
'configure-tests.
[native-inputs]: Add python-setuptools.

Change-Id: I466ddf84a8e92680f7957717f4e08cf4c4e02efa
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 20:13:59 +00:00
Nicolas Graves
1e5fd901fd gnu: python-scrape-schema-recipe: Update to 0.2.2.
* gnu/packages/nutrition.scm (python-scrape-schema-recipe): Update to 0.2.2.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:phases>: Replace 'check phase replacement by
'configure-tests phase.
[native-inputs]: Add python-setuptools.

Change-Id: I03b01d1c723ee91e59e4ec5d885225a7ba704ee0
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 20:13:58 +00:00
Nicolas Graves
4897f70905 gnu: nuklear: Switch to pyproject.
* gnu/packages/toolkits.scm (nuklear):
[build-system]: Switch to pyproject-build-system.
[arguments, description]: Improve style.
[native-inputs]: Add python-setuptools.

Change-Id: I781139a2e9f4732efdd077ae2fcca322f15d57a3
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 20:13:58 +00:00
Nicolas Graves
16dd4a36ea gnu: stddoc: Fix build.
* gnu/packages/documentation.scm (stddoc)[arguments]
<#:phases>: Fix 'build phase with an additional flag.

Change-Id: Icdf1246cc97bf39132b002f02ebd381d375c0ed0
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 20:13:58 +00:00
Nicolas Graves
40a038a465 gnu: yubikey-oath-dmenu: Switch to pyproject.
* gnu/packages/security-token.scm (yubikey-oath-dmenu):
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: I7521825feceaa85cd238223667cfc4723862f4b4
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 20:13:56 +00:00
Sharlatan Hellseher
ec9fd2980f gnu: python-dockerpty: Fix build.
* gnu/packages/docker.scm (python-dockerpty):
[build-system]: Switch to pyproject-build-system.
[arguments] <tests?>: Disable for now.
[native-inputs]: Add python-setuptools.

Fixes: guix/guix#5164
Change-Id: Ib8e1cb4658f28706b210c940f5fa6a08642a4874
2025-12-27 19:59:52 +00:00
Sharlatan Hellseher
571bc15dff gnu: Remove sicp.
* gnu/packages/books.scm (sicp): Delete variable.

Fixes: guix/guix#3948
Change-Id: I0762f2204eb9a3d0233f8d4a1dd1de1af55f277e
2025-12-27 19:59:52 +00:00
Sharlatan Hellseher
835e1e00f5 gnu: python-feather-format: Switch to pyproject.
* gnu/packages/serialization.scm (python-feather-format):
[build-system]: Switch to pyproject-build-system.
[arguments]: <tests?>: No tests provided.
[native-inputs]: Add python-setuptools.

Change-Id: Icfa8b70773f4d547a019f5b4cded7c4ef3eae2f7
2025-12-27 19:59:52 +00:00
Sharlatan Hellseher
ed479712ef gnu: python-agate-sql: Update to 0.7.3.
* gnu/packages/wireservice.scm (python-agate-sql): Update to 0.7.3.
[source]: Switch to git-fetch.
[arguments] <test-flags>: Skip one test.
[propagated-inputs]: Remove python-crate.
[native-inputs]: Remove python-wheel.

Change-Id: I6e663ed216e3ac6174ef2830b6837b93c0b51145
2025-12-27 19:59:51 +00:00
Nicolas Graves
785b69725b gnu: python-crate: Update to 2.0.0.
* gnu/packages/databases.scm (python-crate): Update to 2.0.0.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-flags>: Ignore failing tests.
[native-inputs]: Add python-orjson, python-pytest, python-pytz,
python-setuptools, python-sqlalchemy, python-verlib2,
tzdata-for-tests.
           .
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>

Change-Id: Ic5c2a0254fd9fdd96c3fab5c53e9e9de675cbf6f
2025-12-27 19:59:51 +00:00
Nicolas Graves
54467b917b gnu: Add python-verlib2.
* gnu/packages/python-xyz.scm (python-verlib2): New variable.

Change-Id: I31d5404d098d43d2d874b04bafab412a079cb58b
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 19:59:51 +00:00
Nicolas Graves
7ba3dd1676 gnu: python-pyarrow: Switch to pyproject.
* gnu/packages/databases.scm (python-pyarrow):
[build-system]: Switch to pyproject-build-system.
[arguments]<#:phases>: Keep 'build phase.
[native-inputs]: Add python-setuptools.

Change-Id: Ibcaf7988f06f6abc5a7989724984c296440db0d6
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 19:59:51 +00:00
Nicolas Graves
c03d773d86 gnu: yoyo-migrations: Update to 9.0.0.
* gnu/packages/databases.scm (yoyo-migrations): Update to 9.0.0.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:phases>: Add phase 'start-postgresql.
[native-inputs]: Add them.

Change-Id: I4f1092436e54938b0fee10addd9a6e6dfa92721a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 19:59:51 +00:00
Nicolas Graves
b2d0310d0e gnu: Add tms.
* gnu/packages/python-check.scm (tms): New variable.

Change-Id: I4ccbef53f4fc284aff3ce55f5f7f6d578b9f817f
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 19:59:51 +00:00
Nicolas Graves
d8af184753 gnu: python-psycopg-pool: Switch to pyproject.
* gnu/packages/databases.scm (python-psycopg-pool):
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: Ie891a1d87f0bf9206a26dba94a6bb562552c6a31
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 19:59:51 +00:00
Nicolas Graves
452e3a5c7e gnu: python-psycopg2: Update to 2.9.11.
* gnu/packages/databases.scm (python-psycopg2): Update to 2.9.11.
[source]: Switch to git-fetch.
[arguments]<#:test-flags>: Drop them.

Change-Id: I13c48ccfdaaf5bb1d5631192d38259e9e1eba9ad
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 19:59:51 +00:00
Nicolas Graves
9da35d7409 gnu: python-psycopg2: Run tests and migrate to pyproject.
* gnu/packages/databases.scm (python-psycopg2)
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-flags, #:phases>: Set them to run tests.
[native-inputs]: Add postgresql, tzdata-for-tests, python-pytest,
python-setuptools

Change-Id: I51b356a4e2d56f95aeff53f4a7a4b9c600d9744c
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 19:59:51 +00:00
Nicolas Graves
ff3c2127e6 gnu: python-sqlalchemy-utils: Run tests.
* gnu/packages/databases.scm (python-sqlalchemy-utils)[arguments]
<#:test-flags, #:phases>: Set them to run tests.
[native-inputs]: Add postgresql, tzdata-for-tests.

Change-Id: I0c5c0a170b42297044b4bfbe034db9e9e1d9352e
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 19:59:50 +00:00
Nicolas Graves
659e77bbf9 gnu: python-sqlite-fts4: Switch to pyproject.
* gnu/packages/databases.scm (python-sqlite-fts4):
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.
[description]: Improve style.

Change-Id: Ibced9b5299bc460df20c4bb689af09f184a5c15a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 19:59:50 +00:00
Nicolas Graves
12d907b17d gnu: python-sqlalchemy-utils: Update to 0.42.1.
* gnu/packages/databases.scm (python-sqlalchemy-utils): Update to 0.42.1.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: I25bfc76aa073c23b14add53d409fbda56519301c
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 19:59:43 +00:00
Grigory Shepelev
8632aae122 gnu: emacs-xyz: Add emacs-ssh-tunnels
* gnu/packages/emacs-xyz.scm (emacs-ssh-tunnels): New variable.

Closes guix/guix#4228

Change-Id: I8b2feb93b1edb80dda7b83197e3dc57b5fc43c8b
Co-authored-by: Cayetano Santos <csantosb@inventati.org>
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-27 20:18:07 +01:00
Yunqi Shao
328df1249f gnu: prusa-slicer: Wrap binary for GtkFilechooserdialog.
Without setting GSETTINGS_SCHEMA_DIR, opening file in prusa-slicer (or
prusa-gcodeviewer which is a symlink to the same binary) crashes with:

Settings schema 'org.gtk.Settings.FileChooser' is not installed
Trace/breakpoint trap

Closes: guix/guix#5039

* gnu/packages/engineering.scm (prusa-slicer)[arguments]: Add
’wrap-program #:phase.
[inputs]: Add bash-minimal.

Change-Id: Ic9763f031d18561aa142fee4f5f6e041f597b4d7
Modified-by: Cayetano Santos <csantosb@inventati.org>
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-27 18:56:00 +01:00
Aaron Covrig
1ffe9cf1f4 gnu: python-uritemplate: Update to 4.2.0.
* gnu/packages/python-web.scm (python-uritemplate): Update to 4.2.0.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest and python-setuptools.
[home-page]: Update URL.

Change-Id: I29c8caa1055a11f2faa20f5c3ffd4be7e9297f14
Reviewed-by: Nguyễn Gia Phong <cnx@loang.net>
Reviewed-by: Hugo Buddelmeijer <hugo@buddelmeijer.nl>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 17:34:12 +00:00
Anderson Torres
12d17eccd9 emacs-setup: Update repository.
The old repository and home-page no longer exists, since the project
migrated to Codeberg.

* gnu/packages/emacs-xyz.scm (emacs-setup)[source]: Switch to git-fetch.
[arguments]<#:tests?>: Disable.
[home-page]: Update.

Change-Id: I0bb1c270151bec5e2a4a3942d73b7c9485555d93
Modified-by: Cayetano Santos <csantosb@inventati.org>
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-27 18:32:23 +01:00
Hugo Buddelmeijer
00b57e2554 gnu: python-pytest-astropy: Switch to pyproject.
* gnu/packages/python-check.scm (python-pytest-astropy):
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: I6363cc888c08bef6b679c05bdfca26af719f8c51
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 17:24:45 +00:00
Hugo Buddelmeijer
679acc5675 gnu: python-pytest-xvfb: Update to 3.1.1.
* gnu/packages/python-check.scm (python-pytest-xvfb): Update to 3.1.1.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]: Use gexps.
<:#phases>: Improve prepare-tests phase.
[native-inputs]: Remove python-pytest-runner, add python-setuptools.

Change-Id: I7d46911037989228db944f08fd850fa7122daad0
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 17:24:45 +00:00
Hugo Buddelmeijer
f85938f7b7 gnu: python-pytest-celery: Update to 1.2.1.
* gnu/packages/python-check.scm (python-pytest-celery): Update to 1.2.1.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]: Use gexpes.
[home-page]: Update URL.
[propagated-inputs]: Add python-pytest-docker-tools, python-psutil
and python-tenacity.
[native-inputs]: Add python-celery-minimal, python-memcached,
python-poetry-core, python-pytest, python-pytest-cov, python-redis,
and python-requests.
[description]: Add more details.

Change-Id: I07fcb2d8ef319fe28b32902921ae2ae181a4d8c0
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 17:24:45 +00:00
Hugo Buddelmeijer
e033bf01e6 gnu: Add python-celery-minimal.
* gnu/packages/python-xyz.scm (python-celery-minimal): New variable.

Change-Id: Ib6c71748d52cdfee06c894e74bb067e8522fc6e4
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 17:24:44 +00:00
Hugo Buddelmeijer
dc95ec12e8 gnu: Add python-pytest-docker-tools.
* gnu/packages/python-check.scm (python-pytest-docker-tools): New variable.

Change-Id: Icc5f93e61f32d4e00cf48db333c1270100e8b9b4
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 17:24:44 +00:00
Hugo Buddelmeijer
3916b479f7 gnu: python-pyux: Switch to pyproject.
* gnu/packages/python-check.scm (python-pyux):
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: Ic1ba57fce6a1e4936a3610753229aef3ff120a2d
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 17:24:44 +00:00
Hugo Buddelmeijer
a326afb85f gnu: python-xvfbwrapper: Update to 0.2.16.
* gnu/packages/python-check.scm (python-xvfbwrapper): Update to 0.2.16.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: Id267bb7978a38db55e8d84fa56d19fd6b639d9f9
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 17:24:44 +00:00
Hugo Buddelmeijer
692c95e305 gnu: python-xunitparser: Switch to pyproject.
* gnu/packages/python-check.scm (python-xunitparser):
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest and python-setuptools.
[home-page]: Update URL.

Change-Id: I3946378b153c54f9992df1b6562282c44fc65c1a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 17:24:44 +00:00
Ludovic Courtès
b9cf7580d2 gnu: emacs: Do not retain reference to an extra glibc package.
This shaves ~18 MiB on the closure of ‘emacs’ and ‘emacs-no-x’.

* gnu/packages/emacs.scm (emacs-no-x)[arguments]: In
‘patch-compilation-driver’, use ‘search-input-file’ instead of
‘this-package-input’.
[inputs]: Remove ‘ld-wrapper’, ‘binutils’, and ‘libc-for-target’.

Closes: guix/guix#5029
Fixes: guix/guix#5028

Change-Id: Ib71641cf37f8ae3590b0db97c14fcd45d21080f1
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-27 17:48:51 +01:00
Hugo Buddelmeijer
f1005ad96c gnu: mc2mt: Fix build.
* gnu/packages/game-development.scm (mc2mt): Fix build and indentation.
[source]: Move snippet to phase.
[native-inputs]: Add python-pytest.

* gnu/packages/patches/mc2mt-add-packaging-support.patch: Update patch.

Change-Id: I3db227b726fa9dec8c09e49cada2d5f74e35576e
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 16:35:28 +00:00
Hugo Buddelmeijer
3ded25e6f1 gnu: python-anvil-parser: Update to 0.10.6-0.91a7eda.
* gnu/packages/game-development.scm (python-anvil-parser): Update to
0.10.6 91a7eda55f0fb55a948d1072896430c29d906809 commit.
[source]: Update URL, permanent redirect.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest and python-setuptools.
[home-page]: Update URL.

Change-Id: Ie483cda52cdf86645584b835f65847fbbe737d7e
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 16:34:35 +00:00
Hugo Buddelmeijer
9643da0abe gnu: python-nbt: Fix build; add tests.
* gnu/packages/game-development.scm (python-nbt-testdata): New variable.
* gnu/packages/game-development.scm (python-nbt): Fix build; add tests.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:phases>: Add 'fake-download phase.
<#:test-flags>: List specific files to test.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: I1579b0fe6d3cbe06b279c7b78f4834b6e9b849ba
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>

aa

Change-Id: I02b49dca10d5bc39a585b1916434f53b8b96fbd0
2025-12-27 16:30:45 +00:00
Luca Di Sera
36d7c88fb4 gnu: lean4: Fix silent install failure
The lean4 package currently builds and installs without a visible
failure, but fails to effectvely provide its output, such as the "lean"
binary.

This is due to the install phase of the derivation failing silently as
it tries to access a bash shell using an absolute path that expects an
FHS compliant system.

To fix the issue, the relevant path in "src/stdlib.make.in", which is
used during the install phase of the of the project, is now patched out
by the package definition.

* gnu/packages/lean.scm (lean4):
[arguments] Add substitution for FHS path in "src/stdlib.make.in"

Change-Id: Ib3db9ce1fbb46175130f9b46c58c55cd65a4a1ae
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 15:29:01 +00:00
Sharlatan Hellseher
1a587bd302 gnu: python-pytensor: Simplify package.
* gnu/packages/python-science.scm (python-pytensor):
[arguments] <test-flags>: Let pytest discover tests.
[phases]{pre-check}: Replace re-build extensions by deleting local
source.
[propagated-inputs]: Remove python-typing-extensions.
[native-inputs]: Remove python-wheel.

Change-Id: I42f97a93e1704856d29691f99414d4f2497723b9
2025-12-27 15:19:20 +00:00
Ghislain Vaillant
e06dfd5399 python-pytensor: Skip more tests.
* gnu/packages/python-science.scm (python-pytensor)
  [arguments]<#:test-flags>: Ignore more failing tests.

Change-Id: I542ba0025bf43ebef08b2ab67c19e618b3b32621
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 15:19:20 +00:00
Sharlatan Hellseher
8f01c85bae gnu: python-behave-web-api: Move to python-web.
* gnu/packages/check.scm (python-behave-web-api): Move from here ...
* gnu/packages/python-web.scm: ... to here.

Change-Id: Ifbb03dd123413c0f3657f1d5d4edccc9f3075b5d
2025-12-27 14:42:56 +00:00
Sharlatan Hellseher
3ef5dd22dd gnu: python-behave-web-api: Update to 2.3.0.
* gnu/packages/check.scm (python-behave-web-api): Update to 2.3.0.
[native-inputs]: Remove python-wheel.

Change-Id: Iea27984382d11a1dfa8bf8f5d371e7ea027ced36
2025-12-27 13:53:43 +00:00
Sharlatan Hellseher
6aa2366f0b gnu: Remove python-nose-timer.
* gnu/packages/check.scm (python-nose-timer): Delete variable.

Closes: guix/guix#4490
Change-Id: Ib7ff7108bab2251217bb52a1132761cc1981bc6d
2025-12-27 13:53:32 +00:00
Patrick Norton
63b71a5152 guix: import: go: Sort inputs alphabetically.
* guix/import/go.scm: (go-module->guix-package): Sort propagated-inputs
alphabetically.

Change-Id: Ie21e7a819ba706c63f16ebf407ae0461780fa2d1
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 12:07:45 +00:00
Hugo Buddelmeijer
02dd2b8552 gnu: python-tspex: Update to 0.6.3-0.d393ff4.
* gnu/packages/python-science.scm (python-tspex): Update to
d393ff497b7c14d673e792bd6c84ddd734be1239 commit.
[source]: Switch to git-fetch for tests.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:phases>: Add 'remove-coverage and 'fix-seaborn phases.
[propagated-inputs]: Add python-seaborn.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: I367198165d5d78e1f1e04708272136711e5b22b5
Reviewed-by: Nicolas Graves <ngraves@ngraves.fr>
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 12:01:11 +00:00
Hugo Buddelmeijer
36c5be27f3 gnu: python-pynrrd: Update to 1.1.3.
* gnu/packages/python-science.scm (python-pynrrd): Update to 1.1.3.
[build-system]: Switch to pyproject-build-system.
[propagated-inputs]: Remove python-nptyping and python-typing-extensions.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: Id98a3424f35fc791324010deae357f89e2d93362
Reviewed-by: Nicolas Graves <ngraves@ngraves.fr>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 11:56:35 +00:00
Hugo Buddelmeijer
e6fba3945f gnu: python-simplespectral: Switch to pyproject-build-system.
* gnu/packages/python-science.scm (python-simplespectral): Switch to
pyproject-build-system.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:tests>: Set to #f, as there are no tests.
[native-inputs]: Add python-setuptools.

Change-Id: Ifabd9561978fec3a7380d8cdb7641732baad01d8
Reviewed-by: Nicolas Graves <ngraves@ngraves.fr>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 11:56:30 +00:00
Sören Tempel
d985622c78 gnu: Add libcoap.
* gnu/packages/networking.scm (libcoap): New variable.

Change-Id: I7360cf4c192e03b8c3f1494ba0a76c301a1fc095
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-27 11:51:35 +00:00
λx.x
6f0d8d658f gnu: emacs-elastic-modes: Update to 1.0.0-2.c577e89.
* gnu/packages/emacs-xyz.scm (emacs-elastic-modes): Update to
1.0.0-2.c577e89.
[version]: Use git-version.

Closes guix/guix#5132

Change-Id: Ibbc10ab3961086dd3746ba47b57158e616ef83e2
Modified-by: Cayetano Santos <csantosb@inventati.org>
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-27 12:16:14 +01:00
Sharlatan Hellseher
a3d8ec15d8 gnu: rpatool: Switch to pyproject.
* gnu/packages/game-development.scm (rpatool):
[build-system]: Switch to pyproject-build-system.
 wl

Change-Id: If04c7db1911f9a2cb64dfcf8d1f01c696df9e65d
2025-12-27 11:06:06 +00:00
Gabriel Wicki
6e3b0e168a gnu: Add klayout.
* gnu/packages/electronics.scm (klayout): New variable.

Change-Id: I8fa2b909d28018bc7219a7bd188dd34a5be6e6d9
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2025-12-27 11:24:25 +01:00
Igorj Gorjaĉev
c71792b260 gnu: Add lexbor.
* gnu/packages/web.scm (lexbor): New variable.

Closes guix/guix#4311

Change-Id: I11a4b5768e32980fe80516d0520209a4aa12f2d5
Reviewed-by: Cayetano Santos <csantosb@inventati.org>
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-27 11:08:00 +01:00
Cayetano Santos
3f2b729589 gnu: Add emacs-difftastic.
* gnu/packages/emacs-xyz.scm (emacs-difftastic): New variable.

Closes guix/guix#4856

Change-Id: Iee6ca9e3c43a989dcda2c84a31d18c9328b07b96
2025-12-27 10:50:40 +01:00
Ada Stevenson
7e90b2fe72 gnu: audio: Add normalize.
* gnu/packages/audio.scm (normalize): New variable.

Closes: guix/guix#5060

Change-Id: If602005900a410a782460e5eeb756d86858b5885
Reviewed-by: Cayetano Santos <csantosb@inventati.org>
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-27 10:36:33 +01:00
Sergey Trofimov
7edf40ac19 gnu: mu: Build with full Emacs.
Build with full Emacs to ensure conditionally required mu4e-dbus feature
is included in the output.

* gnu/packages/mail.scm (mu)[native-inputs]: Replace emacs-minimal with
emacs.

Closes: guix/guix#5077
Fixes: guix/guix#5085
Change-Id: I223b256042ca69421f445c8466fddf9b68fafa56
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-27 11:53:44 +08:00
Andrew Wong
d59016f003 gnu: doom-runner: Update to 1.9.1.
* gnu/packages/games.scm (doom-runner): Update to 1.9.1.
[source]: Delete 'Screenshots' directory.
[arguments]<#:qtbase>: Use qtbase@6.
<#:phases>: Set install dir correctly; Revise binary, appdata, and icons install.
[description]: Revise.

Closes: guix/guix#5129
Change-Id: I21e4cc30424e59fb7b494ca442b8707ef809934e
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-27 11:19:45 +08:00
Rutherther
aff9ce3761 image: operating-system-for-image: Bring back root-fs placeholder.
To calculate the UUID in `root-uuid`, the operating-system has to have a root
file system, because it's typically used in the
operating-system-boot-parameters.

Followup of efc32c6684 that it partially reverts.

* gnu/system/image.scm (operating-system-for-image): Re-introduce root file
system to operating-system used to calculate the UUID.

Fixes: #5131
Reported-By: Yelninei <yelninei@tutamail.com>
Change-Id: Ica2c3d3715cd90fccf3a7484f390b36de3cdfe7f
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5141
2025-12-26 19:54:23 +01:00
Ian Eure
a9462997d7 gnu: Merge xorg configurations when extending.
Configuration for xorg is embedded in the various display-manager
configuration records, and extension support is factored out into the
`handle-xorg-configuration' macro.  However, the extension mechanism replaces
the existing xorg-configuration with the supplied one, making it impossible to
compose configuration from multiple sources.  This patch adds a procedure to
merge two xorg-configuration records, and calls it within
handle-xorg-configuration, allowing the config to be built piecemeal.

* gnu/services/xorg.scm (merge-xorg-configurations): New variable.
(handle-xorg-configuration): Merge xorg configs.

Change-Id: I20e9db911eef5d4efe98fdf382f3084e4defc1ba
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-26 13:15:41 +01:00
gemmaro
5ef86f97e2 gnu: Add rpatool.
* gnu/packages/game-development.scm (rpatool): New variable.

Change-Id: I2edecc630f6cc146c008195eac694fd7891f56d4
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-26 13:15:41 +01:00
Nicolas Graves
dff31548fb gnu: emacs-org-glossary: Update to 0.0.1-1.97827bc.
* gnu/packages/emacs-xyz.scm (emacs-org-glossary): Update to 0.0.1-1.97827bc.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-26 13:15:41 +01:00
Andrew Wong
e5ca91ea97 gnu: Add rpcs3.
* gnu/packages/emulators.scm (rpcs3): New variable.

Change-Id: I18dd22e4699dbe8f80c801a4d8e9b228990219b0
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-26 13:15:40 +01:00
Andrew Wong
3b2e5bbc84 gnu: Add wolfssl-for-rpcs3.
* gnu/packages/tls.scm (wolfssl-for-rpcs3): New variable.

Change-Id: I10f9eca82ae8774f401dfe4fb85816f524eb6482
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-26 13:15:40 +01:00
Andrew Wong
bc84aaa882 gnu: stb: Make public.
* gnu/packages/stb.scm (stb): Make publically-accessible.

This allows packages to use the whole stb as a dependency.

Change-Id: I8f37ea6ee975a071ef1c9b402392ce74cb8f87b9
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-26 13:15:40 +01:00
Andrew Wong
eb7fc96c91 gnu: Add fusion.
* gnu/packages/robotics.scm (fusion): New variable.

Change-Id: Id9b8414cfce25b3841284ec1329424f6bec5fbea
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-26 13:15:40 +01:00
Andrew Wong
3d4689a240 gnu: Add libusb-next.
* gnu/packages/libusb.scm (libusb-next): New variable.

Change-Id: I12fbb6ee2fbefa7dac294d8cc991bb0679795987
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-26 13:15:40 +01:00
Andrew Wong
e5dce117a2 gnu: Add pugixml-next.
* gnu/packages/xml.scm (pugixml-next): New variable.

Change-Id: I6256e7f94f85f73917c2dea30b914d90c23a429a
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-26 13:15:40 +01:00
Andrew Wong
fb6892a924 gnu: Add miniupnpc-next.
* gnu/packages/upnp.scm (miniupnpc-next): New variable.

Change-Id: I206e664edc7eeedcf50dbb741a730f457d5b0a95
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-26 13:15:40 +01:00
Andrew Wong
a3908bf8e2 gnu: rtmidi: Update to 6.0.0.
* gnu/packages/audio.scm (rtmidi): Update to 6.0.0.

Change-Id: I6e9b301242af520300fd1dd61f91240396f9de24
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-26 13:15:40 +01:00
Luca Matei Pintilie
3d4620ab26 services: greetd: Create runfiles in a tmpfs.
Greetd's initial-session (i.e. auto-login) functionality requires runfiles
to be deleted on shutdown.  Use a tmpfs to ensure said runfiles do not linger.

* gnu/services/base.scm (make-greetd-terminal-configuration-file): Add
“runfile” to configuration.
(%greetd-file-systems): Add a tmpfs for “/run/greetd/runfiles”.

Change-Id: I07319d5d8bdb1e18fb0074b67d5c9cb9fb49b04a
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-26 13:15:39 +01:00
Ricardo Wurmus
e2fadf0083 gnu: mypaint: Fix build.
* gnu/packages/image.scm (mypaint)[arguments]: Disable tests; patch for
compatibility.

Change-Id: Id748910420669f206b08fda2650e6792b2f6a1d4
2025-12-26 11:34:25 +01:00
jgart
51d42cd40f gnu: trealla: Update to 2.88.3.
* gnu/packages/prolog.scm (trealla): Update to 2.88.3.

Change-Id: I924a571e1d27b3a1f34a3bdfef683e0b2caba987
2025-12-25 21:37:49 -05:00
Artyom V. Poptsov
f289d792d6 gnu: guile-dsv: Modernize the package.
* gnu/packages/guile-xyz.scm (guile-dsv) [arguments]: Use GEXPs.

Change-Id: I9e5082e12c88ce40c84502463ca693ec949e80b0
2025-12-26 04:50:01 +03:00
Artyom V. Poptsov
b23097b129 gnu: guile-dsv: Update to 0.8.1.
* gnu/packages/guile-xyz.scm (guile-dsv): Update to 0.8.1.

Change-Id: Ibe890ad9f09da2a99a0997595c5c57dbc4801ec8
2025-12-26 04:45:38 +03:00
jgart
2fef5fa246 gnu: ruby-base64: Enable tests.
* gnu/packages/ruby-xyz.scm (ruby-base64): Enable tests.
[source]: Use GitHub source since gem lacks test files and update hash.
[native-inputs]: Add ruby-rake and ruby-test-unit.

Change-Id: If94acd5baa7984a4a5b441af6990847316edc2b6
2025-12-25 20:01:49 -05:00
Aaron Covrig
c6f78e904d gnu: ruby-base64: Update to 0.3.0.
* gnu/packages/ruby-xyz.scm (ruby-base64): Update to 0.3.0.

Change-Id: I3aa10f1a58735d1cd39ba1ccae82d3f40a05d38a
Signed-off-by: jgart <jgart@dismail.de>
2025-12-25 20:01:49 -05:00
Sergey Trofimov
720f0fa277 gnu: gpxsee: Update to 15.6.
* gnu/packages/gps.scm (gpxsee): Update to 15.6.

Change-Id: I18a69712837dfd472beee66677933a3b1dc9d193
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4971
2025-12-26 00:01:44 +01:00
Patrick Norton
4f304b940e gnu: Add dmtx-utils.
* gnu/packages/aidc.scm (dmtx-utils): New variable.

Change-Id: I6d12ad3df4de3fbf90fc2460f91b4f8f4f26c682
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4983
2025-12-26 00:01:44 +01:00
λx.x
b2c56f7bd9 gnu: dbqn: Improve style.
* gnu/packages/bqn.scm (dbqn): Run guix style -f.
  (modules): use quote instead of quasiquote.
  (phases): use invoke instead of system,
  <check> [unless tests?]: display "test suite not run",
  <*-jar-*>: use phases from ant-build-system directly, use correct names,
  <install>: simplify, use #$output instead of (assoc-ref outputs "out"),
    substitute* "java" to (search-input-file inputs "/bin/java").
  (inputs): Reorder.

Change-Id: I0166a31aa4c8fe0f7fea800918fb2ddd63b3b5d9
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #2820
2025-12-26 00:01:44 +01:00
λx.x
fc5ec0827e gnu: dbqn: Update to 0.2.2
* gnu/packages/bqn.scm (dbqn): Update to 0.2.2.

Change-Id: I4bdbb74a412b65de7aa7d910cb9ef75d3fe54738
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-26 00:01:44 +01:00
Ludovic Courtès
d2c2e7f4d6 services: cuirass-remote-worker: Disable JIT on AArch64.
* gnu/services/cuirass.scm (cuirass-remote-worker-shepherd-service):
Pass #:environment-variables to ‘make-forkexec-constructor’.

Fixes: guix/guix#5052
Change-Id: Ibbf5aae9c6e62983c8e7f2eda310f68aef2edc8b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #5053
2025-12-26 00:01:44 +01:00
Ludovic Courtès
1cf00c47c0 doc: Add missing double quotes in ‘mapped-device’ snippet.
* doc/guix.texi (Mapped Devices): Add missing double quotes in
‘luks-device-mapping’ example.

Change-Id: I5bcd980ec3d5d142ea37697575f539d640bc6466
2025-12-26 00:01:43 +01:00
Ludovic Courtès
4aece62a75 describe: Add channels to the load path right after ‘guix’.
* guix/describe.scm (append-channels-to-load-path!): Add ‘channels-scm’ and
‘channels-go’ in second position.

Fixes: guix/guix#4819
Fixes: https://issues.guix.gnu.org/74396
Reported-by: Thijs Paelman <thijs@ouroboros.rocks>
Reported-by: Tomas Volf <~@wolfsden.cz>
Change-Id: I430dd6e6e2bd9e423d47dbb310d4553f6cd7f19b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #5074
2025-12-26 00:01:43 +01:00
Ludovic Courtès
6f1448ef89 daemon: Fix typo in format string.
* nix/libstore/build.cc (Worker::waitForInput): Fix typo in format string.

Change-Id: I0a39ada8a347c8c8daddd9f34292cbbb03ba0076
2025-12-26 00:01:43 +01:00
jgart
d4ed26d5be gnu: borgmatic: Use official upstream source.
* gnu/packages/backup.scm (borgmatic)[source]: Use official upstream source.

Change-Id: I7c4500030b64716dd501416a7437b7a2c67845ad
2025-12-25 17:54:14 -05:00
jgart
31768a3f46 gnu: borgmatic: Enable all tests.
* gnu/packages/backup.scm (borgmatic): Enable all tests.
[source]: Use GitHub source.
[arguments]: Enable all tests and format code.

Change-Id: Ia05ed054f13fb234fae8571d1c17aa1f99081747
2025-12-25 17:45:41 -05:00
jgart
2be190f989 gnu: borgmatic: Enable tests.
* gnu/packages/backup.scm (borgmatic)[arguments]: Enable tests.

Change-Id: Ie9db847586fd91d0ce1a7fa162d36878ed81fc00
2025-12-25 17:27:55 -05:00
jgart
cb0fadb84d gnu: borgmatic: Update to 2.0.13.
* gnu/packages/backup.scm (borgmatic): Update to 2.0.13.

Change-Id: I9bc978aa8c910097d518efafa9f1193de7eaf9fc
2025-12-25 17:14:48 -05:00
jgart
09fe136186 gnu: vorta: Update to 0.11.1.
* gnu/packages/backup.scm (vorta): Update to 0.11.1.

Change-Id: I8e41ccd1c18f13e7cb95cd4f46977d595b898cd0
2025-12-25 17:11:57 -05:00
jgart
8d04752c8d gnu: borg: Update to 1.4.3.
* gnu/packages/backup.scm (borg): Update to 1.4.3.

Change-Id: Ifc561ec3323e78322e2fbe368f7ab9947b08245c
2025-12-25 17:03:48 -05:00
Patrick Norton
c666ec3bb2 gnu: praat: Update to 6.4.49.
* gnu/packages/language.scm (praat): Update to 6.4.49.

Change-Id: Ic150bc1a9ddc76a945cb94c546640c54edc1d832
Signed-off-by: jgart <jgart@dismail.de>
2025-12-25 14:30:43 -05:00
Sergey Trofimov
82f286efb9 gnu: mpv: Update to 0.41.0.
* gnu/packages/video.scm (mpv): Update to 0.41.0.
* gnu/packages/patches/mpv-0.40.0-fix-ffmpeg-8.0.patch: Remove.
* gnu/packages/patches/mpv-0.40.0-fix-wayland-cpu-usage.patch: Remove.
* gnu/local.mk: Remove obsolete patches.

Change-Id: I03d942a910fc42f1fba602bc3fa98cbb8a73f44e
Signed-off-by: Ian Eure <ian@retrospec.tv>
2025-12-25 09:30:11 -08:00
jgart
e21d6a3401 gnu: Remove ecl-fmt.
* gnu/packages/lisp-xyz.scm (ecl-fmt): Delete variable.

ECL variant of this package is not reproducible. See
https://codeberg.org/guix/guix/pulls/5096#issuecomment-9209603

Change-Id: Id18e84cd3d60c4af0ca724847ad41bd24aef31ae
2025-12-25 10:57:04 -05:00
vga
dad1bd0c5e gnu: Add cl-fmt.
* gnu/packages/lisp-xyz.scm (cl-fmt, ecl-fmt, sbcl-fmt): New variables.

Change-Id: I4c081968aa43cc02b67d0a2b71a2583562115a66
Signed-off-by: jgart <jgart@dismail.de>
2025-12-25 10:57:04 -05:00
Rutherther
e51032b257 tests: foreign: Add test restarting guix-daemon.
* gnu/tests/foreign.scm (run-foreign-install-test): Restart the
daemon, build and gc afterwards.

Followup of 9a78e76076.

Change-Id: Ia2304d6b9c83b5b8f410426ce00e078c2f004198
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-25 13:18:48 +01:00
Rutherther
0d3f82123b gnu: guix: Disable new syscall tests on armhf.
These tests currently fail on armhf. They would require large amount of time
or knowledge to be fixed and it's on a platform that's already not being
supported too well.

Followup of d339785a0f.

* gnu/packages/package-management.scm (guix): Disable new tests in
tests/syscalls.scm on arm32.

Change-Id: I056fb04a9a1230ed3d8718a4719a5f6d7010b847
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-25 13:18:25 +01:00
Rutherther
addca6dba4 Merge branch 'version-1.5.0'
Change-Id: I5a36bbdb772c88f71fbe612cf6c445c34088e35c
2025-12-25 13:08:45 +01:00
Andrew Wong
0270c2624a gnu: woof-doom: Update to 15.3.0.
* gnu/packages/games.scm (woof-doom): Update to 15.3.0.
[source]<snippet>: Adjust snippet to new version.
<patches>: Delete.
[native-inputs]: Add pkg-config.
[home-page]: Update.
[synopsis]: Revise.
[license]: Remove bsd-2 license due to de-vendored spng.
* gnu/packages/patches/woof-doom-unbundle-spng-miniz.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Unregister patch.

Closes: guix/guix#5099
Change-Id: Ief520f430ec1731976da2b8883d17a982af01b14
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-25 17:32:59 +08:00
jgart
dbbad12c2e gnu: Add hare-template.
* gnu/packages/hare-xyz.scm (hare-template): New variable.

Change-Id: Idb60178f60ea3a2b30186f90c93364ce0e165204
2025-12-25 02:38:17 -06:00
jgart
a3588223c7 gnu: Add hare-lex.
* gnu/packages/hare-xyz.scm (hare-lex): New variable.

Change-Id: I8bba7b398def292defc5a5bdbbb94b7b11bd24f5
2025-12-25 02:37:47 -06:00
jgart
05d45c847a gnu: Add hare-irc.
* gnu/packages/hare-xyz.scm (hare-irc): New variable.

Change-Id: Id08a964246e1c7ae2d1f17fc822cf57ec516bfda
2025-12-25 00:58:31 -06:00
jgart
a42af54c73 gnu: Add hare-xml.
* gnu/packages/hare-xyz.scm (hare-xml): New variable.

Change-Id: I50ac2253ef16edbb1147ec56346f381b102586a9
2025-12-25 00:58:31 -06:00
Vinicius Monego
592a96db05 gnu: homebank: Update to 5.9.6.
* gnu/packages/finance.scm (homebank): Update to 5.9.6.

Change-Id: I9912f1ab2b1604d0fe01b05639c227425f889ce1
2025-12-24 19:40:42 -03:00
Vinicius Monego
522a1d9baf gnu: darktable: Update to 5.4.0.
* gnu/packages/photo.scm (darktable): Update to 5.4.0.

Change-Id: Icddfad364b890d039c03c29b137bda69a8949e5d
2025-12-24 19:40:41 -03:00
Vinicius Monego
04adde463e gnu: gmic: Update to 3.6.5.
* gnu/packages/image-processing.scm (gmic): Update to 3.6.5.

Change-Id: I195bd513e7681e3f4273c67a3a032c01401d755f
2025-12-24 19:40:41 -03:00
Vinicius Monego
df9d07838a gnu: veusz: Update to 4.2.
* gnu/packages/maths.scm (veusz): Update to 4.2.

Change-Id: I7f1a5e403826a466b78e4ec393d74d85b95d4c9b
2025-12-24 19:40:41 -03:00
Vinicius Monego
b0146d018c gnu: python-mapie: Update to 1.2.0.
* gnu/packages/statistics.scm (python-mapie): Update to 1.2.0.
[arguments]<#:test-flags>: Set '--pyargs mapie'.

Change-Id: Ibebb655b70aed43bd65c2071c8e623f14e122a86
2025-12-24 19:40:41 -03:00
Vinicius Monego
46c10b5d30 gnu: python-cma: Update to 4.4.1.
* gnu/packages/machine-learning.scm (python-cma): Update to 4.4.1.
[arguments]: Add '#:test-backend', '#:test-flags'.
<#:phases>: Do not override the 'check' phase.

Change-Id: I277fe650c6906323ca0dee820355faee72a4ab40
2025-12-24 19:40:37 -03:00
jgart
28d2071f71 gnu: libscfg: Update to 0.2.0.
* gnu/packages/serialization.scm (libscfg): Update to 0.2.0.
[home-page]: Update to new url.
[source]: Update to new url.

Change-Id: Ic012ffd552bb999cc8f9c60939386e94c61ae51a
2025-12-24 15:38:14 -06:00
jgart
9a01dc440c gnu: libscfg: Improve description.
* gnu/packages/serialization.scm (libscfg)[description]: Improve description.

Change-Id: I1fd984eedcf606fcc06e78b51546ddb27c88d265
2025-12-24 15:34:25 -06:00
jgart
0b1f37ded6 gnu: Add hare-scfg.
* gnu/packages/hare-xyz.scm (hare-scfg): New variable.

Change-Id: Ie7c48a96c0639cf0d38f28e082943c8575e9937c
2025-12-24 15:34:13 -06:00
jgart
479a2f7ede gnu: trealla: Update to 2.88.2.
* gnu/packages/prolog.scm (trealla): Update to 2.88.2.

Change-Id: I452a589dd2ed8023de78a1a90d06dae02a183e89
2025-12-23 18:33:25 -06:00
Hugo Buddelmeijer
001cd00bcd doc: Briefly discuss default git branch name.
* doc/contributing.texi (Building from git): Discuss branch name.

Change-Id: I9ddb9318749c7974a8724355c1a6b18a98fa9e8e
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2025-12-23 10:33:24 +01:00
Rutherther
d339785a0f gnu: guix: Update to 1.5.0rc1.
Change-Id: I5afcfb7071c559b356e435bdefb4624a2c4ffa00
2025-12-23 10:31:56 +01:00
Nicolas Goaziou
7d223c3ce5 gnu: grammalecte: Update to 2.3.0.
* gnu/packages/dictionaries.scm (grammalecte): Update to 2.3.0.
[source]: Update location.

Change-Id: Id5a9145102cdbf6f05b176e7f22e3ae5893b16a5
2025-12-23 10:11:19 +01:00
Andrew Wong
a33944f438 gnu: cantata: Update to 3.4.0.
* gnu/packages/mpd.scm (cantata): Update to 3.4.0.
[origin]: Remove unneeded bundled code.
[inputs]: Add karchive, kitemviews; remove unused libmusicbrainz, libebur128,
libmtp, mpg123, taglib.

Closes: guix/guix#5010
Change-Id: I9af0ec0f93d4d7b098217de8f77daf7cf26d90f4
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-23 16:16:30 +08:00
Rutherther
2d4ed08662 etc: release: Switch to Guile declaration of artifacts.
This is a rewrite of the bash commands for generation of guix binary
tarballs and system images to Guile. I am expecting this will help us
significantly with getting the same derivations locally and from Cuirass,
instead of relying on images/tarball job specifications and trying to tweak
it locally to have the same ones.

Implements: #4347, #4348.

* etc/teams/release/artifacts-manifest.scm: Make a manifest with
release artifacts for all supported systems.
* etc/teams/release/artifacts.scm: Collect artifacts for
all supported systems into a union with proper names for
the release artifacts.
* Makefile.am (release): Use time-machine instead of pre-inst-env; Switch to
building new artifacts.scm

Change-Id: I71a6a27e6f315dd31b91c49e71dff2d09695c0dc
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-23 09:16:05 +01:00
Andy Tai
43122908e1 gnu: mailutils: Update to 3.21.
* gnu/packages/mail.scm (mailutils): Update to 3.21.

Closes: guix/guix#5022
Change-Id: If12aa167438f205e0df0c5b7cb7661c3733fcc01
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-23 15:20:53 +08:00
Sergey Trofimov
a7739b01d7 gnu: mu: Update to 1.12.14.
* gnu/packages/mail.scm (mu): Update to 1.12.14.
[arguments]<#:phases>{patch-bin-references}: Remove upstreamed patching.

Closes: guix/guix#5048
Change-Id: I54886215da506c8600e999f8f248b369389df0c1
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-23 15:19:07 +08:00
Rutherther
ab63e29e90 installer: Drop uri from provenance log.
To synchronize the artifacts made from Cuirass, pre-inst-env
and time-machine, drop the url from provenance sexp.

* gnu/installer.scm (provenance-sexp): Drop url.

Change-Id: Ibe2515abdc92853ce06c0381dd03cc61b2077335
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:46 +01:00
Rutherther
e2857e21fa system: install: Remove current-guix url override.
Prefer parameterization of current-guix in release artifacts
generation.

* gnu/system/install.scm (%installation-service): Use (current-guix)
directly in guix service configuration.

Change-Id: Ifa363465e6a4f6936d0e51eaf1b33872519e2b0a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:46 +01:00
Rutherther
105dbf7dee vm-image.tmpl: Remove current-guix url override.
This simplifies things thanks to the release artifacts now, they have been
rewritten to Guile and can now supply current-guix-package as a parameter, as
was intended. That way the checkout is not leaked for the release artifacts.

* gnu/system/examples/vm-image.tmpl
(guix-package-commit): Remove variable.
(operating-system): Use (current-guix) directly.
* gnu/system/examples/vm-image-efi.tmpl: Likewise.

Change-Id: Iabf1bb5bbb86b9984bfb87ba0543782a6dce3192
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:45 +01:00
Rutherther
d226cc4933 image: system-iso9660-image: Propagate image-name to derivation name.
* gnu/system/image.scm (system-iso9660-image): Use name from image-name
instead of hardcoded image.iso.

Change-Id: I3cea3857729c2eb7d6728f650db7fb33cf4c8c8a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:44 +01:00
Rutherther
86a6006f41 Split release Makefile target to two.
Due to recent changes, the commit has to be published
to create the artifacts. Because of that, split the
target to two.

* Makefile.am
(release): Move first steps to prepare-release
(prepare-release): New target; Beginning of release.

Change-Id: I325c6dc36f7298482de7797c1e01fdaa70ef80c5
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:43 +01:00
Rutherther
8ba84edf99 linux-initrd: Support more virtio modules in initrd.
Adds mmio and scsi modules for virtio. scsi one is needed for using
virtio-scsi-pci, that can be a common option on aarch64, where only two
options pop up for mounting disks:
- virtio-scsi-pci
- virtio-blk

While virtio-blk should generally be preferred, sometimes virtio-scsi-pci pops
up first on the internet, so people can use it.

virtio-mmio is a necessity on Aarch64 for virtio-blk to work.

* gnu/system/linux-initrd.scm (default-initrd-modules): Add virtio_mmio and
virito_scsi.

Change-Id: Ia8fabb5594893ef1712359d27d482d9f44dc89c0
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:42 +01:00
Rutherther
b7a1223052 system: vm-image-efi.tmpl: Add example efi vm image.
This is a copy of vm-image.tmpl, but with
efi bootloader. Since user ends up with this
config in their /run/current-user/configuration.scm
and the regular way to continue is to copy
that file and reconfigure off of it, it seems
better to just keep distinct configuration.

Moreover xf86-video-intel is removed,
because it doesn't compile on aarch64.

* gnu/system/examples/vm-image-efi.tmpl

Change-Id: I0f72ac5a775339ee84cb1a4046ca5a8deca0e2ea
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:42 +01:00
Rutherther
9e7e40b8bd services: xorg: Return only supported packages in %default-xorg-modules.
The xorg modules are used inside of services that's thunked. So we can
make them depend on the %current-system.

* gnu/services/xorg.scm
(default-xorg-modules): New variable.
(%default-xorg-modules): Return result of (default-xorg-modules).

Change-Id: I10f722e52d598ce3e83ef3f200b3bd953bc08e17
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:41 +01:00
Rutherther
0801604990 gnu: make-iso9660-image: Do not compress any kernel, compress man pages.
Because the linux image is called differently based on the architectures,
see system-linu/-image-file-name from gnu/system.scm, the kernel image
on aarch64, mips and armhf has still been compressed. This means that
grub cannot boot.

Man pages have moved from gz to zst, so compress them as well.

* gnu/build/image.scm (make-iso9660-image): Do not compress Image, vmlinuz and
zImage; Compress all man pages.

Change-Id: I68b35f383c84ff231865d580aa9e79d9fd88ace1
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:40 +01:00
Rutherther
5623e63313 system: installation-os: Support efi-only.
Aarch64 doesn't support grub-pc, so we cannot
use the regular grub-bootloader, grub-efi-bootloader
has to be used.

Since neither packages nor bootloader are thunked,
there seems to be no other choice than using something
from the outside environment, such as an environment
variable to decide what bootloader to use.

For convenience, a procedure is made to be used from
other Guile code, instead of relying on environment
variables.

* gnu/system/install.scm
(make-installation-os): New variable; Use grub-efi-bootloader when
efi-only? is #t; Use bootloader package in packages instead of grub-pc.
(installation-os): Replace with call of make-installation-os with default
arguments.

Change-Id: I34ec8da6079617f39805b3e1168bad4a42d84cab
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:39 +01:00
Rutherther
efc32c6684 image: Add /boot/efi filesystem if operating-system specifies it.
Instead of forgetting about the /boot/efi system completely, re-add it
with proper label. This way lightweight.tmpl, desktop.tmpl still
boot when supplied to guix system image. That was the reason for
removing /boot/efi file-system in the first place. Removing it however
means the target system cannot be reconfigured by default, as the
esp is not mounted.

* gnu/system/image.scm
(partition-has-flag?): New variable.
(root-partition?): Use it.
(find-partition-with-flag): New variable.
(find-root-partition): Use it.
(find-esp-partition): New variable.
(operating-system-for-image): Add /boot/efi file-system with proper
label instead of removing it completely.

Change-Id: I3ef2120059d8bbf76170d10ae718cb0de637f453
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:39 +01:00
Rutherther
20157dae27 image: Add qcow2-gpt image type.
qcow2 is a mbr-hybrid image. But on aarch64, we
have to use grub-efi bootloader. For that bootloader,
gpt should be used and Guix errors if it isn't (due to
failed check in Guix code). So it's impossible to generate
qcow2 type aarch64 image without using customized bootloader.
One would have to define their own image instead of using
the ones pre-defined.

* gnu/system/system.scm (qcow2-gpt-image-type): New variable.
* doc/guix.texi: Document qcow2-gpt and its use.

Change-Id: I93f0880c7ca2d3f934067c12dd1143ad20828333
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:38 +01:00
Rutherther
2576c66e47 image: operating-system-for-image: Support AArch64 iso.
Let the user decide for grub/grub-efi in cases where
grub-hybrid is unsupported. This is the case on
aarch64, where grub-pc is not supported, so only
grub-efi can be used.

* gnu/system/image.scm (operating-system-for-image):
Do not replace bootloader with grub-mkrescue-bootloader
for iso9660 when grub-hybrid is not supported.

Change-Id: Icd2b68155935b1d9599c1b0df22f0c80a2e36d6a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 23:00:37 +01:00
Rutherther
bb2263102a guix-install.sh: Do not set GUILE_LOAD_PATH in zzz-guix.sh.
Channels from the load path will shadow channels used through time-machine or
used through any other guix than the one in ~/.config/guix/current. This is
true for all channels that are in ~/.config/guix/current except guix.  On Guix
System, /run/current-system/profile/share/guile/site/3.0 is usually in
GUILE_LOAD_PATH that typically has only Guix, so no shadowing happens in most
cases.

For using Geiser and other sw, it's possible to configure them to use "guix
repl" that's intended for this use case. This is then makes the guix being
used explicit.

It is expected that this is only a temporary solution. After a proper
solutions is found, it will be reverted.

Workaround #4819.
Reverts: 78390634d7.

Change-Id: I36b921a758618f382af9097003415f902b27c44b
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 22:54:11 +01:00
Noé Lopez
3dadea4b6d guix-install.sh: Install AppArmor profile.
* etc/guix-install.sh (sys_maybe_setup_apparmor): New function.
(main_install): Call it.
(sys_delete_apparmor_profiles): New function.
(main_uninstall): Call it.

Fixes #4210.
Fixes <https://issues.guix.gnu.org/71226>.

Change-Id: Ice4bf4d91a1ae438fc5654dec327f53ae9a7b888
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 22:48:59 +01:00
Noé Lopez
51a1475599 self: Install AppArmor profile.
* guix/self.scm (apparmor-tunables): New procedure.
(miscellaneous-files): Add etc/apparmor.d/{guix,guix-daemon,tunables/guix}.

Change-Id: I8952ef4097924d62432775cc39d38098785fdcdf
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 22:48:59 +01:00
Noé Lopez
60782c20d4 etc: Add AppArmor profile for the guix command.
* etc/apparmor.d/guix: New file.
* Makefile.am (nodist_apparmor_profile_DATA): Add it.

Change-Id: I3d61238203d7663ce582717f8e4eac4c6f679928
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 22:48:58 +01:00
Noé Lopez
587fd2dad4 etc: Add AppArmor profile for the daemon.
* .gitignore: Add etc/apparmor.d/tunables/guix.
* Makefile.am (nodist_apparmor_profile_DATA)
(nodist_apparmor_profile_tunables_DATA): Define it.
* configure.ac: Generate etc/apparmor.d/tunables/guix. Add
--with-apparmor-profile-dir option.
* etc/apparmor.d/guix-daemon: New file.
* etc/apparmor.d/tunables/guix.in: New file.
* doc/guix.texi: Document AppArmor profiles.
* gnu/packages/package-management.scm (guix): Add future changes commented.

Change-Id: Iac7df9d642383cc46a2d450c3badef31199ab041
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 22:48:57 +01:00
Rutherther
9a78e76076 guix-daemon.service.in: Make service restartable.
Currently the service cannot be restarted, because the gnu store mount makes
it read-only. So fix this by removing the mount when starting the service.

"-" to accept failures, in case the command doesn't finish successfully,
chances are, the store can be mounted as RW, so continue.
"+" to run as root

Fixes: #4744

* etc/guix-daemon.service.in
(Service)<ExecStartPre>: Stop gnu-store.mount
(Service)<ExecStartPost>: Start gnu-store.mount

Change-Id: I296f5d8805497f8a7364b68d627eb6d4fc05dbff
2025-12-22 22:48:48 +01:00
Aaron Covrig
a2df6c460f gnu: pius: Update to 3.0.0-0.5f7c10b.
* gnu/packages/gnupg.scm (pius)[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:check>: Execute project test script.
[native-inputs]: Add python-setuptools.
[home-page]: Update url.

Change-Id: I8d1228789cde2de4dda67a07f9859bb47e510608
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
Modified-by: Cayetano Santos <csantosb@inventati.org>
2025-12-22 18:56:48 +01:00
jgart
5ecec89784 gnu: Add hare-mcron.
* gnu/packages/hare-apps.scm (hare-mcron): New variable.

Change-Id: I324f5711cf359ac996111f6adcb71db5ff68dda5
2025-12-22 10:44:13 -06:00
jgart
5192dc2ff3 gnu: trealla: Update to 2.88.1.
* gnu/packages/prolog.scm (trealla): Update to 2.88.1.

Change-Id: I8770e77950a53ef0284fe50248bed5fab01d70a0
2025-12-22 10:18:17 -06:00
Ashvith Shetty
4b25873c12 services: Modernize redis service.
* gnu/services/databases.scm
(redis-configuration): Rewrite using `define-configuration'.
(redis-shepherd-service): Honor it.
* doc/guix.texi (Database Services) <redis>: Regenerate
documentation.

Change-Id: I5b99822ca3d8d23fb5133497d00eada0336d0c65
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #2158
2025-12-22 15:42:39 +01:00
Yelninei
b00a27c427 gnu: shepherd@1.0: Don't inherit package arguments.
Followup to e1038aee6d.

Previously when cross compiling the fibers directory was reset to fibers 1.3
because evaluating the arguments of shepherd@0.10 with '(package-arguments
shepherd-0.10)' kept the reference to the fibers input of shepherd@0.10.

Work around this by not using 'substitute-keyword-arguments' and replacing
'this-package-input' with 'search-input-file'.

* gnu/packages/admin.scm (shepherd-1.0)[arguments]:
Replace 'substitute-keyword-arguments' with explicit arguments.
Use search-input-file in 'set-fibers-directory phase to search for the cross fibers.

Change-Id: Ia1061d8cea531569385f4a0136cfd22f27ce5a0e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4672
2025-12-22 15:42:39 +01:00
Ludovic Courtès
f55793c575 archive: Make /etc/guix/signing-key.* readable by ‘guix-daemon’.
The manual suggests running ‘guix archive --generate-key’ as root, but that
would lead to root-owned /etc/guix/signing-key.{pub,sec}, with the secret key
unreadable by the unprivileged guix-daemon.  This fixes it.

Reported in guix/guix#4844.

* guix/scripts/archive.scm (generate-key-pair)[ensure-daemon-ownership]: New
procedure.
Use it for ‘%public-key-file’, ‘%private-key-file’, and their parent
directory.

Reported-by: Rutherther <rutherther@ditigal.xyz>
Change-Id: I7ae980bfd40078fb7ef27a193217b15f366d5d50
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4958
2025-12-22 15:11:27 +01:00
Ludovic Courtès
0ac2a0fd18 authenticate: Report failure to load keys to the daemon.
Previously, when failing to load a signing key, ‘guix authenticate’ would
print a backtrace and exit with a non-zero code.  That, in turn, would lead
the guix-daemon child process to crash with:

  nix/libutil/serialise.cc:15: virtual nix::BufferedSink::~BufferedSink(): Assertion `!bufPos' failed.

This patch fixes it by reporting the error to the daemon as was intended.

* guix/scripts/authenticate.scm (guix-authenticate): Arrange to call
‘load-key-pair’ from within ‘with-reply’.
* tests/guix-authenticate.sh: Test it.

Fixes: guix/guix#4928
Reported-by: Rutherther <rutherther@ditigal.xyz>
Change-Id: I8654ad6fdfbe18c55e1e85647d0c49f408d0574a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4961
2025-12-22 15:10:52 +01:00
Ludovic Courtès
5d6dfd8981 authenticate: Improve error replies.
* guix/scripts/authenticate.scm (guix-authenticate)[send-reply]: Wrap guard in
‘with-fluids’.  Call ‘string-trim-right’ on the message string of ‘c’.

Change-Id: I6ab5f645f2dc9d6f53bb57eabb4de1df8212892f
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-22 15:10:52 +01:00
Nguyễn Gia Phong
ce279acd14 doc: Fix typo.
* doc/guix.texi (Mapped Devices): Fix typo.

Change-Id: I72a5e0e651e3926def0bd5fdb67ccc01cc8a2041
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 11:00:19 +01:00
Rutherther
49bf395754 maint: Adjust final inputs self contained check for changes.
The check script has been failing, %final-inputs have been changed
to a procedure that takes the system.

* build-aux/check-final-inputs-self-contained.scm
(final-inputs): Call %final-inputs procedure with system.

Change-Id: Id4d40387e669c996a380f64c73432d916915ead5
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 11:00:18 +01:00
Rutherther
0ecfe335b9 scripts: system: Do not pull checkouts for same commit.
In case a user reconfigures to the same commit, do not
update cached checkout unnecessarily.

* guix/scripts/system/reconfigure.scm (channel-relations): Return early for
matching old and new commits.

Change-Id: Ia4b7300bbce40f7d809946dd3514715b74cd17f9
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 11:00:18 +01:00
Rutherther
2a0ac4cba5 daemon: Ensure store is writable even as non-root.
If the store is read only, return an error early.
This is bit of a compromise. Not all operations of the daemon need the store
as writable. For example, if hello package is built already `guix build hello`
could previously succeed even if store is RO.

* nix/libstore/local-store.cc
(makeStoreWritable): Rename to ensureStoreWritable.
(ensureStoreWritable): As non-root, check that the store is writable and if
not, throw an error.
(LocalStore::LocalStore): Use it.

* nix/libstore/local-store.hh: Rename makeStoreWritable to ensureStoreWritable.

Change-Id: I94783ba7e32d57bfa77e37e84b6ac316f95e31e2
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-22 11:00:17 +01:00
Ashish SHUKLA
09eda1627e gnu: drawterm: Update to 20251123.
* gnu/packages/plan9.scm (drawterm): Update to 20251123.
(drawterm-wayland)[inputs]: Add libdecor.

Closes: guix/guix#4894
Change-Id: Ibd869ee9acfb5d6aef0d58c13f6477fc2ac8ba47
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-22 18:06:24 +08:00
Ashish SHUKLA
0efdde91f6 gnu: labwc: Update to 0.9.3.
* gnu/packages/wm.scm (labwc): Update to 0.9.3.

Closes: guix/guix#4981
Change-Id: I3f80aed5a365b2713dc9f5f0272bb225f3004c5e
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-22 18:06:24 +08:00
Patrick Norton
9ce8160844 gnu: nml: Update to 0.8.1.
* gnu/packages/game-development.scm (nml): Update to 0.8.1.
[arguments]: Fix test phase.

Closes: guix/guix#5004
Change-Id: I03b80af19d809295411b85df491d7423837e6f59
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-22 18:06:23 +08:00
Andy Tai
1dfcd17b4d gnu: monado: update to 25.1.0.
* gnu/packages/graphics.scm (monado): Update to 25.1.0.

Change-Id: Idd4bc66f1fd03fb9805647424dec0d5cda8bc123
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-22 10:33:29 +01:00
Hilton Chain
7a4de7a900 teams: Update team status for Hilton Chain.
* etc/teams.scm (hako): Remove teams.

Change-Id: Ib563d084e2bc2d603c7968e04bed0d222f547a0d
2025-12-22 15:04:26 +08:00
bdunahu
46d1961908 gnu: Add iaito.
* gnu/packages/engineering.scm (iaito): New variable.

Change-Id: I82f84d09b31dca5373b290c1b5c4388e86941bc0
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
Modified-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-12-22 15:54:59 +09:00
Cayetano Santos
4de4d270fb gnu: Add python-cocotbext-axi.
* gnu/packages/electronics.scm (python-cocotbext-axi): New variable.

Change-Id: I1ca017ef9d9253f01dd74f25de04ed2551b4a620
2025-12-22 07:50:15 +01:00
Cayetano Santos
fb62e8f046 gnu: Add python-cocotb-test.
* gnu/packages/electronics.scm (python-cocotb-test): New variable.

Change-Id: Iefe86be6c6d15280694e79b13ec013056346be01
2025-12-22 07:50:15 +01:00
Cayetano Santos
b063cd4aa7 gnu: python-cocotb: Complete tests.
* gnu/packages/electronics.scm (python-cocotb)[arguments]: Add
’run-examples #:phase.

Change-Id: I3347baa3d21e6aec80d4e72a4d67dbe003bd8c2e
2025-12-22 07:50:15 +01:00
Stuart Dilts
228154a5bd gnu: cl-xkbcommon: Update to 0.2.0.
* gnu/packages/lisp-xyz.scm (cl-xkbcommon): Update to 0.2.0.
Change-Id: I6ce2c9115ad6b1b0926dcceae83270ffaa1dc4d8
Signed-off-by: jgart <jgart@dismail.de>
2025-12-21 20:54:48 -06:00
Hugo Buddelmeijer
4281704a25 build: Make /etc/hosts a regular file again.
Commit 7c70a1080a ("gnu/system: Simplify the
creation of /etc (was: Turn /etc/localtime into a symlink)") made all of the
files under /etc other than sudoers symlinks to their store target.  This
causes a problem at least for the vpn-slice service, which expects to be able
to write to said file.

* gnu/build/activation.scm (activate-etc): Special-case /etc/hosts to make it
a regular file.

Change-Id: Ia42dacd8731edba5e72442ab0399bdc3f7101989
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
Modified-by: Maxim Cournoyer <maxim@guixotic.coop>
Fixes: #4800
2025-12-22 10:46:52 +09:00
Maxim Cournoyer
cb8db48a17 gnu: luanti-mineclonia: Lint synopsis and description.
* gnu/packages/luanti.scm (luanti-mineclonia)
[synopsis]: Drop leading article.
[description]: Use double spaces.

Change-Id: I3c0decb3135cbdeb925636633e16bc3a9267f53a
2025-12-22 09:05:17 +09:00
Maxim Cournoyer
a448bfa85a gnu: luanti-mineclonia: Update to 0.118.1.
* gnu/packages/luanti.scm (luanti-mineclonia): Update to 0.118.1.

Change-Id: I788954d1372921e70a36cca77fc4d70f84811295
2025-12-22 09:05:17 +09:00
Sharlatan Hellseher
8148ca8437 gnu: grammalecte: Switch to pyproject, fix build.
* gnu/packages/dictionaries.scm (grammalecte):
[build-system]: Switch to pyproject-build-system.
[arguments] <tests?>: No tests.
[native-inputs]: Add python-setuptools.

Change-Id: Ief9385fc1dab0f77430843c7a5a2343a2c3e25a1
2025-12-21 23:30:45 +00:00
Sharlatan Hellseher
6168d37404 gnu: podman-compose: Use unittest.
* gnu/packages/containers.scm (podman-compose):
[arguments] <test-backend, test-flags>: Use unittest as seen in
project's GitHub Actons.
<phases>: Remove 'pre-check.
[native-inputs]: Remove python-pytest and python-wheel.

Change-Id: I6da2f7f4c55f4cd22919d7f7827b2be58993f2e2
2025-12-21 22:20:16 +00:00
Foster Hangdaan
992bcd7eed gnu: podman-compose: Update to 1.5.0.
* gnu/packages/containers.scm (podman-compose): Update to 1.5.0.
[arguments] <test-flags>: Only run tests in `tests/unit`.
[arguments] <phases>: Add before-checks phase to fix a ModuleNotFoundError.

Change-Id: Ia9b8900bd71c848559b067d48e7eb4bf212f0f73
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-21 22:18:22 +00:00
Francisco-Galindo
303b10692b gnu: Add python-simpy.
* gnu/packages/simulation.scm (python-simpy): New variable.

Change-Id: Ic95e6b0656dc2e2deffb543491c64ad5ae14632c
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-21 22:08:56 +00:00
Hugo Buddelmeijer
4d033008a2 gnu: python-2.7: Hide CVE-2023-36632
* gnu/packages/python.scm (python-2.7):  Hide CVE-2023-36632

Change-Id: Ifd217b0ecfb0ef5025fbc313c6c7a7e771501c77
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-21 22:08:55 +00:00
jgart
ae36f472bc teams: lisp: Add manifest.
* etc/teams/lisp/lisp-manifest.scm: New file.

Change-Id: I9e23464197978bc6236eb13d42bd9bc3069bddeb
Signed-off-by: jgart <jgart@dismail.de>
2025-12-21 16:01:45 -06:00
Lilah Tascheter
20263c4a82 etc: Add tinystar to Hare team.
* etc/teams.scm (Lilah Tascheter): New member.

Signed-off-by: jgart <jgart@dismail.de>
2025-12-21 15:57:45 -06:00
Sergey Trofimov
5b7f0a952c gnu: emacs-yeetube: Simplify locate-binaries phase.
* gnu/packages/emacs-xyz.scm (emacs-yeetube)
[arguments]<#:phases>{locate-binaries}: Reduce code duplication.

Change-Id: Ibe5ae19ec7877a81b80f28052680feab7fb154ab
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-21 18:02:14 +01:00
Sergey Trofimov
724d0cc753 gnu: emacs-yeetube: Update to 2.1.10.
* gnu/packages/emacs-xyz.scm (emacs-yeetube): Update to 2.1.10.

Change-Id: I6db1e506b050454cd9b95292c95800370ea6da03
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-21 18:02:05 +01:00
Cayetano Santos
b172762c2d gnu: Remove python-urllib3-next.
* gnu/packages/python-web.scm (python-urllib3-next): Delete variable.

Change-Id: If58db641c59c3a2e63e1b043a1840dac0f7ae327
2025-12-21 17:54:25 +01:00
Cayetano Santos
5b0873aeb1 gnu: xkcdpass: Modernize package.
* gnu/packages/password-utils.scm (xkcdpass)[source]: Use direct #:url.
[home-page]: Move before synopsis.

Change-Id: I6ba4325818f2c6deff3b67a22b48f0cb4cdda929
2025-12-21 17:47:01 +01:00
moksh
e235f6d978 gnu: xkcdpass: Switch to pyproject-build-system.
* gnu/packages/password-utils.scm (xkcdpass):
  [build-system]: Change to pyproject-build-system.
  [arguments] <test-backend>: Use "unittest".
  [native-inputs]: Add python-setuptools.

Change-Id: I5d441bde3e1cce3e466e07ecfb69ef47b28b67ec
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-21 17:45:05 +01:00
Cayetano Santos
99d7436c1f gnu: python-canvasapi: Update to 3.4.0.
* gnu/packages/python-web.scm (python-canvasapi): Update to 3.4.0.
[native-inputs]: Remove python-urllib3-1.26 and python-wheel; add python-urllib3.

Change-Id: I565de1aa396b54d028019a90a1b31f75434cdcf4
2025-12-21 17:39:56 +01:00
Hugo Buddelmeijer
b1a4c062ce gnu: roguebox-adventures: Fix build.
* gnu/packages/games.scm (roguebox-adventures): Fix build.
[inputs]: Remove python-tmx.

Closes: guix/guix#4995
Change-Id: I67f7736b935d7cb5e03f5b4a89e5aa5487668e19
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-21 19:39:06 +08:00
Ian Eure
1434b4e6c7 gnu: python-pypresence: Update to 4.6.1 and fix the build.
* gnu/packages/messaging.scm (python-pypresence): Update to 4.6.1.
(native-inputs): Add build/test inputs.
(arguments): Declare the build backend.
(arguments): Disable tests.

Change-Id: I798ea40f4be2a1b15a7eed23673529b3a8a0cb41
2025-12-20 14:12:32 -08:00
moksh
cb927b546e gnu: librewolf: Update to 146.0.1-1 [security-fixes].
contains fixes for:
CVE-2025-14860: Use-after-free in the Disability Access APIs component
CVE-2025-14861: Memory safety bugs fixed in Firefox 146.0.1

* gnu/packages/librewolf.scm (librewolf): Update to 146.0.1-1.

Change-Id: I0dc2c26bf6b301cd04ce2897b3688f4a3a102e24
2025-12-20 11:06:07 -08:00
Alexey Abramov
4eef7ffd5e gnu: dvdbackup: Fix build with libdvdread 6.1.0+.
* gnu/packages/patches/dvdbackup-with-libdvdread-6.1.0+.patch: Add the
patch to fix the build.
* gnu/local.mk: Ship it.
* gnu/packages/video.scm: Use it.
2025-12-20 10:24:55 -08:00
Alexey Abramov
d392af43c5 gnu: libdvdnav: Update to 6.1.1.
* gnu/packages/video.scm (libdvdnav): Update to 6.1.1.
2025-12-20 10:24:55 -08:00
Alexey Abramov
63182d1ac9 gnu: Add lsdvd.
* gnu/packages/video.scm (lsdvd): New variable.
2025-12-20 10:24:54 -08:00
Noé Lopez
1e0eb9e8df doc: Warn about specific nologin paths when it is not in PATH.
See <https://codeberg.org/guix/guix/issues/4704#issuecomment-8751141>.

* doc/guix.texi (Build Environment Setup): Add warning in case the nologin
binary is not found.

Reported-by: FuncProgLinux
Change-Id: Ib8aa2bdaf0aef6a589afe638e2fcd539c8276ac7
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20 18:21:46 +01:00
Noé Lopez
2dcf1ec33e doc: Update information on installing guix with package managers.
There is no longer a guix package in Debian.  Adapt the instructions to avoid
having to list how to install on every package manager.  The specific
instructions for Parabola are kept since it is a FSDG system.

* doc/guix.texi (Binary Installation): Remove Debian and OpenSUSE installation
instructions.  Update examples of distros with a guix package.  Add
instructions for other package managers.

Change-Id: Ie34b40d7224593df8e51d62d665a15a1b16b8e70
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20 18:21:44 +01:00
Rutherther
ed1b6b5451 doc: Mention that services doing mounts should depend on user-file-systems.
This is a recent change. If the services do not depend on it, it's possible
user-file-systems will try to unmount the file systems byt itself first.

* doc/guix.texi (Shepherd Services): Mention services should depend on
user-file-systems if they do mounts.

Change-Id: I87f459aa43c2a59ffcae35750e02a08abc3c1f8a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20 13:37:13 +01:00
Rutherther
d7fd4eab51 services: shared-cache: Require user-file-systems.
Newly user-file-systems should be required by services
that do operations with mounts.

Change-Id: Ib0438bb2e783e1d7131dcea6a8c166e83850de81
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20 13:37:12 +01:00
Dariqq
32988df493 services: file-systems: Reverse order of unmounting manual mounts.
* gnu/services/base.scm (file-system-shepherd-services): Reverse order of
mount-points in service 'user-file-systems.

Change-Id: I68df0c22bc6bacdc866b9adf62e7059f20e5842f
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20 13:37:11 +01:00
Dariqq
9aa7f05639 services: file-systems: Make user-file-systems depend on file-systems.
Previously 'user-file-systems depended only on 'file-systems without any requirements.
This inverts the logic to have
file-systems <- user-file-systems <- user-processes

to ensure that all user mounts are already unmounted when shepherd managed
file systems get unmounted.

Fixes: guix/guix#4445
Fixes: guix/guix#1703

* gnu/services/base.scm (file-system-shepherd-services): Remove requirement
of 'file-systems on 'user-file-systems.
Add dependency of 'user-file-systems on 'file-systems.
(file-system-service-type): Add 'user-file-systems to user-processes extension.

Change-Id: I9d89f682fb4b4673fa135d17b2b188788b9f8db1
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20 13:37:11 +01:00
Rutherther
f1f27c6838 vm-image.tmpl: Allow empty passwords in base-services.
Change-Id: Ia16fc0418bb9eee29625504a800300958b173c4c
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20 13:37:10 +01:00
Rutherther
290435009b services: xfce: Allow empty passwords in screenlocker.
* gnu/services/desktop.scm
(xfce-desktop-configuration): Add allow-empty-passwords? field.
(xfce-pam-services): Respect it.

Change-Id: Idd54b6016b5412aacdfbc134bc57de30394a77ad
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20 13:37:09 +01:00
Thiago Jung Bauermann
09acdd3142 etc: guix-install.sh: Set XDG_DATA_DIRS.
This allows better integration of packages installed by Guix with the
foreign distro. E.g.:

1. .desktop files from applications installed by Guix can be found by
the user's desktop environment.

2. Fonts installed in ~/.guix-profile/share/fonts can be found by GUI
applications without having to install the fontconfig package, as the
the "Application Setup" section of the manual recommends.

* etc/guix-install.sh (sys_create_init_profile): Add $GUIX_PROFILE/share
to XDG_DATA_DIRS.

Change-Id: Iba74b0782ffbad64d64cc1c5889b04012963a3e0
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-20 13:37:08 +01:00
Danny Milosavljevic
3c81c4b8b8 gnu: poco: Enable SSL.
* gnu/packages/cpp.scm (poco)[arguments]<#:configure-flags>: Add ENABLE_CRYPTO,
ENABLE_NETSSL.
<#:phases>{disable-problematic-tests}: Add NetSSL_OpenSSL.
[inputs]: Add openssl.

Change-Id: I2b15339b1b4b4917de31c26e031a48f73dea714b
2025-12-19 19:12:40 +01:00
Danny Milosavljevic
33b0df3b26 etc: Add daym to python team.
* etc/teams.scm: Make daym a member of the python team.

Change-Id: I4b9e681f4fa0098a9be02bdac37060d1a0256dda
2025-12-19 18:25:38 +01:00
Jake Forster
5356a7eeb9 gnu: cimg: Update to 3.6.5.
* gnu/packages/image-processing.scm (cimg): Update to 3.6.5.

Change-Id: Ic1672327a3c53e08d685d54ee0d65d810bb51e93
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-19 18:04:10 +01:00
Andreas Enge
5ddff69615 gnu: sage: Update to 10.7.
* gnu/packages/patches/sage-safeguard-sage-getargspec-cython.patch:
Remove file.
* gnu/local.mk (dist_patch_DATA): Unregister patch.
* gnu/packages/sagemath.scm (sage): Update to 10.7.
[origin]: Remove patch.

Change-Id: I64093e73369bd378b2553df589f0e2c6e5097aef
2025-12-19 16:44:05 +01:00
Andreas Enge
0297f8813f gnu: flint: Update to 3.4.0 and add flint-3.3.
* gnu/packages/algebra.scm (flint): Update to 3.4.0.
(flint-3.3): New variable.
(python-flint)[inputs]: Replace flint by flint-3.3.
* gnu/packages/sagemath.scm (sage)[inputs]: Replace flint by flint-3.3.

Change-Id: I4a9e0a4bf70be54f165183959ef1cd4652387c27
2025-12-19 15:44:37 +01:00
Cayetano Santos
616e77b45a gnu: emacs-cider: Update to 1.20.0.
* gnu/packages/emacs-xyz.scm (emacs-cider): Update to 1.20.0.

Change-Id: Id6df0fab931a10536f28a2ca0c16e176051e4bf6
2025-12-19 15:14:44 +01:00
Cayetano Santos
5667601c14 gnu: emacs-ellama: Update to 1.9.0.
* gnu/packages/emacs-xyz.scm (emacs-ellama): Update to 1.9.0.

Change-Id: I552ad8dcb7108358e290f46c59ce3d3f16c810ac
2025-12-19 15:14:44 +01:00
Cayetano Santos
d5f271ebf8 gnu: emacs-corfu: Update to 2.6.
* gnu/packages/emacs-xyz.scm (emacs-corfu): Update to 2.6.

Change-Id: I0a684315efcf105747f11e6f790c95279bc289a3
2025-12-19 15:14:44 +01:00
Sharlatan Hellseher
67a113614c gnu: ansible: Switch to pyproject, disable tests.
* gnu/packages/admin.scm (ansible):
[build-system]: Switch to pyproject-build-system.
[arguments] <tests?>: Disable for now.
[native-inputs]: Add python-setuptools.

Change-Id: I7a80f916889db0015a3e8dc9802d505a197bae32
2025-12-19 14:13:22 +00:00
Sharlatan Hellseher
ed5ddd6b48 gnu: speedtest-cli: Switch to pyproject.
* gnu/packages/networking.scm (speedtest-cli):
[build-system]: Switch to pyproject-build-system..
[arguments] <tests?>: No tests.
[native-inputs]: Add python-setuptools.

Change-Id: Ib90f161371d982462fabd292dfc07cdc9e84a6e8
2025-12-19 14:13:22 +00:00
Sharlatan Hellseher
a8d1edfc33 gnu: gp-saml-gui: Update to 0.0.0-2.21cce40.
* gnu/packages/vpn.scm (gp-saml-gui): Update to
21cce40334791a533c7a263fe367f0ddc072d8fb commit.
[build-system]: Switch to pyproject-build-system.
[arguments] <tests?>: No tests.
[native-inputs]: Add python-setuptools.

Change-Id: I1d90dba77e7634599b26b63015b402aa24b909ff
2025-12-19 14:13:22 +00:00
Sharlatan Hellseher
d51ffa1829 gnu: gitlint: Update to 0.19.1.
* gnu/packages/version-control.scm (gitlint): Update to 0.19.1.
[build-system]: Switch to pyproejct-build-system.
[arguments] <tests?>: No tests in PyPI, tests might be broken in Git.
[native-inputs]: Add python-hatch-vcs and python-hatchling.

Change-Id: Icf4c590ed7665cf72ce430d59b156907ddbe672e
2025-12-19 14:13:22 +00:00
Sharlatan Hellseher
8ad99d6eba gnu: cpass: Switch to pyproject.
* gnu/packages/password-utils.scm (cpass): Update to 0.9.4.
[build-system]: Switch to pyproject-build-system.
[arguments] <tests?>: No tests.
[native-inputs]: Add python-setuptools.

Change-Id: Id3b9a7aa079c6804bcc171e4e6b95b82966b42a7
2025-12-19 14:13:22 +00:00
Andreas Enge
03c688575f gnu: flint: Update to 3.3.1.
* gnu/packages/algebra.scm (flint): Update to 3.3.1.

Change-Id: If8ca230f1571e64283ee7fd85bc8a0389f698e3f
2025-12-19 14:30:44 +01:00
Andreas Enge
0c9b2cf0d0 gnu: singular: Update to 4.4.1p5.
* gnu/packages/algebra.scm (singular): Update to 4.4.1p5.

Change-Id: I3d3b3969fa2f55abf3380840cb24933c1f1c2627
2025-12-19 13:53:26 +01:00
Nguyễn Gia Phong
7ec5abb669 gnu: rss2email: Switch to pyproject-build-system.
* gnu/packages/mail.scm (rss2email):
  [build-system]: Change to pyproject-build-system.
  [arguments] <build-backend>: Use "poetry.core".
  <test-backend, test-flags>: Use "unittest".
  <phases>: Add 'fix-tests; use default 'check.
  [native-inputs]: Add python-poetry-core.

Change-Id: I0c6d8cece6894b93622ccd429635f2934a98d156
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-19 11:15:58 +00:00
Andreas Enge
2d59c06b08 gnu: flint: Update to 3.2.2 and enable parallel tests.
Parallel tests appear to work now on aarch64-linux.

* gnu/packages/algebra.scm (flint): Update to 3.2.2.
[inputs]: Remove unused input ntl.
[arguments]<#:parallel-tests?>: Remove the #f value.

Change-Id: I24d9d1235646a08ccc16484fb285d39c22e2e4a1
2025-12-19 12:03:36 +01:00
Nguyễn Gia Phong
d5093ed37b gnu: xkeysnail: Switch to pyproject-build-system.
* gnu/packages/xdisorg.scm (xkeysnail):
  [build-system]: Change to pyproject-build-system.
  [native-inputs]: Add python-setuptools.

Change-Id: Ib0e0a8accda1ed7d1f342877544529854b825248
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-19 10:50:54 +00:00
Nguyễn Gia Phong
76a918219e gnu: xkblayout: Switch to pyproject-build-system.
* gnu/packages/xdisorg.scm (xkblayout):
  [build-system]: Change to pyproject-build-system.
  [native-inputs]: Add python-setuptools.
  [arguments]: Explicitly disable nonexistent tests.

Change-Id: I2fad5c5ba8d4f2f912657db592dde1c43556ea7f
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-19 10:50:54 +00:00
Nguyễn Gia Phong
271592e456 gnu: arandr: Switch to pyproject-build-system.
* gnu/packages/xdisorg.scm (arandr):
  [build-system]: Change to pyproject-build-system.
  [native-inputs]: Add python-setuptools.

Change-Id: Icb5ab460d592b4f9a2ebad1068aa0895b8ee6575
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-19 10:50:54 +00:00
Sharlatan Hellseher
32d69c2943 gnu: awslogs: Update to 0.15.0.
* gnu/packages/web.scm (awslogs): Update to 0.15.0.
[build-system]: Switch to pyproject-build-system.
[arguments]: Drop all.
[native-inputs]: Add python-pytest and python-setuptools.
[description]: Mention availability of the same functionality in
official AWS CLI tool.

Change-Id: I850ac706c40d731212143c608fec44afe0b0d300
2025-12-19 10:50:54 +00:00
Sharlatan Hellseher
2e7ff3c604 gnu: kernel-hardening-checker: Update to 0.6.17.1.
* gnu/packages/linux.scm (kernel-hardening-checker): Update to 0.6.17.1.
[native-inputs]: Add python-setuptools.

Change-Id: I27057caed99335c264c41f9969206ecef1f22395
2025-12-19 10:50:54 +00:00
Sharlatan Hellseher
0a6675db70 gnu: getmail6: Update to 6.19.10.
* gnu/packages/mail.scm (getmail6): Update to 6.19.10.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: Ic5065dad712115a22175e53a61b84b70d80334c0
2025-12-19 10:50:54 +00:00
Sergey Trofimov
6b1bb5fbcc gnu: xcur2png: Fix build with gcc@14.
* gnu/packages/xorg.scm (xcur2png)
[arguments]<#:configure-flags>: Add CFLAGS.

Change-Id: I2b8ecdaf527400d0a52b4bdcf3fd5c391bd8822e
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-19 11:04:51 +01:00
Sharlatan Hellseher
6997024ea9 gnu: enjarify: Improve package, fix tests.
* gnu/packages/android.scm (enjarify): Use G-Expressions, improve
style, and fix tests.
[source]: Use direct URL string instead of [home-page]
[build-system]: Switch to pyproject-build-system.
[arguments]: Remove trailing #t from lambdas.
<phases>: Merge 'fixup-expected-test-results with
'drop-java-xss-argument into 'fix-tests phase and fix module path in
"runtests.py"; rework 'install-enjarify-wrapper phase.
[native-inputs]: Add python-setuptools.
[home-page]: Move above [synopsis]
[description]: Start from a new line, mention original source of the
project.

Fixes: guix/guix#4954
Reported-by: nomike <nomike@nomike.com>
Change-Id: I22e3e613ca5d0352fdd5d6d397183a4cde1a067f
2025-12-19 09:33:17 +00:00
Murilo
b104a808ca gnu: hyprland: Update to 0.52.2.
* gnu/packages/wm.scm (hyprland): Update to 0.52.2.

Change-Id: I1079af936ede402e93484e2801a1f89da0c73cb0
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-12-18 22:09:08 -05:00
Murilo
ea4f8318dc gnu: hyprlang: Update to 0.6.7.
* gnu/packages/cpp.scm (hyprlang): Update to 0.6.7.

Change-Id: I098f2bb3e1b8ac815ccaae53015dc8ed1e1e16ef
Signed-off-by: John Kehayias <john@guixotic.coop>
2025-12-18 22:09:06 -05:00
John Kehayias
972f8ba760 gnu: xorg-server: Update to 21.1.21.
* gnu/packages/xorg.scm (xorg-server): Update to 21.1.21.

Change-Id: Ib2024a8de8a17d8f8607691a8dca9b4ddb510298
2025-12-18 22:06:59 -05:00
John Kehayias
2455e97436 gnu: xorg-server-xwayland: Update to 24.1.9 [security-fixes].
Fixes CVE-2025-62229, CVE-2025-62230, and CVE-2025-62231.

See <https://lists.x.org/archives/xorg-announce/2025-October/003635.html> for
more information.

* gnu/packages/xorg.scm (xorg-server-xwayland): Update to 24.1.9.

Change-Id: I81533e02fa5629b26b268f4a2f4f5c8a47680c37
2025-12-18 22:06:58 -05:00
John Kehayias
7db9c56b77 gnu: xorg-server: Update to 21.1.20 [security-fixes].
A previous version, 21.1.19, fixed CVE-2025-62229, CVE-2025-62230, and
CVE-2025-62231.

See <https://lists.x.org/archives/xorg-announce/2025-October/003635.html> for
more information.

* gnu/packages/xorg.scm (xorg-server): Update to 21.1.20.

Change-Id: I6a2a50898b1537eebc97f0a470af987aae712acc
2025-12-18 22:06:57 -05:00
John Kehayias
b26b379a28 gnu: glad: Use xvfb-run-for-tests.
This prevents xorg-server from having over 1,000 dependents.

* gnu/packages/gl.scm (glad)[native-inputs]: Use xvfb-run-for-tests instead of
xvfb-run.

Change-Id: I6b2fea1ba92395eef08fab77e5225b2abd95a954
2025-12-18 22:06:54 -05:00
Sharlatan Hellseher
fbef54aaf8 gnu: python-zopfli: Update to 0.4.0.
* gnu/packages/python-compression.scm (python-zopfli): Update to 0.4.0.
[source]: Switch to git-fetch.
[arguments] <phases>: Use default 'check.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Remove unzip; add python-setuptools.

Change-Id: Icff078670dd822ed7a8e6490f0c2337f93c39a9d
2025-12-18 23:35:03 +00:00
Hugo Buddelmeijer
d128cca4ff gnu: python-abjad: Fix build.
* gnu/packages/music.scm (python-abjad): Fix build.
[arguments]<#:phases>: Add 'fix-docstring phase.

Change-Id: Ic1d36183d47d6a2d65a2f3be25596802eb48ea03
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:27:02 +00:00
Hugo Buddelmeijer
6249485f39 gnu: python-roman: Update to 5.2.
* gnu/packages/python-xyz.scm (python-roman): Update to 5.2.
[source]: Switch to git-fetch for tests.
[build-system]: Switch to python-pyproject.
[arguments]<#:test-backend>: Switch to unittest.
[native-inputs]: Add python-setuptools.
[license]: Switch to ZPL 2.1.

Change-Id: I0edd6ceeb26561e512db1da5660a8ebdd8de64ec
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:26:57 +00:00
Sergey Trofimov
e6ca4b6096 gnu: stapler: Switch to pyproject.
* gnu/packages/pdf.scm (stapler): Switch to pyproject.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:phases>{fix-more-itertools-version-requirement}: Adjust.
<#:build-backend>: Use poetry.core.masonry.api.
<#:test-flags>: Specify test files.
[native-inputs]: Add python-poetry-core, python-pytest, python-setuptools.

Change-Id: Ic1e0811f97b17dcdc1b639f13c6f8e750bfc20b0
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:22:44 +00:00
Sharlatan Hellseher
39a57da774 gnu: yq: Update to 4.50.1.
* gnu/packages/textutils.scm (yq): Update to 4.50.1.
[native-inputs]: Add go-github-com-hashicorp-hcl-v2 and go-github-com-zclconf-go-cty.

Change-Id: Ife47f331192f387d5821e1389f619cf539b9d6f2
2025-12-18 23:19:27 +00:00
Sören Tempel
c9b0157cd9 gnu: Add zk.
* gnu/packages/task-management.scm (zk): New variable.

Change-Id: I4d9914c30b8df52cdcf902e7ab2db60381de5946
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:27 +00:00
Sören Tempel
40a0d7327a gnu: Add go-github-com-alecthomas-kong-for-zk.
* gnu/packages/golang-xyz.scm (go-github-com-alecthomas-kong-for-zk): New variable.
Change-Id: I1a3fc2da10688579f2a8b2daa605447b07e68861
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:27 +00:00
Sören Tempel
266fb873b9 gnu: Add go-github-com-fatih-color-for-zk.
* gnu/packages/golang-xyz.scm (go-github-com-fatih-color-for-zk): New variable.
Change-Id: I92dcc124f1e2696534f49fca2da5d3c925f62a92
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:27 +00:00
Sören Tempel
81e1d95904 gnu: Add go-github-com-zk-org-pretty.
* gnu/packages/golang-xyz.scm (go-github-com-zk-org-pretty): New variable.
Change-Id: I394de87977bfa8e5b90c719fda66d5417cf549bf
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:27 +00:00
Sören Tempel
90a917605b gnu: Add go-github-com-yuin-goldmark-meta.
* gnu/packages/golang-xyz.scm (go-github-com-yuin-goldmark-meta): New variable.
Change-Id: I8497bce5a679de7605ddf22ddb18305aa011ed9d
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:27 +00:00
Sören Tempel
b0bbd770f9 gnu: Add go-gopkg-in-djherbis-times-v1.
* gnu/packages/golang-xyz.scm (go-gopkg-in-djherbis-times-v1): New variable.
Change-Id: I32bcbb278de19a07ffebac603ec27b98c70f767b
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:27 +00:00
Sören Tempel
c749fd2d10 gnu: Add go-github-com-tliron-glsp.
* gnu/packages/golang-xyz.scm (go-github-com-tliron-glsp): New variable.
Change-Id: I037cb34d6a9ef70c1a9593eac40c634031df34c0
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:27 +00:00
Sören Tempel
c6ec96a94d gnu: Add go-github-com-zchee-color.
* gnu/packages/golang-xyz.scm (go-github-com-zchee-color): New variable.
Change-Id: I5c715b93d3aff3c8fa0624d5b9e5238d603ec378
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:27 +00:00
Sören Tempel
dbc557eb05 gnu: Add go-github-com-tliron-kutil.
* gnu/packages/golang-xyz.scm (go-github-com-tliron-kutil): New variable.
Change-Id: Ib92479ecbce5e2b820d33fb599e94e64b6f8943e
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:26 +00:00
Sören Tempel
28b519e8a9 gnu: Add go-github-com-tj-go-naturaldate.
* gnu/packages/golang-xyz.scm (go-github-com-tj-go-naturaldate): New variable.
Change-Id: I78741cd34c41a6b140c51aa41991383574151195
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:26 +00:00
Sören Tempel
99dc1a2645 gnu: Add go-github-com-rvflash-elapsed.
* gnu/packages/golang-xyz.scm (go-github-com-rvflash-elapsed): New variable.
Change-Id: Ic45586fa338317410819f1d67042935b72cd95e0
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:26 +00:00
Sören Tempel
063cff5c90 gnu: Add go-github-com-mvdan-xurls.
* gnu/packages/golang-web.scm (go-github-com-mvdan-xurls): New variable.
Change-Id: I45619fea0af4408d1ac854583e297da00b7d4a60
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:26 +00:00
Sören Tempel
3dac82e790 gnu: Add go-github-com-gosimple-slug.
* gnu/packages/golang-web.scm (go-github-com-gosimple-slug): New variable.
Change-Id: I5b9d85c32b2711ad857973030e5b48558de4d5d2
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:26 +00:00
Sören Tempel
d5c3f170b0 gnu: Add go-github-com-gosimple-unidecode.
* gnu/packages/golang-xyz.scm (go-github-com-gosimple-unidecode): New variable.
Change-Id: I0ee66d904b611b5f1926d83ec9e5c1c61b47904a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:26 +00:00
Sören Tempel
e9c2fb94ad gnu: Add go-github-com-aymerick-raymond.
* gnu/packages/golang-web.scm (go-github-com-aymerick-raymond): New variable.
Change-Id: I2304c52f824878387994a1e3fe1a9a9c73f642c2
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 23:19:16 +00:00
dan
a9e412fc9d gnu: telegram-desktop: Update to 6.3.6.
* gnu/packages/telegram.scm (%telegram-version): Update to 6.3.6.
(cmake-helpers-for-telegram-desktop, codegen-for-telegram-desktop)
(lib-base-for-telegram-desktop, lib-rpl-for-telegram-desktop)
(lib-spellcheck-for-telegram-desktop, lib-storage-for-telegram-desktop)
(lib-ui-for-telegram-desktop, lib-webview-for-telegram-desktop)
(tgcalls-for-telegram-desktop): Update to revision used by v6.3.0.
(webrtc-for-telegram-desktop): Update to latest commit.
[inputs]: Use abseil-cpp instead of abseil-cpp-cxxstd17.
(telegram-desktop): Update to 6.3.0.
[inputs]: Use xdg-desktop-portal-next instead of xdg-desktop-portal.

Change-Id: I306f3a95c9c924165ff198b98261a9e60d8c0d51
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4280
2025-12-19 00:05:44 +01:00
dan
e498671958 gnu: Add xdg-desktop-portal-next.
* gnu/packages/freedesktop.scm (xdg-desktop-portal-next): New variable.
*
gnu/packages/patches/xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I83c7d1c174a258761988b4d234b6fc4a9228e36f
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-19 00:05:44 +01:00
Yelninei
35fd588af0 gnu: hurd: Fix librump detection.
* gnu/packages/hurd.scm (hurd)[#:configure-flags]: Add -Wl,--as-needed to
LDFLAGS
[#:phases]: Remove 'fixup-cross-configure phase.

Change-Id: I698461ede24c26f6a0934106408ca802ed3fc455
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Fixes: guix/guix#1511
Merges: #1538
2025-12-19 00:05:43 +01:00
Yelninei
74366285f0 gnu: hurd: Prevent zombie processes.
Fixes: shepherd/shepherd#93

* gnu/packages/patches/hurd-proc-zombies.patch: new patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/hurd.scm (hurd): Add patch.

Change-Id: Iddab14fcd487817cde7aa2f7fd047e943d9337d1
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4822
2025-12-19 00:05:43 +01:00
Ludovic Courtès
3e2bd2e30b services: nscd: Cause PID 1 to drop nscd database mappings on shutdown.
Partly fixes guix/guix#4269.

Fixes a bug whereby shepherd (PID 1) could retain memory mappings for
/var/run/nscd/dbXXX, which are created by glibc’s NSS from database file
descriptors sent by nscd.  Those mappings could then prevent
‘root-file-system’ from re-mounting the root file system as read-write.
This change causes PID 1 to drop these mappings.

PID 1 typically calls libc database functions such as ‘getgr’ when dealing
with AF_UNIX endpoints for socket-activated services, to look up the socket’s
owner and group.  This is where the bug would manifest.

The regression may have been introduced by
85ac164c41, which caused nscd to handle the
password and group databases.

* gnu/services/base.scm (nscd-shepherd-service): In ‘stop’ procedure, call
‘getpw’, ‘getgr’, and ‘getaddrinfo’.
* gnu/tests/base.scm (run-root-unmount-test) <"open libc NSS database">: New
test.
(%test-root-unmount): Add #:imported-modules.

Change-Id: I197cc8c82165c631f857415898137412ce9bd439
Reported-by: Rutherther <rutherther@ditigal.xyz>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4828
2025-12-19 00:05:43 +01:00
Tomas Volf
55bf53fe92 monad-repl: Add "graft?" command.
Grafts are not always required when just exploring in the REPL, and they do
take time, so this commit adds easy way to disable them.

* guix/monad-repl.scm (build-graft): New meta command.
* doc/guix.texi (Using Guix Interactively): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-19 00:05:43 +01:00
Ludovic Courtès
7b9c30de1f environment: Do not attempt to map GID 0 when invoked as root.
* guix/scripts/environment.scm (launch-environment/container): Set ‘gid’ to
1000 when ‘getgid’ returns zero.

Fixes: guix/guix#4234
Reported-by: Maxim Cournoyer <maxim@guixotic.coop>
Change-Id: I781f2939dfd3cda23373d2fa03e288995bce9eb9
2025-12-19 00:05:43 +01:00
Giacomo Leidi
0c60cfcd37 gnu: ssh-to-pgp: Update to 1.1.6.
* gnu/packages/golang-crypto.scm (ssh-to-pgp): Update to 1.1.6.

Change-Id: I969517b8289c30ed651dc94901f1b33a5abb3a4a
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 22:39:56 +00:00
Nguyễn Gia Phong
1a19afcd97 gnu: quickswitch-i3: Update to 2.8.0.
* gnu/packages/wm.scm (quickswitch-i3): Update to 2.8.0.
  [home-page]: Update to new upstream.
  [source]: Update URI.  Remove patch.
  [build-system]: Change to pyproject-build-system.
  [native-inputs]: Add python-setuptools.
  [arguments]: Update to modern style.
* gnu/packages/patches/quickswitch-fix-dmenu-check.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Unregister patch.

Change-Id: I9d5f25498b464356590011d2ce49a43e515a8cfb
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 22:29:42 +00:00
Philippe SWARTVAGHER
c1aa87625f gnu: sqlitestudio: Update to 3.4.18.
* gnu/packages/databases.scm (sqlitestudio): Update to 3.4.18.

Change-Id: I30046ba50af96d36aae094d41622747ddbe4e838
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 22:26:18 +00:00
Sharlatan Hellseher
fdb8bdc689 gnu: python-jupytext: Move to jupyter.
* gnu/packages/python-xyz.scm (python-jupytext): Move from here ...
* gnu/packages/jupyter.scm: ... to here.

Change-Id: I02697361195c0bada08122cecb2dfb16598595cd
2025-12-18 22:05:03 +00:00
Ghislain Vaillant
011e027da5 gnu: python-jupytext: Update to 1.18.1.
* gnu/packages/python-xyz.scm (python-jupytext): Update to 1.18.1.
  [arguments]<#:tests-flags>: Update filters.
  [propagated-inputs]: Add python-packaging and python-pyyaml.
  [native-inputs]: Add python-hatchling, python-jupyter-client and
  python-pytest-asyncio. Remove git-minimal, python-gitpython,
  python-ipython-genutils python-pyyaml, python-toml, python-setuptools
  and python-wheel.
  [home-page]: Update URL.

Change-Id: I8096565639b8da3372465c72554af28ade20eead
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 21:59:02 +00:00
Hugo Buddelmeijer
58805ac414 gnu: python-pyld: Switch to pyproject-build-system.
* gnu/packages/python-xyz.scm (python-pyld): Switch to pyproject-build-system.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:tests?>: Disable tests for now.
[propagated-inputs]: Add python-aiohttp and python-requests.
[native-inputs]: Add python-setuptools.

Change-Id: I072f5210a1bbb0e9c3c38747b682cc3fb9ce575c
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 21:46:23 +00:00
Hugo Buddelmeijer
902de8475b gnu: python-extract-dtb: Switch to pyproject-build-system.
* gnu/packages/python-xyz.scm (python-extract-dtb): Switch to
pyproject-build-system.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:tests?>: Set to false, no tests.
[native-inputs]: Add python-setuptools.

Change-Id: I5ef5ecee569c66415e2354a2104f764e3bcae886
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 21:46:23 +00:00
Hugo Buddelmeijer
59d5a2daa7 gnu: python-poyo: Switch to pyproject-build-system.
* gnu/packages/python-xyz.scm (python-poyo): Switch to pyproject-build-system.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: I8dd95bb1f84b4ff98e640d730fd4ec6a4270c78d
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 21:46:22 +00:00
Hugo Buddelmeijer
cab9246395 gnu: python-argparse-addons: Update to 0.12.0.
* gnu/packages/python-xyz.scm (python-argparse-addons): Update to 0.12.0.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: I779fc2731c7dd3e184676823945fcceb9dabadf1
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 21:46:20 +00:00
Sharlatan Hellseher
7ee70d0906 gnu: img2pdf: Switch to pyproject, disable tests.
* gnu/packages/pdf.scm (img2pdf):
[arguments] <tests?>: Disable for now.
[propagated-inputs]: Move from here ...
[inputs]: ... to here.
[native-inputs]: Add python-setuptools.

Change-Id: I4dbf9f469bafd020a20e3a180b6ebc456981583e
2025-12-18 21:43:09 +00:00
Grigory Shepelev
3516819a95 gnu: Add emacs-magit-delta.
* gnu/packages/emacs-xyz.scm (emacs-magit-delta): New variable.

Change-Id: If21f353723e72ef86ba9e847efaf6af2f6d9d686
Modified-by: Cayetano Santos <csantosb@inventati.org>
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 20:35:45 +01:00
Sharlatan Hellseher
b7dc8aea65 gnu: udiskie: Improve package, fix build.
* gnu/packages/freedesktop.scm (udiskie): Use G-Expressions.
[source]: Switch to git-fetch providing tests.
[build-system]: Switch to pyproject-build-system.
[arguments] <test-backend, test-flags>: Use custom.
<phases>: Add 'fix-entry-points; 'wrap-gi-typelib move after wrap.
[inputs]: Add python-docopt, python-keyutils, python-pygobject,
python-pyxdg, and python-pyyaml.
[propagated-inputs]: Remove python-docopt, python-pygobject,
python-keyutils, python-pyxdg, and python-pyyaml.
[native-inputs]: Add python-setuptools.

Fixes: guix/guix#4920
Change-Id: Ie29f7bfdef7465d58799cb189483ccc264681fbe
2025-12-18 18:59:16 +00:00
Ghislain Vaillant
71c4428943 gnu: emacs-jupyter: Update to 1.0-3.de89cbe.
* gnu/packages/emacs-xyz.scm (emacs-jupyter): Update to 1.0-3.de89cbe.
[source]: Update git repository URL.
[home-page]: Update.

Change-Id: I11beaa374dbdd298607e6573f7c61f3f88488306
Modified-by: Cayetano Santos <csantosb@inventati.org>
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 19:51:52 +01:00
moksh
bfd56b06cb gnu: chafa: Update to 1.18.0.
* gnu/packages/image-viewers.scm (chafa): Update to 1.18.0.

Change-Id: I744618bbcb563f8225bb3a633fd267371ae7d1dc
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 19:38:48 +01:00
Sergey Trofimov
55b4d55b69 gnu: python-clickgen: Update to 2.2.5.
* gnu/packages/python-xyz.scm (python-clickgen): Update to 2.2.5.
[source]: Fetch from git.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-flags>: Ignore broken test.
[inputs]: Remove libx11, libpng, and libxcursor.
[propagated-inputs]: Add python-pyyaml.
[native-inputs]: Remove python-wheel; add python-pytest, and
python-setuptools.

Change-Id: Icb0ba11d9b542f38a02c7ab9262d146cbff329ef
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 17:26:36 +00:00
Nguyễn Gia Phong
be8bbdd271 teams: Add entry for Nguyễn Gia Phong
* etc/teams.scm ("Nguyễn Gia Phong"): New member.

Change-Id: I3492513cb136e500f9798e31bd938feecaaddb48
Reviewed-by: Maxim Cournoyer <maxim@guixotic.coop>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 17:16:46 +00:00
Nguyễn Gia Phong
625ed9311c Update Nguyễn Gia Phong's new email address.
* .mailmap: New entry.

Change-Id: I839ba6c7be463c5b59c7e68247ae5e46d2ceeeaf
Reviewed-by: Maxim Cournoyer <maxim@guixotic.coop>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-18 17:16:43 +00:00
jgart
2d94d3f9de gnu: Add emacs-claude-code.
* gnu/packages/emacs-xyz.scm (emacs-claude-code): New variable.

Fixes: guix/guix#4021

Change-Id: I2a6072bedf428b1ac606c3f2486e59057f526439
Modified-by: Cayetano Santos <csantosb@inventati.org>
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-18 11:53:21 +01:00
Oleg Pykhalov
44a85eb6bd gnu: niri: Update to 25.11.
* gnu/packages/wm.scm (niri): Update to 25.11.
* gnu/packages/rust-crates.scm: Update crates accordingly.

Change-Id: Ifee78879b700516ca4872ca800606c00fa1414d0
2025-12-18 13:34:44 +03:00
Maxim Cournoyer
a90e2453d5 gnu: x2goclient: Fix build.
* gnu/packages/patches/x2goclient-fix-makefile.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/nx.scm (x2goclient): Apply it.

Fixes: #4586
Change-Id: Ib76ac5acd99cbde806f961b4e8107eb37f755304
2025-12-18 15:59:19 +09:00
jgart
d7dac3985c gnu: Add hare-lsp.
* gnu/packages/hare-apps.scm (hare-lsp): New variable.

Change-Id: Ic66fbcbc74dc241fae819ca0a3fd61b6c3c7fc15
2025-12-17 20:59:49 -06:00
jgart
fe9dfb6abb gnu: trealla: Update to 2.87.5.
* gnu/packages/prolog.scm (trealla): Update to 2.87.5.

Change-Id: I6a331959eca8077774b932a0c3c5a3c0324b0d76
2025-12-17 18:16:34 -06:00
Sharlatan Hellseher
9da5b5196a gnu: python-pulp: Fix build.
* gnu/packages/python-xyz.scm (python-pulp):
[build-system]: Switch to pyproejct-build-system.
[arguments] <tests?>: Disable for now.
[native-inputs]: Add python-setuptools.

Change-Id: I4488a3a7d7199f722df5ba8b319dfbd19612972c
2025-12-18 00:06:47 +00:00
Sharlatan Hellseher
48983fab8d gnu: python-mappy: Fix indentation.
* gnu/packages/bioinformatics.scm (python-mappy): Fix indentation.

Change-Id: Ib6fbe26b7ba54e559093699b6b31e9a27b60ea96
2025-12-17 23:32:23 +00:00
Hugo Buddelmeijer
14ab247ece gnu: python-mappy: Switch to pyproject.
* gnu/packages/bioinformatics.scm (python-mappy):
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#test-backend, #test-flags>: Replace check phase with
example (no tests).
[native-inputs]: Add python-setuptools.

Change-Id: I9561de7e0ee94dbd1134c23c608d262169407456
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-17 23:30:57 +00:00
Hugo Buddelmeijer
2ede88e3bc gnu: python-ghp-import: Update to 2.1.0.
* gnu/packages/version-control.scm (python-ghp-import): Update to 2.1.0.
[source]: Update URL, permanent redirects.
[build-system]: Switch to pyproject.
[arguments]: Switch to gexps.
<#:tests?>: Disables tests, do not exist in PyPI or Git.
[native-inputs]: Add python-setuptools.
[home-page]: Update URL.

Change-Id: Ie0fa5bfe05919598b669c5048f671a788d000662
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-12-17 23:20:54 +00:00
Sharlatan Hellseher
a52bd8449b gnu: python-imaplib2: Switch to pyproject.
* gnu/packages/mail.scm (python-imaplib2):
[source]: Switch to git-fetch providing tests.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: I31fc960675ff97e9a769b1c1a5e37836fe9f0162
2025-12-17 23:16:56 +00:00
Sharlatan Hellseher
61f18e6d0c gnu: pulsemixer: Improve package.
* gnu/packages/pulseaudio.scm (pulsemixer):
[build-system]: Switch to pyproject-build-system.
[arguments]: Switch to search-input-file, drop trailing #t from lambda.
[native-inputs]: Add python-setuptools.

Change-Id: Ia0921a46be451b522bf5ad39de366b5ba2e949a5
2025-12-17 23:16:56 +00:00
Sharlatan Hellseher
e830350288 gnu: autorandr: Switch to pyproject.
* gnu/packages/xdisorg.scm (autorandr):
[build-system]: Switch to pyproject-build-system.
[arguments] <tests?>: No tests.
[native-inputs]: Add python-setuptools.

Change-Id: I62068ba970a081b58e69154d62e8fe99eebb8656
2025-12-17 23:16:55 +00:00
Vagrant Cascadian
81c8d1c609 gnu: python-py-ubjson: Switch to pyproject-build-system and enable tests.
Fixes build failure with missing tests.

* gnu/packages/web.scm (python-py-ubjson): Use pyproject-build-system.
[native-inputs]: Add python-setuptools, python-coverage and lcov.  [source]:
Use git-fetch.  [phases]: Add 'avoid-git-clean. Replace 'check.
2025-12-17 14:38:36 -08:00
John Kehayias
c203995bf5 gnu: python-google-auth-oauthlib: Fix tests.
* gnu/packages/python-web.scm (python-google-auth-oauthlib)[build-system]:
Switch to pyproject-build-system.
[native-inputs]: Add python-pytest, python-mock, and python-setuptools.

Change-Id: Ic846efd5298d666bd295492309f18c271aeb6997
2025-12-17 15:19:15 -05:00
jgart
a3a14c5693 gnu: linenoise: Update to 1.0-3.e26268d.
* gnu/packages/shells.scm (linenoise): Update to 1.0-3.e26268d.

Change-Id: I0e547d5ffcdcea963ba5858a38f7af3ae16d1d94
2025-12-17 12:34:53 -06:00
Cayetano Santos
40b59d5f47 gnu: python-surf: Disable tests.
Tests require slaclab/ruckus, which needs ghdl vhdl compiler.
Package update requires rogue, not in the repos.

* gnu/packages/electronics.scm (python-surf)[native-inputs]: Remove python-wheel.

Change-Id: I634cc5d5c8091665a1751272bd83e17169ffe1af
2025-12-17 18:49:50 +01:00
Cayetano Santos
c57e1e118d gnu: fd: Fix bash completions path.
* gnu/packages/rust-apps.scm (fd)[arguments]: Fix ’install-extras #:phase.

Change-Id: I84679a71803ee7dce4a1c4996d8a4668b7d1b109
2025-12-17 18:28:23 +01:00
Cayetano Santos
b770d4b370 gnu: ausweisapp: Update to 2.4.0.
* gnu/packages/security-token.scm (ausweisapp)[source]: Switch to
git-fetch.
[native-inputs]: Add python-wrapper.
[arguments]: Use G-Expressions

Change-Id: I78984b6263292c1c8896f30292fc06914f753c62
2025-12-17 18:15:27 +01:00
Cayetano Santos
fd08e6589a gnu: pkcs11-helper: Update to 1.31.0.
* gnu/packages/security-token.scm (pkcs11-helper): Update to 1.31.0.

Change-Id: I4777482cade36990b5511cbb876d33d3a45fa3ef
2025-12-17 18:08:20 +01:00
jgart
2a59e5d392 teams: python: Add manifest.
* etc/teams/python/python-manifest.scm: New file.

Change-Id: I1443ec2f2e5584a47dbe580caa682093e5fa1fe3
Signed-off-by: jgart <jgart@dismail.de>
2025-12-17 11:02:53 -06:00
Andreas Enge
facb375f88 gnu: ipfs-configuration: Update deprecated default value.
* gnu/services/networking.scm (<ipfs-configuration>): Replace go-ipfs
by kubo.

Change-Id: Iba127e5e06e00dd7bb1ff5901fdfa9b2ff075e9d
2025-12-17 15:48:26 +01:00
Andreas Enge
f54a032cec Revert "gnu: guile: Add 3.0.11."
This reverts commit 2b3782eb6e.

Fixes: guix/guix#4909
2025-12-17 14:36:25 +01:00
Cayetano Santos
58e3af17e2 gnu: pwsafe: Update to 3.70.1.
* gnu/packages/password-utils.scm (pwsafe): Update to 3.70.1.
[native-inputs]: Add python-wrapper.

Change-Id: I00261a9254407b58fa6902d8322c06e7dd61c7a9
2025-12-17 13:36:28 +01:00
Cayetano Santos
ec689e843a gnu: xkcdpass: Update to 1.20.0.
* gnu/packages/password-utils.scm (xkcdpass): Update to 1.20.0.

Change-Id: Ib29c71cc9632db5239519a296d15ccd5c7b7251a
2025-12-17 13:36:28 +01:00
Cayetano Santos
2c90e82e82 gnu: pass-git-helper: Update to 4.1.0.
* gnu/packages/password-utils.scm (pass-git-helper): Update to 4.1.0.

Change-Id: Iee5bd049e0ebda5e8ec3ec929f18d8c734459a12
2025-12-17 13:36:27 +01:00
Cayetano Santos
0b51ee66b7 gnu: ccid: Update to 1.7.0.
* gnu/packages/security-token.scm (ccid): Update to 1.7.0.
[source]: Switch to git-fetch.
[arguments]<#:phases>: Fix ’patch-Makefile.
[inputs]: Add zlib.
[native-inputs]: Add autoconf, autoconf-archive, automake, flex, libtool,
python-wrapper, and which.

Change-Id: Id546490684e7b54ac4858ec9b89809c825c361fe
2025-12-17 13:36:27 +01:00
Cayetano Santos
ff9db3d56f gnu: qdigidoc: Update to 4.9.1.
* gnu/packages/security-token.scm (qdigidoc): Update to 4.9.1.

Change-Id: I02cb65673a6bc68ca64b55c960c1c973113ddcc8
2025-12-17 13:36:27 +01:00
Cayetano Santos
d87a646b0a gnu: cracklib: Update to 2.10.3.
* gnu/packages/password-utils.scm (cracklib): Update to 2.10.3.
[source]: Switch to git-fetch.
[arguments]<#:phases>: Remove ’install-dict and add ’chdir.
[native-inputs]: Add autoconf, automake, libtool and intltool.

Change-Id: I1cc877f5d62b594bf7ead4899497420c2d930cb5
2025-12-17 13:36:27 +01:00
Cayetano Santos
4bd47431d6 gnu: zxcvbn-c: Update to 2.6.
* gnu/packages/password-utils.scm (zxcvbn-c): Update to 2.6.

Change-Id: I05f83ed4ddd3361652d55cb3c1f678c1da22842f
2025-12-17 13:36:27 +01:00
Hugo Buddelmeijer
89710d99fa gnu: python-pychm: Switch to pyproject-build-system.
* gnu/packages/ebook.scm (python-pychm): Switch to pyproject-build-system.
[source]: Switch to git-fetch for tests.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: I35bdfc15cdff6c86accad0722653071300c40563
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-17 11:20:21 +01:00
Hugo Buddelmeijer
812d9b4717 gnu: python-fb-re2: Switch to pyproject-build-system.
* gnu/packages/python-xyz.scm (python-fb-re2): Switch to pyproject-build-system.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: I390e137e77090cb157df4ad9b661ef63b2942ade
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-17 11:20:21 +01:00
Hugo Buddelmeijer
82aa5d47fb gnu: python-strawc: Switch to pyproject-build-system.
* gnu/packages/bioinformatics.scm (python-strawc): Switch to
pyproject-build-system.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: I49f697f9a968a141e5009ea8f860f0662500e0fd
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-17 11:20:21 +01:00
Hugo Buddelmeijer
6e5999d70b gnu: python-sinfo: Switch to pyproject-build-system.
* gnu/packages/python-xyz.scm (python-sinfo): Switch to pyproject-build-system.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: Ibe678393b5e531928ba88d4569349cdbbcaf0a68
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-17 11:20:21 +01:00
Hugo Buddelmeijer
146da6cf12 gnu: python-pypairix: Update to 0.3.9.
* gnu/packages/bioinformatics.scm (python-pypairix): Update to 0.3.9.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: I0fbe88438fcdcb304e12eac4156e94959e6db174
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-17 11:20:21 +01:00
Hugo Buddelmeijer
91a164d588 gnu: python-jsmin: Switch to pyproject-build-system.
* gnu/packages/python-web.scm (python-jsmin): Switch to pyproject-build-system.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: Ica4fc8d47b84c38f1beb0a887ef207cf5b8379a7
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-17 11:20:21 +01:00
Hugo Buddelmeijer
79767ce7aa gnu: python-numpy-groupies: Update to 0.11.3.
* gnu/packages/python-science.scm (python-numpy-groupies): Update to 0.11.3.
[build-system]: Switch to pyproject-build-system.
[propagated-inputs]: Add python-numpy.
[native-inputs]: Remove python-pytest-runner and python-numpy; add python-pandas,
python-setuptools, and python-setuptools-scm.

Change-Id: Iffe9007c357ac5f299a07cfb1d3fcd20da862c81
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-17 11:20:21 +01:00
Hugo Buddelmeijer
ec18fea38b gnu: python-msgpack-numpy: Switch to pyproject-build-system.
* gnu/packages/python-science.scm (python-msgpack-numpy): Switch to
pyproject-build-system.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-backend>: Select unittest.
[native-inputs]: Add python-setuptools.

Change-Id: I47958f2fe83411cefd91b664197a5b08e33205b4
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-17 11:20:21 +01:00
Hugo Buddelmeijer
fd5ccad45e gnu: python-intervaltree: Switch to pyproject-build-system.
* gnu/packages/python-xyz.scm (python-intervaltree): Switch to
pyproject-build-system.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: Ie849ed1cfabacd9b2438b6e2bd883048d8032b5e
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-17 11:20:21 +01:00
Hugo Buddelmeijer
4d617d8c11 gnu: keepkey-agent: Switch to pyproject-build-system.
* gnu/packages/finance.scm (keepkey-agent): Switch to pyproject-build-system.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:tests?>: Disable tests.
[native-inputs]: Add python-setuptools.

Change-Id: If83aa4cf17ebf3bac374e161d2fe2d7f4e92693e
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:20 +01:00
Hugo Buddelmeijer
7e42aacfc8 gnu: python-simple-rlp: Switch to pyproject-build-sytem.
* gnu/packages/python-xyz.scm (python-simple-rlp): Switch to
pyproject-build-sytem.
[build-system]: Switch to pyproject-build-sytem.
[native-inputs]: Add python-setuptools and python-pytest.

Change-Id: Ic4e9b717e6be6885b123834391a53b94c19e1132
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:20 +01:00
Hugo Buddelmeijer
100454dbe8 gnu: python-databases: Update to 0.8.0.
* gnu/packages/databases.scm (python-databases): Update to 0.8.0.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-flags>: Disable tests that require a database.
[native-inputs]: Add python-httpx, python-psycopg, python-pytest,
python-setuptools, and python-starlette.

Change-Id: I812d3e91fa0af6bee4df058d8563f5b0be28a3f2
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:20 +01:00
Hugo Buddelmeijer
45e1b3c776 gnu: python-mnemonic: Update to 0.21.
* gnu/packages/finance.scm (python-mnemonic): Update to 0.21.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-poetry-core and python-pytest.

Change-Id: I8eae1fa7b7a920ecefb4058837af624463453abe
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:20 +01:00
Hugo Buddelmeijer
86ea7a4aae gnu: python-asyncpg: Fix build.
* gnu/packages/databases.scm (python-asyncpg): Fix build.
[arguments]<#:test-flags>: Disable failing test.
[propagated-inputs]: Remove python-async-timeout.
[native-inputs]: Remove python-wheel.

Change-Id: I7d989120dee90abd4bb40b700d2c98a8b1143e28
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:20 +01:00
Hugo Buddelmeijer
0ec90936c9 gnu: python-ecpy: Update to 1.2.5.
* gnu/packages/python-crypto.scm (python-ecpy): Update to 1.2.5.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[propagated-inputs]: Remove python-future.
[native-inputs]: Add python-setuptools.
[home-page]: Update based on redirect.

Change-Id: I0e37b51fa157964aba0ab35a0b20974cfdcb205a
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:20 +01:00
Hugo Buddelmeijer
ddb12f1668 gnu: python-yubikey-manager: Update to 5.8.0.
* gnu/packages/security-token.scm (python-yubikey-manager): Update to 5.8.0.

Change-Id: Icffa80eb3dbee030a6600b6f263c7c22466c14cb
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:20 +01:00
Hugo Buddelmeijer
42d5d7f37a gnu: python-pyscard: Update to 2.3.1.
* gnu/packages/security-token.scm (python-pyscard): Update to 2.3.1.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools and python-pytest.
[properties]: Add release-monitoring-url.

Change-Id: Id4fdb34eda8c8efb1aa4ab4cba8ce9da30adc888
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:20 +01:00
Sharlatan Hellseher
0a2dfdb6d7 gnu: tetoolkit: Update to 2.2.3.
* gnu/packages/bioinformatics.scm (tetoolkit): Update to 2.2.3.
[arguments] <tests?>: No tests.
[native-inputs]: Remove python-wheel.

Change-Id: Idc5994a58115653447abb02d676b800d27ffe16e
2025-12-17 11:20:20 +01:00
Sharlatan Hellseher
e3453ff65d gnu: python-plaster-pastedeploy: Update to 1.0.1.
* gnu/packages/python-web.scm (python-plaster-pastedeploy): Update to 1.0.1.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: I9516ee45816fe127fb6c0a76a8cd21929e802713
2025-12-17 11:20:20 +01:00
Sharlatan Hellseher
3d59a38db3 gnu: python-zope-deprecation: Update to 6.0.
* gnu/packages/python-web.scm (python-zope-deprecation): Update to 6.0.
[source]: Fix PyPI archive name.
[build-system]: Switch to pyproject-build-system.
[arguments] <tests?>: Disable for now.
[native-inputs]: Add python-setuptools.

Change-Id: I55075d1b96271a9b987e2731d7b7cadd2c233efd
2025-12-17 11:20:20 +01:00
Sharlatan Hellseher
608d01cf16 gnu: python-venusian: Update to 3.1.1.
* gnu/packages/python-web.scm (python-venusian): Update to 3.1.1.
[build-system]: Switch to pyproject-build-system.
[arguments] <phases>: Add 'fix-pytest-config.
[native-inputs]: Remove python-pytest-runner and python-pytest-cov; add
python-setuptools. Remove lables.

Change-Id: Iebabc49ab7e5d0bfabcd68d9d2ba62bcb69f48e6
2025-12-17 11:20:20 +01:00
Sharlatan Hellseher
8164873c9e gnu: python-translationstring: Update to 1.4.
* gnu/packages/python-web.scm (python-translationstring): Update to 1.4.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: Idd574b4de5247a09c52debb7ee130dcf6f323e72
2025-12-17 11:20:19 +01:00
Sharlatan Hellseher
9bb46e6e02 gnu: python-pytest-dependency: Move to python-check.
* gnu/packages/check.scm (python-pytest-dependency): Move from here ...
* gnu/packages/python-check.scm: ... to here.

Change-Id: I135998cdbb0b321aa3c5e2a552d6374009e60fbe
2025-12-17 11:20:19 +01:00
Sharlatan Hellseher
d2c355ce8d gnu: python-pytest-dependency: Update to 0.6.0.
* gnu/packages/check.scm (python-pytest-dependency): Update to 0.6.0.
[build-system]: Switch to pyproject-build-system.
[propagated-inputs]: Remove python-pytest.
[native-inputs]: Add python-pytest-bootstrap and python-setuptools.

Change-Id: I1517f7097a14ba09f5ea1bc64b17e4ab223ea1e3
2025-12-17 11:20:19 +01:00
Sharlatan Hellseher
7021a9632b gnu: python-plaster: Update to 1.1.2.
* gnu/packages/python-web.scm (python-plaster): Update to 1.1.2.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: I208d7576794767d3cc004ef49ee9a9a53303aa8c
2025-12-17 11:20:19 +01:00
Sharlatan Hellseher
cf5795c4cb gnu: python-cligj: Switch to pypproject.
* gnu/packages/python-xyz.scm (python-cligj):
[build-system]: Switch to pypproject-build-system.
[native-inputs]: Remove python-pytest-cov; add python-pytest and
python-setuptools.

Change-Id: I9c1f1ab5f4689eb2443b6720bbe111e291bc3df6
2025-12-17 11:20:19 +01:00
Rutherther
461eaba666 gnu: clisp: Disable parallel tests.
Run the test suite sequentially. This prevents non-determinism
of clisp tests to some degree. It doesn't prevent it completely, though.

Thanks to Hugo Buddelmeijer <hugo@buddelmeijer.nl> who figured this out.

* gnu/packages/lisp.scm (clisp): Add phase to disable parallel tests.

Change-Id: I76e401151cb696e0f96c02771e111bd2cfb4d8f4
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:19 +01:00
Andreas Enge
1d3b78360c gnu: python-joblib: Limit parallelism of tests.
* gnu/packages/python-xyz.scm (python-joblib)[arguments]<#:test-flags>:
Use at most 8 cores.

Change-Id: I0086ecbe653801052dff08a7d675d304791dba84
2025-12-17 11:20:19 +01:00
Andreas Enge
c91470ede9 gnu: python-ipywidgets: Use older setuptools.
* gnu/packages/python-xyz.scm (python-ipywidgets)[native-inputs]:
Add python-setuptools-67.

Change-Id: I88240840e890a631353e045e955d1ad578cc98a1
2025-12-17 11:20:19 +01:00
Noé Lopez
12bae54d87 gnu: clisp: Fix some tests.
Some tests were failing with locale errors. Either this fixes the issues, or I
was lucky with the nondetermistism.

* gnu/packages/lisp.scm (make-clisp-tests-locales): New function.
(clisp)[native-inputs]: Add required locales for tests.

Change-Id: I1205a34cc61520287aeb0f45190928c05cf3b493
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:19 +01:00
Hugo Buddelmeijer
a87435ee58 gnu: python-azure-common: Switch to pyproject-build-system.
* gnu/packages/python-web.scm (python-azure-common): Switch to
pyproject-build-system.
[arguments]<#:tests?>: Set to #f.
[native-inputs]: Add python-setuptools.

Change-Id: Ife71af09e889c7e7931adca87d8bbd9887ad465e
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:19 +01:00
Hugo Buddelmeijer
863641c83b gnu: python-azure-nspkg: Switch to pyproject-build-system.
* gnu/packages/python-web.scm (python-azure-nspkg):  Switch to
pyproject-build-system.
[build-system]: Switch to pyproject-build-system.
[native-inputs]: Add python-setuptools.

Change-Id: If5342e683208b6a16089d40e43444cd6918e00b5
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:19 +01:00
Hugo Buddelmeijer
2858053d7d gnu: python-pyotp: Switch to pyproject-build-system.
* gnu/packages/python-crypto.scm (python-pyotp): Switch to
pyproject-build-system.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:test-flags>: Use test.py.
[native-inputs]: Add python-setuptools and python-pytest.

Change-Id: Ic77d0ad4173804ca300dc2d7bdce6d0529141f8b
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:19 +01:00
Hugo Buddelmeijer
615ad81ecb gnu: pantalaimon: Update to 0.10.6.
* gnu/packages/matrix.scm (pantalaimon): Update to 0.10.6.
[arguments]<#:phases>: Add 'create-pytest-ini phase.

Change-Id: I0e24fd65638835ba4df55a53b57a3dbc02cb16a0
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:19 +01:00
Hugo Buddelmeijer
7b52ea8ccb gnu: python-aiohttp-client-cache: Update to 0.14.2.
* gnu/packages/python-web.scm (python-aiohttp-client-cache): Update to 0.14.2.
[source]: Switch to git-fetch.
[native-inputs]: Remove python-poetry-core and python-pytest-cov; add python-hatchling.

Change-Id: Ie6bc8ad470c6fc47867d8dc51df9d7503c797588
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Hugo Buddelmeijer
ed73da496b gnu: python-pytest-aiohttp: Update to 1.1.0.
* gnu/packages/python-check.scm (python-pytest-aiohttp): Update to 1.1.0.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:phases>: Add 'set-version and 'create-pytest-ini phases.
[propagated-inputs]: Add python-pytest-asyncio.
[native-inputs]: Add python-setuptools and python-setuptools-scm.

Change-Id: Ia25a1d8a8dce23ae9a4773cbf9a8b81e50abb4ac
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Rutherther
38ee0d5528 gnu: webkitgtk: Ungraft.
* gnu/packages/webkit.scm
(webkitgtk): Ungraft.
(webkitgtk/fixed): Remove variable.

Change-Id: I7a21401afefac90c273b6b2e0159849cbb3652db
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Andreas Enge
1ed4f2b475 gnu: python-jmespath: Use older setuptools.
* gnu/packages/python-xyz.scm (python-jmespath)[native-inputs]:
Add python-setuptools-67.

Change-Id: I4bbaae33af1095f1f0757190c63d3eec7fa7afdc
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Andreas Enge
71edbd9f3b gnu: python-genshi: Use older setuptools.
* gnu/packages/python-web.scm (python-genshi)[native-inputs]:
Add python-setuptools-67.

Change-Id: I4da0ba45408b16ead0ad89433946e77e80f052ef
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Andreas Enge
819d43b8ca gnu: python-polib: Use older setuptools.
* gnu/packages/python-xyz.scm (python-polib)[native-inputs]:
Add python-setuptools-67.

Change-Id: I4be4d8b093dca118969065494bbfe93112fb5ebd
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Andreas Enge
2c5002242a gnu: python-beautifulsoup4: Update to 4.14.3.
* gnu/packages/python-xyz.scm (python-beautifulsoup4): Update to 4.14.3.

Change-Id: Ic5359b0a3cf0c2d2950badc0b8fff657fbf23824
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Andreas Enge
5980f1cfe9 gnu: python-gpg: Fix build.
* gnu/packages/patches/python-gpg-setup-72.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register patch.
* gnu/packages/gnupg.scm (python-gpg)[source]: Use patch.

Change-Id: I13ea8c28082bf9288aad7995eadf7f17d4b3cd9d
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Andreas Enge
b3e75b5e75 gnu: python-joblib: Update to 1.5.2.
* gnu/packages/python-xyz.scm (python-joblib): Update to 1.5.2.

Change-Id: If2913bef45f97b5972570d44958a5d359c311c6d
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Andreas Enge
0f4ffa74ef gnu: python-markdown: Update to 3.10.
* gnu/packages/python-xyz.scm (python-markdown): Update to 3.10.

Change-Id: I04ef516bbe82bc9fc6fa813d2104e89564219620
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Ludovic Courtès
73fcd73aeb gnu: python-3.11: Ungraft.
* gnu/packages/python.scm (python-3.11)[replacement]: Remove.
[version, source]: Update to 3.11.14.
(python-3.11/fixed): Remove variable.

Change-Id: Idee826409d249fff2aba74e3d6e98ef79ef90a17
Signed-off-by: Andreas Enge <andreas@enge.fr>
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:18 +01:00
Ludovic Courtès
cd4a0e2b7b gnu: gtk+: Ungraft.
* gnu/packages/gtk.scm (gtk+)[replacement]: Remove.
[version, source]: Update to 3.24.51.
(gtk+/fixed): Remove variable.

Change-Id: I33041bd0049c92ac7f288fd21faac59cd5c15a59
Signed-off-by: Andreas Enge <andreas@enge.fr>
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-17 11:20:09 +01:00
Maxim Cournoyer
f20e7c6eed gnu: perl-devel-repl: Fix indentation.
* gnu/packages/perl.scm (perl-devel-repl) [#:phases]: Fix indentation.

Change-Id: If80489a54a919de7d02c6ee3020cbe38caf09ab0
2025-12-17 15:59:34 +09:00
Maxim Cournoyer
ead9f1d8fa gnu: perl-reply: Move bash-minimal to inputs.
* gnu/packages/perl.scm (perl-reply) [native-inputs]: Move bash-minimal to...
[inputs]: ... here.

Change-Id: I464923e1a1f028f82e82c410d954bd92492504c9
2025-12-17 15:55:45 +09:00
Maxim Cournoyer
d3d7d66b3d gnu: Add perl-reply.
* gnu/packages/perl.scm (perl-reply): New variable.

Change-Id: Ic4ad867b6550d7da6b7544604bd9ce22b0c2c2ce
2025-12-17 15:54:16 +09:00
Maxim Cournoyer
ec8d3861d6 gnu: Add perl-devel-overrideglobalrequire.
* gnu/packages/perl.scm (perl-devel-overrideglobalrequire): New variable.

Change-Id: Ib70f7403b3b00ed767e1712cb9d338d95c89a645
2025-12-17 15:47:58 +09:00
Maxim Cournoyer
a7d11c6a0b gnu: Add perl-config-ini-reader-ordered.
* gnu/packages/perl.scm (perl-config-ini-reader-ordered): New variable.

Change-Id: I58335935c4c7e010366753dc9da102e2d9434842
2025-12-17 15:47:58 +09:00
Maxim Cournoyer
fc136e9cea gnu: Add perl-class-refresh.
* gnu/packages/perl.scm (perl-class-refresh): New variable.

Change-Id: I6f52e51bd79495c4ebaa2765b559472f80ce2aeb
2025-12-17 15:47:58 +09:00
Leo Famulari
05d9a5876b gnu: linux-libre 6.12: Update to 6.12.62.
* gnu/packages/linux.scm (linux-libre-6.12-version): Update to 6.12.62.
(linux-libre-6.12-pristine-source): Update hash.

Change-Id: Ie7b977bb249d9421d1649f6cacbe7a304c05505a
2025-12-16 21:19:02 -05:00
Leo Famulari
a24c051191 gnu: linux-libre: Update to 6.17.12.
* gnu/packages/linux.scm (linux-libre-6.17-version): Update to 6.17.12.
(linux-libre-6.17-pristine-source): Update hash.

Change-Id: I4fea34db82c9c64502e1ea17f935cbf886a0f8e7
2025-12-16 21:18:58 -05:00
John Kehayias
74e9028499 gnu: Add mitm-cache.
* gnu/packages/rust-apps.scm (mitm-cache): New variable.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Add mitm-cache.

Change-Id: Ifc2d3a631940b69d1b5c8e9f5a2d9aa25551c265
2025-12-16 16:56:55 -05:00
Andreas Enge
0c8b130c72 gnu: audacity: Update to 3.7.7.
This fixes the compatibility with ffmpeg@8.

* gnu/packages/audio.scm (audacity): Update to 3.7.7.

Fixes: guix/guix#4892
Change-Id: I147bda84239194d9a3ab09462a933331c5ec2cb7
2025-12-16 22:42:45 +01:00
jgart
b73a2dcbf6 gnu: trealla: Update to 2.87.3.
* gnu/packages/prolog.scm (trealla): Update to 2.87.3.

Change-Id: Ief5532baabc1631ceb94d46713d356cf0829e2fe
2025-12-16 14:33:56 -06:00
Cayetano Santos
c443a8b6bb gnu: fortify-headers: Update to 3.0.
* gnu/packages/suckless.scm (fortify-headers): Update to 3.0.

Change-Id: I2c0f995bea106c5d33a48faad17580acbff8ec26
2025-12-16 21:01:04 +01:00
Roman Scherer
1cc99c8565 gnu: opencv: Skip failing test on aarch64.
* gnu/packages/image-processing.scm (opencv)[arguments]: Disable
ReferenceAccuracy test due to floating-point precision differences
with ARM NEON.

Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-16 20:28:09 +01:00
Cayetano Santos
c1f2a0e477 gnu: python-edalize: Update to 0.6.3.
* gnu/packages/electronics.scm (python-edalize): Update to 0.6.3.

Change-Id: Ied9491135ad06564688860454a99e4b848496f3d
2025-12-16 20:20:16 +01:00
Ian Eure
8cef389d35 gnu: librewolf: Update to 146.0-2 [security-fixes].
Contains fixes for:
CVE-2025-14321: Use-after-free in the WebRTC: Signaling component
CVE-2025-14322: Sandbox escape due to incorrect boundary conditions in
                the Graphics: CanvasWebGL component
CVE-2025-14323: Privilege escalation in the DOM: Notifications
                component
CVE-2025-14324: JIT miscompilation in the JavaScript Engine: JIT
                component
CVE-2025-14325: JIT miscompilation in the JavaScript Engine: JIT
                component
CVE-2025-14326: Use-after-free in the Audio/Video: GMP component
CVE-2025-14327: Spoofing issue in the Downloads Panel component
CVE-2025-14328: Privilege escalation in the Netmonitor component
CVE-2025-14329: Privilege escalation in the Netmonitor component
CVE-2025-14330: JIT miscompilation in the JavaScript Engine: JIT
                component
CVE-2025-14331: Same-origin policy bypass in the Request Handling
                component
CVE-2025-14332: Memory safety bugs fixed in Firefox 146 and
                Thunderbird 146
CVE-2025-14333: Memory safety bugs fixed in Firefox ESR 140.6,
                Thunderbird ESR 140.6, Firefox 146 and Thunderbird 146

* gnu/packages/librewolf.scm (librewolf): Update to 146.0-2.
2025-12-16 06:56:24 -08:00
Ian Eure
b0a55661b1 gnu: firefox-l10n: Update to fa4b12c075b42be6652237119d74346d377d2ae4.
* gnu/packages/librewolf.scm (firefox-l10n): Update to fa4b12c075b42be6652237119d74346d377d2ae4.

Change-Id: I25e7c160fd252d67c5e117b0ad48d431c7ee5b45
2025-12-16 06:56:23 -08:00
Ian Eure
08a731a380 gnu: Add rust-cbindgen-0.29.
* gnu/packages/rust-apps.scm (rust-cbindgen-0.29): New variable.

Change-Id: I844f77160d3a6c271ba54e3a5731f34219603895
2025-12-16 06:56:22 -08:00
Cayetano Santos
25a6fbe2df gnu: openfortivpn: Update to 1.24.0.
* gnu/packages/vpn.scm (openfortivpn): Update to 1.24.0.
[native-inputs]: Add perl and python-wrapper.

Change-Id: Iaafc5902d4cd3fde0964d9d11d21b68a7a2328e8
2025-12-16 10:31:03 +01:00
Rutherther
36c3a0a640 system: Reinstate lock-mounts work around for system containers.
The underlying problem for system containers still hasn't been
solved, the part of issue 78356 that has been solved is only
home containers.

This reverts commit cbc35fd9aa.
This is a work around for #4788 (previously https://issues.guix.gnu.org/78356).

* gnu/system/linux-container.scm (container-script): Disable lock-mounts?

Change-Id: Ib8eacfc1f1f1a858acf19beb6c14e12c4648b8d9
2025-12-16 09:32:07 +01:00
Rutherther
f7ee648345 self: Install systemd timer and mount services.
Add missing systemd files.

* guix/self.scm (miscellaneous-files): Add gnu-store.mount
and guix-gc.timer

Change-Id: I746a575a6e82363a78f69081ec67b76457d52bf2
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-16 09:25:40 +01:00
jgart
12dcbe5876 teams: hare: Fix typo in module header comment.
* etc/teams/hare/hare-manifest.scm: Fix typo in module header comment.

Change-Id: Ic8b9dfeb2ae9f7785bd56c41c7cb5c568e6b7bbb
2025-12-15 19:02:32 -06:00
Maxim Cournoyer
cb2d7fa28d gnu: Add emacs-perl-doc.
* gnu/packages/emacs-xyz.scm (emacs-perl-doc): New variable.

Change-Id: I81d50af847dd251247085df3dca151a5b75958eb
2025-12-16 09:22:09 +09:00
npatra
669a6c8e99 guix-install.sh: Check for gpg keys only if downloading tarball from ftp.
* etc/guix-install.sh (main_install): Call chk_gpg_keyring only if
GUIX_BINARY_FILE_NAME is not set.

Change-Id: Ia0a7449c8798ca7d61a0f1f1e793f2bafd521c5b
Signed-off-by: npatra <nilesh@riseup.net>
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-15 21:53:27 +01:00
Nilesh Patra
1fea6b359f guix-install.sh: Fetch gpg keys from codeberg and public keyservers.
Instead of fetching from no longer responsive gnu.org, fetch from
Codeberg.org, falling back to public keyservers in case codeberg
is down or unresponsive.

* etc/guix-install.sh
(GPG_SIGNING_KEY): Change gnu.org user ids to codeberg usernames.
(PUBLIC_KEYSERVERS): Add variable.
(chk_gpg_keyring): Use codeberg for fetching gpgs and fallback to public
keyservers.

Change-Id: Iddcd31239e2f3460d920194d62443ff00be7c957
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-15 21:53:26 +01:00
Thiago Jung Bauermann
53808b13b8 etc: SELinux: Add permissions to allow garbage collection.
There may be an improvement to be made to guix-daemon to avoid some
spurious denial audit messages, as described in the FIXME.

* etc/guix-daemon.cil.in: Add missing rules for guix gc.

Change-Id: I3651c4523528649048c7135fabd3000c8e78b1ff
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-15 21:53:21 +01:00
Thiago Jung Bauermann
1b59b93602 etc: SELinux: Add missing permissions.
With the changes in this commit, I can use "guix pull" and
"guix install <package>" successfully and without generating SELinux
denial erros in the system log.

* etc/guix-daemon.cil.in: Add missing rules for guix pull/guix install.

Change-Id: I40b5ed2c458b275804bc073fb72286947ecb0283
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-15 21:53:17 +01:00
Cayetano Santos
1850ff7a3f gnu: abc: Update to 0.0-8.ee04349.
* gnu/packages/electronics.scm (abc): Update to 0.0-8.ee04349.

Change-Id: Icbd4c181801d393710acc76fe4a06366a8cf825a
2025-12-15 12:05:03 +01:00
Cayetano Santos
5962a29311 gnu: python-cocotb-bus: Update to 0.3.0.
* gnu/packages/electronics.scm (python-cocotb-bus): Update to 0.3.0.
[propagated-inputs]: Remove python-packaging.

Change-Id: I5dbc4624843c008813fc9f2bbaefaba01b22ffa3
2025-12-15 11:53:36 +01:00
Sören Tempel
2a12c1a487 gnu: wlroots-0.15: Fix build with GCC 15.
* gnu/packages/wm.scm (wlroots-0.15)[arguments]: Change CFLAGS
to disable new GCC 15 warnings.

Change-Id: I7c27892097e0bb4f0a8e116dc2485c23b9a4aac2
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-15 11:05:57 +01:00
Roman Scherer
70f73592d3 gnu: go-1.21: Disable failing tests on arm architectures.
* gnu/packages/golang.scm (go-1.21)[arguments]<#:phases>{patch-source}:
Add phase disabling tests on arm architectures.

Change-Id: I6b07de4d6eee755502f02d6961f1a51066003721
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-15 10:59:10 +01:00
Brendan Tildesley
1d81d04d2b gnu: qtbase@6: Don't install test junk.
* gnu/packages/qt.scm (qtbase)[arguments]: Replace ineffective
delete-installed-tests phase with dont-install-tests phase.

Fixes: guix/guix#4529
Change-Id: I2ddd27e34a314e7a04de571d0bc1b13f75af66f4
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-15 10:13:59 +01:00
kestrel
4a2ea8fab6 gnu: qtwebengine: Fix GPU rendering with mesa-25.2.0.
* gnu/packages/qt.scm (qtwebengine)[source]: Add patch.
* gnu/packages/patches/qtwebengine-revert-egl.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Fixes: guix/guix#3222
Change-Id: Id0cb3d956d3faf30f737fa2a689cd936270c2413
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-15 10:13:50 +01:00
Efraim Flashner
1e87499a77 gnu: qtwebengine: Update to 6.9.3.
* gnu/packages/qt.scm (qtwebengine): Update to 6.9.3.
[source]: Remove patch.
* gnu/packages/patches/qtwebengine-fix-dependencies.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.

Co-authored-by: kestrelwx <kestrel.w@proton.me>
Change-Id: I08a3915f0896b74ce493afcc1746d950a1444a03
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2025-12-15 10:13:36 +01:00
Efraim Flashner
4a2281923a gnu: qtbase: Always find libvulkan.
Fixes: guix/guix#3330

* gnu/packages/qt.scm (qtbase)[source]: Add patch.
[arguments]: Adjust a phase to substitute the location for libvulkan.so.
* gnu/packages/patches/qtbase-patch-libvulkan.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Co-authored-by: kestrelwx <kestrel.w@proton.me>
Change-Id: I39f1be5a30c5c17a4e4ea6c853b475f20ba8272c
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-15 10:13:25 +01:00
Matthew Elwin
4a1ba85b97 gnu: python-orocos-kinematics-dynamics: Fix build.
* gnu/packages/engineering.scm (python-orocos-kinematics-dynamics)[source]:
Remove snippet.
[arguments]: Add ’fix #:phase.

Change-Id: Ia5e8e2826ea74fd968d7246ec85e0195d7663a1f
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
Modified-by: Cayetano Santos <csantosb@inventati.org>
2025-12-15 09:59:37 +01:00
Grigory Shepelev
61b8f6fd58 gnu: Add emacs-yaml-pro.
* gnu/packages/emacs-xyz.scm (emacs-yaml-pro): New variable.

Change-Id: Ieeb35123de78870a8348a8e1960c5703d5972f73
2025-12-14 12:18:31 -08:00
bdunahu
6e612616f0 gnu: radare2: Update to 6.0.7 [security fixes].
Includes fixes for CVE-2025-1744, CVE-2025-1864, CVE-2025-60358, CVE-2025-60359, CVE-2025-60360, CVE-2025-60361, CVE-2025-63744, CVE-2025-63745, CVE-2024-26475, CVE-2024-11858, CVE-2023-0302, CVE-2023-1605, CVE-2023-4322, CVE-2023-5686, CVE-2023-46569, CVE-2023-46570, CVE-2023-47016, CVE-2022-0173, CVE-2022-0419, CVE-2022-0139, CVE-2022-0518, CVE-2022-0519, CVE-2022-0520, CVE-2022-0521, CVE-2022-0522, CVE-2022-0523, CVE-2022-0559, CVE-2022-0676, CVE-2022-0712, CVE-2022-0713, CVE-2022-0476, CVE-2022-0695, CVE-2022-0849, CVE-2022-1031, CVE-2022-1061, CVE-2022-1052, CVE-2022-1207, CVE-2022-1244, CVE-2022-1237, CVE-2022-1238, CVE-2022-1240, CVE-2022-1283, CVE-2022-1284, CVE-2022-1296, CVE-2022-1297, CVE-2022-1382, CVE-2022-1383, CVE-2022-1437, CVE-2022-1444, CVE-2022-1451, CVE-2022-1452, CVE-2022-1649, CVE-2022-1714, CVE-2022-1809, CVE-2022-1899, CVE-2022-4398, CVE-2022-4843.

* gnu/packages/engineering.scm (radare2): Update to 6.0.7.
[build-system]: Switch to meson-build-system.
[arguments]: <#:tests>: enable tests; <#:phases>: remove 'mklibdir, add 'fix-relative-include, add 'skip-tests.
[inputs]: Add gmp, libzip, lz4, quickjs-ng, sdb, zlib; remove zip.
[native-inputs]: Add node, perl, python-minimal-wrapper.
* gnu/packages/patches/radare2-fix-meson-build-to-use-sys-qjs.patch: New file.
* gnu/packages/patches/radare2-fix-meson-build-to-use-sys-sdb.patch: New file.
* gnu/local.mk: (dist_patch_DATA): Register new patch files.

Change-Id: I646f67279d238c3d447b3dca97d78b5768989a14
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-14 17:29:05 +01:00
bdunahu
7d7b8b6f68 gnu: Add sdb.
* gnu/packages/databases.scm (sdb): New variable.

Change-Id: I199de01ffb467a3f64b48d5ae42dc5fc18cab3df
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-14 17:28:08 +01:00
Hartmut Goebel
c13b02491f gnu: aqbanking: Update to 6.8.2 and change source to git.
* gnu/packages/gnucash.scm: (aqbanking): Update to 6.8.2.
[source]: Change to git-fetch.
[arguments]: Change to gexp.
[phases]: New phases make-cvs, build-types.
[native-inputs]: Sort and add autoconf, automake, libtool.

Change-Id: I45aa743dc4918c77122510b0c89df757f073f7c7
2025-12-14 12:51:35 +01:00
Hartmut Goebel
33e0ce57b4 gnu: gwenhywfar: Update to 5.14.1 and change source to git.
* gnu/packages/gnucash.scm: (gwenhywfar): Update to 5.14.1.
[source]: Change to git-fetch.
[arguments]: Change to gexp.
[phases]: New phase make-cvs.
[native-inputs]: Add autoconf, automake, gettext-minimal, libtool.

Change-Id: I7325675cf2a81deb302423d9ecbd97d9d56b5a28
2025-12-14 12:51:35 +01:00
Cayetano Santos
0c56ccc9a9 gnu: tomb: Update to 2.13.
* gnu/packages/crypto.scm (tomb): Update to 2.13.

Change-Id: I85ea762361f8c03fb2f63a0413c03bda00fa9a8f
2025-12-14 12:48:50 +01:00
Liliana Marie Prikler
0cd42af4f9 gnu: wpewebkit: Update to 2.50.3.
* gnu/packages/webkit.scm (wpewebkit): Update to 2.50.3.

Merges: guix/guix#4767
2025-12-14 12:34:59 +01:00
Liliana Marie Prikler
cdd2690b02 gnu: webkitgtk: Graft to 2.50.3 [security fixes].
* gnu/packages/webkit.scm (webkitgtk/fixed): New variable.
(webkitgtk)[replacement]: Use it here.
(webkitgtk-for-gtk3): Use package/inherit.
2025-12-14 12:34:19 +01:00
Anderson Torres
a1ab5b87f1 gnu: Add emacs-load-dir.
* gnu/packages/emacs-xyz.scm (emacs-load-dir): New variable.

Change-Id: If923f98480fc119220a45662ff022416830bb980
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Merges: guix/guix#4691
2025-12-14 12:33:56 +01:00
Ghislain Vaillant
8023f009f2 gnu: Add klevernotes.
* gnu/packages/kde-office.scm (klevernotes): New variable.

Change-Id: Idcfe5ef2fa15ec972f7488a77331f94010593836
2025-12-14 12:17:47 +05:30
jgart
f9548eef30 gnu: Add sxmobar.
* gnu/packages/hare-apps.scm (sxmobar): New variable.

Change-Id: I55f46c5f1ee875f5fc8025df0859715696842b20
2025-12-14 00:25:10 -06:00
jgart
7bb3ec9632 gnu: trealla: Update to 2.87.0.
* gnu/packages/prolog.scm (trealla): Update to 2.87.0.

Change-Id: I37f74e99f6291bbe72dbf7cea84f4bc43326a37f
2025-12-13 23:19:18 -06:00
jgart
6def6eae95 gnu: Add bonsai.
* gnu/packages/hare-apps.scm (bonsai): New variable.

Change-Id: I4489911b111c48aeb9b084e685aaafa8adfd98e4
Signed-off-by: jgart <jgart@dismail.de>
2025-12-13 22:57:49 -06:00
jgart
d68d535327 gnu: Add hare-ev.
* gnu/packages/hare-xyz.scm (hare-ev): New variable.

Change-Id: I06bd80eed0c169af7b1a25a3e22c289386419697
Signed-off-by: jgart <jgart@dismail.de>
2025-12-13 22:21:42 -06:00
Danny Milosavljevic
f1ad9b5b82 gnu: swift-llvm: Enable assertions.
* gnu/packages/llvm.scm (swift-llvm)[arguments]{configure-flags}: Enable assertions.

Closes: guix/guix#4015
Change-Id: I836898c21f4952e61886f237cba06d095b92402c
2025-12-14 00:12:51 +01:00
Anderson Torres
4e067ef98d gnu: Add acr.
* gnu/packages/build-tools.scm (acr): New variable.

Change-Id: Ief39219971cb4fed738d8872e2a9500b7e711201
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4484
2025-12-13 23:14:28 +01:00
Anderson Torres
ea1c939464 gnu: wdiff: Use gexps.
* gnu/packages/patchutils.scm(wdiff)[arguments]: Use gexps.

Change-Id: Ife2c051c209948afafe67854a315bdfa1a604f52
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4774
2025-12-13 23:14:28 +01:00
Anderson Torres
805dd1764e gnu: wdiff: Migrate from (gnu packages wdiff) to (gnu packages patchutils).
wdiff is a single leaf package; there is few to no reason to keep it isolated
in a single file.
Given that patchutils.scm has similar packages, e.g. @code{vbindiff}, it is a
good choice to receive wdiff.

* gnu/local.mk: Remove reference to wdiff.scm.
* gnu/packages/wdiff.scm: Delete file.
(wdiff): Move from here ...
* gnu/packages/patchutils.scm: ... to here.
Update copyright commentaries.
Add module (gnu packages texinfo).
* po/packages/POTFILES.in: Remove reference to wdiff.scm.

Change-Id: Ife2c051c209948afafe67854a315bdfa1a604f52
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-13 23:14:28 +01:00
Anderson Torres
0a86d834fa gnu: patchutils.scm: Mild cleanup.
* gnu/packages/patchutils.scm: Mild cleanup.
Order #:use-module directives ascii-betically.
Prefix all license entries with license:.

Change-Id: Ib01d69f1f131a4a7a541a75b5dcd1a607a5e1dab
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-13 23:14:28 +01:00
Hugo Buddelmeijer
3bebde3481 doc: Warn that extra-special-file files persist.
* doc/guix.tex (Base Services)[extra-special-file]: Add warning regarding
special files persisting after extra-special-file call is removed from the
system config.

Change-Id: I29cb3a31ee45894293d9becf3c0ebe93ea7f0da4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #2810
2025-12-13 23:14:28 +01:00
Ale Abdo
38a5dd01dd gnu: Add font-peppercarrot.
* gnu/packages/fonts.scm (font-peppercarrot): New variable.

Change-Id: Ic1ae736b392b4862445cb4630279dc818d4bab99
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4506
2025-12-13 23:14:27 +01:00
Ale Abdo
5054c24ed6 guix: Add license silofl1.0.
* guix/licenses.scm: Adds 'silofl1.0' and updates url in `silofl1.1`.

Change-Id: Ie47d0b5f2bc000c09ad409092ca8c6a69e1190cb
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-13 23:14:27 +01:00
Ludovic Courtès
2b3782eb6e gnu: guile: Add 3.0.11.
* gnu/packages/guile.scm (guile-3.0.11): New variable.
(guile-3.0-latest): Add comment.

Change-Id: Id8ec934bb504750a5cefb5d417eab84175c47d01
Merges: #4747
2025-12-13 23:14:27 +01:00
Ludovic Courtès
812fc780d4 tests: Use ‘https’ for ‘home-page’ in ‘guix import pypi’ tests.
Fixes a regression introduced in d66e9698a1.

* tests/import/pypi.scm ("pypi->guix-package, no wheel")
("pypi->guix-package, no wheel, no requires.txt, but pyproject.toml")
("pypi->guix-package, no wheel, but requires.txt and pyproject.toml")
("pypi->guix-package, no requires.txt, but wheel.")
("pypi->guix-package, no usable requirement file, no wheel.")
("pypi->guix-package, package name contains \"-\" followed by digits"): Change
‘home-page’ to ‘https://’.

Fixes: guix/guix#4646
Reported-by: Rutherther <rutherther@ditigal.xyz>
Change-Id: Id3ddac832d9688f2eb8a055c13f62a9642a20766
2025-12-13 23:14:27 +01:00
Anderson Torres
f82549d9f6 etc: Translate news to Portuguese.
* etc/news.scm: Translate to Portuguese.

Change-Id: Ieb467278d92d46dc1dde339dec03677d77b2a421
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2025-12-13 14:35:27 +01:00
Rutherther
e3c33d9ab4 image: esp32-partition/grub: Pass root to initialize-efi32-partition.
Follow up of: ca0ed91b40 where the root argument has been omitted.
This leads to an error, because initialize-efi32-partition expects
`root` as first argument, while `#:grub-efi32` was given.
Fixes: #4634.

* gnu/system/image.scm (esp32-partition/grub): Pass 'root' as first argument
to initialize-efi32-partition.

Change-Id: Ia839f40444304c229aef33e996c66c8209e42dda
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-13 14:26:52 +01:00
Rutherther
6935e6c51d services: postgres: Return #f on stop.
Shepherd expects #f to know the service has stopped.

* gnu/services/databases.scm (postgresql-shepherd-service): Return #f
on stop.

Change-Id: Ie5c45efc7eef75c325ddfd0ef197b306c7b60e5b
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2025-12-13 14:02:08 +01:00
Hugo Buddelmeijer
224abdac10 gnu: python-django-4: Update to 4.2.27 [security fixes].
This fixes CVE-2025-64460.

* gnu/packages/django.scm (python-django-4): Update to 4.2.27.

Change-Id: I299d8c2455e5d18298c295d5ae6ea3b912847ec2
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-13 11:03:20 +01:00
bdunahu
e4cc300ea0 gnu: mupen64plus-ui-console: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-ui-console): Update to 2.6.0.

Change-Id: I2d731d533c554784227e728ea388e4de96c1071d
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:58:03 +01:00
bdunahu
21a9802a71 gnu: mupen64plus-video-z64: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-video-z64): Update to 2.6.0.

Change-Id: I1cb0ea5661fafdfd44da0adb246c8353890bfff0
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:58:02 +01:00
bdunahu
d2b987b81e gnu: mupen64plus-video-rice: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-video-rice): Update to 2.6.0.

Change-Id: Id57a1b8a34c0d1292ada6e8c70777dbec9df1099
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:58:02 +01:00
bdunahu
0c474d32e7 gnu: mupen64plus-video-glide64mk2: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-video-glide64mk2): Update to 2.6.0.

Change-Id: Iec8834f17227d485553f609f7f4b2d924c58bf1d
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:58:02 +01:00
bdunahu
64a3cdaff4 gnu: mupen64plus-video-glide64: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-video-glide64): Update to 2.6.0.

Change-Id: I2a9a7358465b6ce3f96845e7462757c6289a0acd
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:58:02 +01:00
bdunahu
27a224f340 gnu: mupen64plus-video-arachnoid: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-video-arachnoid): Update to 2.6.0.

Change-Id: I4a72cbba52d65dba01c6127b92f18999cb548c57
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:58:02 +01:00
bdunahu
f01eea2a37 gnu: mupen64plus-rsp-z64: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-rsp-z64): Update to 2.6.0.

Change-Id: Ib0effee004a5d22d4b85c925f9e5befd6a154ca6
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:58:01 +01:00
bdunahu
0e8064d64d gnu: mupen64plus-rsp-hle: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-rsp-hle): Update to 2.6.0.

Change-Id: I44e2c00a40f2935c2838da8e31406a26868488e4
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:58:01 +01:00
bdunahu
53cf71560f gnu: mupen64plus-input-sdl: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-input-sdl): Update to 2.6.0.

Change-Id: Iea5c55bbf7629298669e8355b234d220033eacbd
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:58:01 +01:00
bdunahu
3d8d9624ec gnu: mupen64plus-audio-sdl: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-audio-sdl): Update to 2.6.0.

Change-Id: Ibad6fa88287d3b62120823780671227af2c3f8de
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:58:01 +01:00
bdunahu
7ce90c2cce gnu: mupen64plus-core: Update to 2.6.0.
* gnu/packages/emulators.scm (mupen64plus-core): Update to 2.6.0.
[inputs]: Add vulkan-loader.

Change-Id: Ief3c7b381269532999dffb128080fcaf3f1f2b06
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-12-13 09:57:59 +01:00
Junker
e0d9777140 gnu: Add ctune.
* gnu/packages/music.scm (ctune): New variable.
* gnu/packages/patches/ctune-cmake-disable-git-clone.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register new patch.

Change-Id: I3faf63279b958757d20e0fd2cae6f1e06d08818c
Signed-off-by: Sughosha <sughosha@disroot.org>
2025-12-13 09:12:30 +05:30
jgart
457a773e6f gnu: trealla: Update to 2.86.12.
* gnu/packages/prolog.scm (trealla): Update to 2.86.12.

Change-Id: I0d79781471fca725c745aef3a91fbb7cf0af70c5
2025-12-12 09:23:08 -06:00
Florian Pelz
43000584aa news: Add 'de' translation.
* etc/news.scm: Add German translation of linux-libre 5.4 removal entry.

Change-Id: I541dd12cc2364d36fb77ef3fc11442760b9d191c
2025-12-12 16:11:32 +01:00
Cayetano Santos
ba5170d715 gnu: vhdl-ls: Update to 0.86.0.
* gnu/packages/rust-apps.scm (vhdl-ls): Update to 0.86.0.
[arguments]: Use #:rust 1.87 and set #:cargo-test-flags.
* gnu/packages/rust-crates.scm (rust-winnow-0.7.14): New variable.
* gnu/packages/rust-crates.scm (rust-syn-2.0.111): New variable.
* gnu/packages/rust-crates.scm (rust-lsp-server-0.7.9): New variable.
* gnu/packages/rust-crates.scm (rust-jiff-static-0.2.16): New variable.
* gnu/packages/rust-crates.scm (rust-jiff-0.2.16): New variable.
* gnu/packages/rust-crates.scm (rust-indexmap-2.12.1): New variable.
* gnu/packages/rust-crates.scm (rust-hashbrown-0.16.1): New variable.
* gnu/packages/rust-crates.scm (rust-dactyl-0.12.0): New variable.
* gnu/packages/rust-crates.scm (rust-clap-builder-4.5.53): New variable.
* gnu/packages/rust-crates.scm (rust-clap-4.5.53): New variable.
* gnu/packages/rust-crates.scm (rust-brunch-0.10.4): New variable.
* gnu/packages/rust-crates.scm (rust-assert-cmd-2.1.1): New variable.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update.

Change-Id: I70593ec54fcff6d2f010a5e3f2536102d2f604d8
2025-12-12 12:15:20 +01:00
Hugo Buddelmeijer
2e2294ff26 gnu: python-autograd-gamma: Fix build.
* gnu/packages/machine-learning.scm (python-autograd-gamma): Fix build.
[source]: Switch to git-fetch to have tests.
[native-inputs]: Remove python-wheel; add python-pytest.

Change-Id: Ibb034a65f212917620bb1080f20e6ddc2347c65e
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-12 11:58:36 +01:00
Cayetano Santos
75016a2ee8 gnu: python-lifelines: Compute parallel tests.
* gnu/packages/statistics.scm (python-lifelines)[native-inputs]: Add
python-pytest-xdist.
[arguments]: Add --numprocesses flag to #:test-flags, and remove very
slow tests.

Change-Id: Ib2ecc8bec37d9a7f95f992d8af160283b5abe881
2025-12-12 11:55:01 +01:00
Leo Famulari
243bc42768 news: Announce the end of support for linux-libre 5.4.
* etc/news.scm: Add entry.

Change-Id: I9f8122bb46c5e7d2c369d86d4e8f4888c5b5bcd9
2025-12-11 17:02:42 -05:00
Leo Famulari
d3b79beaa8 gnu: linux-libre 5.4: Update to 5.4.302.
* gnu/packages/linux.scm (linux-libre-5.4-version): Update to 5.4.302.
(linux-libre-5.4-pristine-source): Update hash.

Change-Id: I49194e64f57fb4747ca00a36413a7e7acf41c8c3
2025-12-11 16:39:35 -05:00
Leo Famulari
1c5314a391 gnu: linux-libre 5.10: Update to 5.10.247.
* gnu/packages/linux.scm (linux-libre-5.10-version): Update to 5.10.247.
(linux-libre-5.10-pristine-source): Update hash.

Change-Id: If0e5b3f44ba08dd25485538372090eb7febe77df
2025-12-11 16:39:34 -05:00
Leo Famulari
d7e98c1ce6 gnu: linux-libre 5.15: Update to 5.15.197.
* gnu/packages/linux.scm (linux-libre-5.15-version): Update to 5.15.197.
(linux-libre-5.15-pristine-source, deblob-scripts-5.15): Update hashes.

Change-Id: Ie541e9481554076eca04f6e9f06fa896048b0fc0
2025-12-11 16:39:34 -05:00
Leo Famulari
f392ac3983 gnu: linux-libre 6.1: Update to 6.1.159.
* gnu/packages/linux.scm (linux-libre-6.1-version): Update to 6.1.159.
(linux-libre-6.1-pristine-source, deblob-scripts-6.1): Update hashes.

Change-Id: I022354f52ba32917568dd1ffcf0f4e7e16b61693
2025-12-11 16:39:34 -05:00
Leo Famulari
a223070138 gnu: linux-libre 6.6: Update to 6.6.119.
* gnu/packages/linux.scm (linux-libre-6.6-version): Update to 6.6.119.
(linux-libre-6.6-pristine-source, deblob-scripts-6.6): Update hashes.

Change-Id: I6c0b0192bec6193fc9e01d776b3ea24517cab709
2025-12-11 16:39:34 -05:00
Leo Famulari
27a8a8888b gnu: linux-libre 6.12: Update to 6.12.61.
* gnu/packages/linux.scm (linux-libre-6.12-version): Update to 6.12.61.
(linux-libre-6.12-pristine-source, deblob-scripts-6.12): Update hashes.

Change-Id: Ic67d16b331c826e96558dd836ae27d3b2fbe0510
2025-12-11 16:39:33 -05:00
Leo Famulari
530c6f2668 gnu: linux-libre: Update to 6.17.11.
* gnu/packages/linux.scm (linux-libre-6.17-version): Update to 6.17.11.
(linux-libre-6.17-pristine-source): Update hash.

Change-Id: I8cc0758200f838bb7ee32660197762d2b9349e23
2025-12-11 16:39:22 -05:00
Mark H Weaver
366e125e34 gnu: icecat: Update to 140.6.0-gnu1 [security fixes].
Includes fixes for CVE-2025-14321, CVE-2025-14322, CVE-2025-14323,
CVE-2025-14324, CVE-2025-14325, CVE-2025-14328, CVE-2025-14329,
CVE-2025-14330, CVE-2025-14331, and CVE-2025-14333.

* gnu/packages/gnuzilla.scm (%icecat-base-version, %icecat-build-id): Update.
(icecat-source): Update 'gnuzilla-commit' and hashes.
2025-12-11 15:33:41 -05:00
Sergey Trofimov
1f3c679795 gnu: tinyxml2: Build position independent.
* gnu/packages/xml.scm (tinyxml2)[arguments]{#:configure-flags}:
Add CMAKE_POSITION_INDEPENDENT_CODE.

Change-Id: I0e41895edc617225ed998d15d050e2306bf7bef5
Signed-off-by: Greg Hogan <code@greghogan.com>
2025-12-11 19:26:25 +00:00
Hugo Buddelmeijer
0bd6326d91 gnu: python-jose: Update to 3.5.0 [security fixes].
This update includes fix for CVE-2024-33663 and CVE-2024-33664.

* gnu/packages/python-web.scm (python-jose): Update to 3.5.0.
[arguments]<#:test-flags>: Re-enable all tests.
[propagated-inputs]: Remove python-six.
[native-inputs]: Remove python-pytest-cov, python-pytest-runner, python-wheel.

Change-Id: I22867a51d333467ffb5e64512a3257f92fc540ee
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-11 20:03:40 +01:00
Isidor Zeuner
ad94bc31ca gnu: Add python-quantlaw.
* gnu/packages/python-xyz.scm (python-quantlaw): New variable.

Change-Id: I22d57cb02ae805559e26eb345ff140ae420da7ad
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2025-12-11 19:56:25 +01:00
Ashish SHUKLA
99af411456 gnu: copyq: Update to 13.0.0.
* gnu/packages/xdisorg.scm (copyq): Update to 13.0.0.
[inputs]: Add kguiaddons, libxtst.

Change-Id: Iea1d53b3e1b09225b91a124192d6727e159835f5
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4674
2025-12-11 16:03:10 +01:00
Ahmad Draidi
48c73c6275 gnu: bcachefs-linux-module: Update to 1.33.0.
* gnu/packages/file-systems.scm (bcachefs-linux-module): Update to 1.33.0.

Change-Id: Idf01cf4c4bba7e30314c0fb9d9da698a3d2e767d
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4693
2025-12-11 16:02:11 +01:00
Hugo Buddelmeijer
dc6f47a44b gnu: python-ldap: Update to 3.4.5 and fix CVE-2025-61911, CVE-2025-61912.
* gnu/packages/openldap.scm (python-ldap): Update to 3.4.5.
[source]: Switch to git-fetch.
[build-system]: Switch to pyproject-build-system.
[arguments]<#:phases>: Use gexps.
[native-inputs]: Add python-pytest and python-setuptools.

Change-Id: Ib4ec662293d44c4be29fd67adbd592902f7c9e12
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4699
2025-12-11 16:01:17 +01:00
Sören Tempel
32e0002303 gnu: rlwrap: Update to 0.48.
* gnu/packages/readline.scm (rlwrap): Update to 0.48.
[inputs]: Add libptytty.
* gnu/packages/patches/rlwrap-no-rbgen.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Change-Id: Id7138bd4b4485bd4438b9140b2896b4093630c42
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4703
2025-12-11 15:59:38 +01:00
Ludovic Courtès
7203e3c522 gnu: ucx: Update to 1.19.0.
* gnu/packages/fabric-management.scm (ucx): Update to 1.19.0.
* gnu/packages/patches/ucx-tcp-iface-ioctl.patch: Update.

Change-Id: I40dafb5173048804cb2368d0c45e71d1ed014482
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4675
2025-12-11 15:55:24 +01:00
Ludovic Courtès
710d198457 gnu: prrte: Update to 4.0.0.
* gnu/packages/parallel.scm (prrte): Update to 4.0.0.

Change-Id: I5a7679680a8313464115b1c4aaac89305c2fe1f7
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-11 15:55:24 +01:00
Ludovic Courtès
8cdef4cab6 gnu: libfabric: Update to 2.3.1.
* gnu/packages/linux.scm (libfabric): Update to 2.3.1.

Change-Id: I095e666c2142c7552a649893da5875db7c05d186
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-11 15:55:23 +01:00
Ludovic Courtès
e626941500 gnu: rdma-core: Update to 60.0.
* gnu/packages/linux.scm (rdma-core): Update to 60.0.

Change-Id: Iaddc0f820e23893f3420f147f01ec209dc7e98c9
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-11 15:55:23 +01:00
Ludovic Courtès
d6d1554fe7 gnu: openmpi-5: Update to 5.0.9.
* gnu/packages/mpi.scm (openmpi-5): Update to 5.0.9.

Change-Id: If10ce47b8f09cf24cca617bf4556c1587cbde8b1
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-11 15:55:23 +01:00
Ludovic Courtès
f9fddcc784 gnu: libcxi: Update to 13.0.0.
* gnu/packages/linux.scm (libcxi): Update to 13.0.0.

Change-Id: I5361eec952acce59b2a156b719e8af3aeb435846
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-11 15:55:23 +01:00
Ludovic Courtès
04dce5dab6 gnu: cxi-driver: Update to 13.0.0.
* gnu/packages/linux.scm (cxi-driver): Update to 13.0.0.
(cxi-driver-for-libfabric-1): New variable.
(libfabric-1)[inputs]: New field.

Change-Id: Ib0d9da9fc5d04675a4a408340ae338a839b8ebbb
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-11 15:55:23 +01:00
Ludovic Courtès
11425c84e4 gnu: cassini-headers: Update to 12.0.1.
* gnu/packages/linux.scm (cassini-headers): Update to 12.0.1.

Change-Id: I3f03e15552661768fc21c4d75709aa283f26ed8c
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-12-11 15:55:23 +01:00
Giacomo Leidi
fdb46ae7b1 system: Relax subordinate ID validation.
https://codeberg.org/guix/guix/issues/3925 raised the inabilityy of the
subordinate IDs service of handling externally managed sub{u,g}id file
entries. This patch relaxes the checks in place for existing ranges,
by allowing subid-range records lower than %subordinate-id-min, leaving
all the space from subid 0 to %subordinate-id-min - 1 to external
users. Generic ranges are still allocated within %subordinate-id-min and
%subordinate-id-max.

* gnu/build/accounts.scm (<unused-id-range>)[min]: Change default value
to 0, allowing subid-ranges with a start lesser than
%subordinate-id-min.
(allocate-generic-range): Allocate generic ranges starting from
%subordinate-id-min, leaving ranges starting before %subordinate-id-min.
(allocate-specific-range): Move bounds check to...
(allocate-subids): ...here. Now bound validation is applied only to user
provided ranges.
* tests/accounts.scm: Test new behavior.

Fixes: guix/guix#3925
Change-Id: Id923b122c97a20f148684f5fb144fd9422810612
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4235
2025-12-11 15:43:16 +01:00
Owen T. Heisler
94b26ff284 services: oci: Fix oci-image value field handling.
* gnu/services/containers.scm (lower-oci-image-state, oci-lowerable-image?):
Remove support for gexps and correctly lower file-like objects.
* doc/guix.texi: Remove gexp from oci-image value field description.

Fixes: guix/guix#3818
Change-Id: Ib812d65b32dd68f8572fcb371ab4521d22e5336c
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #3819
2025-12-11 15:31:09 +01:00
Florian Pelz
24d0c0a951 nls: Update translations.
Change-Id: I59f8d263668d36faa84bad8a355baa964332ac6a
2025-12-11 01:58:47 +01:00
Cayetano Santos
ec95989255 gnu: emacs-realgud: Update to 1.5.1-0.56a8d82.
* gnu/packages/emacs-xyz.scm (emacs-realgud): Update to 1.5.1-0.56a8d82.
[arguments]: Add ’delete-cask-install and complete
’patch-more-el-files #:phases.
[native-inputs]: Add python-minimal-wrapper, perl, and ruby.

Change-Id: I9b79bc4558e4090e8f526994e91cb023fe2f5930
2025-12-10 19:30:54 +01:00
Cayetano Santos
1242d59e81 gnu: emacs-explain-pause-mode: Remove.
See deprecation note on upstream README.md.

* gnu/packages/emacs-xyz.scm (emacs-explain-pause-mode): Delete variable.

Change-Id: Icda81347c638b534a8bea299a6d188912ad2cb5d
2025-12-10 19:30:54 +01:00
Cayetano Santos
869de1fc16 gnu: emacs-test-simple: Fix build.
* gnu/packages/emacs-xyz.scm (emacs-test-simple)[source]: Switch to
git-fetch.
[arguments]: Add ’check #:phase.

Change-Id: I06314e490b655c4f6637a13ae1692d0bd306c1c5
2025-12-10 19:30:54 +01:00
Cayetano Santos
f4a9869bbc gnu: book-emacs-lisp-elements: Update to 2.0.0.
* gnu/packages/books.scm (book-emacs-lisp-elements): Update to 2.0.0.

Change-Id: I2b2acd0704d63a980481a94e46b5e768eba46d71
2025-12-10 19:19:35 +01:00
Anderson Torres
8b304ac633 etc: Translate news to Portuguese.
* etc/news.scm: Translate to Portuguese.

Change-Id: I2cb34804a2a89db59ddcd42b393915b358b18f33
Signed-off-by: Julien Lepiller <julien@lepiller.eu>
2025-12-10 18:20:20 +01:00
Noé Lopez
21f0be1aa3 etc: manifests: Add important packages manifest for release.
For now, the packages are from the online form sent in
<https://lists.gnu.org/archive/html/guix-devel/2025-10/msg00091.html>.

Going forwards, more packages can be added manually or if there are more
answers to the form.

* etc/manifests/release-user-packages.scm: New file.
* Makefile.am: Add it.

Change-Id: I2d619ab9d307a6ea216310d1c86a1dc71feb1523
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-12-10 13:01:00 +01:00
Cayetano Santos
e7671c02a4 gnu: open-logic: Update to 4.2.0.
* gnu/packages/electronics.scm (open-logic): Update to 4.2.0.

Change-Id: I4370f3289b4d1f0d2a5beb8897b04bf3f51535b0
2025-12-10 08:36:29 +01:00
Efraim Flashner
3a068fcbb3 gnu: cppcheck: Fix tests on non-x86 systems.
* gnu/packages/check.scm (cppcheck)[arguments]: Add a phase to adjust
the expected output from some tests to match the adjusted upstream
output.

Change-Id: I4953f79479a2192fa1a428b4e2988729a05be679
2025-12-09 19:46:18 +02:00
Efraim Flashner
c4d76205b6 gnu: cppcheck: Use system tinyxml2.
* gnu/packages/check.scm (cppcheck)[arguments]: Add configure-flag to
not use the bundled tinyxml2.
[inputs]: Add tinyxml2.

Change-Id: Id312cb2cdb9ffcee5234a045fb8315afae7d918b
2025-12-09 19:46:18 +02:00
Hugo Buddelmeijer
8d9372a851 gnu: tinyxml2: Update to 11.0.0.
* gnu/packages/xml.scm (tinyxml2): Update to 11.0.0.
[home-page]: Fix URL.

Change-Id: I8cd1c61c40ad766c4dac640dd71f72a1955c04d3
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-12-09 19:46:18 +02:00
Andreas Enge
2d894dcf17 gnu: Remove kfilemetadata-5.
* gnu/packages/kde-frameworks.scm (kfilemetadata-5): Delete variable.

Fixes: guix/guix#4155
Change-Id: I597ad034acd7f100659cb33ce65c50fdf39d2f4c
2025-12-09 15:55:40 +01:00
Andreas Enge
adaada46d2 gnu: Remove threadweaver-5.
* gnu/packages/kde-frameworks.scm (threadweaver-5): Delete variable.

Fixes: guix/guix#4154
Change-Id: I582253fe72de7276b8838dbca2944f6b70e0d5c5
2025-12-09 15:54:26 +01:00
Andreas Enge
48996087cb gnu: Remove ksyntaxhighlighting-5.
* gnu/packages/kde-frameworks.scm (ksyntaxhighlighting-5): Delete variable.

Fixes: guix/guix#4153
Change-Id: Ic5c6af38421a2830d767ae73fd75339323d35766
2025-12-09 15:53:41 +01:00
Andreas Enge
1994b75de1 gnu: Remove kitemmodels-5.
* gnu/packages/kde-frameworks.scm (kitemmodels-5): Delete variable.

Fixes: guix/guix#4152
Change-Id: Ia4847cb1377d47560491fd413d9338e1b76e1d29
2025-12-09 15:52:49 +01:00
Andreas Enge
c0c636db0a gnu: Remove kquickcharts-5.
* gnu/packages/kde-frameworks.scm (kquickcharts-5): Delete variable.

Fixes: guix/guix#4151
Change-Id: I1bca0a0533c942c0b44be7037f037b4257fcc2b1
2025-12-09 15:51:35 +01:00
Andreas Enge
194edf156f gnu: Remove kidletime-5.
* gnu/packages/kde-frameworks.scm (kidletime-5): Delete variable.

Fixes: guix/guix#4150
Change-Id: I615e8479339c8218dce9c7ee26748057826c3318
2025-12-09 15:50:40 +01:00
Andreas Enge
e2cf2c8c6f gnu: Remove kwayland-integration.
* gnu/packages/kde-plasma.scm (kwayland-integration): Delete variable.

Change-Id: I23dc72abb280679b60418293faf107c0f6b80545
2025-12-09 15:49:50 +01:00
Gabriel Wicki
2ddbccc761 gnu: pyspice: Remove unneeded input ngspice.
* gnu/packages/electronics.scm (pyspice) [inputs]: Remove ngspice.

Change-Id: Ibcf6c6d7e0239617163e653b72a9e2db1812a7d5
Signed-off-by: Gabriel Wicki <gabriel@erlikon.ch>
2025-12-09 10:16:30 +01:00
Laurent Gatto
f664eb4ec8 etc: Add lgatto to bioinformatics team. 2025-12-09 08:24:49 +01:00
262 changed files with 13574 additions and 5668 deletions

1
.gitignore vendored
View File

@@ -68,6 +68,7 @@
/doc/stamp-vti
/doc/version.texi
/doc/version-*.texi
/etc/apparmor.d/tunables/guix
/etc/committer.scm
/etc/gnu-store.mount
/etc/guix-daemon.cil

View File

@@ -59,6 +59,7 @@ Mathieu Othacehe <mathieu.othacehe@parrot.com>
Mathieu Othacehe <othacehe@gnu.org>
Matthew James Kraai <kraai@ftbfs.org>
Maxim Cournoyer <maxim@guixotic.coop> <maxim.cournoyer@gmail.com>
Nguyễn Gia Phong <cnx@loang.net> <mcsinyx@disroot.org>
Nikita Karetnikov <nikita@karetnikov.org> <nikita.karetnikov@gmail.com>
nikita <nikita@n0.is>
nikita <nikita@n0.is> ng0 <ng0@n0.is>

View File

@@ -129,7 +129,7 @@ guix/build/gnu-build-system\.scm @guix/core-packages
guix/build/utils\.scm @guix/core-packages
guix/build-system/gnu\.scm @guix/core-packages
gnu/packages/crypto\.scm @guix/crypto
gnu/packages/(.*-|)crypto\.scm$ @guix/crypto
gnu/packages/gnupg\.scm @guix/crypto
gnu/packages/nettle\.scm @guix/crypto
gnu/packages/password-utils\.scm @guix/crypto
@@ -194,6 +194,7 @@ guix/scripts/import/go\.scm @guix/go
tests/import/go\.scm @guix/go
gnu/packages/hare\.scm @guix/hare
gnu/packages/hare-apps\.scm @guix/hare
gnu/packages/hare-xyz\.scm @guix/hare
guix/build-system/hare\.scm @guix/hare
guix/build/hare-build-system\.scm @guix/hare

View File

@@ -746,6 +746,14 @@ dist_fishcompletion_DATA = etc/completion/fish/guix.fish
# SELinux policy
nodist_selinux_policy_DATA = etc/guix-daemon.cil
# AppArmor profiles.
nodist_apparmor_profile_DATA = \
etc/apparmor.d/guix \
etc/apparmor.d/guix-daemon
nodist_apparmor_profile_tunables_DATA = \
etc/apparmor.d/tunables/guix
EXTRA_DIST += \
.dir-locals.el \
.guix-authorizations \
@@ -781,6 +789,7 @@ EXTRA_DIST += \
etc/manifests/kernels.scm \
etc/manifests/release-minimal.scm \
etc/manifests/release-desktop.scm \
etc/manifests/release-user-packages.scm \
etc/manifests/source.scm \
etc/manifests/system-tests.scm \
etc/manifests/time-travel.scm \
@@ -1133,12 +1142,18 @@ system_flags = $(foreach system,$(1),-s $(system))
# 5. Build the installation and VM images. The images will run 'guix'
# corresponding to 'vX.Y.Z' + 1 commit, and they will install 'vX.Y.Z'.
#
# This 'release' target takes care of everything and copies the resulting
# files to $(releasedir).
# This is split into two targets, because a commit is made that has to be
# pushed to Guix.
# First, 'prepare-release' should be run, doing steps 1 and 2.
# Then, the resulting commit should be pushed so that it's available
# to be downloaded for the system images.
# Afterwards, the 'release' target takes care of the rest. This 'release'
# target takes care of everything and copies the resulting files to
# $(releasedir).
#
# XXX: Depend on 'dist' rather than 'distcheck' to work around the Gettext
# issue described at <https://savannah.gnu.org/bugs/index.php?51027>.
release: dist-with-updated-version all
prepare-release: dist-with-updated-version all
@if ! git diff-index --quiet HEAD; then \
echo "There are uncommitted changes; stopping." >&2 ; \
exit 1 ; \
@@ -1156,48 +1171,26 @@ release: dist-with-updated-version all
$(top_builddir)/pre-inst-env guix build guix \
$(call system_flags,$(SUPPORTED_SYSTEMS)) \
-v1 --no-grafts --fallback
# Generate the binary release tarballs.
rm -f $(BINARY_TARBALLS)
$(MAKE) $(BINARY_TARBALLS)
for system in $(SUPPORTED_SYSTEMS) ; do \
mv "guix-binary.$$system.tar.xz" \
"$(releasedir)/guix-binary-$(PACKAGE_VERSION).$$system.tar.xz" ; \
done
# Build 'current-guix' to speed things up for the next step.
$(top_builddir)/pre-inst-env guix build \
-e '((@ (gnu packages package-management) current-guix))' \
$(call system_flags,$(GUIX_SYSTEM_INSTALLER_SYSTEMS)) \
-v1 --no-grafts --fallback
# Generate the ISO installation images.
for system in $(GUIX_SYSTEM_INSTALLER_SYSTEMS) ; do \
GUIX_DISPLAYED_VERSION="`git describe --match=v* | sed -'es/^v//'`" ; \
image=`$(top_builddir)/pre-inst-env \
guix system image -t iso9660 \
--label="GUIX_$${system}_$(VERSION)" \
--system=$$system --fallback \
gnu/system/install.scm` ; \
if [ ! -f "$$image" ] ; then \
echo "failed to produce Guix installation image for $$system" >&2 ; \
exit 1 ; \
fi ; \
cp "$$image" "$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.tmp" ; \
mv "$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.tmp" \
"$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso" ; \
done
# Generate the VM images.
for system in $(GUIX_SYSTEM_VM_SYSTEMS) ; do \
GUIX_DISPLAYED_VERSION="`git describe --match=v* | sed -'es/^v//'`" ; \
image=`$(top_builddir)/pre-inst-env \
guix system image -t qcow2 $(GUIX_SYSTEM_VM_IMAGE_FLAGS) \
--save-provenance \
--system=$$system --fallback \
gnu/system/examples/vm-image.tmpl` ; \
if [ ! -f "$$image" ] ; then \
echo "failed to produce Guix VM image for $$system" >&2 ; \
exit 1 ; \
fi ; \
cp "$$image" "$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.qcow2"; \
done
@echo
@echo "First step done! Source tarball is ready in $(releasedir)"
@echo "Now push the resulting commit and run `make release`."
@echo
# Make sure you've ran prepare-release prior to running release and pushed
# the commit to Guix. It might be pushed to any branch, such as version-X.Y.Z.
release: all
# Build the artifacts for current commit.
# Use time-machine for provenance.
$(MKDIR_P) "$(releasedir)"
@echo "Building guix inferior for current commit."
COMMIT="$$(git rev-parse HEAD)" && \
GUIX="$$(guix time-machine --commit=$$COMMIT)/bin/guix" && \
echo "Building artifacts for current commit: $$COMMIT." && \
ARTIFACTS="$$($$GUIX build --no-grafts \
-f ./etc/teams/release/artifacts.scm)" && \
echo "Artifacts built! Copying to $(releasedir)" && \
cp -f "$$ARTIFACTS"/* "$(releasedir)"
@echo
@echo "Congratulations! All the release files are now in $(releasedir)."
@echo

View File

@@ -50,7 +50,7 @@
directory))
((_ . directory) directory))
(derivation->output-paths drv)))))
%final-inputs))
(%final-inputs system)))
(define (assert-valid-substitute substitute)
"Make sure SUBSTITUTE does not refer to any bootstrap inputs, and bail out

View File

@@ -81,6 +81,15 @@ AC_ARG_WITH([selinux-policy-dir],
[selinux_policydir='${datadir}/selinux/'])
AC_SUBST([selinux_policydir])
AC_ARG_WITH([apparmor-profile-dir],
AS_HELP_STRING([--with-apparmor-profile-dir=DIR],
[name of the AppArmor profile directory]),
[apparmor_profiledir="$withval"],
[apparmor_profiledir='${sysconfdir}/apparmor.d'])
AC_SUBST([apparmor_profiledir])
apparmor_profile_tunablesdir='${apparmor_profiledir}/tunables'
AC_SUBST([apparmor_profile_tunablesdir])
dnl Better be verbose.
AC_MSG_CHECKING([for the store directory])
AC_MSG_RESULT([$storedir])
@@ -308,6 +317,7 @@ AC_CONFIG_FILES([Makefile
po/guix/Makefile.in
po/packages/Makefile.in
etc/guix-daemon.cil
etc/apparmor.d/tunables/guix
guix/config.scm])
AC_CONFIG_FILES([etc/committer.scm], [chmod +x etc/committer.scm])

View File

@@ -134,7 +134,11 @@ C++11 standard.
@section Building from Git
If you want to hack Guix itself, it is recommended to use the latest
version from the Git repository:
version from the Git repository@footnote{
Guix uses @code{master} as the default branch name. A proposal in 2025 to
change the default branch name to @code{main} did not reach consensus.
See @uref{https://codeberg.org/guix/guix-consensus-documents/src/branch/main/003-rename-default-branch.md,
Guix Consensus Document 003}.}:
@example
git clone https://git.guix.gnu.org/guix.git

View File

@@ -146,6 +146,7 @@ Copyright @copyright{} 2025 Artur Wroblewski@*
Copyright @copyright{} 2025 Edouard Klein@*
Copyright @copyright{} 2025 Rodion Goritskov@*
Copyright @copyright{} 2025 dan@*
Copyright @copyright{} 2025 Noé Lopez@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -769,34 +770,25 @@ This section only applies to systems without Guix. Following it for
existing Guix installations will overwrite important system files.
@end quotation
Some GNU/Linux distributions, such as Debian, Ubuntu, and openSUSE
provide Guix through their own package managers. The version of Guix
may be older than @value{VERSION} but you can update it afterwards by
running @samp{guix pull}.
Some GNU/Linux distributions, such as openSUSE, Alpine and NixOS provide
Guix through their own package managers. The version of Guix may be
older than @value{VERSION} but you can update it afterwards by running
@samp{guix pull}.
We advise system administrators who install Guix, both from the
installation script or @i{via} the native package manager of their
foreign distribution, to also regularly read and follow security
notices, as shown by @command{guix pull}.
For Debian or derivatives such as Ubuntu or Trisquel, call:
@example
sudo apt install guix
@end example
Likewise, on openSUSE:
@example
sudo zypper install guix
@end example
If you are running Parabola, after enabling the pcr (Parabola
Community Repo) repository, you can install Guix with:
@example
sudo pacman -S guix
@end example
For other package managers with a @var{guix} package, you should be able
to install it like any other package.
The Guix project also provides a shell script, @file{guix-install.sh},
which automates the binary installation process without use of a foreign
distro package
@@ -928,6 +920,7 @@ pre-built binaries.
* Build Environment Setup:: Preparing the isolated build environment.
* Daemon Offload Setup:: Offloading builds to remote machines.
* SELinux Support:: Using an SELinux policy for the daemon.
* AppArmor Support:: Using an AppArmor profile for the daemon.
@end menu
@node Build Environment Setup
@@ -1037,6 +1030,12 @@ When using this option, you only need to create one user account, and
--system guix-daemon
@end example
@quotation Warning
If the @command{nologin} binary is not found by @command{which nologin},
you may need to specify its path manually. This will usually be
@file{/sbin/nologin} or @file{/usr/sbin/nologin}.
@end quotation
In this configuration, @file{/gnu/store} is owned by the
@code{guix-daemon} user.
@@ -1100,6 +1099,8 @@ systemctl daemon-reload
systemctl start guix-daemon
@end example
If your system has AppArmor enabled, @pxref{AppArmor Support}.
@quotation Warning
The commands above assume that @command{guix pull} was run for the root
user. You can check whether this is the case by running this command:
@@ -1529,6 +1530,43 @@ installation time whenever the Guix package that provides the
effectively running @code{guix-daemon} executable is upgraded.
@end enumerate
@node AppArmor Support
@subsection AppArmor Support
@cindex AppArmor
Guix includes an AppArmor profile for the build daemon in
@file{etc/apparmor.d/guix-daemon} that can be installed on systems with
strict AppArmor policies to allow it to run unprivileged
(@pxref{Build Environment Setup}). Indeed, the unprivileged daemon makes
use of Linux user namespaces but these are disallowed
without an AppArmor policy on some systems like Ubuntu.
To know if this applies to you, check if the
@code{kernel.apparmor_restrict_unprivileged_userns} kernel parameter is
enabled.
@subsubsection Installing the AppArmor profile
@cindex AppArmor, profile installation
@quotation Note
The @code{guix-install.sh} binary installation script offers to perform
the steps below for you (@pxref{Binary Installation}).
@end quotation
Run these commands as root to install the profile:
@example
export apparmor_sources=/var/guix/profiles/per-user/root/current-guix/etc/apparmor.d
cp -f -t /etc/apparmor.d/tunables "$apparmor_sources/tunables/guix"
cp -f -t /etc/apparmor.d "$apparmor_sources/guix-daemon"
cp -f -t /etc/apparmor.d "$apparmor_sources/guix"
apparmor_parser -r /etc/apparmor.d/guix-daemon
apparmor_parser -r /etc/apparmor.d/guix
@end example
After this, the build daemon will be able to function correctly.
@node Invoking guix-daemon
@section Invoking @command{guix-daemon}
@cindex @command{guix-daemon}
@@ -3980,12 +4018,9 @@ them in the specified order. You also need to explicitly authorize the
public keys of substitute servers to instruct Guix to accept the
substitutes they sign.
On Guix System, this is achieved by modifying the configuration of the
@code{guix} service. Since the @code{guix} service is part of the
default lists of services, @code{%base-services} and
@code{%desktop-services}, you can use @code{modify-services} to change
its configuration and add the URLs and substitute keys that you want
(@pxref{Service Reference, @code{modify-services}}).
On Guix System, this is achieved by extending the configuration of the
@code{guix} service. @pxref{Service Composition, Service extensions}
allow users to easily add new configuration information.
As an example, suppose you want to fetch substitutes from
@code{guix.example.org} and to authorize the signing key of that server,
@@ -3997,18 +4032,13 @@ configuration will look something like:
(operating-system
;; @dots{}
(services
;; Assume we're starting from '%desktop-services'. Replace it
;; with the list of services you're actually using.
(modify-services %desktop-services
(guix-service-type config =>
(guix-configuration
(inherit config)
(substitute-urls
(append (list "https://guix.example.org")
%default-substitute-urls))
(authorized-keys
(append (list (local-file "./key.pub"))
%default-authorized-guix-keys)))))))
(cons
(simple-service
'my-guix-configuration guix-service-type
(guix-extension
(substitute-urls (list "https://guix.example.org"))
(authorized-keys (list (local-file "./key.pub")))))
%desktop-services)))
@end lisp
This assumes that the file @file{key.pub} contains the signing key of
@@ -13265,6 +13295,11 @@ be a list of keywords with values accepted by procedure
@end example
@end deffn
@deffn {REPL command} graft? @var{graft?}
Set whether grafts should be performed as part of the build. Equivalent
to @code{--no-grafts} argument to @code{guix build}.
@end deffn
@deffn {REPL command} lower @var{object}
Lower @var{object} into a derivation or store file name and return it.
@end deffn
@@ -18898,8 +18933,8 @@ given location at the time of the unlock attempt.
;; Following definition would be equivalent to running:
;; cryptsetup open --key-file /crypto.key /dev/sdb1 data
(mapped-device
(source "/dev/sdb1)
(target "data)
(source "/dev/sdb1")
(target "data")
(type luks-device-mapping)
(arguments '(#:key-file "/crypto.key")))
@end lisp
@@ -18929,7 +18964,7 @@ options, along with @option{--allow-discards}:
(arguments '(#:allow-discards? #t
#:extra-options
("--perf-no_read_workqueue"
"--perf-no_write_workqueue")))))
"--perf-no_write_workqueue"))))
@end lisp
@end table
@@ -19852,6 +19887,11 @@ symlink:
This procedure is meant for @code{/bin/sh}, @code{/usr/bin/env} and
similar targets. In particular, use for targets under @code{/etc} might
not work as expected if the target is managed by Guix in other ways.
The special files persist on your system even after the
@code{extra-special-file} call has been removed from your system config
and the system has been reconfigured. The special files need to be
removed manually.
@end deffn
@defvar host-name-service-type
@@ -20654,6 +20694,9 @@ a guix service extension.
@xref{Service Composition}, for more information.
@table @asis
@item @code{channels} (default: @code{'()})
A list of objects where each element is a channel record.
@item @code{authorized-keys} (default: @code{'()})
A list of file-like objects where each element contains a public key.
@@ -28336,30 +28379,47 @@ Additional command line options to pass to @code{memcached}.
@subsubheading Redis
@uref{https://redis.io/, Redis} is an in-memory data store used
by millions of developers as a cache, vector database, document
database, streaming engine, and message broker. Redis has built-in
replication and different levels of on-disk persistence. It supports
complex data types (for example, strings, hashes, lists, sets, sorted
sets, and JSON), with atomic operations defined on those data types.
@defvar redis-service-type
This is the service type for the @uref{https://redis.io/, Redis}
key/value store, whose value is a @code{redis-configuration} object.
Type of the service that runs @command{redis}, an in-memory data store.
The value for this service is a @code{<redis-configuration>} object.
@end defvar
@c %start of fragment
@deftp {Data Type} redis-configuration
Data type representing the configuration of redis.
Available @code{redis-configuration} fields are:
@table @asis
@item @code{redis} (default: @code{redis})
@item @code{redis} (default: @code{redis}) (type: package)
The Redis package to use.
@item @code{bind} (default: @code{"127.0.0.1"})
@item @code{bind} (default: @code{"127.0.0.1"}) (type: string)
Network interface on which to listen.
@item @code{port} (default: @code{6379})
@item @code{port} (default: @code{6379}) (type: number)
Port on which to accept connections on, a value of 0 will disable
listening on a TCP socket.
@item @code{working-directory} (default: @code{"/var/lib/redis"})
@item @code{working-directory} (default: @code{"/var/lib/redis"}) (type: string)
Directory in which to store the database and related files.
@item @code{config-file} (type: maybe-string)
Default location for config file.
@end table
@end deftp
@c %end of fragment
@node Mail Services
@subsection Mail Services
@@ -45481,7 +45541,7 @@ A string representing the OCI image tag. Defaults to @code{latest}.
@item @code{value} (type: oci-lowerable-image)
A @code{manifest} or @code{operating-system} record that will be lowered
into an OCI compatible tarball. Otherwise this field's value can be a
gexp or a file-like object that evaluates to an OCI compatible tarball.
file-like object that evaluates to an OCI compatible tarball.
@item @code{pack-options} (default: @code{'()}) (type: list)
An optional set of keyword arguments that will be passed to the
@@ -47776,7 +47836,9 @@ machine. The @code{grub-bootloader} bootloader is always used
independently of what is declared in the @code{operating-system} file
passed as argument. This is to make it easier to work with QEMU, which
uses the SeaBIOS BIOS by default, expecting a bootloader to be installed
in the Master Boot Record (MBR).
in the Master Boot Record (MBR). In case the virtual machine is
going to be AArch64, you might want to take a look at @code{qcow2-gpt}
image type that installs bootloader only in EFI.
@cindex docker-image, creating docker images
When using the @code{docker} image type, a Docker image is produced.
@@ -49217,6 +49279,11 @@ daemons are started after all the file systems have been mounted and
that, during shutdown, they are stopped before attempting to terminate
remaining user processes.
Similarly, services that do make mounts during their startup or operation,
should have @code{user-file-systems} as a requirement. @code{user-processes}
does depend on @code{user-file-systems} as well.
So direct requirement only on @code{user-processes} is sufficient.
@cindex one-shot services, for the Shepherd
@item @code{one-shot?} (default: @code{#f})
Whether this service is @dfn{one-shot}. One-shot services stop immediately
@@ -54695,7 +54762,18 @@ Build an image based on the @code{efi32-disk-image} image.
@defvar qcow2-image-type
Build an image based on the @code{mbr-disk-image} image but with the
@code{compressed-qcow2} image format.
@code{compressed-qcow2} image format. The resulting image will have
an MBR embedded bootloader as well as an EFI bootloader. This image
is not suitable for architectures that do not support `grub-pc`,
such as AArch64. See @code{qcow2-gpt-image-type} for an alternative.
@end defvar
@defvar qcow2-gpt-image-type
Build an image based on the @code{efi-disk-image} image but with the
@code{compressed-qcow2} image format. The resulting image will have
only EFI bootloader, unlike @code{qcow2-image-type}. This image
is suitable for architectures that do not support `grub-pc`, such
as AArch64.
@end defvar
@defvar iso-image-type

12
etc/apparmor.d/guix Normal file
View File

@@ -0,0 +1,12 @@
abi <abi/4.0>,
include <tunables/global>
include <tunables/guix>
# Theres no point in confining the guix executable, since it can run
# any user code and so everything is expected. We just need to
# explicitely enable userns for systems with the
# kernel.apparmor_restrict_unprivileged_userns sysctl.
profile guix @{guix_storedir}/{*-guix-command,*-guix-*/bin/guix} flags=(unconfined) {
userns,
}

View File

@@ -0,0 +1,88 @@
abi <abi/4.0>,
include <tunables/global>
include <tunables/guix>
profile guix-daemon @{guix_storedir}/*-{guix-daemon,guix}-*/bin/guix-daemon flags=(enforce,attach_disconnected.path=/disconnected) {
include <abstractions/base>
userns,
signal,
capability sys_admin,
capability net_admin,
capability sys_chroot,
capability setgid,
capability chown,
network dgram,
umount,
mount,
pivot_root,
# Paths inside build chroot
/real-root/ w,
/ w,
@{guix_localstatedir}/guix/** rwk,
/var/log/guix/** w,
owner @{PROC}/@{pid}/{fd/,environ} r,
owner @{PROC}/@{pid}/oom_score_adj w,
owner @{PROC}/@{pid}/uid_map rw,
owner @{PROC}/@{pid}/gid_map rw,
owner @{PROC}/@{pid}/setgroups w,
@{guix_storedir}/ r,
@{guix_storedir}/** rwlmk,
@{guix_storedir}/*/bin/guile cx -> guix-builder,
@{guix_storedir}/*-guix-command cx -> guix-helper,
@{guix_storedir}/*-guix-*/bin/guix cx -> guix-helper,
@{etc_rw}/nsswitch.conf r,
@{etc_rw}/passwd r,
@{etc_rw}/group r,
owner /tmp/** rwl,
owner /var/tmp/** rwl,
/usr/bin/newgidmap Ux,
# Site-specific additions and overrides. See local/README for details.
include if exists <local/guix-daemon>
profile guix-builder flags=(enforce,attach_disconnected.path=/disconnected) {
include <abstractions/base>
signal (receive),
@{guix_storedir}/** rwlmkux,
owner /tmp/** rw,
@{PROC}/@{pid}/fd/ r,
/disconnected/** rw,
}
# This is for any time guix is called by the daemon as a helper:
# - guix download
# - guix discover
# - guix gc --list-busy
# - probably more?
profile guix-helper flags=(enforce,attach_disconnected.path=/disconnected) {
include <abstractions/base>
include <abstractions/nameservice>
signal (receive),
ptrace (read) peer=guix-daemon,
/disconnected/run/dbus/system_bus_socket rw,
dbus (send, receive),
@{guix_localstatedir}/guix/discover/ rw,
@{guix_localstatedir}/guix/discover/* rw,
@{guix_localstatedir}/guix/substitute/ rw,
@{guix_localstatedir}/guix/substitute/** rwk,
@{guix_sysconfdir}/guix/** r,
@{guix_storedir}/** rwlmix,
@{PROC}/ r,
owner @{PROC}/@{pid}/{fd/,environ} r,
}
}

View File

@@ -0,0 +1,5 @@
@{guix_storedir} = @storedir@
@{guix_sysconfdir} = @guix_sysconfdir@
@{guix_localstatedir} = @guix_localstatedir@
include if exists <tunables/guix.d>

View File

@@ -175,6 +175,10 @@
(file (execute
execute_no_trans read write open entrypoint map
getattr link unlink)))
;; Needed to execute the 'newgidmap' helper.
(allow guix_daemon_t
bin_t
(file (execute execute_no_trans map)))
;; Remounting /gnu/store read-write.
(allow guix_daemon_t
@@ -322,7 +326,7 @@
map
getattr setattr
unlink
open read write)))
open read write append)))
(allow guix_daemon_t
guix_daemon_conf_t
(lnk_file (create getattr rename unlink read)))
@@ -367,7 +371,7 @@
;; Allow use of user namespaces
(allow guix_daemon_t
self
(cap_userns (sys_admin net_admin sys_chroot)))
(cap_userns (setgid sys_admin net_admin sys_chroot)))
(allow guix_daemon_t
self
(user_namespace (create)))
@@ -451,6 +455,27 @@
vnc_port_t
(tcp_socket (name_bind)))
;; 'guix gc' needs to go through /proc entries for all processes that are
;; running. Strictly speaking, it means guix-daemon needs access to all
;; process types in the SELinux policy. In practice, only processes from
;; programs in the /gnu/store are relevant for finding roots for garbage
;; collection. Since Guix currently doesn't install any SELinux policy for
;; its packages, we can assume that all the processes it needs to access run
;; as unconfined_t.
;;
;; FIXME: This doesn't stop 'guix gc' from generating a lot of unnecessary
;; AVC denied audit messages. Perhaps guix-daemon could test whether it has
;; access to the proc entry before trying to access it?
(allow guix_daemon_t
unconfined_t
(dir (search)))
(allow guix_daemon_t
unconfined_t
(file (read)))
(allow guix_daemon_t
unconfined_t
(lnk_file (read)))
;; I guess sometimes it needs random numbers
(allow guix_daemon_t
random_device_t

View File

@@ -14,6 +14,12 @@ ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daem
--substitute-urls='@GUIX_SUBSTITUTE_URLS@'
Environment='GUIX_STATE_DIRECTORY=@localstatedir@/guix' 'GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8
# Stop the gnu-store.mount so that the daemon can capture the store as
# read-write in its private mount namespace.
# See <https://codeberg.org/guix/guix/issues/4744>.
ExecStartPre=-+systemctl stop gnu-store.mount
ExecStartPost=-+systemctl start gnu-store.mount --no-block
# Run under a dedicated unprivileged user account.
User=guix-daemon

View File

@@ -17,6 +17,7 @@
# Copyright © 2024 Tomas Volf <~@wolfsden.cz>
# Copyright © 2024 Richard Sent <richard@freakingpenguin.com>
# Copyright © 2025 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
# Copyright © 2025 Noé Lopez <noelopez@free.fr>
#
# This file is part of GNU Guix.
#
@@ -105,10 +106,11 @@ DEBUG=0
GNU_URL="https://ftpmirror.gnu.org/gnu/guix/"
# The following associative array holds set of GPG keys used to sign the
# releases, keyed by their corresponding Savannah user ID.
# releases, keyed by their corresponding Codeberg user name.
declare -A GPG_SIGNING_KEYS
GPG_SIGNING_KEYS[15145]=3CE464558A84FDC69DB40CFB090B11993D9AEBB5 # ludo
GPG_SIGNING_KEYS[127547]=27D586A4F8900854329FF09F1260E46482E63562 # maxim
GPG_SIGNING_KEYS["civodul"]=3CE464558A84FDC69DB40CFB090B11993D9AEBB5 # ludo
GPG_SIGNING_KEYS["apteryx"]=27D586A4F8900854329FF09F1260E46482E63562 # maxim
PUBLIC_KEYSERVERS="keys.openpgp.org pgpkeys.eu keyserver.ubuntu.com"
# ------------------------------------------------------------------------------
#+UTILITIES
@@ -203,6 +205,7 @@ chk_gpg_keyring()
for user_id in "${!GPG_SIGNING_KEYS[@]}"; do
gpg_key_id=${GPG_SIGNING_KEYS[$user_id]}
codeberg_username=$user_id
# Without --dry-run this command will create a ~/.gnupg owned by root on
# systems where gpg has never been used, causing errors and confusion.
if gpg --dry-run --list-keys "$gpg_key_id" >/dev/null 2>&1; then
@@ -211,20 +214,39 @@ chk_gpg_keyring()
if prompt_yes_no "${INF}The following OpenPGP public key is \
required to verify the Guix binary signature: $gpg_key_id.
Would you like me to fetch it for you?"; then
# Use a reasonable time-out here so users don't report silent
# freezes when Savannah goes out to lunch, as has happened.
if wget "https://sv.gnu.org/people/viewgpg.php?user_id=$user_id" \
--timeout=30 --no-verbose -O- | gpg --import -; then
if wget "https://codeberg.org/$codeberg_username.gpg" \
--tries=1 --timeout=30 --no-verbose -O- | gpg --import -; then
continue
fi
key_obtained=false
# Try to fetch keys from an available keyserver
for key_server in $PUBLIC_KEYSERVERS; do
if gpg --keyserver $key_server --recv-key $gpg_key_id; then
key_obtained=true
break
fi
done
if $key_obtained; then
continue
fi
fi
# If we reach this point, the key is (still) missing. Report further
# missing keys, if any, but then abort the installation.
_err "Missing OpenPGP public key ($gpg_key_id).
Fetch it with this command:
Fetch it with codeberg username:
wget \"https://sv.gnu.org/people/viewgpg.php?user_id=$user_id\" -O - | \
sudo -i gpg --import -"
wget \"https://codeberg.org/$codeberg_username.gpg\" -O - | \
sudo -i gpg --import -
If this fails, try to fetch it via a keyserver:
for key_server in $PUBLIC_KEYSERVERS; do
if sudo -i gpg --keyserver $key_server --recv-key $gpg_key_id; then
break
fi
done"
exit_flag=yes
done
if [ "$exit_flag" = yes ]; then
@@ -773,10 +795,6 @@ export PATH="$GUIX_PROFILE/bin${PATH:+:}$PATH"
# trailing colon so the system default search path is used.
export INFOPATH="$GUIX_PROFILE/share/info:$INFOPATH"
export MANPATH="$GUIX_PROFILE/share/man:$MANPATH"
# Expose the latest Guix modules to Guile so guix shell and repls spawned by
# e.g. Geiser work out of the box.
export GUILE_LOAD_PATH="$GUIX_PROFILE/share/guile/site/3.0${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH"
export GUILE_LOAD_COMPILED_PATH="$GUIX_PROFILE/lib/guile/3.0/site-ccache${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH"
# User's default profile, if it exists
GUIX_PROFILE="$HOME/.guix-profile"
@@ -798,6 +816,11 @@ if [ -L "$GUIX_PROFILE" ]; then
*$GUIX_PROFILE/share/man*) ;;
*) export MANPATH="$GUIX_PROFILE/share/man:$MANPATH"
esac
case $XDG_DATA_DIRS in
*$GUIX_PROFILE/share*) ;;
*) export XDG_DATA_DIRS="$GUIX_PROFILE/share:$XDG_DATA_DIRS"
esac
fi
# NOTE: Guix Home handles its own profile initialization in ~/.profile. See
@@ -892,6 +915,64 @@ sys_maybe_setup_selinux()
restorecon -R /gnu /var/guix
}
sys_maybe_setup_apparmor()
{
if ! [ -f /sys/module/apparmor/parameters/enabled ]
then
return
fi
if ! command -v apparmor_parser &> /dev/null
then
return
fi
prompt_yes_no "Install AppArmor profile that might be required to run guix-daemon?" \
|| return 0
local var_guix=/var/guix/profiles/per-user/root/current-guix
local apparmor_sources="${var_guix}/etc/apparmor.d/"
if ! [ -d "$apparmor_sources" ]
then
_err "This version of Guix doesnt contain AppArmor profiles."
return
fi
cp -f -t /etc/apparmor.d/tunables "$apparmor_sources/tunables/guix"
cp -f -t /etc/apparmor.d "$apparmor_sources/guix-daemon"
cp -f -t /etc/apparmor.d "$apparmor_sources/guix"
apparmor_parser --warn=all -r /etc/apparmor.d/guix-daemon
apparmor_parser --warn=all -r /etc/apparmor.d/guix
_msg_pass "apparmor profiles installed and loaded"
}
sys_delete_apparmor_profiles()
{
# Not a big deal if the apparmor_parser commands fail as they only apply
# for the current boot, we still want to go on and remove the files.
if [ -f "/etc/apparmor.d/guix" ]
then
_msg_info "removing /etc/apparmor.d/guix"
apparmor_parser -R /etc/apparmor.d/guix || true
rm -f "/etc/apparmor.d/guix"
fi
if [ -f "/etc/apparmor.d/guix-daemon" ]
then
_msg_info "removing /etc/apparmor.d/guix-daemon"
apparmor_parser -R /etc/apparmor.d/guix-daemon || true
rm -f "/etc/apparmor.d/guix-daemon"
fi
if [ -f "/etc/apparmor.d/tunables/guix" ]
then
_msg_info "removing /etc/apparmor.d/tunables/guix"
rm -f "/etc/apparmor.d/tunables/guix"
fi
}
sys_delete_init_profile()
{
_msg_info "removing /etc/profile.d/zzz-guix.sh"
@@ -969,7 +1050,6 @@ main_install()
chk_init_sys
add_init_sys_require
chk_require "${REQUIRE[@]}"
chk_gpg_keyring
chk_sys_arch
chk_sys_nscd
chk_existing
@@ -980,6 +1060,7 @@ main_install()
tmp_path="$(mktemp -t -d guix.XXXXXX)"
if [ -z "${GUIX_BINARY_FILE_NAME}" ]; then
chk_gpg_keyring
guix_get_bin_list "${GNU_URL}"
guix_get_bin "${GNU_URL}" "${BIN_VER}" "$tmp_path"
GUIX_BINARY_FILE_NAME=${BIN_VER}.tar.xz
@@ -994,6 +1075,7 @@ main_install()
sys_create_store "${GUIX_BINARY_FILE_NAME}" "${tmp_path}"
sys_create_build_user
sys_maybe_setup_selinux
sys_maybe_setup_apparmor
sys_enable_guix_daemon
sys_authorize_build_farms
sys_create_init_profile
@@ -1027,6 +1109,7 @@ main_uninstall()
sys_delete_guix_daemon
# stop people from accessing their profiles.
sys_delete_user_profiles
sys_delete_apparmor_profiles
# kill guix off all the guts of guix
sys_delete_store
# clean up the system

View File

@@ -71,18 +71,21 @@ TARGET."
"connman" "network-manager" "wpa-supplicant" "isc-dhcp" "cups"
"linux-libre" "grub-hybrid")))
(define %system-gui-packages
(define (%system-gui-packages target)
;; Key packages proposed by the Guix System installer.
(append (map specification->package
'(;; build system `python' does not support cross builds
;"gnome" "xfce" "mate" "openbox"
;"gnome" "xfce" "mate" "openbox"
"awesome"
"i3-wm" "i3status" "dmenu" "st"
"ratpoison" "xterm"
;; build system `emacs' does not support cross builds
;"emacs-exwm" "emacs-desktop-environment"
;"emacs-exwm" "emacs-desktop-environment"
"emacs"))
%default-xorg-modules))
;; NOTE: %default-xorg-modules depends on system.
(parameterize
((%current-target-system target))
%default-xorg-modules)))
(define %packages-to-cross-build
;; Packages that must be cross-buildable from x86_64-linux.
@@ -151,7 +154,8 @@ TARGET."
;; With a graphical environment:
(if (or (target-x86-32? target)
(target-aarch64? target))
%system-gui-packages
;; %system-gui-packages depends on the system.
(%system-gui-packages target)
'()))))
(fold delete (map platform-system->target (systems))
'(;; Disable cross-compilation to self:

View File

@@ -0,0 +1,165 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 Noé Lopez <noelopez@free.fr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; This manifest is a list of packages that user care about (collected via an
;;; online form). It corresponds to the “Important packages” of GCD 005.
(specifications->manifest
(list
"0ad"
"agda"
"alacritty"
"ardour"
"autoconf"
"automake"
"blender"
"borg"
"btrfs-progs"
"certbot"
"chez-scheme"
"clang-toolchain"
"cryptsetup"
"dillo"
"direnv"
"docker-cli"
"dovecot"
"emacs"
"emacs-exwm"
"emacs-pgtk"
"evince"
"fcitx5"
"file"
"fish"
"foot"
"fzf"
"gajim"
"gallery-dl"
"gcc-toolchain"
"getmail6"
"gettext"
"ghc-xmonad-contrib"
"gimp"
"git"
"gmp"
"gnome"
"gnupg"
"godot"
"gpaste"
"guile"
"guile-json"
"hatch"
"help2man"
"helvum"
"hexchat"
"hyprland"
"icecat"
"idris"
"imagemagick"
"imapfilter"
"jami"
"k3b"
"kakoune"
"keepassxc"
"krita"
"ksoloti-patcher"
"libreoffice"
"librewolf"
"libsecret"
"libtool"
"libvirt"
"llama-cpp"
"mariadb"
"luanti"
"mpc"
"mpfr"
"mplayer"
"mpv"
"mullvadbrowser"
"neovim"
"nginx"
"niri"
"nix"
"node"
"notmuch"
"obs"
"offlineimap3"
"opencv"
"openmpi"
"opensmtpd"
"openssh"
"openttd"
"pandoc"
"password-store"
"pavucontrol"
"php"
"picard"
"pipewire"
"pkg-config"
"plasma"
"plasma-desktop"
"po4a"
"podman"
"postgresql"
"python"
"python-lxml"
"python-pycryptodome"
"qemu"
"ranger"
"retroarch"
;;"rocm"
"rofi"
"rspamd"
"rsync"
"screen"
"slurm"
"sqlite"
"sqlitebrowser"
"strace"
"strawberry"
"syncthing"
"taisei"
"telegram-desktop"
"texlive-babel"
"texlive-babel-english"
"texlive-babel-french"
"texlive-babel-german"
"texlive-collection-latex"
"texlive-collection-latexrecommended"
"texlive-collection-xetex"
"texlive-pdfjam"
"tmux"
"tuba"
"ungoogled-chromium"
"unison"
"unzip"
"uv"
"viewnior"
"virt-manager"
"waybar"
"wine"
"wine64"
"wireguard-tools"
"xmobar"
"xmonad"
"xournal"
"xournalpp"
"xpdf"
"yt-dlp"
"zig"
"zip"
"zsh"))

View File

@@ -42,10 +42,55 @@
(channel-news
(version 0)
(entry (commit "d3b79beaa806452dceaffb8b211b69dc4c346aba")
(title
(en "Linux-libre 5.4 no longer supported")
(de "Linux-libre 5.4 nicht mehr unterstützt")
(pt "Linux-libre 5.4 não é mais suportado"))
(body
(en "The linux-libre 5.4 kernel series is no longer supported
upstream and will be removed from GNU Guix soon:
https://www.kernel.org/category/releases.html
This kernel series was first added to Guix in 2019 by Mark Weaver, at version
5.4.5. After ~297 updates delivered to Guix users, we have deployed the final
update, 5.4.302.
The next kernel series removals are scheduled for December 2026, when the Linux
long-term support team is planning to stop supporting four different kernel
series: 6.12, 6.6, 5.15, and 5.10.")
(de "Die Versionsreihe 5.4 des Linux-libre-Kernels wird von dessen
Anbieter nicht mehr unterstützt und wird bald aus GNU Guix entfernt werden:
https://www.kernel.org/category/releases.html
Diese Kernel-Reihe wurde ursprünglich 2019 zu Guix hinzugefügt von Mark Weaver
mit Version 5.4.5. Nach ~297 Aktualisierungen, die Guix seinen Nutzern
bereitgestellt hat, haben wir nun die letzte Aktualisierung
ausgeliefert, 5.4.302.
Der weitere Plan von Linux Team für Langzeitunterstützung sieht vor, als
Nächstes die Unterstützung für vier verschiedene Kernel-Reihen im Dezember 2026
zu beenden: 6.12, 6.6, 5.15 und 5.10.")
(pt "A série 5.4 do kernel linux-libre não é mais suportada pelo
fornecedor e será removida do GNU Guix em breve:
https://www.kernel.org/category/releases.html
Esta série de kernels foi adicionada inicialmente ao Guix em 2019 por Mark
Weaver, na versão 5.4.5. Após ~297 atualizações entregues aos usuários do
Guix, implantamos a atualização final, 5.4.302.
As próximas remoções de séries do kernel estão agendadas para dezembro de
2026, quando o time de suporte de longo prazo planeja interromper o suporte a
quatro séries diferentes do kernel: 6.12, 6.6, 5.15 e 5.10.")))
(entry (commit "14bb0192fde79909999c3880b6b66aa22499eb11")
(title
(en "Linux-libre 6.16 removed from Guix")
(de "Linux-libre 6.16 wurde aus Guix entfernt")
(pt "Linux-libre 6.16 removido do Guix")
(zh "Linux-libre 6.16 已从 Guix 中移除"))
(body
(en "The linux-libre 6.16 kernel series has been removed from Guix, as
@@ -54,6 +99,8 @@ default.")
(de "Die Versionsreihe 6.16 des Linux-libre-Kernels wurde aus GNU Guix
entfernt, weil sie von dessen Anbieter nicht mehr unterstützt wird.
Kernel-Versionsreihe 6.17 ist jetzt vorgegeben.")
(pt "A série 6.16 do kernel linux-libre foi removida do Guix, dado
que não é mais suportada pelo fornecedor. A série 6.17 é o padrão atual")
(zh "由于上游不再支持GNU Guix 已移除 6.16 系列的 linux-libre 内核6.17
内核系列现已成为默认版本")))

View File

@@ -702,6 +702,7 @@ GLib/GIO, GTK, GStreamer and Webkit."
(team 'hare
#:name "Hare"
#:scope (list "gnu/packages/hare.scm"
"gnu/packages/hare-apps.scm"
"gnu/packages/hare-xyz.scm"
"guix/build-system/hare.scm"
"guix/build/hare-build-system.scm")))
@@ -976,14 +977,13 @@ release."
#:name "Crypto team"
#:description
"Secrets, passwords, cryptography and security related packages."
#:scope (list
"gnu/packages/crypto.scm"
"gnu/packages/gnupg.scm"
"gnu/packages/nettle.scm"
"gnu/packages/password-utils.scm"
"gnu/packages/security-token.scm"
"gnu/packages/ssh.scm"
"gnu/packages/tls.scm")))
#:scope (list (make-regexp* "^gnu/packages/(.*-|)crypto\\.scm$")
"gnu/packages/gnupg.scm"
"gnu/packages/nettle.scm"
"gnu/packages/password-utils.scm"
"gnu/packages/security-token.scm"
"gnu/packages/ssh.scm"
"gnu/packages/tls.scm")))
(define-team science
(team 'science
@@ -1276,9 +1276,9 @@ the \"texlive\" importer."
games)
(define-member (person "Laurent Gatto"
"laurent.gatto@gmail.com"
"lgatto@protonmail.ch"
"lgatto")
r)
r bioinformatics)
(define-member (person "Nicolas Goaziou"
"guix@nicolasgoaziou.fr"
@@ -1327,8 +1327,7 @@ the \"texlive\" importer."
(define-member (person "Hilton Chain"
"hako@ultrarare.space"
"hako")
emacs home localization mozilla rust zig)
"hako"))
(define-member (person "Noé Lopez"
"noelopez@free.fr"
@@ -1392,7 +1391,7 @@ the \"texlive\" importer."
(define-member (person "Danny Milosavljevic"
"dannym@friendly-machines.com"
"daym")
bootstrap hpc rust science)
bootstrap hpc python rust science)
(define-member (person "Andy Tai"
"atai@atai.org"
@@ -1409,6 +1408,16 @@ the \"texlive\" importer."
"delitrem")
beam)
(define-member (person "Nguyễn Gia Phong"
"cnx@loang.net"
"cnx")
python)
(define-member (person "Lilah Tascheter"
"lilah@lunabee.space"
"tinystar")
hare)
(define (find-team name)
(or (hash-ref %teams (string->symbol name))

View File

@@ -16,8 +16,8 @@
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; This file returns a manifest of packages built using the cargo-build-system.
;;; It is used to assist continuous integration of the rust-team branch.
;;; This file returns a manifest of packages built using the hare-build-system.
;;; It is used to assist continuous integration of the hare-team branch.
(use-modules (guix packages)
(guix profiles)

View File

@@ -0,0 +1,40 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 jgart <jgart@dismail.de>
;;;
;;; 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/>.
;;; This file returns a manifest of packages built using any one of the
;;; asdf build systems. It is used to assist continuous integration of
;;; the lisp-team branch.
(use-modules (guix packages)
(guix profiles)
(guix build-system))
(manifest
(map package->manifest-entry
(fold-packages
(lambda (package lst)
(if (or (eq? 'asdf/sbcl (build-system-name (package-build-system package)))
(eq? 'asdf/ecl (build-system-name (package-build-system package)))
(eq? 'asdf/clasp (build-system-name (package-build-system package)))
(string=? "clasp-cl" (package-name package))
(string=? "ecl" (package-name package))
(string=? "sbcl" (package-name package)))
(cons package lst)
lst))
'())))

View File

@@ -0,0 +1,35 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 jgart <jgart@dismail.de>
;;;
;;; 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/>.
;;; This file returns a manifest of packages built using the python-build-system.
;;; It is used to assist continuous integration of the python-team branch.
(use-modules (guix packages)
(guix profiles)
(guix build-system))
(manifest
(map package->manifest-entry
(fold-packages
(lambda (package lst)
(if (or (eq? 'python (build-system-name (package-build-system package)))
(eq? 'pyproject (build-system-name (package-build-system package)))
(string=? "python" (package-name package)))
(cons package lst)
lst))
'())))

View File

@@ -0,0 +1,412 @@
;;; GNU Guix --- Functional package management for GNU
;;;
;;; 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/>.
;;; This manifest returns build artfacts for all supported systems. This can be
;;; controlled by SUPPORTED_SYSTEMS environment variable. For the list of
;;; artifacts produced, see artifacts-for-system and the `<thing>-for-system?`
;;; procedures. NOTE: the --system argument does not change the system for which
;;; the resulting package is built. They return different definitions of the
;;; images. To change the system, pass different SUPPORTED_SYSTEMS.
(use-modules (gnu compression)
(gnu image)
(gnu packages graphviz)
(gnu packages imagemagick)
(gnu packages package-management)
(gnu packages perl)
(gnu services)
(gnu system image)
(gnu system install)
(gnu system)
(guix build-system gnu)
(guix build-system trivial)
(guix channels)
(guix gexp)
(guix git)
(guix grafts)
(guix memoization)
(guix monads)
(guix packages)
(guix profiles)
(guix records)
(guix scripts pack)
(guix store)
(guix ui)
(guix utils)
(ice-9 format)
(ice-9 match)
(srfi srfi-9)
(srfi srfi-26)
(srfi srfi-35))
;; For easier testing, use (snapshot) guix package from (gnu packages
;; package-management). Otherwise, the package is updated to current commit and
;; might not be substitutable, leading to longer build times.
(define %use-snapshot-package?
(string=? (or (getenv "GUIX_USE_SNAPSHOT_PACKAGE") "no") "yes"))
(define (%guix-version)
;; NOTE: while package-version guix is not correct in general,
;; it is correct for the release itself. At that time, the
;; guix package is updated to vX.Y.Z and it's the version
;; we want to use.
(package-version guix))
(define (%vm-image-path)
(search-path %load-path "gnu/system/examples/vm-image.tmpl"))
(define (%vm-image-efi-path)
(search-path %load-path "gnu/system/examples/vm-image-efi.tmpl"))
;; monadic record and gexp-compiler
;; taken from Inria
;; https://gitlab.inria.fr/numpex-pc5/wp3/guix-images/-/blob/17bf4585abc2d637faa5d339436e778b7c9fb1ce/modules/guix-hpc/packs.scm
;; XXX: The <monadic> hack below will hopefully become unnecessary once the
;; (guix scripts pack) interface switches to declarative style--i.e.,
;; file-like objects.
(define-record-type <monadic>
(monadic->declarative mvalue)
monadic?
(mvalue monadic-value))
(define-gexp-compiler (monadic-compiler (monadic <monadic>) system target)
(monadic-value monadic))
;; The tarball should be the same for every system.
;; Still, we need to decide what system to build it
;; for, so use the one that CI has most resources for.
(define (source-tarball-for-system? system)
(member system
'("x86_64-linux")))
(define (iso-for-system? system)
(member system
'("x86_64-linux" "i686-linux" "aarch64-linux")))
(define (qcow2-for-system? system)
(member system
'("x86_64-linux" "aarch64-linux")))
(define* (qcow2-gpt-for-system? system)
(string=? system "aarch64-linux"))
(define (copy-/etc/config.scm config)
"Copy the configuration.scm of the operating system to /etc/config.scm, for
user's convenience. The file has to be writable, not a link to the store, so
etc-service-type can't be used here. CONFIG is a pair of strings, (FROM . TO).
The config will be copied from FROM to TO."
(match config
((from . to)
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(when (not (file-exists? #$to))
(copy-file #$from #$to)
(make-file-writable #$to)))))
(_ (raise
(formatted-message-string
(G_ "unexpected config parameter, should be pair of strings: ~a"
config))))))
(define copy-/etc/config.scm-service-type
(service-type (name 'copy-/etc/config.scm)
(description
"Copy the system configuration file to /etc/config.scm.")
(extensions (list (service-extension activation-service-type
copy-/etc/config.scm)))
(default-value (cons "/run/current-system/configuration.scm"
"/etc/config.scm"))))
(define (operating-system-with-/etc/config.scm os)
"Copy the system configuration file to writable /etc/config.scm on first boot."
(operating-system
(inherit os)
(services (cons (service copy-/etc/config.scm-service-type)
(operating-system-user-services os)))))
(define (simple-provenance-entry config-file)
"Return system entries describing the operating system config, provided
through CONFIG-FILE."
(mbegin %store-monad
(return `(("configuration.scm"
,(local-file (assume-valid-file-name config-file)
"configuration.scm"))))))
;; This is mostly taken from provenance-service-type from (gnu services),
;; but it provides only configuration.scm, not channels.scm. This is
;; to get the same derivations for both Cuirass and local builds.
;; In the future, provenance-service-type could be adapted to support
;; this use case as well.
(define simple-provenance-service-type
(service-type (name 'provenance)
(extensions
(list (service-extension system-service-type
simple-provenance-entry)))
(default-value #f) ;the OS config file
(description
"Store configuration.scm of the system in the system
itself.")))
(define* (operating-system-with-simple-provenance
os
#:optional
(config-file
(operating-system-configuration-file
os)))
"Return a variant of OS that stores its CONFIG-FILE. This is similar to
`operating-system-with-provenance`, but it does copy only the
configuration.scm."
(operating-system
(inherit os)
(services (cons (service simple-provenance-service-type config-file)
(operating-system-user-services os)))))
(define (guix-package-commit guix)
;; Extract the commit of the GUIX package.
(match (package-source guix)
((? channel? source)
(channel-commit source))
(_
(apply (lambda* (#:key commit #:allow-other-keys) commit)
(package-arguments guix)))))
;; NOTE: Normally, we would use (current-guix), along with url
;; overriden to the upstream repository to not leak our local checkout.
;; But currently, the (current-guix) derivation has to be computed through
;; QEMU for systems other than your host system. This takes a lot of time,
;; it takes at least half an hour to get the derivations.
(define (guix-package/with-commit guix commit)
"Use the guix from (gnu packages package-management),
but override its commit to the specified version. Make sure
to also override the channel commit to have the correct
provenance."
(let ((scm-version (car (string-split (package-version guix) #\-))))
(package
(inherit guix)
(version (string-append scm-version "." (string-take commit 7)))
(source (git-checkout
(url (channel-url %default-guix-channel))
(commit commit)))
(arguments
(substitute-keyword-arguments (package-arguments guix)
((#:configure-flags flags '())
#~(cons*
(string-append "--with-channel-commit=" #$commit)
(filter (lambda (flag)
(not (string-prefix? "--with-channel-commit=" flag)))
#$flags))))))))
(define guix-for-images
(mlambda (system)
(cond
;; For testing purposes, use the guix package directly.
(%use-snapshot-package? guix)
;; Normally, update the guix package to current commit.
(else
(guix-package/with-commit guix (guix-package-commit (current-guix)))))))
(define %binary-tarball-compression "xz")
;; Like guix pack -C xz -s --localstatedir --profile-name=current-guix guix
(define* (binary-tarball-for-system system #:key (extra-packages '()))
(let* ((base-name (string-append "guix-binary-" (%guix-version) "." system))
(manifest (packages->manifest (cons* guix extra-packages)))
(profile (profile (content manifest)))
(inputs `(("profile" ,profile)))
(compression %binary-tarball-compression))
(manifest-entry
(name (string-append base-name ".tar." compression))
(version (%guix-version))
(item (monadic->declarative
(self-contained-tarball
base-name profile
#:profile-name "current-guix"
#:compressor (lookup-compressor compression)
#:localstatedir? #t))))))
;; Like guix system image -t iso9660 \
;; --label="GUIX_$${system}_$(VERSION)" gnu/system/install.scm
(define* (iso-for-system system)
(let* ((name (string-append
"guix-system-install-" (%guix-version) "." system ".iso"))
(base-os (make-installation-os
#:grub-displayed-version (%guix-version)
#:efi-only? (string=? system "aarch64-linux")))
(base-image (os->image base-os #:type iso-image-type))
(label (string-append "GUIX_" system "_"
(if (> (string-length (%guix-version)) 7)
(string-take (%guix-version) 7)
(%guix-version)))))
(manifest-entry
(name name)
(version (%guix-version))
(item (system-image
(image-with-label
(image
(inherit base-image)
(name (string->symbol name)))
label))))))
;; Like guix system image -t qcow2 gnu/system/examples/vm-image.tmpl
(define* (qcow2-for-system system)
(let* ((name (string-append
"guix-system-vm-image-" (%guix-version) "." system ".qcow2"))
(base-os-path
(if (qcow2-gpt-for-system? system)
(%vm-image-efi-path)
(%vm-image-path)))
(target-image-type
(if (qcow2-gpt-for-system? system)
qcow2-gpt-image-type
qcow2-image-type))
(base-os
(operating-system-with-/etc/config.scm
(operating-system-with-simple-provenance
(load base-os-path) base-os-path)))
(base-image (os->image base-os #:type target-image-type)))
(manifest-entry
(name name)
(version (%guix-version))
(item (system-image
(image
(inherit base-image)
(volatile-root? #f)
(name (string->symbol name))))))))
(define* (guix-source-tarball)
(let ((guix (package
(inherit guix)
(native-inputs
(modify-inputs (package-native-inputs guix)
;; graphviz-minimal -> graphviz
(replace "graphviz" graphviz)
(append imagemagick)
(append perl))))))
(manifest-entry
(name (string-append "guix-" (%guix-version) ".tar.gz"))
(version (package-version guix))
(item (dist-package
guix
;; Guix is built from git source, not from tarball.
;; So it's fine to use its source directly.
(package-source guix))))))
(define* (manifest-entry-with-parameters system entry
#:key
(guix-for-images-proc guix-for-images))
(manifest-entry
(inherit entry)
(item
(with-parameters
((%current-system system)
(%current-target-system #f)
(current-guix-package (guix-for-images-proc system)))
(manifest-entry-item entry)))))
(define* (manifest-with-parameters system manifest
#:key
(guix-for-images-proc guix-for-images))
"Returns entries in the manifest accompanied with %current-system,
%current-target-sytem and current-guix-package parameters."
(make-manifest
(map (cut manifest-entry-with-parameters system <>
#:guix-for-images-proc guix-for-images-proc)
(manifest-entries manifest))))
(define (artifacts-for-system/nonparameterized system)
"Get all artifacts for given system. This will always include the
guix-binary tarball and optionally iso and/or qcow2 images."
(manifest
(append
(list
(binary-tarball-for-system system))
;; TODO: After source tarball generation is ready, uncomment.
;; (if (source-tarball-for-system? system)
;; (list (guix-source-tarball))
;; '())
(if (iso-for-system? system)
(list (iso-for-system system))
'())
(if (qcow2-for-system? system)
(list (qcow2-for-system system))
'()))))
(define* (artifacts-for-system system
#:key
(guix-for-images-proc guix-for-images))
"Collects all artifacts for a system. Gives them the proper %current-system
and %current-target-system parameters, so the --system passed on CLI is
irrelevant."
;; NOTE: parameterizing current system, because the tarball seems to somehow
;; depend on it early on. I haven't investigated it, but seems like a bug. Could
;; it be the gexp->derivation + monadic->declarative, not passing down the
;; system? Symptom: guix build --system=x86_64 -m artifacts-manifest.scm and
;; guix build --system=i686-linux -m artifacts-manifest.scm gives out different
;; results without the parameterization.
(parameterize
((%current-system system)
(%current-target-system #f)
(current-guix-package (guix-for-images-proc system)))
(manifest-with-parameters
system
(artifacts-for-system/nonparameterized system)
#:guix-for-images-proc guix-for-images-proc)))
(define (manifest->union manifest)
"Makes a union that will be a folder with all the entries symlinked. This
is different from a profile as it expects the entries are just simple files
and symlinks them by their manifest-entry-name."
(let ((entries (manifest-entries manifest)))
(computed-file
"artifacts-union"
(with-imported-modules '((guix build union)
(guix build utils))
#~(begin
(use-modules (guix build utils))
(mkdir-p #$output)
(for-each
(lambda* (entry)
(symlink (cdr entry)
(string-append #$output "/" (car entry))))
(list #$@(map (lambda (entry)
#~(cons
#$(manifest-entry-name entry)
#$(manifest-entry-item entry)))
entries))))))))
(define %supported-systems
(or (and
(getenv "SUPPORTED_SYSTEMS")
(string-split (getenv "SUPPORTED_SYSTEMS") #\ ))
'("x86_64-linux" "i686-linux"
"armhf-linux" "aarch64-linux"
"powerpc64le-linux" "riscv64-linux")))
(define supported-systems-union-manifest
(concatenate-manifests
(map artifacts-for-system
%supported-systems)))
(when %use-snapshot-package?
(warning (G_ "building images using the 'guix' package (snapshot)~%")))
(info (G_ "producing artifacts for the following systems: ~a~%")
%supported-systems)
supported-systems-union-manifest

View File

@@ -0,0 +1,26 @@
;;; GNU Guix --- Functional package management for GNU
;;;
;;; 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/>.
;;; Produce a single directory with all the artifacts inside of it, with proper
;;; names. They can then be easily copied to releasedir in Makefile. The files are
;;; symlinked to save space, but they should be copied out of the store as regular
;;; files.
(load "artifacts-manifest.scm")
(manifest->union
supported-systems-union-manifest)

View File

@@ -359,7 +359,7 @@ to it atomically and set the appropriate permissions."
(left unused-subid-range-left ;previous unused subuid range or #f
(default #f))
(min unused-subid-range-min ;lower bound of this unused subuid range
(default %subordinate-id-min))
(default 0))
(max unused-subid-range-max ;upper bound
(default %subordinate-id-max))
(right unused-subid-range-right ;next unused subuid range or #f
@@ -555,7 +555,10 @@ will be marked as used in it."
(define actual-range
(subid-range
(inherit range)
(start allocation-start)))
;; New IDs are only allocated between %subordinate-id-min and
;; %subordinate-id-max.
(start
(max allocation-start %subordinate-id-min))))
(if (within-interval? allocation actual-range)
(values
@@ -603,13 +606,6 @@ is visited to find the best unused range that can hold RANGE."
(define range-end
(subid-range-end range))
(unless (and (subordinate-id? range-start)
(subordinate-id? range-end))
(raise
(condition
(&invalid-subid-range-error
(range range)))))
(define less?
(< range-end allocation-start))
(define more?
@@ -802,12 +798,23 @@ new UIDs."
(define* (allocate-subids ranges #:optional (current-ranges '()))
"Return a list of subids entries for RANGES, a list of <subid-range>. IDs
found in CURRENT-RANGES, a list of subid entries, are reused."
;; Ranges from disk must always have a start.
(let ((generic (any (compose not subid-range-has-start?) current-ranges)))
(when generic
(raise
(condition
(&specific-subid-range-expected-error
(range generic))))))
(for-each
(lambda (range)
;; New ranges must always be included in the current supported set.
(unless (or (not (subid-range-has-start? range))
(and (subordinate-id? (subid-range-start range))
(subordinate-id? (subid-range-end range))))
(raise
(condition (&invalid-subid-range-error (range range))))))
ranges)
(define sorted-ranges
(stable-sort ranges
subid-range-less))

View File

@@ -321,13 +321,18 @@ EINVAL, ELOOP, etc."
;; convention to be followed.
(source (canonicalize-path* (string-append etc "/" file))))
(rm-f target)
(if (string=? (basename target) "sudoers")
(begin
;; /etc/sudoers must be a regular file.
(copy-file source target)
;; XXX: dirty hack to meet sudo's expectations
(chmod target #o440))
(symlink source target)))) ;usual case
(cond ((string=? (basename target) "sudoers")
(begin
;; /etc/sudoers must be a regular file.
(copy-file source target)
;; XXX: dirty hack to meet sudo's expectations
(chmod target #o440)))
((string=? (basename target) "hosts")
;; /etc/hosts must be a regular file, as some software
;; like vpn-slice expect to be able to write to it.
(copy-file source target))
(else ;usual case
(symlink source target)))))
(scandir etc (negate dot-or-dot-dot?)
;; The default is 'string-locale<?', but we don't have
;; it when run from the initrd's statically-linked

View File

@@ -428,7 +428,11 @@ GRUB configuration and OS-DRV as the stuff in it."
"-not" "-wholename" "/System/*"
"-not" "-name" "unicode.pf2"
"-not" "-name" "bzImage"
"-not" "-name" "*.gz" ; initrd & all man pages
"-not" "-name" "zImage"
"-not" "-name" "Image"
"-not" "-name" "vmlinuz"
"-not" "-name" "*.gz" ; initrd
"-not" "-name" "*.zst" ; all man pages
"-not" "-name" "*.png" ; includes grub-image.png
"-exec" "set_filter" "--zisofs"
"--")

View File

@@ -367,14 +367,13 @@ purposes."
'unknown)
((channels ...)
(map (lambda (channel)
(let* ((uri (string->uri (channel-url channel)))
(url (if (or (not uri) (eq? 'file (uri-scheme uri)))
"local checkout"
(channel-url channel))))
`(channel ,(channel-name channel) ,url ,(channel-commit channel))))
;; NOTE: URL is not logged to synchronize the derivations
;; coming out of pre-inst-env, time-machine and Cuirass
;; for generating release artifacts.
`(channel ,(channel-name channel) ,(channel-commit channel)))
channels))))
(define* (installer-program #:key dry-run?)
(define* (installer-program #:key dry-run? (guix-for-installer (current-guix)))
"Return a file-like object that runs the given INSTALLER."
(define init-gettext
;; Initialize gettext support, so that installer messages can be
@@ -423,7 +422,7 @@ purposes."
guile-gnutls
guile-zlib ;for (gnu build linux-modules)
guile-zstd ;for (gnu build linux-modules)
(current-guix))
guix-for-installer)
(with-imported-modules `(,@(source-module-closure
`(,@modules
(gnu services herd)

View File

@@ -73,6 +73,7 @@
# Copyright © 2024 James Smith <jsubuntuxp@disroot.org>
# Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com>
# Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
# Copyright © 2025 bdunahu <bdunahu@operationnull.com>
#
# This file is part of GNU Guix.
#
@@ -357,6 +358,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gxmessage.scm \
%D%/packages/hardware.scm \
%D%/packages/hare.scm \
%D%/packages/hare-apps.scm \
%D%/packages/hare-xyz.scm \
%D%/packages/haskell.scm \
%D%/packages/haskell-apps.scm \
@@ -695,7 +697,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/vpn.scm \
%D%/packages/vulkan.scm \
%D%/packages/w3m.scm \
%D%/packages/wdiff.scm \
%D%/packages/weather.scm \
%D%/packages/web.scm \
%D%/packages/web-browsers.scm \
@@ -1143,6 +1144,7 @@ dist_patch_DATA = \
%D%/packages/patches/clucene-contribs-lib.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 \
@@ -1199,6 +1201,7 @@ dist_patch_DATA = \
%D%/packages/patches/duc-fix-test-sh.patch \
%D%/packages/patches/dune-common-skip-failing-tests.patch \
%D%/packages/patches/durden-shadow-arcan.patch \
%D%/packages/patches/dvdbackup-with-libdvdread-6.1.0+.patch \
%D%/packages/patches/dvd+rw-tools-add-include.patch \
%D%/packages/patches/dwarves-threading-reproducibility.patch \
%D%/packages/patches/efivar-fix-fprint-format.patch \
@@ -1592,6 +1595,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/hurd-proc-zombies.patch \
%D%/packages/patches/hwloc-1-test-btrfs.patch \
%D%/packages/patches/i3lock-blur-fix-build-on-gcc-10.patch \
%D%/packages/patches/i7z-gcc-10.patch \
@@ -1876,8 +1880,6 @@ dist_patch_DATA = \
%D%/packages/patches/mpc123-initialize-ao.patch \
%D%/packages/patches/mpg321-CVE-2019-14247.patch \
%D%/packages/patches/mpg321-gcc-10.patch \
%D%/packages/patches/mpv-0.40.0-fix-ffmpeg-8.0.patch \
%D%/packages/patches/mpv-0.40.0-fix-wayland-cpu-usage.patch \
%D%/packages/patches/modglue-fix-build.patch \
%D%/packages/patches/modem-manager-fix-test-wrapper.patch \
%D%/packages/patches/module-init-tools-moduledir.patch \
@@ -2048,6 +2050,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-clarabel-blas.patch \
%D%/packages/patches/python-docrepr-fix-tests.patch \
%D%/packages/patches/python-feedparser-missing-import.patch \
%D%/packages/patches/python-gpg-setup-72.patch \
%D%/packages/patches/python-hdmedians-replace-nose.patch \
%D%/packages/patches/python-louvain-fix-test.patch \
%D%/packages/patches/python-matplotlib-fix-legend-loc-best-test.patch \
@@ -2072,6 +2075,7 @@ dist_patch_DATA = \
%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/quodlibet-disable-bundled-packages.patch \
%D%/packages/patches/qxlsx-fix-include-directory.patch \
%D%/packages/patches/schiffbruch-fix-build-for-gcc-13.patch \
@@ -2210,19 +2214,20 @@ dist_patch_DATA = \
%D%/packages/patches/qtbase-qmake-fix-includedir.patch \
%D%/packages/patches/qtbase-qmlimportscanner-qml-import-path.patch \
%D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \
%D%/packages/patches/qtbase-patch-libvulkan.patch \
%D%/packages/patches/qtbase-qmake-use-libname.patch \
%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/quickswitch-fix-dmenu-check.patch \
%D%/packages/patches/quilt-grep-compat.patch \
%D%/packages/patches/qmk-firmware-fix-hacker-dvorak.patch \
%D%/packages/patches/qtwayland-dont-recreate-callbacks.patch \
%D%/packages/patches/qtwayland-cleanup-callbacks.patch \
%D%/packages/patches/qtwayland-update-wayland-xml.patch \
%D%/packages/patches/qtwebengine-fix-dependencies.patch \
%D%/packages/patches/qtwebsockets-6.9-fix-tst_QWebSocket.patch\
%D%/packages/patches/rabbitmq-defaults.patch \
%D%/packages/patches/radare2-fix-meson-build-to-use-sys-qjs.patch \
%D%/packages/patches/radare2-fix-meson-build-to-use-sys-sdb.patch \
%D%/packages/patches/ragel-char-signedness.patch \
%D%/packages/patches/randomjungle-disable-static-build.patch \
%D%/packages/patches/rapidcheck-fix-libs.patch \
@@ -2250,6 +2255,7 @@ dist_patch_DATA = \
%D%/packages/patches/remake-impure-dirs.patch \
%D%/packages/patches/restartd-update-robust.patch \
%D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \
%D%/packages/patches/rlwrap-no-rbgen.patch \
%D%/packages/patches/rng-tools-revert-build-randstat.patch \
%D%/packages/patches/rocclr-5.6.0-enable-gfx800.patch \
%D%/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch \
@@ -2276,7 +2282,6 @@ dist_patch_DATA = \
%D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \
%D%/packages/patches/s7-flint-3.patch \
%D%/packages/patches/safeint-disable-tests.patch \
%D%/packages/patches/sage-safeguard-sage-getargspec-cython.patch \
%D%/packages/patches/sajson-for-gemmi-numbers-as-strings.patch \
%D%/packages/patches/sajson-build-with-gcc10.patch \
%D%/packages/patches/sane-look-for-plugins-in-SANE_BACKEND_LIB_PATH.patch \
@@ -2476,15 +2481,16 @@ dist_patch_DATA = \
%D%/packages/patches/wmctrl-64-fix.patch \
%D%/packages/patches/wmfire-dont-inline-draw-fire.patch \
%D%/packages/patches/wmfire-update-for-new-gdk-versions.patch \
%D%/packages/patches/woof-doom-unbundle-spng-miniz.patch \
%D%/packages/patches/wordnet-CVE-2008-2149.patch \
%D%/packages/patches/wordnet-CVE-2008-3908-pt1.patch \
%D%/packages/patches/wordnet-CVE-2008-3908-pt2.patch \
%D%/packages/patches/wpa-supplicant-dbus-group-policy.patch \
%D%/packages/patches/x2goclient-fix-makefile.patch \
%D%/packages/patches/x265-arm-flags.patch \
%D%/packages/patches/x265-4-arm-flags.patch \
%D%/packages/patches/xdg-desktop-portal-disable-portal-tests.patch\
%D%/packages/patches/xdg-desktop-portal-disable-configuration-search-exit.patch\
%D%/packages/patches/xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch\
%D%/packages/patches/xdg-desktop-portal-wlr-harcoded-length.patch\
%D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \
%D%/packages/patches/xfig-Enable-error-message-for-missing-libraries.patch \

View File

@@ -30,10 +30,13 @@
#:use-module (gnu packages check)
#:use-module (gnu packages gettext)
#:use-module (gnu packages perl)
#:use-module (gnu packages python-build)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (gnu packages)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix utils))
@@ -95,33 +98,28 @@
(define-public python-pylibacl
(package
(name "python-pylibacl")
(version "0.6.0")
(version "0.7.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pylibacl" version))
(sha256
(base32
"1zyrk2m20p5b6bdwxhrwib273i6i71zyr5hzssbxfqis5qra9848"))))
(build-system python-build-system)
(origin
(method url-fetch)
(uri (pypi-uri "pylibacl" version))
(sha256
(base32 "08pr5cbipij3j591bihh72r5h14lyrspy24qwmfjsn0c1rcgp7wx"))))
(build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-tests
(lambda* (#:key outputs inputs #:allow-other-keys)
;; These tests operate on real files, but our tmpfs does not support
;; ACLs.
(substitute* "tests/test_acls.py"
(("( *)def test_applyto(_extended(_mixed)?)?" match indent)
(string-append indent "@pytest.mark.skip(reason=\"guix\")\n"
match)))))
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "tests")))))))
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-tests
(lambda* (#:key outputs inputs #:allow-other-keys)
;; These tests operate on real files, but our tmpfs does not support
;; ACLs.
(substitute* "tests/test_acls.py"
(("( *)def test_applyto(_extended(_mixed)?)?" match indent)
(string-append indent "@pytest.mark.skip(reason=\"guix\")\n"
match))))))))
(inputs (list acl))
(native-inputs (list python-pytest))
(native-inputs (list python-pytest python-setuptools))
(home-page "https://pylibacl.k1024.org/")
(synopsis "POSIX.1e @acronym{ACLs, access control lists} for Python")
(description

View File

@@ -605,15 +605,35 @@ interface and is based on GNU Guile.")
(base32
"1mh080060lnycys8yq6kkiy363wif8dsip3nyklgd3a1r22wb274"))))
(arguments
(substitute-keyword-arguments (package-arguments shepherd-0.10)
((#:configure-flags flags #~'())
#~(list "--localstatedir=/var"
;; Gzip and zstd are used by the log rotation service.
(string-append "--with-gzip=" #$(this-package-input "gzip")
"/bin/gzip")
(string-append "--with-zstd=" #$(this-package-input "zstd")
"/bin/zstd")))))
(list
#:configure-flags
#~(list "--localstatedir=/var"
;; Gzip and zstd are used by the log rotation service.
(string-append "--with-gzip=" #$(this-package-input "gzip")
"/bin/gzip")
(string-append "--with-zstd=" #$(this-package-input "zstd")
"/bin/zstd"))
#:make-flags #~'("GUILE_AUTO_COMPILE=0")
#:phases (if (%current-target-system)
#~(modify-phases %standard-phases
(add-before 'configure 'set-fibers-directory
(lambda* (#:key inputs #:allow-other-keys)
;; When cross-compiling, refer to the target
;; Fibers, not the native one.
(let ((fibers
(search-input-file
inputs
"share/guile/site/3.0/fibers.scm"))
(fibers-go
(search-input-file
inputs
"lib/guile/3.0/site-ccache/fibers.go")))
(substitute* '("herd.in" "shepherd.in")
(("%FIBERS_SOURCE_DIRECTORY%")
(dirname fibers))
(("%FIBERS_OBJECT_DIRECTORY%")
(dirname fibers-go)))))))
#~%standard-phases)))
(native-inputs
(modify-inputs (package-native-inputs shepherd-0.10)
(replace "guile-fibers"
@@ -3353,7 +3373,17 @@ provides the following commands:
(uri (pypi-uri "ansible" version))
(sha256
(base32 "0apj783acx4jzkf3bnibn4y5jc6jd8ly7l0rdqq8f1jpgxal933x"))))
(build-system python-build-system)
(build-system pyproject-build-system)
(arguments
(list
;; XXX: All tests errored with:
;; from ...common.utils import (
;; E ImportError: attempted relative import with no known parent package
;;
;; tests: 17 skipped, 1 warning, 1132 errors
#:tests? #f))
(native-inputs
(list python-setuptools))
(propagated-inputs (list ansible-core))
;; The Ansible collections are found by ansible-core via the Python search
;; path; the following search path ensures that they are found even when

View File

@@ -300,6 +300,38 @@ barcodes of the modern ECC200 variety. libdmtx is a shared library, allowing
C/C++ programs to use its capabilities without restrictions or overhead.")
(license license:bsd-3)))
(define-public dmtx-utils
(package
(name "dmtx-utils")
(version "0.7.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dmtx/dmtx-utils/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
"06m3qncqdlcnmw83n95yrx2alaq6bld320ax26z4ndnla41yk0p4")))
(build-system gnu-build-system)
(native-inputs (list autoconf automake libtool pkg-config))
(inputs (list libdmtx imagemagick libjpeg-turbo))
(home-page "https://github.com/dmtx/dmtx-utils/")
(synopsis "Utilities for working with Data Matrix barcodes")
(description
"libdmtx is a software library that enables programs to read and write Data
Matrix barcodes of the modern ECC200 variety. This package, dmtx-utils,
provides command line utilities that allow scripts and command line users to
use libdmtx functionality.
This package includes the following programs:
@enumerate
@item @code{dmtxquery}: Extract information from dmtxread output.
@item @code{dmtxread}: Scan Data Matrix barcodes.
@item @code{dmtxwrite}: Create Data Matrix barcodes.
@end enumerate")
(license (list license:lgpl2.1 license:gpl2))))
;; XXX: qt variant utils are broken: zbarcam-qt fails with segmentation fault.
(define-public zbar
(package

View File

@@ -498,25 +498,20 @@ or text interfaces) or as a C++ library.")
(define-public flint
(package
(name "flint")
(version "3.2.1")
(version "3.4.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://flintlib.org/download/flint-"
version ".tar.gz"))
(sha256
(base32 "0gyjbkhwrmx2vgb1gailnmmzacl4aikzgi70dzmpf8lpfxny8yya"))))
(base32 "0csa8n7d4l3mh892q36nhiv1r7bkb168vszz79p95bfy0jc6g5wl"))))
(build-system gnu-build-system)
(inputs
(list ntl))
(propagated-inputs
(list gmp mpfr)) ; header files included by flint.h or mpfr_mat.h
(arguments
;; Parallel tests failed in the past on ARM, this may need to be
;; tested again.
`(#:parallel-tests? #f
;; Prevent build machine specifics from ending up in the binary.
#:configure-flags '("--disable-assembly")))
'(#:configure-flags '("--disable-assembly")))
(synopsis "Fast library for number theory")
(description
"FLINT is a C library for number theory. It supports arithmetic
@@ -534,6 +529,18 @@ fast arithmetic.")
(properties
'((release-monitoring-url . "http://flintlib.org/downloads.html")))))
(define-public flint-3.3
(package
(inherit flint)
(version "3.3.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://flintlib.org/download/flint-"
version ".tar.gz"))
(sha256
(base32 "1yzasdcv90f6w926p9g92cli2daxvb0mh2s1w1qskkvn618hxmv4"))))))
(define-public python-flint
(package
(name "python-flint")
@@ -558,7 +565,7 @@ fast arithmetic.")
python-pytest))
(inputs
(list gmp
flint))
flint-3.3))
(propagated-inputs
(list python-numpy))
(home-page "https://fredrikj.net/python-flint/")
@@ -620,7 +627,7 @@ matrices, and polynomials over the integers and over finite fields.")
(define-public singular
(package
(name "singular")
(version "4.4.1")
(version "4.4.1p5")
(source
(origin
(method url-fetch)
@@ -636,7 +643,7 @@ matrices, and polynomials over the integers and over finite fields.")
"/singular-" version ".tar.gz"))
(sha256
(base32
"16xlhar1krlskh9gxbw1gw4qi8248c95w71vzxdw72avs2pblkva"))))
"1pwygpmhf4sddf1v5x5fr1kbbkb29wlfd5yyj7lryvhbs45s9rdw"))))
(build-system gnu-build-system)
(arguments
(list

View File

@@ -1306,50 +1306,58 @@ emulator inside the comfort of Emacs.")
(package
(name "enjarify")
(version "1.0.3")
(home-page "https://github.com/Storyyeller/enjarify")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit version)))
(file-name (git-file-name name version))
(patches
(search-patches "enjarify-setup-py.patch"))
(sha256
(base32
"1nam7h1g4f1h6jla4qcjjagnyvd24dv6d5445w04q8hx07nxdapk"))))
(build-system python-build-system)
(method git-fetch)
(uri (git-reference
(url "https://github.com/Storyyeller/enjarify")
(commit version)))
(file-name (git-file-name name version))
(patches
(search-patches "enjarify-setup-py.patch"))
(sha256
(base32 "1nam7h1g4f1h6jla4qcjjagnyvd24dv6d5445w04q8hx07nxdapk"))))
(build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'fixup-expected-test-results
;; Upstream adjusted this test in commit:
;; 3ae884a6485af82d300515813f537685b08dd800
(lambda _
(substitute* "tests/test2/expected.txt"
(("^20") "0"))
#t))
(add-before 'check 'drop-java-xss-argument
;; Upstream removed this argument in order to support 32-bit
;; architectures. commit: 4be0111d879aa95fdc0d9f24fe529f8c664d4093
(lambda _
(substitute* "enjarify/runtests.py"
(("java -Xss515m") "java "))
#t))
(add-after 'install 'install-enjarify-wrapper
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin/"))
(copy-file "enjarify.sh" (string-append out "/bin/enjarify"))
#t))))))
(native-inputs (list openjdk12))
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'fix-tests
(lambda _
(substitute* "enjarify/runtests.py"
(("from \\.main") "from enjarify.main")
(("from \\.jvm") "from enjarify.jvm"))
;; Upstream adjusted this test in commit:
;; 3ae884a6485af82d300515813f537685b08dd800
(substitute* "tests/test2/expected.txt"
(("^20") "0"))
;; Upstream removed this argument in order to support 32-bit
;; architectures. commit:
;; 4be0111d879aa95fdc0d9f24fe529f8c664d4093
(substitute* "enjarify/runtests.py"
(("java -Xss515m") "java "))))
(add-after 'install 'install-enjarify-wrapper
(lambda _
(let ((bin (string-append #$output "/bin")))
(install-file "enjarify.sh" bin)
(symlink (string-append bin "/enjarify.sh")
(string-append bin "/enjarify")))))
(replace 'check
(lambda* (#:key tests? test-flags #:allow-other-keys)
(when tests?
(invoke "python" "-m" "enjarify.runtests")))))))
(native-inputs
(list openjdk12
python-setuptools))
(home-page "https://github.com/Storyyeller/enjarify")
(synopsis "Translate Dalvik bytecode to equivalent Java bytecode")
(description "Android applications are Java programs that run on a
customized virtual machine, which is part of the Android operating system, the
Dalvik VM. Their bytecode differs from the bytecode of normal Java
applications. Enjarify can translate the Dalvik bytecode back to equivalent
Java bytecode, which simplifies the analysis of Android applications.")
(description
"Android applications are Java programs that run on a customized virtual
machine, which is part of the Android operating system, the Dalvik VM. Their
bytecode differs from the bytecode of normal Java applications. Enjarify can
translate the Dalvik bytecode back to equivalent Java bytecode, which
simplifies the analysis of Android applications. It's an alternative fork of
not maintained Goole's project https://github.com/google/enjarify.")
(license license:asl2.0)))
(define-public android-file-transfer

View File

@@ -5043,6 +5043,9 @@ astronomy-specific functionality")
(sha256
(base32 "062l4bhh1dvsazrlnjc4kr3qj9g3s8qmcs0kqb1libiimy6rdbkk"))))
(build-system pyproject-build-system)
(arguments
;; XXX: This test is flaky, it can fail if the CI system is slow.
(list #:test-flags #~(list "-k" "not test_combine_slices_hypot")))
(native-inputs
(list python-pytest
python-pytest-mpl

View File

@@ -1224,7 +1224,7 @@ engineers, musicians, soundtrack editors and composers.")
(define-public audacity
(package
(name "audacity")
(version "3.7.4")
(version "3.7.7")
(source
(origin
(method git-fetch)
@@ -1233,7 +1233,7 @@ engineers, musicians, soundtrack editors and composers.")
(commit (string-append "Audacity-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "184hak52p00qid0i581gky7076fl5rjxwqly0fw7ix8yi6j8li4h"))
(base32 "0h2xdhbx6bjhlk2mxqalpbpzjcdj0sb8wf1rp3vj0fbgvxy1y92k"))
(patches (search-patches "audacity-ffmpeg-fallback.patch"))
(modules '((guix build utils)))
(snippet
@@ -4654,21 +4654,21 @@ tempo and pitch of an audio recording independently of one another.")
(define-public rtmidi
(package
(name "rtmidi")
(version "5.0.0")
(version "6.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.music.mcgill.ca/~gary/rtmidi"
(uri (string-append "https://caml.music.mcgill.ca/~gary/rtmidi"
"/release/rtmidi-" version ".tar.gz"))
(file-name (string-append "rtmidi-" version ".tar.gz"))
(sha256
(base32
"1ff2yfq3k4l209fr71v3w98fpjjv1chs09vkbmxj03lcikahxns8"))))
"0nyvck6qlncbfpplgxspjk77fmi05w78ik0cf8039hj29gvcqq2r"))))
(build-system gnu-build-system)
(inputs
(list alsa-lib jack-2))
(native-inputs
(list autoconf automake libtool pkg-config))
(home-page "https://www.music.mcgill.ca/~gary/rtmidi")
(home-page "https://caml.music.mcgill.ca/~gary/rtmidi")
(synopsis "Cross-platform MIDI library for C++")
(description
"RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific
@@ -6194,6 +6194,41 @@ the following features:
")
(license license:lgpl3+)))
(define-public normalize
(package
(name "normalize")
(version "0.7.7")
(source
(origin
(method url-fetch)
(uri (string-append
"http://download.savannah.gnu.org/releases/normalize/normalize-"
version ".tar.gz"))
(sha256
(base32 "1n5khss10vjjp6w69q9qcl4kqfkd0pr555lgqghrchn6rjms4mb0"))))
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-shell-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "test/Makefile.in"
(("/bin/sh")
(search-input-file inputs "/bin/sh"))))))))
(inputs (list libmad))
(home-page "https://normalize.nongnu.org/")
(synopsis "Audio track volume normalizer")
(description
"@code{normalize} is an audio track normalizer.
For a collection of tracks with varying volumes, it is able to
make the loudness consistent between them. This is helpful
when making mixtapes, for example.
It can work with WAV and MP3 files.")
(license license:gpl2)))
(define-public lv2-speech-denoiser
(let ((commit "04cfba929630404f8d4f4ca5bac8d9b09a99152f")
(revision "1"))

View File

@@ -574,13 +574,13 @@ rsnapshot uses hard links to deduplicate identical files.")
(define-public borg
(package
(name "borg")
(version "1.4.1")
(version "1.4.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "borgbackup" version))
(sha256
(base32 "0f9qj05i02aj17lhk97fqyknb1jx3h9xr8d569mhp44xq7qziyxq"))
(base32 "07s4jqcv03s98hi6lvqpvmnnhl532qnvv11mjy2xc08rbmsgmfvr"))
(snippet
#~(begin
;; Delete files generated by Cython. We used to have a regex that
@@ -1209,39 +1209,42 @@ compression parameters used by Gzip.")
(define-public borgmatic
(package
(name "borgmatic")
(version "2.0.7")
(version "2.0.13")
(source
(origin
(method url-fetch)
(uri (pypi-uri "borgmatic" version))
;; 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")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "01l44ny2zyn7x1hhbvhhhwr12jipcjxl3j1cz13kf6c3bdfwms8y"))))
(base32
"05w3j4knhsg4w0a0yrz8c7lvz3vp3nf95ddmql9i8mqknjqddm1v"))))
(build-system pyproject-build-system)
(arguments
(list
;; XXX: all tests fail with error: AttributeError: module
;; '_pytest.runner' has no attribute 'call_runtest_hook'.
#:tests? #f
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'configure
(lambda* (#:key inputs #:allow-other-keys)
;; Set absolute store path to borg.
(substitute* "borgmatic/commands/borgmatic.py"
(("\\.get\\('local_path', 'borg'\\)")
(string-append ".get('local_path', '"
(search-input-file inputs "bin/borg")
"')")))
(substitute* "tests/unit/commands/test_borgmatic.py"
(("(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"))))))))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'configure
(lambda* (#:key inputs #:allow-other-keys)
;; Set absolute store path to borg.
(substitute* "borgmatic/commands/borgmatic.py"
(("\\.get\\('local_path', 'borg'\\)")
(string-append ".get('local_path', '"
(search-input-file inputs "bin/borg")
"')")))
(substitute* "tests/unit/commands/test_borgmatic.py"
(("(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
@@ -1266,7 +1269,7 @@ borgmatic is powered by borg.")
(define-public vorta
(package
(name "vorta")
(version "0.10.3")
(version "0.11.1")
;; The test folder is not included in the PyPI archive.
(source (origin
(method git-fetch)
@@ -1276,7 +1279,7 @@ borgmatic is powered by borg.")
(file-name (git-file-name name version))
(sha256
(base32
"0b4042a0lpbmwlmbh5559b2x9vr2055w6jjrs7088n45d7rkn4sn"))))
"16r9ch80i6nfngah634id16fqnmn62ayh60j62zxn5cfivcn3wsq"))))
(build-system pyproject-build-system)
(arguments
(list

View File

@@ -6104,7 +6104,7 @@ UCSC genome browser.")
(define-public tetoolkit
(package
(name "tetoolkit")
(version "2.2.1b")
(version "2.2.3")
(source
(origin
(method git-fetch)
@@ -6113,10 +6113,11 @@ UCSC genome browser.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1m3xsydakhdan9gp9mfdz7llka5g6ak91d0mbl1cmmxq9qs6an4y"))))
(base32 "1jgwnm1kmj2mgvc3gib6d73rvyy3l54icjcj2gw0p1ay6kqkzs0p"))))
(build-system pyproject-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
`(#:tests? #f ;no tests
#:phases (modify-phases %standard-phases
(add-after 'unpack 'adjust-requirements
(lambda _
(substitute* "setup.py"
@@ -6163,7 +6164,7 @@ UCSC genome browser.")
python-pysam
r-minimal
r-deseq2))
(native-inputs (list python-setuptools python-wheel))
(native-inputs (list python-setuptools))
(home-page "https://github.com/mhammell-laboratory/TEtranscripts")
(synopsis "Transposable elements in differential enrichment analysis")
(description
@@ -18686,25 +18687,36 @@ cases include:
(define-public python-mappy
(package
(name "python-mappy")
(version "2.24")
(source (origin
(method url-fetch)
(uri (pypi-uri "mappy" version))
(sha256
(base32
"1ycszza87p9qvx8mis9v1hry0ac465x1xcxbsn1k45qlxxrzp8im"))))
(build-system python-build-system)
(native-inputs
(list python-cython))
(inputs
(list zlib))
(home-page "https://github.com/lh3/minimap2")
(synopsis "Python binding for minimap2")
(description "This package provides a convenient interface to minimap2,
(name "python-mappy")
(version "2.24")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lh3/minimap2")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0k658659ivxk2xnyawrfqdhcji6a3xcqdr5a9r5myzb2ivypnjmh"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-backend #~'custom
#:test-flags
#~(list "-c" (string-append "import mappy;"
" print(mappy.revcomp("
"mappy.Aligner('test/MT-human.fa')"
".seq('MT_human', 100, 200)))"))))
(native-inputs
(list python-cython python-setuptools))
(inputs
(list zlib))
(home-page "https://github.com/lh3/minimap2")
(synopsis "Python binding for minimap2")
(description "This package provides a convenient interface to minimap2,
a fast and accurate C program to align genomic and transcribe nucleotide
sequences.")
(license license:expat)))
(license license:expat)))
(define-public miniasm
(package
@@ -20100,7 +20112,7 @@ allowing the insertion of arbitrary types into the tree.")
(define-public python-pypairix
(package
(name "python-pypairix")
(version "0.3.8")
(version "0.3.9")
;; The tarball on pypi does not include the makefile to build the
;; programs.
(source
@@ -20113,7 +20125,7 @@ allowing the insertion of arbitrary types into the tree.")
(sha256
(base32
"1jlxj3xa67q1i58pmbi6imhvl6f5w9m5qxv0xd45ba86mp8mnmvz"))))
(build-system python-build-system)
(build-system pyproject-build-system)
(arguments
(list
#:phases
@@ -20129,6 +20141,9 @@ allowing the insertion of arbitrary types into the tree.")
(add-after 'install 'install-programs
(lambda _
(copy-recursively "bin" (string-append #$output "/bin")))))))
(native-inputs
(list python-pytest
python-setuptools))
(inputs
(list zlib))
(home-page "https://github.com/4dn-dcic/pairix")
@@ -23902,7 +23917,9 @@ instruments, or Pacific Biosciences RSII or Sequel sequencers.")
(sha256
(base32
"1z1gy8n56lhriy6hdkh9r82ndikndipq2cy2wh8q185qig4rimr6"))))
(build-system python-build-system)
(build-system pyproject-build-system)
(native-inputs (list python-setuptools))
(arguments (list #:tests? #f)) ;No tests on either PyPI or Git.
(inputs
(list curl zlib))
(propagated-inputs

View File

@@ -226,7 +226,7 @@ of the Transmission BitTorrent client, using its HTTP RPC protocol.")
(define-public stig
(package
(name "stig")
(version "0.14.0a0")
(version "0.14.1a0")
(source
(origin
(method git-fetch)
@@ -235,7 +235,18 @@ of the Transmission BitTorrent client, using its HTTP RPC protocol.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1jfcgncva94pyzjifar1l6wlmb7aylg0l4fxljc83rkbj1a2aan0"))))
(base32 "0196brcasdyn0mx3h2cqlgrx8x9fyv2n7bmx13nj58vnf3y4c1hg"))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;tests require network access
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'loosen-version-restrictions
(lambda _
(substitute* "setup.py"
(("urwidtrees==1.0.3")
"urwidtrees>=1.0.3")))))))
(propagated-inputs
(list python-urwid
python-urwidtrees
@@ -246,20 +257,12 @@ of the Transmission BitTorrent client, using its HTTP RPC protocol.")
python-natsort
python-async-timeout
python-setproctitle))
(arguments
(list
#:tests? #f ;tests require network access
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'loosen-version-restrictions
(lambda _
(substitute* "setup.py"
(("urwidtrees==1.0.3") "urwidtrees>=1.0.3")))))))
(inputs (list python))
(build-system python-build-system)
(native-inputs (list python-setuptools))
(synopsis "TUI and CLI for the BitTorrent client Transmission")
(description
"Stig is a @acronym{TUI, Text User Interface} and @acronym{CLI, Command Line
Interface} client for the BitTorrent client Transmission.")
"Stig is a @acronym{TUI, Text User Interface} and @acronym{CLI, Command
Line Interface} client for the BitTorrent client Transmission.")
(home-page "https://github.com/rndusr/stig")
(license l:gpl3)))
@@ -537,20 +540,6 @@ focusing on efficiency and scalability. It runs on embedded devices as well as
desktops.")
(license l:bsd-2)))
(define-public libtorrent-rasterbar-1.2
(package
(inherit libtorrent-rasterbar)
(version "1.2.20")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/arvidn/libtorrent/"
"releases/download/v" version "/"
"libtorrent-rasterbar-" version ".tar.gz"))
(sha256
(base32 "1z5rdynzxcm6wb7v48ssfbwjairbjacb8rjix5fn70fw4668xgyc"))))))
(define-public qbittorrent
(package
(name "qbittorrent")

View File

@@ -159,9 +159,6 @@ core computer science concepts such as abstraction in programming,
metalinguistic abstraction, recursion, interpreters, and modular programming.")
(license license:cc-by-sa4.0))))
;; It may be removed after 2025-12-19.
(define-deprecated/public-alias sicp book-sicp)
(define-public book-sparc
(package
(name "book-sparc")
@@ -338,7 +335,7 @@ parallel study, and original language study.")
(define-public book-emacs-lisp-elements
(package
(name "book-emacs-lisp-elements")
(version "1.0.0")
(version "2.0.0")
(source
(origin
(method git-fetch)
@@ -347,7 +344,7 @@ parallel study, and original language study.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1fwbj2hrb33blknxd3qrm7jjs2ixrbyc77788i37qvn6v1y741ry"))))
(base32 "0w3jxgkynq37rn7c17pnricykqf3gmq4crsvkz2j2g3hc0ydf6qp"))))
(build-system emacs-build-system)
(arguments
(list
@@ -361,8 +358,8 @@ parallel study, and original language study.")
(home-page "https://protesilaos.com/emacs/emacs-lisp-elements")
(synopsis "Overview of the Emacs Lisp programming language")
(description
"Emacs Lisp Elements is a book written by Protesilaos Stavrou, providing a big
picture view of the @acronym{Elisp, Emacs Lisp} programming language by
"Emacs Lisp Elements is a book written by Protesilaos Stavrou, providing
a big picture view of the @acronym{Elisp, Emacs Lisp} programming language by
combining prose with code. This book aims to provide an idea of how Elisp
works by showing some of the main concepts and patterns encountered in
everyday Elisp code.

View File

@@ -2,6 +2,7 @@
;;; Copyright © 2022 Christopher Rodriguez <yewscion@gmail.com>
;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2025 Lee Thompson <lee.p.thomp@gmail.com>
;;; © 2025 case_lambda <case_lambda@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,77 +37,71 @@
#:use-module (gnu packages compression))
(define-public dbqn
(let ((commit "88f2b43966a75cc2c382421218eb30003bb16f4a")
(revision "1"))
(package
(name "dbqn")
(version (git-version "0.2.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dzaima/BQN")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"06mzvv7kmandhgwb6jwz3rivsj4ic549sy8afnb5zr6mfn5isyg5"))))
(build-system gnu-build-system)
(arguments
(list
#:imported-modules `(,@%default-gnu-imported-modules
(guix build ant-build-system))
#:modules `((guix build gnu-build-system)
((guix build ant-build-system)
#:prefix ant:)
(guix build utils))
#:phases #~(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* _
(invoke "./build")
(chmod "./BQN" #o755)))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(system "./BQN ./test/test"))))
(add-after 'install 'reorder-jar-content
(lambda* (#:key outputs #:allow-other-keys)
(apply (assoc-ref ant:%standard-phases
'reorder-jar-content)
#:outputs (list outputs))))
(add-after 'reorder-jar-content 'jar-indices
(lambda* (#:key outputs #:allow-other-keys)
(apply (assoc-ref ant:%standard-phases
'generate-jar-indices)
#:outputs (list outputs))))
(add-after 'jar-indices 'fix-jar-timestamps
(lambda* (#:key outputs #:allow-other-keys)
(apply (assoc-ref ant:%standard-phases
'reorder-jar-content)
#:outputs (list outputs))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(dest-bin (string-append out "/bin"))
(dest-jar (string-append out "/share/java")))
(mkdir-p dest-bin)
(mkdir-p dest-jar)
(rename-file "BQN" "dbqn")
(install-file "dbqn" dest-bin)
(install-file "BQN.jar" dest-jar)
(substitute* (string-append dest-bin "/dbqn")
(("BQN.jar")
(string-append dest-jar "/BQN.jar")))))))))
(native-inputs (list `(,icedtea-8 "jdk") zip))
(inputs (list icedtea-8 bash-minimal))
(synopsis "BQN implementation based on dzaima/APL")
(description
"dbqn is a Java implementation of the
(package
(name "dbqn")
(version "0.2.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dzaima/BQN")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1zy3y9wbmaw0mrd2sp7d1r912gvs9k0mzw5d3drgmbzkbvpd6iq1"))))
(build-system gnu-build-system)
(arguments
(list
#:imported-modules `((guix build ant-build-system)
,@%default-gnu-imported-modules)
#:modules '((guix build gnu-build-system)
((guix build ant-build-system)
#:prefix ant:)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda _
(invoke "./build")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(if tests?
(invoke "./BQN" "./test/test")
(begin
(display "test suite not run")
(newline)))))
(add-after 'install 'reorder-jar-content
(assoc-ref ant:%standard-phases
'reorder-jar-content))
(add-after 'reorder-jar-content 'generate-jar-indices
(assoc-ref ant:%standard-phases
'generate-jar-indices))
(add-after 'generate-jar-indices 'strip-jar-timestamps
(assoc-ref ant:%standard-phases
'strip-jar-timestamps))
(replace 'install
(lambda* (#:key inputs #:allow-other-keys)
(let ((dest-jar (string-append #$output "/share/java")))
(rename-file "BQN" "dbqn")
(substitute* "dbqn"
(("java")
(search-input-file inputs "/bin/java"))
(("BQN.jar")
(string-append dest-jar "/BQN.jar")))
(install-file "BQN.jar" dest-jar)
(install-file "dbqn"
(string-append #$output "/bin"))))))))
(native-inputs (list `(,icedtea-8 "jdk") zip))
(inputs (list bash-minimal icedtea-8))
(synopsis "BQN implementation based on dzaima/APL")
(description
"dbqn is a Java implementation of the
@uref{https://mlochbaum.github.io/BQN/, BQN programming language} that does
not need to be bootstrapped, based on an earlier Java implementation of APL by
the same author.")
(home-page "https://github.com/dzaima/BQN")
(license license:expat))))
(home-page "https://github.com/dzaima/BQN")
(license license:expat)))
(define bqn-sources
;; Aside from dbqn above, the main bqn repository is used by other

View File

@@ -21,6 +21,7 @@
;;; Copyright © 2022, 2023 Juliana Sims <juli@incana.org>
;;; Copyright © 2024 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Anderson Torres <anderson.torres.8519@gmail.com>
;;; Copyright © 2025 Aiden Isik <aidenisik+git@member.fsf.org>
;;; Copyright © 2025 Josep Bigorra <jjbigorra@gmail.com>
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
@@ -99,6 +100,40 @@
#:use-module (gnu packages version-control)
#:use-module (gnu packages xml))
(define-public acr
(package
(name "acr")
(version "2.2.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/acr")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1qd7p50b9gkh2ihf7gs6xpdkb5jk8frg90ajqlw1pbza8735f9q1"))
(snippet
#~(begin
(delete-file "configure")))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; No tests
#:phases
#~(modify-phases %standard-phases
(delete 'bootstrap)
(add-after 'patch-source-shebangs 'bootstrap-after-patch-source-shebangs
(assoc-ref %standard-phases 'bootstrap)))))
(synopsis "Autoconf replacement written in pure Bash")
(description
"@acronym{ACR, Autoconf Replacement} tries to replace autoconf
functionality generating a full-compatible configure script, but relying on
Bourne shell script instead of m4.")
(home-page "https://github.com/radareorg/acr")
(license license:gpl2)))
(define-public bam
(package
(name "bam")

View File

@@ -51,6 +51,7 @@
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix store)
#:use-module (gnu packages)
@@ -72,6 +73,7 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pcre)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages autotools)
#:use-module (gnu packages gettext)
@@ -466,23 +468,26 @@ language as input.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1rihvlg11nzk70kfzz4i3gi5izcy46w05ismcx04p5j1hlim0brb"))))
(build-system python-build-system)
(base32 "1rihvlg11nzk70kfzz4i3gi5izcy46w05ismcx04p5j1hlim0brb"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'unbundle-ply
(lambda _
(rmdir "pcpp/ply")
(substitute* "setup.py"
(("'pcpp/ply/ply'") "")))))))
(native-inputs (list python-pytest))
#:test-backend #~'unittest
#:test-flags #~(list "discover" "-s" "tests" "-p" "*.py")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'unbundle-ply
(lambda _
(rmdir "pcpp/ply")
(substitute* "setup.py"
(("'pcpp/ply/ply'")
"")))))))
(native-inputs (list python-setuptools))
(propagated-inputs (list python-ply))
(home-page "https://github.com/ned14/pcpp")
(synopsis "C99 preprocessor written in Python")
(description "This package provides a C99 preprocessor written in pure
Python.")
(description
"This package provides a C99 preprocessor written in pure Python.")
(license license:bsd-3)))
(define-public aml

View File

@@ -832,7 +832,20 @@ format.")
(build-system cmake-build-system)
(arguments
'(#:parallel-tests? #f
#:configure-flags '("-DBUILD_TESTS=ON")))
#:configure-flags '("-DBUILD_TESTS=ON"
"-DUSE_BUNDLED_TINYXML2=OFF")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-testcondition-test
(lambda _
(substitute* "test/testcondition.cpp"
(("test.cpp:4\\] -> \\[test.cpp:6")
"test.cpp:4:25] -> [test.cpp:6:18")
(("test.cpp:3\\] -> \\[test.cpp:5(.*false)"_ rest)
(string-append "test.cpp:3:22] -> [test.cpp:5:22" rest
" [knownConditionTrueFalse]"))))))))
(inputs
(list tinyxml2))
(home-page "https://cppcheck.sourceforge.io")
(synopsis "Static C/C++ code analyzer")
(description "Cppcheck is a static code analyzer for C and C++. Unlike
@@ -3152,57 +3165,6 @@ non-technical or business participants in a software project. Behave uses
tests written in a natural language style, backed up by Python code.")
(license license:x11)))
(define-public python-behave-web-api
(package
(name "python-behave-web-api")
(version "2.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "behave-web-api" version))
(sha256
(base32
"04p5sp6wck3mafj634w1fpvfhxm170l5q3hfb9d06pi71ql606n6"))))
(build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-dependencies
(lambda _
(substitute* "setup.py"
(("'wheel'") "") ; We don't use it.
(("'ordereddict==1.1'") "")) ; Python >= 2.7 has it built-in.
#t)))))
(native-inputs
(list python-pytest
python-setuptools
python-wheel))
(propagated-inputs
(list behave python-requests))
(home-page "https://github.com/jefersondaniel/behave-web-api")
(synopsis "Provides testing for JSON APIs with Behave for Python")
(description "This package provides testing utility modules for testing
JSON APIs with Behave.")
(license license:expat)))
(define-public python-nose-timer
(package
(name "python-nose-timer")
(version "0.7.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "nose-timer" version))
(sha256
(base32 "05wzkc88vbzw62pqkvhl33211b90kns0lny70b7qw62rcg4flzk4"))))
(build-system python-build-system)
(propagated-inputs
(list python-nose python-termcolor))
(home-page "https://github.com/mahmoudimus/nose-timer")
(synopsis "Timer plugin for nosetests")
(description "Shows how much time was needed to run individual tests.")
(license license:expat)))
(define-public python-freezegun
(package
(name "python-freezegun")
@@ -3774,28 +3736,6 @@ system. The code under test requires no modification to work with pyfakefs.")
asynchronous code in Python (asyncio).")
(license license:expat)))
(define-public python-pytest-dependency
(package
(name "python-pytest-dependency")
(version "0.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-dependency" version))
(sha256
(base32
"0swl3mxca7nnjbb5grfzrm3fa2750h9vjsha0f2kyrljc6895a62"))))
(build-system python-build-system)
(propagated-inputs
(list python-pytest))
(home-page
"https://github.com/RKrahl/pytest-dependency")
(synopsis "Manage dependencies of tests")
(description "This pytest plugin manages dependencies of tests. It allows
to mark some tests as dependent from other tests. These tests will then be
skipped if any of the dependencies did fail or has been skipped.")
(license license:asl2.0)))
(define-public python-pytest-datadir
(package
(name "python-pytest-datadir")

View File

@@ -46,6 +46,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system emacs)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
#:use-module (gnu packages)
@@ -460,14 +461,40 @@ and workspaces that can be used in the compiler environment of your choice.")
(uri (pypi-uri "cmakelang" version))
(sha256
(base32 "0zz6g1ignqanl4ja9f5nrlk5f3mvv7cp5y9yswjd0m06n23jx603"))))
(build-system python-build-system)
(arguments (list #:tests? #f ;no test data in pypi archive
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'adjust-setup.py
(lambda _
(substitute* "setup.py"
(("cmakelang/doc/README.rst")
"README.rst")))))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;no test data in pypi archive
#:modules '((guix build pyproject-build-system)
(guix build utils)
(ice-9 textual-ports))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'adjust-setup.py
(lambda _
(substitute* "setup.py"
(("cmakelang/doc/README.rst")
"README.rst"))
;; XXX: setup.py has multiple setup() calls, breaking the 'build
;; phase ; in this case the package is wrong, but conveniently
;; our goal is the first setup() call, so discard what comes from
;; the second one.
(rename-file "setup.py" "setup.py.bak")
(call-with-input-file "setup.py.bak"
(lambda (in)
(call-with-output-file "setup.py"
(lambda (out)
(let loop ((line (get-line in))
(setup-seen #f))
(unless (or (eof-object? line)
(and (string-prefix? "setup(" line)
setup-seen))
(display line out)
(newline out)
(loop (get-line in)
(or setup-seen
(string-prefix? "setup(" line))))))))))))))
(native-inputs (list python-setuptools))
(inputs (list python-jinja2 python-pyyaml python-six))
(home-page "https://github.com/cheshirekow/cmake_format/")
(synopsis "Language tools for CMake (format, lint, etc.)")

View File

@@ -9,6 +9,7 @@
;;; Copyright © 2024 Foundation Devices, Inc. <hello@foundation.xyz>
;;; Copyright © 2024 Jean-Pierre De Jesus DIAZ <jean@foundation.xyz>
;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz>
;;; Copyright © 2025 Foster Hangdaan <foster@hangdaan.email>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -702,22 +703,33 @@ To get @code{podman machine} working, install @code{qemu-minimal}, and
(define-public podman-compose
(package
(name "podman-compose")
(version "1.2.0")
(version "1.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/containers/podman-compose")
(commit (string-append "v" version))))
(url "https://github.com/containers/podman-compose")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "06vm088q1x7j929n93ylq3bav716bqh6l79agj8sgzsqxjsmli73"))))
(base32 "08pz9axvgfyr0jd8rlndmhh8147s864mz17ng6qs07831g9ylj80"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags #~(list "pytests")))
(native-inputs (list python-pytest python-parameterized python-setuptools python-wheel))
(propagated-inputs (list python-dotenv python-pyyaml))
;; Only run tests in `tests/unit`, skipping the ones in
;; `tests/integration`. The integration tests need an environment with
;; the ability to manage containers and volumes using the `podman`
;; command.
;;
;; tests: 378 tests
#:test-backend #~'unittest
#:test-flags #~(list "discover" "tests/unit")))
(native-inputs
(list python-parameterized
python-setuptools))
(propagated-inputs
(list python-dotenv
python-pyyaml))
(home-page "https://github.com/containers/podman-compose")
(synopsis "Script to run docker-compose.yml using podman")
(description

View File

@@ -982,7 +982,7 @@ utilities used across the hypr* ecosystem.")
(define-public hyprlang
(package
(name "hyprlang")
(version "0.6.6")
(version "0.6.7")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -991,7 +991,7 @@ utilities used across the hypr* ecosystem.")
(file-name (git-file-name name version))
(sha256
(base32
"13lqlwrpcd3gs5xw51sj1zx2w7kvsywvgdal81dp841rpph91z00"))))
"0n64jq9jdabyx76sax0fb45jg92708488733c2m6zsf84r6nv2g7"))))
(build-system cmake-build-system)
(arguments
(list
@@ -2473,17 +2473,22 @@ of C++14 components that complements @code{std} and Boost.")
(build-system cmake-build-system)
(arguments
(list
#:configure-flags #~(list "-DENABLE_TESTS=ON")
#:configure-flags #~(list "-DENABLE_TESTS=ON" "-DENABLE_CRYPTO=ON"
"-DENABLE_NETSSL=ON")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-problematic-tests
(lambda _
(substitute* (list "Foundation/CMakeLists.txt" ; XXX: fails.
;; Require network access
;; Require network access.
"Net/CMakeLists.txt"
"MongoDB/CMakeLists.txt"
"Redis/CMakeLists.txt")
"Redis/CMakeLists.txt"
;; Requires network access and uses certificates
;; that will expire.
"NetSSL_OpenSSL/CMakeLists.txt")
(("ENABLE_TESTS") "FALSE")))))))
(inputs (list openssl))
(home-page "https://pocoproject.org/")
(synopsis "Portable C++ components")
(description "This package provides a collection of C++ libraries intended

View File

@@ -520,14 +520,14 @@ total number of shares generated.")
(define-public tomb
(package
(name "tomb")
(version "2.11")
(version "2.13")
(source
(origin
(method url-fetch)
(uri (string-append "https://files.dyne.org/tomb/releases/"
"Tomb-" version ".tar.gz"))
(sha256
(base32 "05f34yx91bn9fj7rkabgpzvkw4pa6bg2c1r8cnp72wwnx6bzj97m"))))
(base32 "1405kw0j8i1bqyqbim8530xf6hchpf57r9p1v92aknwyn5wgny0g"))))
(build-system gnu-build-system)
(arguments
(list

View File

@@ -67,6 +67,7 @@
;;; Copyright © 2025 Ashvith Shetty <ashvithshetty0010@zohomail.in>
;;; Copyright © 2025 Philippe Swartvagher <phil.swart@gmx.fr>
;;; Copyright © 2025 Simen Endsjø <contact@simendsjo.me>
;;; Copyright © 2025 bdunahu <bdunahu@operationnull.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -139,6 +140,7 @@
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages node)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages openstack)
#:use-module (gnu packages pantheon)
@@ -3713,24 +3715,29 @@ for many database kinds that tortoise-orm doesn't need, for example.")
(define-public python-asyncpg
(package
(name "python-asyncpg")
;; asyncpg 0.31.0 requires Cython(>=3.2.1,<4.0.0), got Cython==3.1.2
(version "0.30.0")
(source
(origin
;; git-fetch leads to errors like
;; ValueError: 'asyncpg/pgproto/pgproto.pyx' doesn't match any files
(method url-fetch)
(uri (pypi-uri "asyncpg" version))
(sha256
(base32 "0lf8xbrsb2ycpqx1vzlb05p48g5sh9zq24a8yh17cw5nia9fjlf5"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; raises ValueError("Invalid IPv6 URL") ; Maybe due to urllib?
#~(list "-k" "not TestConnectParams")))
(native-inputs
(list postgresql
python-cython
python-pytest
python-uvloop
python-distro
python-setuptools
python-wheel))
(propagated-inputs
(list python-async-timeout))
python-setuptools))
(home-page "https://github.com/MagicStack/asyncpg")
(synopsis "Fast PostgreSQL database client library for Python")
(description "@code{asyncpg} is a database interface library designed
@@ -4338,26 +4345,53 @@ framework.")
(define-public python-sqlalchemy-utils
(package
(name "python-sqlalchemy-utils")
(version "0.38.3")
(version "0.42.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "SQLAlchemy-Utils" version))
(sha256
(base32 "0k8z0mjhvdv302kn0nhci8b2dgw4cn2akprsf37ma1540ykgp6lz"))))
(build-system python-build-system)
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kvesteri/sqlalchemy-utils")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0ny1p352p0dlgrf9fnmzj7ld1rga5zj698qpla1kdaliwwh6xawn"))))
(build-system pyproject-build-system)
(arguments
'(#:tests? #f)) ; FIXME: Many tests require a running database server.
;; #:phases
;; (modify-phases %standard-phases
;; (replace 'check
;; (lambda _
;; (zero? (system* "py.test" "sqlalchemy_utils" "tests")))))
(propagated-inputs
(list python-six python-sqlalchemy))
(list
#:test-flags
;; XXX: These tests require additional inputs.
#~(list "--deselect=tests/test_views.py::TestMySqlTrivialView"
"--deselect=tests/functions/test_database.py::\
TestDatabasePostgresPg8000::test_create_and_drop"
"--deselect=tests/functions/test_database.py::\
TestDatabasePostgresPsycoPG2CFFI::test_create_and_drop")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'start-postgresql
(lambda* (#:key inputs tests? #:allow-other-keys)
(when tests?
(setenv "TZDIR" (search-input-directory inputs
"share/zoneinfo"))
(let ((dbdir (string-append (getcwd) "/../pgdir")))
(setenv "SQLALCHEMY_UTILS_TEST_POSTGRESQL_USER"
"nixbld")
(invoke "initdb" "-D" dbdir)
(invoke "pg_ctl" "-D" dbdir
"-o" (string-append "-k " dbdir)
"-l" (string-append dbdir "/db.log")
"start")
(invoke "psql" "-h" dbdir "-d" "postgres"
"-c" "CREATE DATABASE sqlalchemy_utils_test;"))))))))
(propagated-inputs (list python-six python-sqlalchemy))
(native-inputs
(list python-dateutil python-flexmock python-psycopg2 python-pytest
python-pytz))
(list postgresql
python-dateutil
python-flexmock
python-psycopg2
python-pytest
python-pytz
python-setuptools
tzdata-for-tests))
(home-page "https://github.com/kvesteri/sqlalchemy-utils")
(synopsis "Various utility functions for SQLAlchemy")
(description
@@ -4459,19 +4493,23 @@ SQLAlchemy Database Toolkit for Python.")
(package
(name "python-sqlite-fts4")
(version "1.0.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "sqlite-fts4" version))
(sha256
(base32
"034kx0ac556sywy1p4qcrc36l24w3q0xwswqv2z9s3k8yvm5xc3q"))))
(build-system python-build-system)
(native-inputs (list python-pytest))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/simonw/sqlite-fts4")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "05c69n4nrc9srkbih1q1wxlw6n9mb3dm7ysb47ipqjn3rp1aif11"))))
(build-system pyproject-build-system)
(native-inputs (list python-pytest python-setuptools))
(home-page "https://github.com/simonw/sqlite-fts4")
(synopsis "Python functions for working with SQLite FTS4 search")
(description "This package provides custom SQLite functions written
in Python for ranking documents indexed using the SQLite's FTS4 full
text search extension.")
(description
"This package provides custom SQLite functions written in Python for
ranking documents indexed using the SQLite's FTS4 full text search
extension.")
(license license:asl2.0)))
(define-public python-sqlite-utils
@@ -4621,14 +4659,33 @@ managers for automatically closing connections.")
(define-public python-databases
(package
(name "python-databases")
(version "0.7.0")
;; 0.9.0 needs sqlalchemy>=2.0.7
;; 0.8.0 needs sqlalchemy>=1.4.42,<1.5
(version "0.8.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "databases" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/encode/databases")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0x5nqhzgjqimv2ybjbzy5vv0l23g0n1g5f6fnyahbf1f7nfl2bga"))))
(build-system python-build-system)
(base32 "183yawn8w561y1ni117rf5zaxm4gqqbcmi9fp52xd5fx2dj8qy3v"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; These need TEST_DATABASE_URLS set.
;; TODO: Use "sqlite:///test.db"? See docs/contributing.md.
#~(list "--ignore=tests/test_databases.py"
"--ignore=tests/test_integration.py"
"--ignore=tests/test_connection_options.py")))
(native-inputs
(list python-httpx
python-psycopg
python-pytest
python-setuptools
python-starlette))
(propagated-inputs
(list python-aiosqlite
python-aiopg
@@ -4645,18 +4702,41 @@ libraries with SQLALchemy.")
(define-public python-psycopg2
(package
(name "python-psycopg2")
(version "2.9.6")
(version "2.9.11")
(source
(origin
(method url-fetch)
(uri (pypi-uri "psycopg2" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/psycopg/psycopg2")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "04chl9f7v7k1zssa40pmk06jvpyqiss2lpjq50dq69nqix0mhlgi"))))
(build-system python-build-system)
(base32 "04l2yzbl15nrw1pcjfkqycvqn6h9phcdh1xx9ynfy3dzfscq5ly5"))))
(build-system pyproject-build-system)
(arguments
;; Tests would require a postgresql database "psycopg2_test"
;; and a running postgresql database management service.
'(#:tests? #f)) ; TODO re-enable after providing a test-db.
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'start-postgresql
(lambda* (#:key inputs tests? #:allow-other-keys)
(when tests?
(setenv "TZDIR" (search-input-directory inputs
"share/zoneinfo"))
(let ((dbdir (string-append (getcwd) "/../pgdir")))
(setenv "PSYCOPG2_TESTDB_USER" "nixbld")
(setenv "PSYCOPG2_TESTDB_HOST" dbdir)
(invoke "initdb" "-D" dbdir)
(invoke "pg_ctl" "-D" dbdir
"-o" (string-append "-k " dbdir)
"-l" (string-append dbdir "/db.log")
"start")
(invoke "psql" "-h" dbdir "-d" "postgres"
"-c" "CREATE DATABASE psycopg2_test;"))))))))
(native-inputs
(list postgresql
python-pytest
python-setuptools
tzdata-for-tests))
(inputs
(list postgresql)) ; libpq
(home-page "https://www.psycopg.org/")
@@ -4678,14 +4758,16 @@ libraries with SQLALchemy.")
(sha256
(base32
"1pkx7nj1mhacwpna7ldzqfqxd1xg8826600r0bs9ad1h93f429yh"))))
(build-system python-build-system)
(build-system pyproject-build-system)
(arguments
(list #:tests? #f ;run for psycopg below
#:phases
#~(modify-phases %standard-phases
;; This module requires 'psycopg', however psycopg needs this
;; for its tests. Disable sanity check to break the cycle.
(delete 'sanity-check))))
(list
#:tests? #f ;run for psycopg below
#:phases
#~(modify-phases %standard-phases
;; This module requires 'psycopg', however psycopg needs this
;; for its tests. Disable sanity check to break the cycle.
(delete 'sanity-check))))
(native-inputs (list python-setuptools))
(home-page "https://www.psycopg.org/")
(synopsis "Connection pooler for psycopg")
(description
@@ -4796,23 +4878,49 @@ from a SQLAlchemy model (or directly from the database).")
(define-public yoyo-migrations
(package
(name "yoyo-migrations")
(version "8.2.0")
(version "9.0.0")
(source
(origin
;; We use the upstream repository, as the tests are not included in the
;; PyPI releases.
(method hg-fetch)
(uri (hg-reference
(url "https://hg.sr.ht/~olly/yoyo")
(changeset (string-append "v" version "-release"))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32 "1al030ix0w63hr4s3mqry6s0mlqdj8p242pdqks06br7c25nx3yj"))))
(build-system python-build-system)
(base32 "0bn4n043y0n4dh7axwavfims2krap5dcmdaxswbadzmis3a4hxyb"))))
(build-system pyproject-build-system)
(arguments
;; XXX: Tests require a connection to some pgsql database and psycopg
;; fails to connect to it.
'(#:tests? #f))
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'start-postgresql
(lambda* (#:key inputs tests? #:allow-other-keys)
(when tests?
(delete-file "test_databases.ini")
(call-with-output-file "test_databases.ini"
(lambda (port)
(format port "[DEFAULT]
postgresql = postgresql://nixbld@/yoyo_test~%")))
(setenv "TZDIR" (search-input-directory inputs
"share/zoneinfo"))
(let ((dbdir (string-append (getcwd) "/../pgdir")))
(setenv "PGHOST" dbdir)
(setenv "PGUSER" "nixbld")
(invoke "initdb" "-D" dbdir)
(invoke "pg_ctl" "-D" dbdir
"-o" (string-append "-k " dbdir)
"-l" (string-append dbdir "/db.log")
"start")
(invoke "psql" "-h" dbdir "-d" "postgres"
"-c" "CREATE DATABASE yoyo_test;"))))))))
(native-inputs
(list postgresql
python-freezegun
python-psycopg2
python-pytest
python-setuptools
tms
tzdata-for-tests))
(propagated-inputs
(list python-sqlparse python-tabulate python-importlib-metadata))
(home-page "https://ollycope.com/software/yoyo/latest/")
@@ -5505,7 +5613,7 @@ algorithm implementations.")
(package
(inherit apache-arrow)
(name "python-pyarrow")
(build-system python-build-system)
(build-system pyproject-build-system)
(arguments
(list
;; XXX: Test data is distributed separately in
@@ -5515,7 +5623,6 @@ algorithm implementations.")
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(delete 'build) ; XXX the build is performed again during the install phase
(add-after 'unpack 'enter-source-directory
(lambda _ (chdir "python")))
(add-after 'enter-source-directory 'set-version
@@ -5559,7 +5666,8 @@ __version_tuple__ = version_tuple = (~a)~%" version version-tuple))))))
python-cython
python-pytest
python-pytest-runner
python-setuptools-scm))
python-setuptools-scm
python-setuptools))
(outputs '("out"))
(home-page "https://arrow.apache.org/docs/python/")
(synopsis "Python bindings for Apache Arrow")
@@ -5645,16 +5753,31 @@ and @code{intake-parquet}. It supports the following compression algorithms:
(define-public python-crate
(package
(name "python-crate")
(version "0.23.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "crate" version))
(sha256
(base32
"0ngmlvi320c5gsxab0s7qgq0ck4jdlcwvb6lbjhnfprafdp56vvx"))))
(build-system python-build-system)
(propagated-inputs
(list python-urllib3))
(version "2.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/crate/crate-python")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0kk84wf7awgspdijycvhkbqvm5llp3wmwxa9n4w3qda861xn6krb"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "--ignore=tests/testing/test_layer.py" ; Requires crate binary.
"--ignore=tests/client/test_http.py"))) ; XXX: fails collection.
(native-inputs
(list python-orjson
python-pytest
python-pytz
python-setuptools
python-sqlalchemy
python-verlib2
tzdata-for-tests))
(propagated-inputs (list python-urllib3))
(home-page "https://github.com/crate/crate-python")
(synopsis "CrateDB Python client")
(description
@@ -5849,6 +5972,46 @@ with no external dependencies. The targets are small apps that would
be blown away by a SQL-DB or an external database server.")
(license license:expat)))
(define-public sdb
(package
(name "sdb")
(version "2.2.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/sdb.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"15pc807s2nmhnr3mspyz9h47rkxkv1r07x959ir17v5b6zs7wxvw"))))
(build-system meson-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'setenv-cc
(lambda _
(setenv "CC" #$(cc-for-target))))
;; The provided meson.build uses a Makefile in the source root
;; to run the tests, but resolves its directory relative to
;; the build directory, assuming the build is one level under
;; the source tree. This breaks if the build tree is elsewhere.
(add-before 'check 'set-test-workdir-to-source-root
(lambda _
(substitute* "../source/meson.build"
(("workdir: join_paths.*$")
"workdir: meson.project_source_root(),\n")))))))
(native-inputs
(list node
perl
python-minimal-wrapper))
(home-page "https://github.com/radareorg/sdb")
(synopsis "Simple and fast string based key-value database")
(description "SDB is a simple key/value database based on djb's cdb disk
storage that supports JSON and array introspection.")
(license license:expat)))
(define-public sequeler
(package
(name "sequeler")
@@ -5947,7 +6110,7 @@ compatible with SQLite using a graphical user interface.")
(define-public sqlitestudio
(package
(name "sqlitestudio")
(version "3.4.17")
(version "3.4.18")
(source
(origin
(method git-fetch)
@@ -5956,7 +6119,7 @@ compatible with SQLite using a graphical user interface.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1zb1qr88rwkzmrxc0lm99x8h99hpn5c2wfdpvqzs9f9ph8qvasww"))))
(base32 "1chsm4hxy483hz569ywacysg4dh9ijis060s4rgydkgk49bbb2si"))))
(build-system gnu-build-system)
(arguments
(list

View File

@@ -116,13 +116,23 @@ clients.")
(define-public xandikos
(package
(name "xandikos")
(version "0.2.12")
(version "0.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xandikos" version))
(sha256 (base32 "0x6g5s9pkippxg429r9agp3w0xsid2vv1h45wfc3xzdfvgj6ygsr"))))
(build-system python-build-system)
(sha256
(base32 "10j7qmwcrwql4ah6q8si3nf1ljwrx99w8ipiy85bzjd3qz2vackj"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-backend #~'unittest
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'check-setup
(lambda _
(setenv "XANDIKOSPATH" (mkdtemp "/tmp/xandikospath-XXXXXX")))))))
(native-inputs (list python-setuptools))
(propagated-inputs
(list python-aiohttp
python-defusedxml
@@ -131,13 +141,6 @@ clients.")
python-jinja2
python-multidict
python-vobject))
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'check-setup
(lambda _
(setenv "XANDIKOSPATH" (mkdtemp "/tmp/xandikospath-XXXXXX")))))))
(home-page "https://www.xandikos.org/")
(synopsis "Lightweight CalDAV/CardDAV server")
(description

View File

@@ -14,7 +14,7 @@
;;; Copyright © 2023 Andy Tai <atai@atai.org>
;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2024 Raven Hallsby <karl@hallsby.com>
;;; Copyright © 2025 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2025 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2025 Robin Templeton <robin@guixotic.coop>
;;;
;;; This file is part of GNU Guix.

View File

@@ -2,7 +2,7 @@
;;; Copyright © 2014-2016, 2018, 2021, 2024, 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016-2018, 2020-2023, 2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2017, 2018, 2019, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2017-2019, 2021, 2025 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018, 2019, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
@@ -411,15 +411,19 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
(define-public grammalecte
(package
(name "grammalecte")
(version "2.1.1")
(version "2.3.0")
(source
(origin
(method url-fetch/zipbomb)
(uri (string-append "https://grammalecte.net/grammalecte/zip/"
(uri (string-append "https://grammalecte.net/zip/"
"Grammalecte-fr-v" version ".zip"))
(sha256
(base32 "076jv3ywdgqqzg92bfbagc7ypy08xjq5zn4vgna6j9350fkfqhzn"))))
(build-system python-build-system)
(base32 "0kv8h0116sfcrqnpd3jv2b098ychda7v27fciq1phxw50jbj395a"))))
(build-system pyproject-build-system)
(arguments
(list #:test-backend #~'unittest))
(native-inputs
(list python-setuptools))
(home-page "https://grammalecte.net")
(synopsis "French spelling and grammar checker")
(description "Grammalecte is a grammar checker for the French language,

View File

@@ -855,7 +855,7 @@ and can dramatically shorten the lifespan of the drive if left unchecked.")
(sha256
(base32
"1ji5sq9jf0p44982zkb5dj2d3mrpy675k0mkyg3r17q5syz0wbia"))))
(build-system python-build-system)
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;XXX: root access is required, see: <scripts/tests/test.sh>
@@ -970,24 +970,31 @@ reformatted. It can recover lost files from at least:
(license license:gpl2+)))
(define-public pydf
(package
(name "pydf")
(version "12")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pydf" version))
(sha256
(base32
"0f8ly8xyp93i2hm9c0qjqd4y86nz73axw2f09z01mszwmg1sfivz"))))
(build-system python-build-system)
(home-page "http://kassiopeia.juls.savba.sk/~garabik/software/pydf/")
(synopsis "Colourised @command{df} clone")
(description "All-singing, all-dancing, fully colourised @command{df} clone
written in Python. It displays the amount of disk space available on the
mounted file systems, using different colours for different types of file
systems. Output format is completely customizable.")
(license license:public-domain)))
(let ((commit "af38bb3b7aacbcc32271e6dafa8b8b0a77ffead8")
(revision "0"))
(package
(name "pydf")
(version (git-version "15" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/garabik/pydf")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "18ljigg8zm9pc3qg3alpyh3n4a4f1wcza4p36cchjn2vd4466jf4"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ; No tests.
(native-inputs (list python-setuptools))
(home-page "http://kassiopeia.juls.savba.sk/~garabik/software/pydf/")
(synopsis "Colourised @command{df} clone")
(description
"All-singing, all-dancing, fully colourised @command{df} clone written
in Python. It displays the amount of disk space available on the mounted file
systems, using different colours for different types of file systems. Output
format is completely customizable.")
(license license:public-domain))))
(define-public f3
(package

View File

@@ -302,13 +302,13 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
(package
(inherit python-django)
(name "python-django-4")
(version "4.2.26")
(version "4.2.27")
(source
(origin
(method url-fetch)
(uri (pypi-uri "django" version))
(sha256
(base32 "0ylxdpkiwdh8yhqxqzm90fxiagm8v7xijvdm5ha3ypmmpj3y964k"))))
(base32 "14jvv95nw76fz8v0gzqdn6xwicqdn91glpjcb4vfxld3ykhgnrdq"))))
(arguments
(substitute-keyword-arguments (package-arguments python-django)
((#:phases phases)
@@ -695,16 +695,16 @@ them do this.")
(define-public python-django-allauth
(package
(name "python-django-allauth")
(version "65.7.0")
(version "65.9.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pennersr/django-allauth")
(url "https://codeberg.org/allauth/django-allauth")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1k5b3x7pdysb21vbqx7pxi9cm72yj057mm1clg19ymiqj4kq8yfl"))))
(base32 "03a7175748533rw6h3grfpv86i3qb31ixw0kb2kj90gc77sh1sw2"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -740,7 +740,7 @@ them do this.")
python-pytest-asyncio
python-pytest-django
python-setuptools))
(home-page "https://github.com/pennersr/django-allauth")
(home-page "https://codeberg.org/allauth/django-allauth")
(synopsis "Set of Django applications addressing authentication")
(description
"Integrated set of Django applications addressing authentication,

View File

@@ -253,10 +253,10 @@ management tool.")
(file-name (git-file-name name version))
(sha256
(base32 "0m5ifgxdhcf7yci0ncgnxjas879sksrf3im0fahs573g268farz9"))))
(build-system python-build-system)
(build-system pyproject-build-system)
;; Integration tests need a running Docker daemon.
(arguments (list #:tests? #f))
(native-inputs '())
(native-inputs (list python-setuptools))
(inputs (modify-inputs (package-inputs python-docker)
(prepend python-six)
(delete "python-urllib3")))
@@ -264,6 +264,9 @@ management tool.")
(modify-inputs (package-propagated-inputs python-docker)
(prepend python-docker-pycreds python-urllib3-1.26)))))
;; Needed for old v1 of docker-compose; remove once Docker is updated to a
;; more recent version which has the command "docker compose" built-in, see:
;; <https://codeberg.org/guix/guix/milestone/30347>.
(define-public python-dockerpty
(package
(name "python-dockerpty")
@@ -275,9 +278,11 @@ management tool.")
(sha256
(base32
"1kjn64wx23jmr8dcc6g7bwlmrhfmxr77gh6iphqsl39sayfxdab9"))))
(build-system python-build-system)
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ; XXX: Requires outdated python-expects
(native-inputs
(list python-six))
(list python-setuptools python-six))
(home-page "https://github.com/d11wtq/dockerpty")
(synopsis "Python library to use the pseudo-TTY of a Docker container")
(description "Docker PTY provides the functionality needed to operate the
@@ -298,7 +303,7 @@ client.")
(sha256
(base32
"1dq9kfak61xx7chjrzmkvbw9mvj9008k7g8q7mwi4x133p9dk32c"))))
(build-system python-build-system)
(build-system pyproject-build-system)
;; TODO: Tests require running Docker daemon.
(arguments
(list
@@ -310,6 +315,7 @@ client.")
(substitute* "setup.py"
((", < 6")
"")))))))
(native-inputs (list python-setuptools))
(inputs
(list python-cached-property
python-distro

View File

@@ -581,7 +581,10 @@ calendars, equations, and other features as extensions of Markdown syntax.")
(replace 'build
(lambda _
(invoke #$(cc-for-target)
"-O2" "-g" "-o" "stddoc" "stddoc.c")
"-O2" "-g"
;; XXX: Relax gcc 14 strictness.
"-Wno-int-conversion"
"-o" "stddoc" "stddoc.c")
(with-input-from-file "stddoc.c"
(lambda _
(with-output-to-file "stddoc.c.html"

View File

@@ -45,6 +45,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages cmake)
@@ -120,18 +121,23 @@
(version "0.8.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pychm" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/dottedmag/pychm")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0wpn9ijlsmrpyiwg3drmgz4dms1i1i347adgqw37bkrh3vn6yq16"))))
(build-system python-build-system)
"0zf2vnrby2m31nvi6p3isspbrjmzjw1vwfx3xl7bkvjs7sli1wbw"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest python-setuptools))
(inputs
(list chmlib))
(home-page "https://github.com/dottedmag/pychm")
(synopsis "Handle CHM files")
(description "This package provides a Python module for interacting
with Microsoft Compiled HTML (CHM) files")
with Microsoft Compiled HTML (CHM) files.")
(license license:gpl2+)))
(define-public calibre

View File

@@ -66,6 +66,7 @@
#: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-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
@@ -88,6 +89,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
@@ -376,47 +378,48 @@ to open the application in a web browser, for offline usage.")
(uri (list
;; XXX: Upstream does not exist anymore.
;; (string-append "http://www.bipede.fr/downloads/logiciels/"
;; "ToutEnClic-" version "-src.zip")
(string-append "https://archive.org/download/tout-en-clic-" version
"-src/ToutEnClic-" version "-src.zip")))
;; "ToutEnClic-" version "-src.zip")
(string-append "https://archive.org/download/tout-en-clic-"
version "-src/ToutEnClic-" version "-src.zip")))
(sha256
(base32 "0xg24p925rl5bfqsq3jb2lrkidb0f3kbmay5iyxxmjsn3ra0blyh"))))
(build-system python-build-system)
(build-system pyproject-build-system)
(arguments
`(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share/toutenclic"))
(pixmaps (string-append out "/share/pixmaps"))
(doc (string-append out "share/doc/" ,name "-" ,version))
(bin (string-append out "/bin"))
(list
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(delete 'build)
(replace 'install
(lambda _
(let ((share (string-append #$output "/share/toutenclic"))
(bin (string-append #$output "/bin"))
(executable "toutenclic"))
;; Install icon.
(install-file "toutenclic.png" pixmaps)
;; Move files into "share/" directory.
(for-each (lambda (f) (install-file f share))
(find-files "." "\\.py$"))
;; Install documentation.
(install-file "ToutEnClic.pdf" doc)
;; Create executable in "bin/".
(mkdir-p bin)
(with-directory-excursion bin
(symlink (string-append share "/" executable ".py")
executable)))))
(add-after 'install 'create-desktop-file
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(applications (string-append out "/share/applications")))
(mkdir-p applications)
(call-with-output-file
(string-append applications "/toutenclic.desktop")
(lambda (file)
(format file
"[Desktop Entry]~@
;; Install icon.
(install-file "toutenclic.png"
(string-append #$output "/share/pixmaps"))
;; Move files into "share/" directory.
(for-each (lambda (f)
(install-file f share))
(find-files "." "\\.py$"))
;; Install documentation.
(install-file "ToutEnClic.pdf"
(string-append #$output "share/doc/"
#$name "-" #$version))
;; Create executable in "bin/".
(mkdir-p bin)
(with-directory-excursion bin
(symlink (string-append share "/" executable ".py")
executable)))))
(add-after 'install 'create-desktop-file
(lambda _
(let ((applications (string-append #$output "/share/applications")))
(mkdir-p applications)
(call-with-output-file (string-append applications
"/toutenclic.desktop")
(lambda (file)
(format file
"[Desktop Entry]~@
Name=ToutEnClic~@
Comment=For schooling without difference~@
Exec=~a/bin/toutenclic~@
@@ -424,18 +427,16 @@ to open the application in a web browser, for offline usage.")
Terminal=false~@
Icon=toutenclic~@
Type=Application~%"
out)))))))))
(native-inputs
(list unzip))
(inputs
(list python-pyqt))
#$output)))))))))
(native-inputs (list unzip python-setuptools))
(inputs (list python-pyqt))
(synopsis "School tools for physically disabled children")
(description "ToutEnClic is intended to facilitate the schooling
of physically disabled children in ordinary schools. It is both
a multi-page virtual exercise book and a kit including pencil,
scissors, glue, ruler, compass, protractor and square. A virtual
keyboard is also available if the child does not have any other
specialized device.")
(description
"ToutEnClic is intended to facilitate the schooling of physically
disabled children in ordinary schools. It is both a multi-page virtual
exercise book and a kit including pencil, scissors, glue, ruler, compass,
protractor and square. A virtual keyboard is also available if the child does
not have any other specialized device.")
(home-page "https://bipede.fr/contrib/")
(license license:gpl3)))
@@ -1004,7 +1005,7 @@ learning for programming languages.")
(define-public mazo
(package
(name "mazo")
(version "1.1.0")
(version "1.2.1")
(source
(origin
(method git-fetch)
@@ -1013,43 +1014,37 @@ learning for programming languages.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "14nk3qsj6lg7wp2ws8lxhb4hyjnczvw1cn9f3m466dkkfimp7ygf"))))
(build-system python-build-system)
(base32 "0mwhd8y3xs57rbaarpi1ams5i0kndizdpns4ym7dmnnn7s9g1xq8"))))
(build-system pyproject-build-system)
(arguments
`(#:use-setuptools? #f
#:phases
(modify-phases %standard-phases
(delete 'build)
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(when tests?
(let* ((out (assoc-ref outputs "out"))
(home (string-append out "/tmp")))
(add-installed-pythonpath inputs outputs)
(setenv "HOME" home)
(invoke "python3" "manage.py" "test")))))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(script (string-append bin "/mazo"))
(share (string-append out "/share"))
(help (string-append share "/help/C/mazo"))
(icons (string-append
share
"/icons/hicolor/scalable/apps"))
(apps (string-append share "/applications"))
(site (string-append
(site-packages inputs outputs)
"/mazo")))
(mkdir-p help)
(mkdir-p bin)
(copy-file "mazo.py" script)
(chmod script #o555)
(install-file "icons/mazo.svg" icons)
(install-file "lugare.ulkeva.Mazo.desktop" apps)
(copy-recursively "help/C/mazo" help)
(copy-recursively "mazo" site)))))))
(list
#:phases
#~(modify-phases %standard-phases
(delete 'build)
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(when tests?
(setenv "HOME" (getcwd))
(invoke "python3" "manage.py" "test"))))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((bin (string-append #$output "/bin"))
(script (string-append bin "/mazo"))
(share (string-append #$output "/share"))
(help (string-append share "/help/C/mazo")))
(mkdir-p help)
(mkdir-p bin)
(copy-file "mazo.py" script)
(chmod script #o555)
(install-file "icons/mazo.svg"
(string-append share
"/icons/hicolor/scalable/apps"))
(install-file "lugare.ulkeva.Mazo.desktop"
(string-append share "/applications"))
(copy-recursively "help/C/mazo" help)
(copy-recursively "mazo"
(string-append (site-packages inputs outputs)
"/mazo"))))))))
(native-inputs
(list python-django
python-django-cleanup
@@ -1071,8 +1066,9 @@ learning for programming languages.")
yelp))
(home-page "https://luis-felipe.gitlab.io/mazo/")
(synopsis "Memorize concepts using multimedia flash cards")
(description "Mazo is a learning application that helps you memorize
simple concepts using multimedia flash cards and spaced reviews.")
(description
"Mazo is a learning application that helps you memorize simple concepts
using multimedia flash cards and spaced reviews.")
(license license:public-domain)))
(define-public hardv

View File

@@ -207,8 +207,8 @@ are also taken from the original.")
(license license:gpl3+))))
(define-public abc
(let ((commit "c8eac7595d094dd45402133497d645fb74e545f0")
(revision "7"))
(let ((commit "ee04349aee0a11d5ce0ad39b0de80e3cb366087e")
(revision "8"))
(package
(name "abc")
(version (git-version "0.0" revision commit))
@@ -220,7 +220,7 @@ are also taken from the original.")
(file-name (git-file-name name version))
(sha256
(base32
"14k2j54fwr2a3nmb637fclzdf22a16jw5fsmhr3cf42yd924yn71"))))
"0y00c9h54dkcnidgyw45czxrkxb7yg5pbw9hhipgjw7qswjh8yb2"))))
(build-system gnu-build-system)
(inputs
(list readline))
@@ -737,6 +737,110 @@ used in the declarative section of design units.")
(native-inputs
'()))))
(define-public klayout
(package
(name "klayout")
(version "0.30.5")
(source
(origin (method git-fetch)
(uri (git-reference
(url "https://github.com/KLayout/klayout")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1ixl8wzpiaw6frb28x9y9jy3fvhjclmn4xl77i72rs37rf4i2a2s"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("output/klayout" "bin/")
("output/" "bin/" #:include-regexp ("strm.*"))
("output/" "lib/" #:include-regexp ("lib.*\\.so.*"))
("output/pymod" "lib/"))
#:phases
#~(modify-phases %standard-phases
(add-before 'install 'patch-build-script ;; ensure reproducibility
(lambda _
(substitute* "build.sh"
(("KLAYOUT_VERSION_DATE=\"\\$KLAYOUT_VERSION_DATE\"")
"KLAYOUT_VERSION_DATE=1970-01-01"))))
(add-after 'patch-build-script 'disable-failing-tests
(lambda _
(substitute* "src/tl/unit_tests/unit_tests.pro"
;; These need internet connection.
((" tlWebDAVTests\\.cc")
"# tlWebDAVTests.cc \\")
((" tlGitTests\\.cc")
"# tlGitTests.cc \\")
((" tlHttpStreamTests\\.cc")
"# tlHttpStreamTests.cc \\")
;; The threaded tests are reportedly flaky.
((" tlThreadedWorkersTests\\.cc")
"# tlThreadedWorkersTests\\.cc \\"))
(substitute* "src/rba/rba.pro"
;; There are issues of non-detereminism involved with Ruby's GC
;; implementation. https://github.com/KLayout/klayout/issues/2251
(("SUBDIRS = rba unit_tests")
"SUBDIRS = rba")
(("unit_tests.depends += rba")
""))))
(add-after 'disable-failing-tests 'build
(lambda _
(invoke "bash" "build.sh"
"-prefix" "output"
"-option"
(string-append "-j" (number->string (parallel-job-count))))))
(add-after 'install 'patch-elfs
(lambda _
(let* ((lib (string-append #$output "/lib"))
(layout-lib (string-append lib "/lay_plugins"))
(db-lib (string-append lib "/db_plugins"))
(bin (string-append #$output "/bin"))
(executables (filter executable-file? (find-files #$output)))
(ut-runner "build-release/ut_runner")
(unit-tests (cons* ut-runner
(find-files "build-release" "\\.ut")))
(patchem (lambda (elf)
(when (not (string-suffix? ".py" elf))
(invoke "patchelf" "--add-rpath" lib elf)
(invoke "patchelf" "--add-rpath" layout-lib elf)
(invoke "patchelf" "--add-rpath" db-lib elf)))))
(map patchem executables)
(map patchem unit-tests)
(patchem ut-runner))))
(add-after 'patch-elfs 'check-after-install
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-directory-excursion "build-release"
(mkdir "testtmp")
(setenv "TESTTMP" "testtmp")
(setenv "TESTSRC" "..")
(setenv "LD_LIBRARY_PATH" ".")
(setenv "QT_QPA_PLATFORM" "offscreen")
(setenv "HOME" "/tmp/home") ;; Fontconfig needs a writable cache.
(invoke "./ut_runner"))))))))
(native-inputs (list perl python qtsvg ruby tcl))
(inputs
(list bash-minimal
libgit2
patchelf
qt5compat
qtbase
qtmultimedia
qtsvg
qttools))
(home-page "https://www.klayout.de")
(synopsis "Mask layout editor")
(description "KLayout is @acronym{EDA, Electronic Design Automation}
software. It is a scriptable @acronym{VLSI, Very Large Scale Integration}
layout editor used for visualizing and editing mask data, transcoding between
different file formats (GDSII and OASIS), executing @acronym{DRC, Design rule
checking}, @acronym{LVS, Layout Versus Schematic} verification, and drawing of
chip cross-sections basked on mask data.")
;; The license version will be clarified with the next version bump.
(license license:gpl3+)))
(define-public libngspice
;; Note: The ngspice's build system does not allow us to build both the
;; library and the executables in one go. Thus, we have two packages.
@@ -1812,7 +1916,7 @@ verification.")
(define-public open-logic
(package
(name "open-logic")
(version "4.1.0")
(version "4.2.0")
(source
(origin
(method git-fetch)
@@ -1824,7 +1928,7 @@ verification.")
(file-name (git-file-name name version))
(sha256
(base32
"0azapw9dyr5l5qal7qd409lyq0w6pw2wyjwvxfl44sykpbfxdl2x"))))
"1792a6i9jq2yawipmk0nr01z092kx3kkav9v5sjf34khk3biav6q"))))
(outputs
'("out" "test"))
(properties
@@ -1921,7 +2025,6 @@ reusable and vendor/tool-independent way. It is written following the VHDL
python-setuptools))
(inputs
(list libngspice
ngspice
python-invoke
python-matplotlib
python-ply
@@ -2042,7 +2145,13 @@ files as specified in IEEE 1364-2005.")
(arguments
(list
#:test-flags
#~(list "-k" "not test_toplevel_library")));requires questasim simulator
#~(list "-k" "not test_toplevel_library") ;requires questasim simulator
#:phases
#~(modify-phases %standard-phases
(add-after 'check 'run-examples
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "make" "-k" "-C" "examples")))))))
(native-inputs
(list iverilog
nvc
@@ -2058,53 +2167,96 @@ and Verilog RTL using Python.")
(license license:bsd-3)))
(define-public python-cocotb-bus
;; XXX: The latest tagged release (2.6.1) was placed on <2023-07-01>, switch
;; to tag when the fresh release is available.
(let ((commit "f5578a4d451ef6bc1efdd4919de5facdb381b781")
(revision "2"))
(package
(name "python-cocotb-bus")
;; Version from src/cocotb_bus/_version.py
(version (git-version "0.2.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cocotb/cocotb-bus/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "13zdqalzhzrfv1lcn6l71zhi4hns89y093hvz9swkcr2kzwfn08r"))))
(build-system pyproject-build-system)
;; TODO: Build documentation from <docs>.
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "make" "-k" "-C" "tests")
(invoke "make" "-k" "-C" "examples")))))))
(native-inputs
(list iverilog
nvc
python-pytest
python-setuptools))
(propagated-inputs
(list python-cocotb
python-packaging
python-scapy))
(home-page "https://github.com/cocotb/cocotb-bus/")
(synopsis "Cocotb reusable tools")
(description "@code{Cocotb-bus} provides a set of utilities, test benches
(package
(name "python-cocotb-bus")
;; Version from src/cocotb_bus/_version.py
(version "0.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cocotb/cocotb-bus/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0aqk78w5gg23rwf93gidw8yazmidwgmahqcmm3x0qx380mbdxjl4"))))
(build-system pyproject-build-system)
;; TODO: Build documentation from <docs>.
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "make" "-k" "-C" "tests")
(invoke "make" "-k" "-C" "examples")))))))
(native-inputs
(list iverilog
nvc
python-pytest
python-setuptools))
(propagated-inputs
(list python-cocotb
python-scapy))
(home-page "https://github.com/cocotb/cocotb-bus/")
(synopsis "Cocotb reusable tools")
(description "@code{Cocotb-bus} provides a set of utilities, test benches
and reusable bus interfaces to be used with @code{cocotb}.")
(license license:bsd-3))))
(license license:bsd-3)))
(define-public python-cocotb-test
(package
(name "python-cocotb-test")
(version "0.2.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cocotb_test" version))
(sha256
(base32 "14h62sr2prxd0iy1axq68b9zdfggnms230xgrimywphlr941jrm4"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ;requires examples folder from python-cocotb
(propagated-inputs
(list python-cocotb))
(native-inputs
(list python-pytest python-setuptools))
(home-page "https://pypi.org/project/cocotb-test/")
(synopsis
"Standard python unit testing cababilities for @code{python-cocotb}")
(description "This package provides the look and feel of Python unit
testing to @code{cocotb}, removing the need of manipulating Makefiles.")
(license license:bsd-3)))
(define-public python-cocotbext-axi
(package
(name "python-cocotbext-axi")
(version "0.1.26")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alexforencich/cocotbext-axi/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0xgfvvpff9r7g7fiswv1m0dklyw6c8v2r3qpd6qq3rzvnvrhsrin"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-cocotb python-cocotb-bus))
(native-inputs
(list iverilog python-cocotb-test python-pytest python-setuptools))
(home-page "https://github.com/alexforencich/cocotbext-axi/")
(synopsis
"Extra @acronym{AXI, Advanced Extensible Interface} modules for cocotb")
(description "This package provides an extension to @code{cocotb} in the
form of AXI, AXI lite, and AXI stream modules.")
(license license:expat)))
(define-public python-edalize
(package
(name "python-edalize")
(version "0.6.1")
(version "0.6.3")
(source
(origin
(method git-fetch)
@@ -2113,7 +2265,7 @@ and reusable bus interfaces to be used with @code{cocotb}.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03mkzkmi96jkrpgcnawixvy832p3b8li8lrirdjhfp9dmp7d5kg5"))))
(base32 "1ml6b17jp4vwjaw16v0agajzksig92q5qmk2psm51ck4q076lm3m"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -2299,6 +2451,7 @@ languages.")
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-deps
@@ -2309,8 +2462,8 @@ languages.")
(("rawVer .*")
(string-append "rawVer = \"v"
#$version "\""))))))))
(native-inputs (list python-setuptools python-wheel python-gitpython
git-minimal/pinned))
(native-inputs
(list python-setuptools python-gitpython git-minimal/pinned))
(home-page "https://slaclab.github.io/surf/")
(synopsis "SLAC Ultimate RTL Framework")
(description

View File

@@ -163,6 +163,7 @@
;;; Copyright @ 2025 Andrew Wong <wongandj@icloud.com>
;;; Copyright @ 2025 Nik Gaffney <nik@fo.am>
;;; Copyright © 2025 Untrusem <mysticmoksh@riseup.net>
;;; Copyright © 2025 case_lambda <case_lambda@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -311,6 +312,7 @@
#:use-module (gnu packages ocaml)
#:use-module (gnu packages erlang)
#:use-module (gnu packages search)
#:use-module (gnu packages ssh)
#:use-module (gnu packages statistics)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages telegram)
@@ -639,6 +641,29 @@ supported algorithm is chosen to ensure interoperability with
Emacs Lisp.")
(license license:gpl3)))
(define-public emacs-perl-doc
(package
(name "emacs-perl-doc")
(version "0.82")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/perl-doc-" version
".tar"))
(sha256
(base32 "1fj13361a9pgmlda8yix0p805r2gwzv1gxf43pq6y79a8hxbm8yn"))))
(build-system emacs-build-system)
(home-page "https://github.com/HaraldJoerg/emacs-perl-doc")
(synopsis "Read Perl documentation from Emacs")
(description
"This package contains a command to read Perl documentation in Emacs: @samp{M-x
perl-doc}. It uses two external commands which come with Perl:
@command{perldoc} to locate the Perl documentation for the Perl modules
installed on your system, and @command{pod2html} to format the documentation
to HTML. This HTML version is then displayed using the Emacs simple HTML
renderer, @code{shr}.")
(license license:gpl3+)))
(define-public emacs-sops
(package
(name "emacs-sops")
@@ -690,6 +715,33 @@ files, provide Age encrypted authentication information out of
@file{.authinfo.age}, open/edit/save Age encrypted files via Tramp...")
(license license:gpl3+)))
(define-public emacs-balanced-windows
(let ((commit "1da5354ad8a9235d13928e2ee0863f3642ccdd13")
(revision "0"))
(package
(name "emacs-balanced-windows")
(version (git-version "1.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/wbolster/emacs-balanced-windows")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1hsjg48jlfi6lc6izp9xcfqvxj7c0ivjrfsr2q3yv3s1iy2fz37l"))))
(build-system emacs-build-system)
(arguments (list #:tests? #f)) ;there are no tests
(home-page "https://github.com/wbolster/emacs-balanced-windows/")
(synopsis "Automatically balance Emacs windows")
(description
"This Emacs package provides a global minor mode to automatically
balance windows (keeping them roughly the same size) whenever the window
configuration changes, e.g. after splitting or deleting a window.")
(license license:bsd-3))))
(define-public emacs-bookmark-plus
(package
(name "emacs-bookmark-plus")
@@ -2684,6 +2736,42 @@ third-party predecessor @code{git-tbdiff}), a Git subcommand for comparing two
versions of a topic branch.")
(license license:gpl3+)))
(define-public emacs-magit-delta
;; No releases or tags.
(let ((commit "5fc7dbddcfacfe46d3fd876172ad02a9ab6ac616")
(revision "0"))
(package
(name "emacs-magit-delta")
(version (git-version "0.1" revision commit))
(home-page "https://github.com/dandavison/magit-delta")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1kph5r9dy21pgfknpcdzzqfn6rqig5nvp8ksh16y13k3axlzvkiw"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-delta-executable
(lambda* (#:key inputs #:allow-other-keys)
(emacs-substitute-variables "magit-delta.el"
("magit-delta-delta-executable"
(search-input-file inputs "/bin/delta"))))))))
(propagated-inputs (list emacs-dash emacs-magit emacs-xterm-color))
(inputs (list git-delta))
(synopsis "Integration of @code{delta} with @code{emacs-magit}")
(description "Magit-delta provides a minor mode which configures
@code{emacs-magit} to use @code{delta} for syntax highlighting when displaying
diffs.")
(license license:expat))))
(define-public emacs-malyon
(package
(name "emacs-malyon")
@@ -6473,7 +6561,7 @@ of bibliographic references.")
(define-public emacs-corfu
(package
(name "emacs-corfu")
(version "2.5")
(version "2.6")
(source
(origin
(method git-fetch)
@@ -6482,7 +6570,7 @@ of bibliographic references.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "14ddl6dby5hlphpcsnwxkvw61hh1cyhilpgsyj17fzw9xwpp4q9w"))))
(base32 "0psy7ximwnansy9pppcw1l2fryr15v2vqgj81q649743py6nd60l"))))
(build-system emacs-build-system)
(arguments
(list
@@ -6699,7 +6787,7 @@ that the binary uses instead of the actual binary contents.")
(define-public emacs-ellama
(package
(name "emacs-ellama")
(version "1.8.7")
(version "1.9.0")
(source
(origin
(method git-fetch)
@@ -6709,7 +6797,7 @@ that the binary uses instead of the actual binary contents.")
(file-name (git-file-name name version))
(sha256
(base32
"14f4mwkjsldygvv232d3ivkggizm3ccyrgyd01hymfmv6xazj155"))))
"09xzn4daf80w7x6kbj2b8az89viv66sh367kxlxymr7rsznq1a7q"))))
(build-system emacs-build-system)
(arguments
(list
@@ -9003,46 +9091,6 @@ and contract the region by semantic units. Unlike @code{expand-region},
@code{expreg} can leverage Emacs 29's tree-sitter support.")
(license license:gpl3+))))
(define-public emacs-explain-pause-mode
(let ((commit "2356c8c3639cbeeb9751744dbe737267849b4b51")
(revision "0"))
(package
(name "emacs-explain-pause-mode")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lastquestion/explain-pause-mode")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0frnfwqal9mrnrz6q4v7vcai26ahaw81894arff1yjw372pfgv7v"))))
(build-system emacs-build-system)
(native-inputs
(list emacs-buttercup))
(arguments
'(#:phases
(modify-phases %standard-phases
;; This causes the byte-compilation before unit-tests to fail.
(add-after 'unpack 'remove-error-on-warn
(lambda _
(substitute* "Makefile"
(("--eval '\\(setq byte-compile-error-on-warn t\\)'") "")))))
;; Don't run case-tests as they will fail to create sockets because
;; the path is too long
#:test-command '("make" "byte-compile" "unit-tests")
;; Parallel testing will cause the tests to run before
;; byte-compilation is finished
#:parallel-tests? #f))
(home-page "https://github.com/lastquestion/explain-pause-mode")
(synopsis "Top-like interface to determine why Emacs paused")
(description
"This package monitors Emacs function calls and records their execution
time. This information can be reviewed to determine what is causing the user
interface to pause.")
(license license:gpl3+))))
(define-public emacs-filladapt
(package
(name "emacs-filladapt")
@@ -11253,11 +11301,11 @@ not hang at all.")
(license license:gpl3+)))
(define-public emacs-elastic-modes
(let ((commit "ea49bb03b78cb9fd17655990223e3095f137a3ce")
(revision "1"))
(let ((commit "c577e8921a4d9bd77742729707152bc557fae3e2")
(revision "2"))
(package
(name "emacs-elastic-modes")
(version "1.0.0")
(version (git-version "1.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@@ -11266,7 +11314,7 @@ not hang at all.")
(file-name (git-file-name name version))
(sha256
(base32
"1dkigkjw4i9nz5rl0dnic16ljdnp5cyz2xic3hc2myqnjlqnc6z6"))))
"0r40g7zgz9072x74qbnv8lmql0gajsz2p8b8jckmgyniakmln69v"))))
(build-system emacs-build-system)
(arguments (list #:tests? #false)) ;no tests
(propagated-inputs (list emacs-dash))
@@ -15683,25 +15731,70 @@ in the modeline by default.")
(license license:gpl3+))))
(define-public emacs-test-simple
(package
(name "emacs-test-simple")
(version "1.3.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/test-simple-"
version ".el"))
(sha256
(base32
"11sgc7187l1a4f1x1f6z58dy7pc7n1999id50rjifkvk901x0qd1"))))
(build-system emacs-build-system)
(home-page "https://github.com/rocky/emacs-test-simple")
(synopsis "Simple unit test framework for Emacs Lisp")
(description
"Test Simple is a simple unit test framework for Emacs Lisp. It
(let ((commit "da8ddb6fecb820c8e0809ac0892374e755e4efec")) ;version bump
(package
(name "emacs-test-simple")
(version "1.3.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rocky/emacs-test-simple/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"18a9d1n2xc2fqimvsg0nkvizn7y7sb6ap5i9al526cp40l0yky3n"))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-directory-excursion "test"
(invoke "emacs" "--batch"
"-l" "test-basic.el"
"-l" "test-buffer.el"
"-l" "test-fns.el"
"-l" "test-no-clear.el"))))))))
(home-page "https://github.com/rocky/emacs-test-simple")
(synopsis "Simple unit test framework for Emacs Lisp")
(description
"Test Simple is a simple unit test framework for Emacs Lisp. It
alleviates the need for context macros, enclosing specifications or required
test tags. It supports both interactive and non-interactive use.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public emacs-load-dir
;; This package is kept inside ELPA; there is no version-specific
;; tag. Version string was taken from source code.
(let ((commit "22bcac73d8808a680fd9b261cd89937d8e5c6a3c")
(revision "0"))
(package
(name "emacs-load-dir")
(version (git-version "0.0.5" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/git/emacs/elpa.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"011m9vnjrxmnpnvf7zjfg3pzkkfsfwc4xf3h5z37f2d4x7ghlw10"))))
(build-system emacs-build-system)
(arguments
(list #:tests? #f)) ; No tests.
(synopsis "Load all Emacs Lisp files in a given directory")
(description
"This package provides a way to load all Emacs Lisp snippets (they
don't have to be libraries) in a directory on startup or when Emacs is already
running. It won't reload snippets unless the user requests it.")
(home-page "https://elpa.gnu.org/packages/load-dir.html")
(license license:gpl3+))))
(define-public emacs-load-relative
(package
@@ -15771,67 +15864,72 @@ text excepting lines containing matches.")
(license license:gpl3+))))
(define-public emacs-realgud
(package
(name "emacs-realgud")
(version "1.5.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/realgud/realgud/")
(commit version)))
(sha256
(base32
"1d3s23jk0i34wpyxfajydgyyvsxnpbqrfl0mgydsq7zw2c75ylnq"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-realgud:run-process-void-error
;; See: https://github.com/realgud/realgud/issues/269.
(lambda _
(substitute* '("realgud/debugger/gdb/gdb.el"
"realgud/debugger/gub/gub.el")
(("^\\(require 'load-relative\\).*" anchor)
(string-append anchor
"(require-relative-list \
'(\"../../common/run\") \"realgud:\")\n")))))
(add-after 'expand-load-path 'fix-autogen-script
(lambda _
(substitute* "autogen.sh"
(("./configure") "sh configure"))))
(add-after 'fix-autogen-script 'autogen
(lambda _
(setenv "CONFIG_SHELL" "sh")
(invoke "sh" "autogen.sh")))
(add-after 'fix-autogen-script 'set-home
(lambda _
(setenv "HOME" (getenv "TMPDIR"))))
(add-before 'patch-el-files 'patch-more-el-files
(lambda _
;; XXX: Some tests/assumptions in this file are
;; not valid on Emacs@30.
(delete-file "test/test-regexp-perldb.el")
;; FIXME: `patch-el-files' crashes on this file with error:
;; unable to locate "bashdb".
(delete-file "./test/test-regexp-bashdb.el"))))
#:include #~(cons* ".*\\.el$" %default-include)))
(native-inputs
(list autoconf automake emacs-test-simple))
(propagated-inputs
(list emacs-load-relative emacs-loc-changes))
(home-page "https://github.com/realgud/realgud/")
(synopsis
"Modular front-end for interacting with external debuggers")
(description
"RealGUD is a modular, extensible GNU Emacs front-end for interacting
;; Last tagged release is from 2019.
(let ((commit "56a8d82830ad65c9cbb9c694617f078f007281ac")
(revision "0"))
(package
(name "emacs-realgud")
(version (git-version "1.5.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/realgud/realgud/")
(commit commit)))
(sha256
(base32
"1n232jphfgqbb44p806bpgg2wisbmr5iz09js71knk7n5gslrz25"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'delete-cask-install
(lambda _
(delete-file "cask-install.el")))
(add-after 'expand-load-path 'fix-autogen-script
(lambda _
(substitute* "autogen.sh"
(("./configure") "sh configure"))))
(add-after 'fix-autogen-script 'autogen
(lambda _
(setenv "CONFIG_SHELL" "sh")
(invoke "sh" "autogen.sh")))
(add-after 'fix-autogen-script 'set-home
(lambda _
(setenv "HOME" (getenv "TMPDIR"))))
(add-before 'patch-el-files 'patch-more-el-files
(lambda _
;; Misc failures
(for-each delete-file
(list "test/test-pdb.el"
"test/test-shortkey.el"
"test/test-track.el"
"test/test-trepan2.el"
"test/test-lang.el"))
;; XXX: Some tests/assumptions in this file are
;; not valid on Emacs@30.
(delete-file "test/test-regexp-perldb.el")
;; FIXME: `patch-el-files' crashes on this file with error:
;; unable to locate "bashdb".
(delete-file "./test/test-regexp-bashdb.el"))))
#:include #~(cons* ".*\\.el$" %default-include)))
(native-inputs
(list autoconf automake emacs-test-simple perl python-minimal-wrapper
ruby))
(propagated-inputs
(list emacs-load-relative emacs-loc-changes))
(home-page "https://github.com/realgud/realgud/")
(synopsis
"Modular front-end for interacting with external debuggers")
(description
"RealGUD is a modular, extensible GNU Emacs front-end for interacting
with external debuggers. It integrates various debuggers such as gdb, pdb,
ipdb, jdb, lldb, bashdb, zshdb, etc. and allows visually steping through code in the
sources. Unlike GUD, it also supports running multiple debug sessions in
parallel.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public emacs-rmsbolt
;; There is no release tag. Version is extracted from main file.
@@ -16695,6 +16793,39 @@ circumstances, and leaves the keys untouched outside of those situations,
allowing unprefixed keys to insert their respective characters as expected.")
(license license:gpl3+))))
(define-public emacs-claude-code
;; There is no proper release/tag.
(let ((commit "becece683bcf60f7b150a87a30ef14885dcf8ce3")
(revision "0"))
(package
(name "emacs-claude-code")
(version (git-version "0.4.5" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stevemolitor/claude-code.el")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0z77nxazkw08pmqam2z27a56s9nyp72a1vvc0ba3vgcwfkjx0v81"))))
(build-system emacs-build-system)
(arguments
(list
#:include #~(cons "^bin\\/" %default-include)
#:tests? #f)) ; There are no tests.
(propagated-inputs
(list emacs-transient
emacs-inheritenv))
(home-page "https://github.com/stevemolitor/claude-code.el")
(synopsis "Claude Code Emacs integration")
(description
"This package provides convenient ways to interact with Claude from
within Emacs, including sending commands, toggling the Claude window, and
accessing slash commands.")
(license license:asl2.0))))
(define-public emacs-claude-code-ide
;; Upstream does not make versioned releases.
(let ((commit "c5e2de1a343bc6c0444789e0a99ad822cd56cfbe"))
@@ -18869,6 +19000,27 @@ determines structure, this mode provides indentation and indentation command
behavior very similar to that of Python mode.")
(license license:gpl3+)))
(define-public emacs-yaml-pro
(package
(name "emacs-yaml-pro")
(version "1.3.3")
(home-page "https://github.com/zkry/yaml-pro")
(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 "1sipz42gb8pl8w9xci5m0kdz5dlinxj409hvyz173z3gzg7f4qr1"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-yaml))
(synopsis "Tools for editing YAML leveraging tree-sitter/parser")
(description "Leverages tree-sitter and provides fast and accurate
YAML parsing.")
(license license:gpl3+)))
(define-public emacs-yari
(let ((revision "0")
(commit "de61285ceb21f56c29f4be12e2e65b2aa2bccf56"))
@@ -19364,7 +19516,7 @@ implementation.")
(define-public emacs-cider
(package
(name "emacs-cider")
(version "1.19.0")
(version "1.20.0")
(source
(origin
(method git-fetch)
@@ -19373,7 +19525,7 @@ implementation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0limw27arkc8bn0zzj0jzhdsax78qm1lz5jfgy8zgf971llhf5qc"))))
(base32 "08hd281ybskkhir170hr3xpga1b1hwpph7rd0fk6fvm0ngdgxazs"))))
(build-system emacs-build-system)
(arguments
(list
@@ -22657,6 +22809,91 @@ window (using the fringe, by default), allows you to jump between the hunks
and revert them selectively.")
(license license:gpl3+)))
(define-public emacs-difftastic
;; No releases or tags.
(let ((commit "5a23176610b7181f52b7088cbdf1d2a95691b27e")
(revision "0"))
(package
(name "emacs-difftastic")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pkryger/difftastic.el/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0nl1kcaxgq67338knfhmxxmxl5npsvjvvs3z7s8m5z4wpknsn1rd"))))
(build-system emacs-build-system)
(arguments
(list
#:test-command
#~(list "emacs" "--batch"
"-l" "test/difftastic.t.el"
"-l" "test/difftastic-bindings.t.el"
"-f" "ert-run-tests-batch-and-exit")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'unpack-el-mock
(lambda _
(install-file
(string-append
#$(this-package-native-input "el-mock") "/el-mock.el")
".")))
;; 11/435 tests fail.
(add-before 'check 'skip-failing-tests
(lambda _
(let ((skip-tests
`("-forge-pullreq-show-diff-args:buffer-post-object"
"-forge-pullreq-show-diff-args:current-topic"
,(string-append
"-forge-pullreq-show-diff-args"
":new-pullreq-with-base-and-head")
"-forge-pullreq-show-diff-args:single-prefix-argument"
"-magit-diff-buffer-file:no-file"
"-forge-pullreq-show-diff-args:triple-prefix-argument"
"forge-create-pulreq-show-diff:basic"
"forge-pullreq-show-diff:basic"
"forge-pullreq-show-diff:double-prefix-arg"
"forge-pullreq-show-diff:single-prefix-arg"
"forge-pullreq-show-diff:triple-prefix-arg")))
(substitute* "test/difftastic.t.el"
(("\\(ert-deftest difftastic-([a-z:-]*) \\(\\)" all test)
(if (member test skip-tests)
(string-append all "(skip-unless nil)")
all))))))
(add-after 'unpack 'substitute-python-path
(lambda* (#:key inputs #:allow-other-keys)
(emacs-substitute-variables "difftastic.el"
("difftastic-executable"
(search-input-file inputs "/bin/difft"))))))))
(inputs
(list difftastic))
(propagated-inputs
(list emacs-compat emacs-magit))
(native-inputs
(list
;; This package uses a custom version of el-mock for the tests.
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pkryger/el-mock.el")
(commit "8fb750784faf07445033441bd86485fecfdb9413")))
(file-name "el-mock")
(sha256
(base32
"1qbcj952hrrpr26rh8q77vf5i35nzkbsrqdvj7rrc307dp0n2gsv")))))
(home-page "https://github.com/pkryger/difftastic.el/")
(synopsis "Wrapper interface for @code{difft} command line tool")
(description
"This package integrates @code{difftastic} structural diff tool into
Emacs. It automatically displays @code{difftastic} output within Emacs using
faces from the user theme, ensuring consistency with overall coding
environment.")
(license license:gpl3+))))
(define-public emacs-diminish
;; XXX: Upstream did not tag last release.
(let ((commit "fd486ef76e4c1d8211ae337a43b8bba106d4bca7")
@@ -26765,8 +27002,9 @@ the pipeline, featuring the support for running @code{emacsclient}.")
(license license:gpl3+)))
(define-public emacs-jupyter
(let ((commit "db8a9e233a010a61063f34220821ec76157a2d84")
(revision "2"))
;; Last release from 3/2024.
(let ((commit "de89cbeca890db51ba84aee956658f89aaa0b642")
(revision "3"))
(package
(name "emacs-jupyter")
(version (git-version "1.0" revision commit))
@@ -26774,11 +27012,11 @@ the pipeline, featuring the support for running @code{emacsclient}.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nnicandro/emacs-jupyter")
(url "https://github.com/emacs-jupyter/jupyter")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0gjxi84d95sx5fw8q2a8szfhq6kb4xzwq0xr9a3pirkiga9hxymz"))))
(base32 "09mcnl4piynzynjad7zy35rp6qn35xh1zrfc7kyws8qmii3561db"))))
(build-system emacs-build-system)
(arguments (list #:tests? #f)) ;tests require a working jupyter
(propagated-inputs
@@ -26787,7 +27025,7 @@ the pipeline, featuring the support for running @code{emacsclient}.")
emacs-simple-httpd
emacs-websocket
emacs-zmq))
(home-page "https://github.com/nnicandro/emacs-jupyter")
(home-page "https://github.com/emacs-jupyter/jupyter")
(synopsis "Emacs interface to communicate with Jupyter kernels")
(description "This package provides an Emacs interface to communicate with
Jupyter kernels. It provides REPL and Org mode source code block frontends to
@@ -34021,47 +34259,41 @@ and comments.")
(license license:gpl3+))))
(define-public emacs-yeetube
(let ((commit "b8877e61b58dfabcc30044680d0975b3c6b12052")) ;version bump
(package
(name "emacs-yeetube")
(version "2.1.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.thanosapollo.org/yeetube")
(commit commit)))
(sha256
(base32
"1gii2y4cvw795039kdky1mdmgpfrfm4s48ld7z4gv7bvb0fs9hpq"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'locate-binaries
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (find-files "." "\\.el$")
(("\\(executable-find \"mpv\"\\)")
(format #f "~s"
(search-input-file inputs "/bin/mpv")))
(("\\(executable-find \"torsocks\"\\)")
(format #f "~s"
(search-input-file inputs "/bin/torsocks")))
(("\\(executable-find \"yt-dlp\"\\)")
(format #f "~s"
(search-input-file inputs "/bin/yt-dlp")))))))))
(inputs (list mpv torsocks yt-dlp))
(propagated-inputs (list emacs-compat))
(home-page "https://thanosapollo.org/projects/yeetube/")
(synopsis "Youtube front-end for Emacs")
(description
"This package provides the ability to scrape YouTube, with the results
(package
(name "emacs-yeetube")
(version "2.1.10")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.thanosapollo.org/yeetube")
(commit version)))
(sha256
(base32
"0krd2x0vyysqsgb7r3ca2qc7cl1s929gm52j5rihnqw0yfjpwgpv"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f ; no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'locate-binaries
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (find-files "." "\\.el$")
(("\\(executable-find \"(mpv|torsocks|yt-dlp)\"\\)" all program)
(format #f "~s" (search-input-file inputs
(string-append "/bin/" program))))))))))
(inputs (list mpv torsocks yt-dlp))
(propagated-inputs (list emacs-compat))
(home-page "https://thanosapollo.org/projects/yeetube/")
(synopsis "Youtube front-end for Emacs")
(description
"This package provides the ability to scrape YouTube, with the results
displayed in a tabulated list format. The videos can be opened with a user-defined
video player (by default @command{mpv}) or downloaded using @command{yt-dlp}.
This package also includes a minimal @code{yt-dlp} wrapper.")
(license license:gpl3+))))
(license license:gpl3+)))
(define-public emacs-org-web-tools
(package
@@ -38672,6 +38904,44 @@ global minor mode whose purpose is to automatically feed TRAMP sub-processes
with passwords for paths matching regexps.")
(license license:gpl3+))))
(define-public emacs-ssh-tunnels
;; There are no tags or releases upstream.
(let ((commit "5010d779edef33f869065231b99d74723c9c7eaf")
(revision "0"))
(package
(name "emacs-ssh-tunnels")
(version (git-version "1.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/death/ssh-tunnels")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"15pwgc9s7f5fjmx2savjrpwr6qcpp0s9iy0y10abpy63np4krc62"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-ssh-location
(lambda* (#:key inputs #:allow-other-keys)
(emacs-substitute-variables "ssh-tunnels.el"
("ssh-tunnels-program"
(search-input-file inputs "/bin/ssh"))))))))
(inputs (list openssh))
(propagated-inputs (list emacs-helm))
(home-page "https://github.com/death/ssh-tunnels")
(synopsis "Manipulate @code{ssh} tunnels from Emacs")
(description "This package provides an Emacs interface to modify,
run and kill @code{ssh} tunnels. It lets customise descriptions of the
tunnels configurations, and includes an @code{emacs-helm} interface to modify
and act on tunnels.")
(license license:expat))))
(define-public emacs-eacl
(package
(name "emacs-eacl")
@@ -43384,8 +43654,8 @@ org-mode templates.")
(license license:gpl3+)))
(define-public emacs-org-glossary
(let ((commit "1b9b7fd3d1e6c214c34463e568daaba6df00ec27")
(revision "0"))
(let ((commit "97827bc323765a5f70213c62800bed50d75c2822")
(revision "1"))
(package
(name "emacs-org-glossary")
(version (git-version "0.0.1" revision commit))
@@ -43397,7 +43667,7 @@ org-mode templates.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "09mg8aqxamnxx8kpdyk074wf2wkm4rx62z7q66azw70hjr1ggwa3"))))
(base32 "0qd1ikc602nnhhm0czv4gn9b1g4jqhjbnnz93ba2pjimgssmb58w"))))
(build-system emacs-build-system)
(arguments
(list
@@ -45396,27 +45666,35 @@ buffer.")
(license license:gpl3+)))
(define-public emacs-setup
(package
(name "emacs-setup")
(version "1.5.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/setup-"
version ".tar"))
(sha256
(base32 "184g3kd9caxyhwq41w94spkjs1j45vblg4sqfb5h5pqb5h9p95n5"))))
(build-system emacs-build-system)
(home-page "https://git.sr.ht/~pkal/setup")
(synopsis "Helpful configuration macro")
(description
"The @code{setup} macro simplifies repetitive configuration patterns, by
providing context-sensitive local macros in @code{setup} bodies. These macros
can be mixed with regular elisp code without any issues, allowing for
flexible and terse configurations. The list of local macros can be
extended by the user via @code{setup-define}. A list of currently known
local macros are documented in the docstring for @code{setup}.")
(license license:gpl3+)))
;; No tagged releases; this commit reflects the version bump on the source
(let ((commit "5a69dab9bb79d8bebaaa9bc14795cbaafd1c2423"))
(package
(name "emacs-setup")
(version "1.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/pkal/setup.el")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1pa5k36pkgvp8als0ngxgy17x0gja9j26qydw3wwawkslssl5kbx"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f)) ; No tests.
(home-page "https://codeberg.org/pkal/setup.el")
(synopsis "Helpful configuration macro")
(description
"The @code{setup} macro simplifies repetitive configuration patterns,
by providing context-sensitive local macros in @code{setup} bodies. These
macros can be mixed with regular elisp code without any issues, allowing for
flexible and terse configurations. The list of local macros can be extended
by the user via @code{setup-define}. A list of currently known local macros
are documented in the docstring for @code{setup}.")
(license license:gpl3+))))
(define-public emacs-tomelr
(package

View File

@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013-2017, 2019, 2021-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013-2017, 2019, 2021-2022, 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
@@ -464,19 +464,22 @@ editor (console only)")
(string-append (getenv "LIBRARY_PATH")
":" libgccjit-libdir)))))
(add-after 'unpack 'patch-compilation-driver
(lambda _
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "lisp/emacs-lisp/comp.el"
(("\\(defcustom native-comp-driver-options nil")
(format
#f "(defcustom native-comp-driver-options '(~@{~s~^ ~})"
(string-append
"-B" #$(this-package-input "binutils") "/bin/")
"-B" (dirname (search-input-file inputs "/bin/nm")))
(string-append
"-B" #$(this-package-input "glibc") "/lib/")
"-B" (dirname (search-input-file inputs "/lib/libc.so")))
(string-append
"-B" #$(this-package-input "libgccjit") "/lib/")
"-B" (dirname (search-input-file inputs "/lib/libgccjit.so")))
(string-append
"-B" #$(this-package-input "libgccjit") "/lib/gcc/"))))))
"-B" (string-append
(dirname
(search-input-file inputs "/lib/libgccjit.so"))
"/gcc")))))))
(add-after 'build 'build-trampolines
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "trampolines" make-flags)))
@@ -498,11 +501,7 @@ editor (console only)")
(inputs
(modify-inputs (package-inputs emacs-minimal)
(prepend gnutls
;; To "unshadow" ld-wrapper in native builds
(make-ld-wrapper "ld-wrapper" #:binutils binutils)
;; For native compilation
binutils
(libc-for-target)
libgccjit
;; Avoid Emacs's limited movemail substitute that retrieves POP3

View File

@@ -91,6 +91,7 @@
#:use-module (gnu packages graphics)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libusb)
@@ -109,9 +110,12 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages serialization)
#:use-module (gnu packages qt)
#:use-module (gnu packages robotics)
#:use-module (gnu packages sdl)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages stb)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
@@ -1239,7 +1243,7 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
(define-public mupen64plus-core
(package
(name "mupen64plus-core")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1248,7 +1252,7 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1iav8r3f0r44sq9pz4zjqrdzyspk412c117ywxz02qpjkhkf91a3"))))
(base32 "1xf15b6c3i0vv92b420a92pfvfaxhji56ivin8pn5r7fajkqyfb7"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config nasm which))
@@ -1258,6 +1262,7 @@ Enjoy all of your favorite Atari 2600 games on your PC thanks to Stella!")
libpng
mesa
sdl2
vulkan-loader
zlib))
(arguments
'(#:phases
@@ -1288,7 +1293,7 @@ core library.")
(define-public mupen64plus-audio-sdl
(package
(name "mupen64plus-audio-sdl")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1297,7 +1302,7 @@ core library.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0j78xk78fj7lhi6jk6npr7wm9ix7qyr5cbaaqsmk6pqw6gfx81kz"))))
(base32 "08sp70kjjbqg8mhxdm6yphfwn6bnf2i7yvzrzygnnn2cwd0qw42j"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1332,7 +1337,7 @@ SDL audio plugin.")
(define-public mupen64plus-input-sdl
(package
(name "mupen64plus-input-sdl")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1341,7 +1346,7 @@ SDL audio plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1nnniyiy0wpg4m9918va31xxnz8r5qvj0z08vyq2is0b47ld3kq0"))))
(base32 "1x07bc3pcfy11k1kp7q0bwz1z9wppxyi3f5pr72wsk1s8szzvck0"))))
(build-system gnu-build-system)
(native-inputs
(list which))
@@ -1376,7 +1381,7 @@ SDL input plugin.")
(define-public mupen64plus-rsp-hle
(package
(name "mupen64plus-rsp-hle")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1385,7 +1390,7 @@ SDL input plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0sblabl3dp1jy9izbwyhx90690xdj96yfmwi47kpka8axzj93naq"))))
(base32 "1wdnf9y5b61hxkv7jkz67m1bcqyxykzc24bg9k77ny7jc2q42v93"))))
(build-system gnu-build-system)
(inputs
(list mupen64plus-core))
@@ -1418,7 +1423,7 @@ high-level emulation (HLE) RSP processor plugin.")
(define-public mupen64plus-rsp-z64
(package
(name "mupen64plus-rsp-z64")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1427,7 +1432,7 @@ high-level emulation (HLE) RSP processor plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "02w7c6b7fc6q5rrvawxv48xp64crfs5jbs06f2fqqj4smysyjfcc"))))
(base32 "0hpd402a00kmqsq45hrmgjfd1nchkjgjj5hc3fzb4fbvac5pacsz"))))
(build-system gnu-build-system)
(inputs
(list mupen64plus-core))
@@ -1460,7 +1465,7 @@ Z64 RSP processor plugin.")
(define-public mupen64plus-video-arachnoid
(package
(name "mupen64plus-video-arachnoid")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1469,7 +1474,7 @@ Z64 RSP processor plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1bkzbmg53qiwvza9h45d76rbyn0isbb31cfp5qqza0fzmgjxhv1d"))))
(base32 "0dvjn3dnpsdzgjpvn4la05bcan2hs2hvzhqhfq43z1bqyxw7qb2d"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1504,7 +1509,7 @@ Arachnoid video plugin.")
(define-public mupen64plus-video-glide64
(package
(name "mupen64plus-video-glide64")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1513,7 +1518,7 @@ Arachnoid video plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0jscvr2imm9wj9jsgsp5815pv27f97w8g19ix0n39y9yy851qvrg"))))
(base32 "15hlbamw2iw5r7l2234a986gikgmkypdzhvl3r7px0rs0pi816pl"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1547,7 +1552,7 @@ Glide64 video plugin.")
(define-public mupen64plus-video-glide64mk2
(package
(name "mupen64plus-video-glide64mk2")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1556,7 +1561,7 @@ Glide64 video plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1hr0mv6y7v72101iff3zf6rd0wpqah936234m3hcb4cgna6zj9xy"))))
(base32 "1w0cp448i3rnr8c6rq8ivqvjmfkcawpr4b798xqhryhbxnlr3s35"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1596,7 +1601,7 @@ Glide64MK2 video plugin.")
(define-public mupen64plus-video-rice
(package
(name "mupen64plus-video-rice")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1605,7 +1610,7 @@ Glide64MK2 video plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1vn24g7ahyv70jd06f5sq0j4bjs4axl2c0kfz4qdkpqsamsgxng8"))))
(base32 "16bzcjawyzy3wmxaq1chjfnljspm1sgzv7swylr9lkf3kpaijcw2"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1640,7 +1645,7 @@ Rice Video plugin.")
(define-public mupen64plus-video-z64
(package
(name "mupen64plus-video-z64")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1649,7 +1654,7 @@ Rice Video plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1i8dxa0lhcsm5ss1bf74dqnzaa2bw5naj6f56ixw2qjvybrnsmk2"))))
(base32 "17h5xh5ms7xv53wcsmagapg08qzybmc1qmch5h6i7dirp5hpa411"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))
@@ -1691,7 +1696,7 @@ Z64 video plugin.")
(define-public mupen64plus-ui-console
(package
(name "mupen64plus-ui-console")
(version "2.5.9")
(version "2.6.0")
(source
(origin
(method git-fetch)
@@ -1700,7 +1705,7 @@ Z64 video plugin.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1dyrqdfs2jkalfd86bqidgd9y1hy03qgrgwk46d3xf3kyfmaa1cq"))
(base32 "0lir5clzqp2al7dcw9p6xg0kpz5wrgb4s3ar56siqg8nafslrqp3"))
(patches (search-patches "mupen64plus-ui-console-notice.patch"))))
(build-system gnu-build-system)
(native-inputs
@@ -3724,6 +3729,165 @@ hardware states and PS2 system memory. This allows you to play PS2 games on
your PC, with many additional features and benefits.")
(license license:gpl3+)))
(define-public rpcs3
;; NB: When updating to a new release, don't forget to check if any more
;; libraries can be linked dynamically, and to update the commits for any
;; specialized sources included in native-inputs so that they match the
;; sub-modules in ./3rdparty.
(package
(name "rpcs3")
(version "0.0.38")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/RPCS3/rpcs3")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0dwrfjs9b3ldwyn68nmyf0qip4hm1w8c3picdl3zk7z76j7rrhal"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(list
;; -fexceptions is needed to compile part of yaml-cpp.
"-DCMAKE_CXX_FLAGS=-fexceptions"
;; "USE_NATIVE_INSTRUCTIONS makes rpcs3 compile with -march=native,
;; which is useful for local builds, but not good for packages."
"-DUSE_NATIVE_INSTRUCTIONS=OFF"
"-DWITH_LLVM=ON"
"-DBUILD_LLVM=OFF"
"-DSTATIC_LINK_LLVM=OFF"
"-DUSE_FAUDIO=ON"
"-DUSE_LIBEVDEV=ON"
"-DUSE_DISCORD_RPC=OFF"
"-DUSE_VULKAN=ON"
"-DUSE_PRECOMPILED_HEADERS=OFF"
"-DUSE_SDL=ON"
"-DUSE_SYSTEM_CUBEB=ON"
"-DUSE_SYSTEM_CURL=ON"
"-DUSE_SYSTEM_FAUDIO=ON"
"-DUSE_SYSTEM_FFMPEG=ON"
"-DUSE_SYSTEM_FLATBUFFERS=ON"
"-DUSE_SYSTEM_GLSLANG=ON"
"-DUSE_SYSTEM_HIDAPI=ON"
"-DUSE_SYSTEM_LIBPNG=ON"
"-DUSE_SYSTEM_LIBUSB=ON"
"-DUSE_SYSTEM_MINIUPNPC=ON"
"-DUSE_SYSTEM_OPENAL=ON"
"-DUSE_SYSTEM_OPENCV=ON"
"-DUSE_SYSTEM_PUGIXML=ON"
"-DUSE_SYSTEM_RTMIDI=ON"
"-DUSE_SYSTEM_SDL=ON"
"-DUSE_SYSTEM_VULKAN_MEMORY_ALLOCATOR=ON"
"-DUSE_SYSTEM_WOLFSSL=ON"
"-DUSE_SYSTEM_ZLIB=ON"
"-DUSE_SYSTEM_ZSTD=ON"
"-DBUILD_RPCS3_TESTS=ON"
"-DRUN_RPCS3_TESTS=ON"
;; "Choose whether to enable GameMode features or not."
;; Off, for now, because GameMode requires systemd to work.
"-DUSE_GAMEMODE=OFF")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'add-some-submodules
;; TODO: Remove as many of these as possible.
(lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion "3rdparty"
(rmdir "fusion/fusion")
(symlink (string-append
(search-input-directory inputs "Fusion") "/../")
"fusion/fusion")
(rmdir "SoundTouch/soundtouch")
(symlink (dirname
(search-input-file inputs "soundtouch.pc.in"))
"SoundTouch/soundtouch")
(rmdir "asmjit/asmjit")
(symlink (string-append
(search-input-directory inputs "src/asmjit")
"/../../")
"asmjit/asmjit")
(rmdir "yaml-cpp/yaml-cpp")
(symlink (dirname
(search-input-file inputs "yaml-cpp.pc.in"))
"yaml-cpp/yaml-cpp")
(rmdir "stblib/stb")
(symlink (dirname
(search-input-file inputs "stb_c_lexer.h"))
"stblib/stb")))))))
(inputs
(append
(list cubeb
curl
eudev
faudio
;; RPCS3 v0.0.38 uses symbols that are deprecated in ffmpeg 8.
;; See https://github.com/RPCS3/rpcs3/issues/17461
ffmpeg-6
flatbuffers
glew
glslang
glu
hidapi
jack-2
libevdev
libglvnd
libpng
libusb-next
llvm-18
mesa
miniupnpc-next
openal
opencv
pugixml-next
pulseaudio
qtbase
qtmultimedia
qtsvg
rtmidi
sdl3
spirv-tools
vulkan-loader
wayland
wolfssl-for-rpcs3
zlib
`(,zstd "lib"))))
(native-inputs
(list
googletest
pkg-config
vulkan-memory-allocator
(package-source asmjit)
(package-source fusion)
(package-source stb)
(origin
(file-name "rpcs3-soundtouch-source")
(method git-fetch)
(uri (git-reference
(url "https://github.com/RPCS3/soundtouch")
(commit "3982730833b6daefe77dcfb32b5c282851640c17")))
(sha256
(base32 "07q514mx69jkrz7i58c45iwj3zql88vdsa1sah7immwr1005i91y")))
(origin
(file-name "rpcs3-yaml-cpp-source")
(method git-fetch)
(uri (git-reference
(url "https://github.com/RPCS3/yaml-cpp")
(commit "456c68f452da09d8ca84b375faa2b1397713eaba")))
(sha256
(base32 "0spp91yz1bvr9dljc7zgjf2sqw49d8b9yinlncykjwzxm7ap7jys")))))
(home-page "https://rpcs3.net/")
(synopsis "PlayStation 3 emulator")
(description "RPCS3 is an emulator and debugger for the Sony
@acronym{PS3,PlayStation 3}.")
(license
(list license:gpl2 ;core, pine_server.h
license:bsd-3 ;FindWayland.cmake, FindFFMPEG.cmake
;;flow_layout.h, sse2neon.h, unordered_dense.h, ffx_fsr1.h,
;;ffx_a.h, bcdec.hpp, LUrlParser.h, khrplatform.h
license:expat))))
(define-public gens-gs
(package
(name "gens-gs")

View File

@@ -40,12 +40,13 @@
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com>
;;; Copyright © 2024 Juliana Sims <juli@incana.org>
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2025 Frederick Muriuki Muriithi <fredmanglis@gmail.com>
;;; Copyright © 2025 nomike Postmann <nomike@nomike.com>
;;; Copyright © 2025 Matthew Elwin <elwin@northwestern.edu>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net>
;;; Copyright © 2025 bdunahu <bdunahu@operationnull.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -129,6 +130,7 @@
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages javascript)
#:use-module (gnu packages jupyter)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages libcanberra)
@@ -145,6 +147,7 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages networking)
#:use-module (gnu packages node)
#:use-module (gnu packages openkinect)
#:use-module (gnu packages parallel)
#:use-module (gnu packages pcre)
@@ -1031,6 +1034,62 @@ user-level language.")
;; Mark as tunable to take advantage of SIMD code in Eigen.
(properties '((tunable? . #t))))))
(define-public iaito
;; Release versions are currently out of sync with radare2,
;; use most recent commit.
(let ((commit "27cdc1793c2f5bf71c6f2ef5116f0bfb91edd730")
(revision "1"))
(package
(name "iaito")
(version (git-version "6.0.4" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/radareorg/iaito")
(commit commit)))
(sha256
(base32
"0bwjxv73nsd06al2a40r5gvm99kzlq7f7q7ial9189awlnsbnwlw"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ;no tests
#: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")))))
(replace 'configure
(lambda _
;; Does not recognize "--enable-fast-install".
(invoke "./configure"
(string-append "--prefix=" #$output)))))))
(inputs
(list capstone
libuv
libzip
lz4
openssl
qtbase
qtsvg
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+))))
(define-public inspekt3d
(let ((commit "703f52ccbfedad2bf5240bf8183d1b573c9d54ef")
(revision "0"))
@@ -2095,7 +2154,7 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
(define-public radare2
(package
(name "radare2")
(version "5.1.1")
(version "6.0.7")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2103,29 +2162,59 @@ bootloader in Espressif ESP8266 & ESP32 series chips.")
(commit version)))
(sha256
(base32
"0hv9x31iabasj12g8f04incr1rbcdkxi3xnqn3ggp8gl4h6pf2f3"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
"1nkqa8mkmvmbc3812gf5ayfmzyf0krjgc1695rpkphw3fsl76rgx"))
(file-name (git-file-name name version))
(patches
(search-patches "radare2-fix-meson-build-to-use-sys-sdb.patch"
"radare2-fix-meson-build-to-use-sys-qjs.patch"))))
(build-system meson-build-system)
(arguments
(list
#:tests? #f ; tests require git and network access
#:configure-flags
#~(list "-Duse_libuv=true"
"-Duse_ssl=true"
"-Duse_sys_capstone=true"
"-Duse_sys_lz4=true"
"-Duse_sys_magic=true"
"-Duse_sys_openssl=true"
"-Duse_sys_xxhash=true"
"-Duse_sys_zip=true"
"-Duse_sys_zlib=true")
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'mklibdir
(lambda _ (mkdir-p (string-append #$output "/lib")))))
#:configure-flags
#~(list "--with-openssl"
"--with-rpath"
"--with-syscapstone"
"--with-sysmagic"
"--with-syszip"
"--with-sysxxhash")
#:make-flags #~(list (string-append "CC=" #$(cc-for-target)))))
;; TODO: Add gmp and libzip and make the build system actually find them.
;; CHECK LATER: This patches an incorrect relative include.
(add-before 'build 'fix-relative-include
(lambda _
(substitute* "../source/libr/arch/p/java/plugin.c"
(("include \".." all)
(string-append all "/..")))))
;; These tests require sample binaries from an external repository.
(add-before 'check 'skip-tests
(lambda _
(substitute* '("../source/test/unit/test_bin.c"
"../source/test/unit/test_dwarf.c"
"../source/test/unit/test_dwarf_info.c"
"../source/test/unit/test_dwarf_integration.c"
"../source/test/unit/test_pdb.c"
;; TODO: add r2pipe and enable this test.
"../source/test/unit/test_r2pipe.c")
(("(^| )main *\\(.*" all)
(string-append all " exit (77);\n"))))))))
(inputs
(list capstone libuv openssl zip))
(list capstone
gmp
libuv
libzip
lz4
openssl
quickjs-ng
sdb
zlib))
(native-inputs
(list pkg-config))
(list node
perl
pkg-config
python-minimal-wrapper))
(propagated-inputs
;; In the Libs: section of r_hash.pc.
(list xxhash))
@@ -4331,11 +4420,19 @@ G-codes to binary and vice versa.")
(lambda _
(substitute* "tests/libslic3r/test_quadric_edge_collapse.cpp"
(("#include <libigl/igl/qslim.h>")
"#include <igl/qslim.h>")))))))
"#include <igl/qslim.h>"))))
(add-after 'install 'wrap-program
(lambda _
(wrap-program (string-append #$output "/bin/prusa-slicer")
;; For GtkFileChooserDialog.
`("GSETTINGS_SCHEMA_DIR" =
(,(string-append #$(this-package-input "gtk+")
"/share/glib-2.0/schemas")))))))))
(native-inputs
(list pkg-config catch2-3.8))
(inputs
(list boost-1.83
(list bash-minimal
boost-1.83
cereal
cgal
curl
@@ -5271,37 +5368,36 @@ forward kinematics solvers.")
(name "python-orocos-kinematics-dynamics")
(source
(origin
(inherit (package-source orocos-kinematics-dynamics))
(snippet '(begin
(substitute* "python_orocos_kdl/CMakeLists.txt"
;; Use the system pybind11 instead of the bundled version
(("add_subdirectory\\(pybind11\\)")
"find_package(pybind11)")
;; change debian-specific python install directory
(("dist-packages")
"site-packages"))
;; ROS 1 uses some dynamic attributes, which are
;; disabled by default in pybind11. No harm in enabling them
;; See "https://github.com/ros2/geometry2/issues/624
;; and https://pybind11.readthedocs.io/en/stable/classes.html
;; #dynamic-attributes <Both accessed June 1 2025>
(substitute* "python_orocos_kdl/PyKDL/frames.cpp"
(("m, \"Vector\"")
"m, \"Vector\", py::dynamic_attr()")
(("m, \"Frame\"")
"m, \"Frame\", py::dynamic_attr()")
(("m, \"Twist\"")
"m, \"Twist\", py::dynamic_attr()")
(("m, \"Wrench\"")
"m, \"Wrench\", py::dynamic_attr()"))))))
(inherit (package-source orocos-kinematics-dynamics))))
(native-inputs (list python pybind11 python-psutil))
(inputs (list orocos-kinematics-dynamics))
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(add-after 'unpack 'fix
(lambda _
(substitute* "python_orocos_kdl/CMakeLists.txt"
;; Use the system pybind11 instead of the bundled version
(("add_subdirectory\\(pybind11\\)")
"find_package(pybind11)")
;; change debian-specific python install directory
(("dist-packages")
"site-packages"))
;; ROS 1 uses some dynamic attributes, which are
;; disabled by default in pybind11. No harm in enabling them
;; See "https://github.com/ros2/geometry2/issues/624
;; and https://pybind11.readthedocs.io/en/stable/classes.html
;; #dynamic-attributes <Both accessed June 1 2025>
(substitute* "python_orocos_kdl/PyKDL/frames.cpp"
(("m, \"Vector\"")
"m, \"Vector\", py::dynamic_attr()")
(("m, \"Frame\"")
"m, \"Frame\", py::dynamic_attr()")
(("m, \"Twist\"")
"m, \"Twist\", py::dynamic_attr()")
(("m, \"Wrench\"")
"m, \"Wrench\", py::dynamic_attr()"))
(chdir "python_orocos_kdl")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)

View File

@@ -392,50 +392,56 @@ embedded systems.")
(define-public python-efl
(package
(name "python-efl")
(version "1.26.0")
(version "1.26.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.enlightenment.org/rel/bindings/"
"python/python-efl-" version ".tar.xz"))
(sha256
(base32
"0dj6f24n33hkpy0bkdclnzpxhvs8vpaxqaf7hkw0di19pjwrq25h"))
(modules '((guix build utils)))
;; Remove files generated by Cython
(snippet
'(begin
(for-each (lambda (file)
(let ((generated-file
(string-append (string-drop-right file 3) "c")))
(when (file-exists? generated-file)
(delete-file generated-file))))
(find-files "efl" "\\.pyx$"))
(delete-file "efl/eo/efl.eo_api.h")))))
(build-system python-build-system)
(origin
(method url-fetch)
(uri (string-append "https://download.enlightenment.org/rel/bindings/"
"python/python-efl-" version ".tar.xz"))
(sha256
(base32 "1mr80vgbcs03rs5lbmg8pxj8hifkrzrwdrw01plik2h729z3knyw"))
(modules '((guix build utils)))
;; Remove files generated by Cython
(snippet
'(begin
(for-each (lambda (file)
(let ((generated-file
(string-append (string-drop-right file 3) "c")))
(when (file-exists? generated-file)
(delete-file generated-file))))
(find-files "efl" "\\.pyx$"))
(delete-file "efl/eo/efl.eo_api.h")))))
(build-system pyproject-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'build
(lambda _
(setenv "ENABLE_CYTHON" "1")
(invoke "python" "setup.py" "build")))
(add-before 'build 'set-flags
(lambda _
(setenv "CFLAGS"
(string-append "-I" (assoc-ref %build-inputs "python-dbus")
"/include/dbus-1.0"))))
(add-before 'check 'set-environment
(lambda _
;; Some tests require write access to HOME.
(setenv "HOME" "/tmp")
;; These tests try to connect to the internet.
(delete-file "tests/ecore/test_09_file_download.py")
(delete-file "tests/ecore/test_11_con.py"))))))
(list
#:test-flags
#~(list "tests"
;; These tests try to connect to the internet.
"--ignore=tests/ecore/test_09_file_download.py"
"--ignore=tests/ecore/test_11_con.py"
;; The above test ignorance probably breaks this one.
"--deselect=tests/ecore/test_08_exe.py::TestExe::testInit"
;; This test requires access to a running Xorg server,
;; /var/lib/dbus and /etc.
"--ignore=tests/dbus/test_01_basics.py"
;; XXX: RuntimeWarning: Setting standard icon failed
"--ignore=tests/elementary/test_02_image_icon.py")
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-flags
(lambda* (#:key inputs #:allow-other-keys)
(let ((include-dir (search-input-directory inputs
"include/dbus-1.0")))
(setenv "CFLAGS" (string-append "-I" include-dir)))))
(add-before 'check 'configure-tests
(lambda _
(setenv "HOME" "/tmp")))))) ;needed by tests
(native-inputs
(list pkg-config python-cython-0))
(inputs
(list efl python-dbus python-packaging))
(list pkg-config
python-cython-0
python-pytest
python-setuptools))
(inputs (list efl python-dbus python-packaging))
(home-page "https://www.enlightenment.org/")
(synopsis "Python bindings for EFL")
(description

View File

@@ -185,7 +185,7 @@ testing InfiniBand networks.")
(define-public ucx
(package
(name "ucx")
(version "1.17.0")
(version "1.19.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -195,7 +195,7 @@ testing InfiniBand networks.")
(patches (search-patches "ucx-tcp-iface-ioctl.patch"))
(sha256
(base32
"09182kx60kq7iyjyz3mpcrgp1mm0lnpc0f4hd4hlw5yyabkxrpa1"))
"12j9200iyg6d0yr84r25hcpq8qqzfaa08klbhvgrqpflpfcljz4z"))
(snippet
;; As seen in commit b0a275a5492125a13020cd095fe9934e0b5e7c6a.
#~(begin (use-modules (guix build utils))

View File

@@ -692,3 +692,25 @@ as well as those for Chinese dialects. It has the ability to compose phrases
and sentences intelligently and provide very accurate traditional Chinese
output.")
(license license:lgpl2.1+)))
(define-public fcitx5-hangul
(package
(name "fcitx5-hangul")
(version "5.1.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fcitx/fcitx5-hangul")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "02lkbwg25jr4hazjyxcy69midfsmxc0ksbdrfwbmqcfa3kz5d9gb"))))
(build-system cmake-build-system)
(native-inputs (list extra-cmake-modules pkg-config gettext-minimal))
(inputs (list fcitx5 libhangul))
(home-page "https://github.com/fcitx/fcitx5-hangul")
(synopsis "Hangul support for Fcitx5")
(description
"This package provides the Hangul (Korean) input method engine for Fcitx5.")
(license license:lgpl2.1+)))

View File

@@ -952,7 +952,7 @@ minimal bcachefs-tools package. It is meant to be used in initrds.")
(define-public bcachefs-linux-module
(package
(name "bcachefs-linux-module")
(version "1.32.1")
(version "1.33.0")
(source
(origin
(method git-fetch)
@@ -961,7 +961,7 @@ minimal bcachefs-tools package. It is meant to be used in initrds.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0m85s00i1xfb9lr73j41f80akkhcijh9m0b602r76b15a0l5v3a9"))))
(base32 "05lqw3mxi73nm1q4qv43p9hyiwi2hdx4nc9fzm7rxwip6ys1kqkd"))))
(build-system linux-module-build-system)
(arguments
(list

View File

@@ -354,14 +354,14 @@ Accounting.")
(define-public homebank
(package
(name "homebank")
(version "5.9.4")
(version "5.9.6")
(source (origin
(method url-fetch)
(uri (string-append "https://www.gethomebank.org/public/sources"
"/homebank-" version ".tar.gz"))
(sha256
(base32
"1gwzj3x3rnd3f5z1fzvrl740zhpnxjcsbxlmabwgkw22l6226i4c"))))
"0ymp7qj6im1cl66lbf9q2r8dgav3dagbhbipskg8zcgj0kz0ncph"))))
(build-system glib-or-gtk-build-system)
(native-inputs
(list pkg-config intltool))
@@ -1166,14 +1166,19 @@ settings.")
(define-public python-mnemonic
(package
(name "python-mnemonic")
(version "0.20")
(version "0.21")
(source
(origin
(method url-fetch)
(uri (pypi-uri "mnemonic" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/trezor/python-mnemonic")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xi5qvj2rvi5almf9c89rl7hz1z4ms04d53pg818i4vpkmivavvw"))))
(build-system python-build-system)
(base32 "1r8cdlgqpmj71ap3kyhc2nq8dn29gmj7v8dlq8kgcy91jky94n8g"))))
(build-system pyproject-build-system)
(native-inputs
(list python-poetry-core python-pytest))
(propagated-inputs
(list python-pbkdf2))
(home-page "https://github.com/trezor/python-mnemonic")
@@ -1252,29 +1257,6 @@ of Bitcoin BIP-0039.")
Ledger Blue/Nano S.")
(license license:asl2.0)))
(define-public python-btchip-python
(package
(name "python-btchip-python")
(version "0.1.32")
(source
(origin
(method url-fetch)
(uri (pypi-uri "btchip-python" version))
(sha256
(base32
"0mcg3gfd0qk8lhral3vy9cfd4pii9kzs42q71pf6b3y0c70y1x9l"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; those require PyQt4
(propagated-inputs
(list python-ecdsa python-hidapi))
(home-page "https://github.com/LedgerHQ/btchip-python")
(synopsis "Python library to communicate with Ledger Nano dongle")
(description
"This package provides a Python library to communicate with Ledger
Nano dongle.")
(license license:asl2.0)))
(define-public python-trezor
(package
(name "python-trezor")
@@ -1481,12 +1463,18 @@ the KeepKey Hardware Wallet.")
(version "0.9.0")
(source
(origin
;; TODO: Figure out how to build from
;; https://github.com/romanz/trezor-agent
(method url-fetch)
(uri (pypi-uri "keepkey_agent" version))
(sha256
(base32
"03779gvlx70i0nnry98i4pl1d92604ix5x6jgdfkrdgzqbh5vj27"))))
(build-system python-build-system)
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ;no tests in PyPI package
(native-inputs
(list python-setuptools))
(inputs
(list python-keepkey python-packaging python-trezor-agent))
(home-page "https://github.com/romanz/trezor-agent")

View File

@@ -44,6 +44,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix download)
@@ -78,6 +79,7 @@
#: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 qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages swig)
@@ -490,29 +492,31 @@ Management Engine (ME). You need to @code{sudo rmmod mei_me} and
(package
(name "me-cleaner")
(version "1.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/corna/me_cleaner")
(commit (string-append "v" version))))
(sha256
(base32
"1bdj2clm13ir441vn7sv860xsc5gh71ja5lc2wn0gggnff0adxj4"))
(file-name (git-file-name name version))))
(build-system python-build-system)
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/corna/me_cleaner")
(commit (string-append "v" version))))
(sha256
(base32 "1bdj2clm13ir441vn7sv860xsc5gh71ja5lc2wn0gggnff0adxj4"))
(file-name (git-file-name name version))))
(build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'install-documentation
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(man (string-append out "/share/man/man1")))
(install-file "man/me_cleaner.1" man)
#t))))))
(list
#:tests? #f ; No tests.
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-documentation
(lambda _
(install-file "man/me_cleaner.1"
(string-append #$output "/share/man/man1")))))))
(native-inputs (list python-setuptools))
(home-page "https://github.com/corna/me_cleaner")
(synopsis "Intel ME cleaner")
(description "This package provides tools for disabling Intel
ME as far as possible (it only edits ME firmware image files).")
(description
"This package provides tools for disabling Intel ME as far as possible
(it only edits ME firmware image files).")
(license license:gpl3+)
;; This is an Intel thing.

View File

@@ -51,7 +51,7 @@
;;; Copyright © 2021 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2022 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2022 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2023 Ahmad Draidi <a.r.draidi@redscript.org>
;;; Copyright © 2023 Arnaud Lechevallier <arnaud.lechevallier@free.fr>
@@ -69,6 +69,7 @@
;;; Copyright © 2025 Liam Hupfer <liam@hpfr.net>
;;; Copyright © 2025 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2025 Lee Thompson <lee.p.thomp@gmail.com>
;;; Copyright © 2025 Alexandre Hannud Abdo <abdo@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -575,6 +576,61 @@ intended to be optimally legible for readers who are partially visually impaired
all characters maximally distinguishable from one another.")
(license license:silofl1.1))))
(define-public font-atkinson-hyperlegible-next
(let ((commit "7925f50f649b3813257faf2f4c0b381011f434f1")
(revision "0"))
(package
(name "font-atkinson-hyperlegible-next")
(version (git-version "2.001" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/googlefonts/atkinson-hyperlegible-next/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "01m59xl35xvjv07d0qwli1czgfjg2wfgv676xi71is2rirh1y71f"))))
(build-system font-build-system)
(home-page "https://www.brailleinstitute.org/freefont/")
(synopsis
"Typeface designed to increase legibility for low vision readers")
(description
"Atkinson Hyperlegible Next is an improvement of the typeface Atkinson
Hyperlegible, including new characters, improved glyphs, and improved kerning.
Additionally, the two previous weights has increased to six, all in upright
and italic, allowing for greater flexibility in use.")
(license license:silofl1.1))))
(define-public font-atkinson-hyperlegible-mono
(let ((commit "154d50362016cc3e873eb21d242cd0772384c8f9")
(revision "0"))
(package
(name "font-atkinson-hyperlegible-mono")
(version (git-version "2.001" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/googlefonts/atkinson-hyperlegible-next-mono/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0bdhp70zniqnj14raw9krb034zrvvxhzimzqys713p8ksrndck2p"))))
(build-system font-build-system)
(home-page "https://www.brailleinstitute.org/freefont/")
(synopsis
"Monospace typeface designed to increase legibility for low vision readers")
(description
"Atkinson Hyperlegible Mono is an entirely new typeface inspired by
Atkinson Hyperlegible. The characters in a monospace typeface all occupy the
same width, allowing for them to be scanned quickly in table-based and coding
environments. The glyphs in Atkinson Hyperlegible Mono are newly created for
this variation, and unique to the typeface.")
(license license:silofl1.1))))
(define-public font-lato
(package
(name "font-lato")
@@ -5031,3 +5087,54 @@ is necessary, such as when composing tabular data using text.")
technical and idiosyncratic feelperfect for headers and pull-quotes. Made to
work well together with Mona Sans.")
(license license:silofl1.1)))
(define-public font-peppercarrot
(package
(name "font-peppercarrot")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://framagit.org/peppercarrot/fonts")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1yw5wjd6rydgllf0c3g5nh9zqbnhc1wbbhsx36c08isr28sy59mm"))))
(build-system font-build-system)
(arguments
(list
#:license-file-regexp ".*\\.(COPYRIGHT|LICENSE)$"
#:phases
#~(modify-phases %standard-phases
;; License files are spread in subdirectories, gotta catch 'em all!
(replace 'install-license-files
(let ((install-license-files (assoc-ref %standard-phases
'install-license-files))
(package-directories (find-files "."
(lambda (file stat)
(eq? 'directory
(stat:type stat)))
#:directories? #t)))
(lambda args
(for-each (lambda (directory)
(with-directory-excursion directory
(apply install-license-files args)))
package-directories)))))))
(home-page "https://www.peppercarrot.com/en/fonts/")
(synopsis "Fonts used by the comic strip Pepper&Carrot")
(description
"This package provides a collection of open fonts compiled and adapted by David
Revoy and collaborators for use in the comic strip Pepper&Carrot.")
;; We list all licenses used for any of the many fonts in the collection
(license (list license:silofl1.1
license:silofl1.0
(license:non-copyleft
"http://jikasei.me/info/license.html#M_FONT_LICENSE_1")
license:gpl3
license:gpl3+
license:gpl2
license:gpl2+
license:asl2.0
license:cc-by3.0))))

View File

@@ -2820,35 +2820,57 @@ to the C library @code{uchardet} to increase performance.")
(version "2.5.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "udiskie" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/coldfix/udiskie")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0c6i7i7yb0lqrfxjrh63y6amw2npkp1n3dxdfjf9zh4pgbnaivd3"))))
(build-system python-build-system)
(base32 "0ccp55fgmcc4fsd7jsqla6k1m6v8zkn03i4axw446zh2nzxpanhl"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-backend #~'custom
#:test-flags #~(list "test/test_match.py")
#:phases
#~(modify-phases %standard-phases
(add-after 'check 'fix-entry-points
;; FIXME: See: <https://codeberg.org/guix/guix/issues/4509>.
(lambda _
(substitute* (string-append #$output "/bin/.udiskie-real")
(("from udiskie.cli import Daemon.main")
"from udiskie.cli import Daemon"))
(substitute* (string-append #$output "/bin/.udiskie-info-real")
(("from udiskie.cli import Info.main")
"from udiskie.cli import Info"))
(substitute* (string-append #$output "/bin/.udiskie-mount-real")
(("from udiskie.cli import Mount.main")
"from udiskie.cli import Mount"))
(substitute* (string-append #$output "/bin/.udiskie-umount-real")
(("from udiskie.cli import Umount.main")
"from udiskie.cli import Umount"))))
(add-after 'wrap 'wrap-gi-typelib
(lambda _
(wrap-program (string-append #$output "/bin/udiskie")
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")))))))))
(native-inputs
(list asciidoc
gettext-minimal
gobject-introspection))
gobject-introspection
python-setuptools))
(inputs
(list bash-minimal
gobject-introspection
gtk+
libappindicator
libnotify
python-docopt
python-keyutils
python-pygobject
python-pyxdg
python-pyyaml
udisks))
(propagated-inputs
(list python-docopt python-pygobject python-keyutils python-pyxdg
python-pyyaml))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-gi-typelib
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(wrap-program (string-append out "/bin/udiskie")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))))))
(home-page "https://github.com/coldfix/udiskie")
(synopsis "Automounter for removable media")
(description
@@ -3229,6 +3251,41 @@ The portal interfaces include APIs for file access, opening URIs, printing
and others.")
(license license:lgpl2.1+)))
(define-public xdg-desktop-portal-next
(let ((base xdg-desktop-portal))
(package
(inherit base)
(version "1.20.3")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/flatpak/xdg-desktop-portal/releases/download/"
version "/xdg-desktop-portal-" version ".tar.xz"))
(sha256
(base32
"1p4yvbhqr8yf231gm69vdz3h7na8m6x1mhiw3bmhg4gm6x4idysb"))
(patches (search-patches
"xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch"))
(modules '((guix build utils)))
;; Disable failing tests.
(snippet #~(substitute* "tests/meson.build"
((".*test_dynamiclauncher.*") "")
((".*test_notification.*") "")
((".*test_usb.*") "")))))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:configure-flags flags #~'())
;; Requires python-furo, which isn't packaged for guix, and depends
;; on node.js.
#~(append '("-Ddocumentation=disabled")
#$flags))))
(inputs (modify-inputs (package-inputs base)
(append gstreamer
gst-plugins-base
gst-plugins-good
umockdev))))))
(define-public xdg-desktop-portal-gtk
(package
(name "xdg-desktop-portal-gtk")

View File

@@ -38,6 +38,7 @@
;;; Copyright © 2025 Arnaud Lechevallier <arnaud.lechevallier@free.fr>
;;; Copyright © 2025 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2025 Simen Endsjø <contact@simendsjo.me>
;;; Copyright © 2025 gemmaro <gemmaro.dev@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -510,13 +511,19 @@ PCM data.")
(define-public nml
(package
(name "nml")
(version "0.7.6")
(version "0.8.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "nml" version))
(sha256
(base32 "0if99hk9dsiw33iabkrbrpwybv8vl3hpim1cf07sklkshigwxryr"))))
(base32 "0krs3jac9jc0zqr59ivfl5vibqc15b4yhww73j3c01dla1shvlcj"))))
(arguments
(list #:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda _
(invoke "make" "-C" "regression"))))))
(build-system python-build-system)
(propagated-inputs
(list python-pillow python-ply))
@@ -563,38 +570,78 @@ types (revolute, prismatic, wheel, etc.).")
(license license:zlib)))
(define-public python-anvil-parser
(let ((commit "27544bb41f035617be130a209a84371cbaf837cc")
;; Github project does not have tags.
(let ((commit "91a7eda55f0fb55a948d1072896430c29d906809")
(revision "0"))
(package
(name "python-anvil-parser")
(version (git-version "0.9.0" revision commit))
(version (git-version "0.10.6" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/0xTiger/anvil-parser")
(url "https://github.com/0xTiger/anvil-parser2")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "196nli36pz4sllx1m8jlys661hgbxhcxr2c4545fqb4nd27hhwy7"))))
(build-system python-build-system)
(base32 "16j7kv6v782nz1fafkxkb7v2vpwfhpi1a66ak04xawg9h1fz7vkc"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest python-setuptools))
(propagated-inputs (list python-frozendict python-nbt))
(home-page "https://github.com/0xTiger/anvil-parser")
(home-page "https://github.com/0xTiger/anvil-parser2")
(synopsis "Anvil file format parser")
(description "This package provides an Anvil file format parser.")
(license license:expat))))
;;~4MiB of test files.
(define python-nbt-testdata
(file-union
"python-nbt-testdata"
(list
(let ((file "Sample_World.tar.gz"))
`(,file
,(origin
(method url-fetch)
(uri (string-append
"https://github.com/twoolie/NBT/files/13199373/"
file))
(sha256
(base32
"1s58g5zicx8ghdai2qix2aqq0fc675vfajica4h78c397crwjrl9"))))))))
(define-public python-nbt
(package
(name "python-nbt")
(version "1.5.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "NBT" version))
(sha256
(base32
"1i9ncrzy5zcfnxzkh2j31n9ayzxfncckzwa6fkz9vjq5fq9v4fys"))))
(build-system python-build-system)
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/twoolie/NBT")
(commit (string-append "version-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1a3mj7c18m1n5iqzwwvvlk7n65kxp3xbmccsqyap36apwpbbxyd9"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "tests/regiontests.py" "tests/nbttests.py")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'fake-download
;; Fake the download of the test tarball.
(lambda _
(substitute*
"tests/downloadsample.py"
(("tar_file = .*")
(string-append
"tar_file = '"
#+python-nbt-testdata
"/Sample_World.tar.gz'"))))))))
(native-inputs
(list python-pytest python-setuptools))
(home-page "https://github.com/twoolie/NBT")
(synopsis "Named Binary Tag reader and writer")
(description
@@ -1943,6 +1990,43 @@ programming languages.")
visual novel engine, explaining all of its features.")
(license license:expat)))
(define-public rpatool
;; XXX: No releases or version tags, see:
;; <https://codeberg.org/shiz/rpatool/issues/28>.
(let ((revision "0")
(commit "74f26d5dfdd645483e02552aa766ca447ad6b191"))
(package
(name "rpatool")
(version (git-version "0.8" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shiz/rpatool")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "10dm8bak0dm84d1ciwzw6jd5y64invddlmcdnawnpp7jn3wrg1jb"))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(delete 'build)
(replace 'install
(lambda _
(install-file "rpatool"
(string-append #$output "/bin")))))))
(home-page "https://codeberg.org/shiz/rpatool")
(synopsis "Tool to work with Ren'Py archives")
(description
"@samp{rpatool} is a simple tool allowing you to create, modify and
extract @url{https://www.renpy.org/,Ren'Py} Archive files
(@code{.rpa}/@code{.rpi}). Currently, only writing RPAv2/RPAv3 archives is
supported.")
(license license:wtfpl2))))
(define-public python-pyxel
;; Note to updaters: Use commit and revision even if you're bumping
;; to a release, as upstream is known to "reuse" tags.
@@ -2088,36 +2172,40 @@ robust and compatible with many systems and operating systems.")
(license license:zlib)))
(define-public mc2mt
;; No tags in the repository.
(let ((commit "039dbc26466a430e03c646dc5a9bd0822637a87a")
(revision "0"))
(package
(name "mc2mt")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/listia/mc2mt")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1vnaznwgm87x0n5dp14363p2h54lpzalynrrd6lbs6wgrqq7fq9i"))
(patches (search-patches "mc2mt-add-packaging-support.patch"))
(modules '((guix build utils)))
(snippet
#~(begin
(substitute* "mc2mtlib/argument_parser.py"
(("mineclone2") "mineclone"))))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools))
(propagated-inputs (list python-anvil-parser))
(arguments
(list #:tests? #f)) ; no tests
(synopsis "Minecraft to Minetest world converter")
(description "@code{mc2mt} is a Minecraft to Minetest world converter.
(package
(name "mc2mt")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/listia/mc2mt")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1vnaznwgm87x0n5dp14363p2h54lpzalynrrd6lbs6wgrqq7fq9i"))
(patches (search-patches "mc2mt-add-packaging-support.patch"))
(modules '((guix build utils)))))
(build-system pyproject-build-system)
(arguments
(list
#:tests? #f ; no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-code
(lambda* _
(substitute* "mc2mtlib/argument_parser.py"
(("mineclone2") "mineclone")))))))
(native-inputs (list python-pytest python-setuptools))
(propagated-inputs (list python-anvil-parser))
(synopsis "Minecraft to Minetest world converter")
(description "@code{mc2mt} is a Minecraft to Minetest world converter.
It can convert worlds from Minecraft 1.9 and later.")
(home-page "https://github.com/listia/mc2mt")
(license license:expat))))
(home-page "https://github.com/listia/mc2mt")
(license license:expat))))
(define-public mygui
(package

View File

@@ -1544,7 +1544,7 @@ practise.")
(define-public doom-runner
(package
(name "doom-runner")
(version "1.8.3")
(version "1.9.1")
(source
(origin
(method git-fetch)
@@ -1553,10 +1553,13 @@ practise.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0rpywq95zy9w0wj1262x4rf84c52wg1rgf0by549qph6fybn34rn"))))
(base32 "19jq5cj6rc8d5ghd9321a2f3v0b7z928990d7dj6ynyhkpcj769p"))
(modules '((guix build utils)))
(snippet #~(delete-file-recursively "Screenshots")))) ;Save 1.4MiB.
(build-system qt-build-system)
(arguments
(list
#:qtbase qtbase
#:tests? #f ;no tests
#:modules '((guix build qt-build-system)
((guix build gnu-build-system) #:prefix gnu:)
@@ -1565,37 +1568,37 @@ practise.")
#~(modify-phases %standard-phases
(replace 'configure
(lambda _
(substitute* "DoomRunner.pro"
(("/usr")
#$output))
(invoke "qmake" "DoomRunner.pro" "-spec" "linux-g++"
"\"CONFIG+=release\"")))
"\"CONFIG+=release\""
(string-append "INSTALL_DIR=" #$output))))
(replace 'build (assoc-ref gnu:%standard-phases 'build))
(replace 'install (assoc-ref gnu:%standard-phases 'install))
(add-after 'install 'install-xdg
(lambda _
(with-directory-excursion #$output
(install-file "DoomRunner" "bin/")
(delete-file "DoomRunner"))
(with-directory-excursion "Install/XDG"
(install-file "DoomRunner.desktop"
(string-append #$output
"/share/applications"))
(let ((install-icon
(lambda (size)
(install-file (simple-format
#f "DoomRunner.~sx~s.png"
size size)
(simple-format
#f "~a/share/icons/hicolor/~sx~s/apps"
#$output size size)))))
(for-each install-icon
'(16 24 32 48 64 128)))))))))
(string-append #$output "/share/applications"))
(install-file "io.github.Youda008.DoomRunner.appdata.xml"
(string-append #$output "/share/metainfo"))
(for-each
(lambda (size)
(let ((filename (simple-format #f "DoomRunner.~sx~s.png"
size size)))
(chmod filename #o444)
(install-file
filename
(simple-format #f "~a/share/icons/hicolor/~sx~s/apps"
#$output size size))))
'(16 24 32 48 64 128))))))))
(home-page "https://github.com/Youda008/DoomRunner")
(synopsis "Launcher for Doom engine games")
(description
"Doom Runner is yet another launcher of common Doom source ports (like
GZDoom, Zandronum, PrBoom, ...) with graphical user interface. It is
written in C++ and Qt, and it is designed around the idea of presets
for various multi-file modifications to allow one-click switching
between them and minimize any repetitive work.")
(description "Doom Runner is yet another launcher of common Doom source
ports (e.g. GZDoom, Zandronum, PrBoom) with a graphical user interface. It
is written in C++ and Qt, and it is designed around the idea of presets for
various multi-file modifications to allow one-click switching between them.")
(license license:gpl3)))
(define-public falltergeist
@@ -3156,7 +3159,7 @@ exec -a ~s ~s \"$@\"
(string-append lib "/main.py"))))
(chmod bin #o555)))))))
(native-inputs (list unzip python-setuptools))
(inputs (list python python-pygame python-tmx))
(inputs (list python python-pygame))
(home-page "https://rogueboxadventures.tuxfamily.org")
(synopsis "Classical roguelike/sandbox game")
(description
@@ -9235,7 +9238,7 @@ original.")
(define-public woof-doom
(package
(name "woof-doom")
(version "15.2.0")
(version "15.3.0")
(source
(origin
(method git-fetch)
@@ -9244,22 +9247,29 @@ original.")
(commit (string-append "woof_" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04c7hm4jnr9aiz6w4520zww6b7j86qv9xaf87hdv48cjc9sp2ljk"))
(base32 "0ki7wqjhqhjxci04aksh9m8m35gi2db89475v79rjzdgk00b3mqv"))
(modules '((guix build utils)))
(snippet '(begin
(with-directory-excursion "third-party"
(delete-file-recursively "miniz")
(delete-file-recursively "yyjson")
(delete-file-recursively "spng"))
(delete-file-recursively "spng")
(substitute* "CMakeLists.txt"
(("add_library\\(miniz.+")
"find_package(miniz REQUIRED)")
(("target_.+\\(miniz.+$") "")
(("add_library\\(spng.+")
"find_package(PkgConfig)
pkg_search_module(spng REQUIRED spng)")
(("target_.+\\(spng.+$") "")))
(delete-file-recursively "win32")
(substitute* (find-files "src" ".")
(("miniz.h") "miniz/miniz.h"))))
(patches (search-patches "woof-doom-unbundle-spng-miniz.patch"))))
(("miniz.h") "miniz/miniz.h"))))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f)) ;'demotest' requires internet access.
(native-inputs (list python))
(native-inputs (list pkg-config python))
(inputs (list libebur128
libsndfile
libxmp
@@ -9270,8 +9280,8 @@ original.")
spng
yyjson
fluidsynth))
(home-page "https://github.com/fabiangreffrath/woof")
(synopsis "MBF-style Doom source port targeted at modern systems")
(home-page "https://fabiangreffrath.github.io/woof/")
(synopsis "MBF-lineage Doom source port")
(description
"Woof! is a continuation of the MBF lineage of Doom source ports, with
modern features such as dynamic resolution scaling, uncapped framerates,
@@ -9284,7 +9294,6 @@ UMAPINFO, DEHEXTRA, and DSDHacked specifictions.")
(list (license:non-copyleft
"https://bitbucket.org/jpommier/pffft/src/master/pffft.h"
"FFTPACK license")
license:bsd-2
license:bsd-3
license:cc-by3.0
license:cc0

View File

@@ -16,7 +16,7 @@
;;; Copyright © 2024, 2025 Zheng Junjie <z572@z572.online>
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Leo Nikkilä <hello@lnikki.la>
;;;

View File

@@ -28,7 +28,7 @@
;;; Copyright © 2025 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2025 Lars Bilke <lars.bilke@ufz.de>
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2025 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2025 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.

View File

@@ -266,7 +266,7 @@ generate a GL/GLES/EGL/GLX/WGL loader tailored for specific requirements.")
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "xvfb-run" "utility/test.sh"))))))))
(native-inputs (list python-setuptools python-wheel xvfb-run))
(native-inputs (list python-setuptools python-wheel xvfb-run-for-tests))
(propagated-inputs (list python-jinja2))))
(define-public s2tc

View File

@@ -9,6 +9,7 @@
;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com>
;;; Copyright © 2020 Christopher Lam <christopher.lck@gmail.com>
;;; Copyright © 2023, 2024 gemmaro <gemmaro.dev@gmail.com>
;;; Copyright © 2025 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -57,6 +58,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix utils))
@@ -257,77 +259,95 @@ to be read using the GNOME Yelp program.")
(license (list license:fdl1.1+ license:gpl3+)))))
(define-public gwenhywfar
(let ((attachid "529")) ;; file attachid changes for each version
(package
(name "gwenhywfar")
(version "5.12.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.aquamaniac.de/rdm/attachments/"
"download/" attachid "/gwenhywfar-" version ".tar.gz"))
(sha256
(base32 "09nnjn1i8nzlkk62wai2lbnvqap8w6y98fh520b1y883fx2g3m8a"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list "--disable-network-checks"
;; GTK+3, GTK+2 and QT4 are supported.
"--with-guis=gtk3"
"--enable-system-certs"
"--with-libxml2-code=yes"
"--disable-binreloc")))
(inputs
(list libgcrypt gnutls openssl gtk+ libxml2))
(native-inputs
(list pkg-config))
(home-page "https://www.aquamaniac.de")
(synopsis "Utility library for networking and security applications")
(description
"This package provides a helper library for networking and security
(package
(name "gwenhywfar")
(version "5.14.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.aquamaniac.de/git/gwenhywfar")
(commit version)))
(sha256
(base32
"0p0fzi69jsr3flpr10s8gbl9i265x5j5k1q2i5yva2vsdx2j2878"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list "--disable-network-checks"
;; GTK+3, GTK+2, Qt4, Qt5 and Qt6 are supported.
"--with-guis=gtk3"
"--enable-system-certs"
"--with-libxml2-code=yes"
"--disable-binreloc")
#:phases
#~(modify-phases %standard-phases
(add-before 'bootstrap 'make-cvs
(lambda _
(invoke "make" "-fMakefile.cvs"))))))
(inputs
(list libgcrypt gnutls openssl gtk+ libxml2))
(native-inputs
(list autoconf automake gettext-minimal libtool pkg-config))
(home-page "https://www.aquamaniac.de")
(synopsis "Utility library for networking and security applications")
(description
"This package provides a helper library for networking and security
applications and libraries. It is used by AqBanking.")
;; The license includes an explicit additional permission to compile and
;; distribute this library with the OpenSSL Toolkit.
(license license:lgpl2.1+))))
;; The license includes an explicit additional permission to compile and
;; distribute this library with the OpenSSL Toolkit.
(license license:lgpl2.1+)))
(define-public aqbanking
(let ((attachid "531")) ;; file attachid changes for each version
(package
(name "aqbanking")
(version "6.6.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.aquamaniac.de/rdm/attachments/"
"download/" attachid "/aqbanking-" version ".tar.gz"))
(sha256
(base32 "1yqbwh91gwwqgiv8cf15rc9mxcdlikhbr5qknaqp5bavp63l8qrp"))))
(build-system gnu-build-system)
(arguments
`(;; Parallel building fails because aqhbci is required before it's
;; built.
#:parallel-build? #f
#:phases
(modify-phases %standard-phases
;; Embed the package version instead of the build date
(add-after 'unpack 'use-version-instead-of-date
(lambda _
(substitute*
"src/libs/plugins/backends/aqhbci/header.xml.in"
(("@DATETIME@") ,version)))))))
(propagated-inputs
(list gwenhywfar))
(inputs
(list gmp xmlsec gnutls))
(native-inputs
(list pkg-config gettext-minimal libltdl))
(home-page "https://www.aquamaniac.de")
(synopsis "Interface for online banking tasks")
(description
"AqBanking is a modular and generic interface to online banking tasks,
(package
(name "aqbanking")
(version "6.8.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.aquamaniac.de/git/aqbanking")
(commit version)))
(sha256
(base32
"0ys5r8lbr1nvd14fr82rs6c16iqfpd1hdz5l9s8l9biy2sq8jh0z"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
;; Parallel building fails because aqhbci is required before it's
;; built.
#:parallel-build? #f
#:phases
#~(modify-phases %standard-phases
(add-before 'bootstrap 'make-cvs
(lambda _
(invoke "make" "-fMakefile.cvs")))
;; Embed the package version instead of the build date
(add-after 'make-cvs 'use-version-instead-of-date
(lambda _
(substitute*
"src/libs/plugins/backends/aqhbci/header.xml.in"
(("@DATETIME@") #$version))))
(add-before 'build 'build-types
(lambda _
(invoke "make" "typedefs")
(invoke "make" "typefiles"))))))
(propagated-inputs
(list gwenhywfar))
(inputs
(list gmp xmlsec gnutls))
(native-inputs
(list autoconf automake gettext-minimal libltdl libtool pkg-config))
(home-page "https://www.aquamaniac.de")
(synopsis "Interface for online banking tasks")
(description
"AqBanking is a modular and generic interface to online banking tasks,
financial file formats (import/export) and bank/country/currency information.
AqBanking uses backend plugins to actually perform the online tasks. HBCI,
OFX DirectConnect, YellowNet, GeldKarte, and DTAUS discs are currently
supported. AqBanking is used by GnuCash, KMyMoney, and QBankManager.")
;; AqBanking is licensed under the GPLv2 or GPLv3
(license (list license:gpl2 license:gpl3)))))
;; AqBanking is licensed under the GPLv2 or GPLv3
(license (list license:gpl2 license:gpl3))))

View File

@@ -584,6 +584,7 @@ interface (FFI) of Guile.")
(source (origin
(method url-fetch)
(uri (pypi-uri "gpg" version))
(patches (search-patches "python-gpg-setup-72.patch"))
(sha256
(base32
"1ji3ynhp36m1ccx7bmaq75dhij9frpn19v9mpi4aajn8csl194il"))))
@@ -709,18 +710,22 @@ signing, decryption, verification, and key-listing parsing.")
(license license:perl-license)))
(define-public pius
;; The last release was from 2019, the latest commit is from 2025
(let ((commit "5f7c10bd3b058c864b128a3b0e0c0efa1f1befa2")
(revision "0"))
(package
(name "pius")
(version "3.0.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/jaymzh/pius/releases/download/v"
version "/pius-" version ".tar.bz2"))
(sha256
(base32
"11fhmfvr0avxl222rv43wjd2xjbpxrsmcl8xwmn0nvf1rw95v9fn"))))
(build-system python-build-system)
(version (git-version "3.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jaymzh/pius")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0qf1fxwdrnfkia0c1iz752mb9flbjl9jgh75dls51j1k8fzbl758"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
@@ -729,8 +734,13 @@ signing, decryption, verification, and key-listing parsing.")
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "libpius/constants.py"
(("/usr/bin/gpg2")
(search-input-file inputs "bin/gpg"))))))))
(inputs (list perl ;for 'pius-party-worksheet'
(search-input-file inputs "bin/gpg")))))
(replace 'check
(lambda* (#:key tests? test-flags #:allow-other-keys)
(when tests?
(invoke "./run_tests")))))))
(native-inputs (list python-setuptools))
(inputs (list perl ;for 'pius-party-worksheet'
gnupg))
(synopsis "Programs to simplify GnuPG key signing")
(description
@@ -742,7 +752,7 @@ the process. The @command{pius-keyring-mgr} and
@command{pius-party-worksheet} commands help organizers of PGP key signing
parties.")
(license license:gpl2)
(home-page "https://www.phildev.net/pius/index.shtml")))
(home-page "https://github.com/jaymzh/pius"))))
(define-public signing-party
(package

View File

@@ -604,9 +604,9 @@ in the case of Firefox, it is browser/locales/all-locales."
"zh-CN"
"zh-TW"))
(define %icecat-base-version "140.5.0")
(define %icecat-base-version "140.6.0")
(define %icecat-version (string-append %icecat-base-version "-gnu1"))
(define %icecat-build-id "20251111000000") ;must be of the form YYYYMMDDhhmmss
(define %icecat-build-id "20251211000000") ;must be of the form YYYYMMDDhhmmss
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@@ -626,9 +626,9 @@ in the case of Firefox, it is browser/locales/all-locales."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
"1qhhsgk1dvdrxvvvry6gpijqzpbgmc6h1fd01c7478ppwprpwaw3"))))
"1jadc0ynq49zcqd7ix9nxlrqy5gfhm61p7yliwy068bma2mwjdbc"))))
(gnuzilla-commit "5897aee761cc6d179bd8632f085c3c14ccf7db6c")
(gnuzilla-commit "f4e50b9a4d5384ce2e860133bf0beaaccbf19b46")
(gnuzilla-source
(origin
(method git-fetch)
@@ -639,7 +639,7 @@ in the case of Firefox, it is browser/locales/all-locales."
(string-take gnuzilla-commit 8)))
(sha256
(base32
"1yk3bpsa01gy5s5dwavsr089qp5dznzb8za5k3ab3fs79i9vdg6z"))))
"0zjzw7blal3niyzyvw33w2cg906pnjbmvf7gsgas2in9xy3rlix6"))))
;; 'search-patch' returns either a valid file name or #f, so wrap it
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.

View File

@@ -30,6 +30,7 @@
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Arthur Rodrigues <arthurhdrodrigues@proton.me>
;;; Copyright © 2025 Patrick Norton <patrick.147.norton@gmail.com>
;;; Copyright © 2025 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3516,7 +3517,7 @@ traffic.")))
(define-public ssh-to-pgp
(package
(name "ssh-to-pgp")
(version "1.1.4")
(version "1.1.6")
(source
(origin
(method git-fetch)
@@ -3525,7 +3526,7 @@ traffic.")))
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1xaj6pnk5y2flnxm57j9bpdpll9vhg1rbjj4v3a7hn1gginxpprx"))))
(base32 "10n4xggambw3b9nw0qsz36v7xzyvg31s8xqj66j179f78rdclpw7"))))
(build-system go-build-system)
(arguments
(list

View File

@@ -1815,6 +1815,47 @@ the OTEL Go SDK.")
(description "This package provides a CSS parser and inliner.")
(license license:expat)))
(define-public go-github-com-aymerick-raymond
(package
(name "go-github-com-aymerick-raymond")
(version "2.0.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aymerick/raymond")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0s5nxzx87a12hcdzhliy1j8albfx2jqddaks4m86yfrcawm6vndn"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/aymerick/raymond"
#:phases
#~(modify-phases %standard-phases
;; Replace vendored mustache version with the one from 'inputs'.
(add-before 'check 'supply-mustache
(lambda* (#:key inputs import-path #:allow-other-keys)
(let ((mustache (string-append "src/" import-path "/mustache")))
(delete-file-recursively mustache)
(copy-recursively #$(this-package-input "mustache-specs")
mustache)))))))
(inputs `(("mustache-specs" ,(origin
(method git-fetch)
(uri (git-reference (url
"https://github.com/mustache/spec")
(commit
"83b0721610a4e11832e83df19c73ace3289972b9")))
(sha256 (base32
"1g2f6hi04vkxrk53ixzm7yvkg5v8m00dh9nrkh9lxnx8aw824y80"))))))
(propagated-inputs (list go-gopkg-in-yaml-v2))
(home-page "https://github.com/aymerick/raymond")
(synopsis "Handlebars for Golang")
(description
"This package provides a minimal templating engine for Golang.")
(license license:expat)))
(define-public go-github-com-azure-azure-sdk-for-go-sdk-azcore
(package
(name "go-github-com-azure-azure-sdk-for-go-sdk-azcore")
@@ -6277,6 +6318,29 @@ sessions, flash messages, custom backends, and more.")
protocol.")
(license license:bsd-2)))
(define-public go-github-com-gosimple-slug
(package
(name "go-github-com-gosimple-slug")
(version "1.12.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gosimple/slug")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "15gk6hdd8kjfl0srlf3gnjq34m64as1s6pjv7paaxd1zvrcml46y"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/gosimple/slug"))
(propagated-inputs (list go-github-com-gosimple-unidecode))
(home-page "https://github.com/gosimple/slug")
(synopsis "URL-friendly slugify with multiple language support")
(description "Generates slug from Unicode string for use in URLs.")
(license license:mpl2.0)))
(define-public go-github-com-gregjones-httpcache
(package
(name "go-github-com-gregjones-httpcache")
@@ -16648,6 +16712,31 @@ etc)
be used as both a binary and a library.")
(license license:bsd-3)))
(define-public go-github-com-mvdan-xurls
(package
(name "go-github-com-mvdan-xurls")
(version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mvdan/xurls")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05q4nqbpgfb0a35sn22rn9mlag2ks4cgwb54dx925hipp6zgj1hx"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/mvdan/xurls"))
(propagated-inputs (list go-golang-org-x-net))
(home-page "https://github.com/mvdan/xurls")
(synopsis "Extracts URLs from text")
(description
"Xurls extracts urls from plain text using regular expressions. It can
be used as both a binary and a library.")
(license license:bsd-3)))
(define-public go-nhooyr-io-websocket
(package
(name "go-nhooyr-io-websocket")

View File

@@ -40,7 +40,7 @@
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2023 Miguel Ángel Moreno <mail@migalmoreno.com>
;;; Copyright © 2023 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2023 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2023 Sergey Trofimov <sarg@sarg.org.ru>
;;; Copyright © 2023 Thomas Ieong <th.ieong@free.fr>
@@ -1371,6 +1371,28 @@ be stripped.")
with as little developer effort as possible.")
(license license:expat)))
(define-public go-github-com-alecthomas-kong-for-zk
(hidden-package
(package
(inherit go-github-com-alecthomas-kong)
(name "go-github-com-alecthomas-kong-for-zk")
(version "0.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alecthomas/kong")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1lk4nb8ilvy0l5szj4s6wnz716vlz0v253423ykmph5l6bmips1k"))))
(arguments
(list
#:tests? #f
#:import-path "github.com/alecthomas/kong"))
(propagated-inputs (list go-github-com-alecthomas-repr
go-github-com-pkg-errors)))))
(define-public go-github-com-alecthomas-kong-hcl
(package
(name "go-github-com-alecthomas-kong-hcl")
@@ -7924,6 +7946,27 @@ string into a slice of words.")
defined output to the standard output.")
(license license:expat)))
(define-public go-github-com-fatih-color-for-zk
(hidden-package
(package
(inherit go-github-com-fatih-color)
(name "go-github-com-fatih-color-for-zk")
(version "1.13.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fatih/color")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "029qkxsdpblhrpgbv4fcmqwkqnjhx08hwiqp19pd7zz6l8a373ay"))))
(arguments
(list
#:import-path "github.com/fatih/color"
#:test-flags
#~(list "-vet=off"))))))
(define-public go-github-com-fatih-gomodifytags
;; This particular commit (v1.17.1-0.20250423142747-f3939df9aa3c) provides
;; "modifytags" submodule which is required for gopls@0.19.1.
@@ -8525,6 +8568,30 @@ it effectively reuses the JSON struct tags as well as the custom JSON methods
@code{MarshalJSON} and @code{UnmarshalJSON} unlike go-yaml.")
(license license:expat)))
(define-public go-github-com-gosimple-unidecode
(package
(name "go-github-com-gosimple-unidecode")
(version "1.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gosimple/unidecode")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1dxdddn744l0s1lr006s2a4k02w6qx8j3k31c7sfflh7wvwzcdzx"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/gosimple/unidecode"))
(home-page "https://github.com/gosimple/unidecode")
(synopsis "Unicode transliterator for Golang")
(description
"Package unidecode implements a unicode transliterator which
replaces non-ASCII characters with their ASCII approximations.")
(license license:asl2.0)))
(define-public go-github-com-git-lfs-go-netrc
(package
(name "go-github-com-git-lfs-go-netrc")
@@ -20011,6 +20078,30 @@ logging.")
#:go go-1.23
#:import-path "github.com/russross/blackfriday/v2"))))
(define-public go-github-com-rvflash-elapsed
(package
(name "go-github-com-rvflash-elapsed")
(version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rvflash/elapsed")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1jawknvv51k1awlzpyr2qc1s75s1fg3l40c0zhixp1sc98hl434c"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/rvflash/elapsed"))
(home-page "https://github.com/rvflash/elapsed")
(synopsis "Calculates the elapsed time for a given date")
(description
"This package can be used to return the elapsed time since a
given time in a human-readable format.")
(license license:expat)))
(define-public go-github-com-rwcarlsen-goexif
;; No release or version tag, Golang pseudo version:
;; 0.0.0-20190401172101-9e8deecbddbd.
@@ -22267,6 +22358,31 @@ flushing entries at a given size or interval, useful for cases such as
batching log events.")
(license license:expat)))
(define-public go-github-com-tj-go-naturaldate
(package
(name "go-github-com-tj-go-naturaldate")
(version "1.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tj/go-naturaldate")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "12d7nf1jd7nk9r8ifn1hr21a7m4yb1garmiw2grrsi5zsqsh2jb1"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/tj/go-naturaldate"))
(propagated-inputs (list go-github-com-tj-assert))
(home-page "https://github.com/tj/go-naturaldate")
(synopsis "Provides natural date time parsing")
(description
"This package parses human-friendly relative date/time ranges.")
(license license:expat)))
(define-public go-github-com-tj-go-spin
(package
(name "go-github-com-tj-go-spin")
@@ -22392,6 +22508,79 @@ supported by the time package
@end itemize")
(license license:expat)))
(define-public go-github-com-tliron-glsp
(package
(name "go-github-com-tliron-glsp")
(version "0.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tliron/glsp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0vz4idndpcxrkjck6m0azdg8zsgcxcchf0ldhnkr8fj3z2sllljr"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/tliron/glsp"))
(propagated-inputs (list go-github-com-sasha-s-go-deadlock
go-github-com-tliron-kutil
go-github-com-sourcegraph-jsonrpc2
go-github-com-pkg-errors
go-github-com-gorilla-websocket
go-golang-org-x-term
go-golang-org-x-crypto
go-github-com-zchee-color))
(home-page "https://github.com/tliron/glsp")
(synopsis "Language Server Protocol SDK for Golang")
(description
"Implementation of the @acronym{LSP, language server protocol}
for Golang, allowing the creating of custom language servers.")
(license license:asl2.0)))
(define-public go-github-com-tliron-kutil
(package
(name "go-github-com-tliron-kutil")
(version "0.1.59")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tliron/go-kutil")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "07lhzgpsi96icdya874xmfd1ymg4s4y09s7m7h398aryn7hbysyg"))))
(build-system go-build-system)
(arguments
(list
;; TODO: Not ready packages required for tests and full build.
;; (propagated-inputs
;; (list
;; go-github-com-beevik-etree
;; go-github-com-coreos-go-systemd
;; go-github-com-dop251-goja
;; go-github-com-fxamacker-cbor
;; go-github-com-go-git-go-git
;; go-github-com-google-go-containerregistry
;; go-github-com-hokaccha-go-prettyjson
;; go-github-com-mitchellh-hashstructure
;; go-github-com-segmentio-ksuid
;; go-github-com-tliron-yamlkeys
;; go-github-com-zchee-color
;; go-k8s-io-apiextensions-apiserver
;; go-k8s-io-klog))
#:skip-build? #t
#:tests? #f
#:import-path "github.com/tliron/kutil"))
(home-page "https://github.com/tliron/go-kutil")
(synopsis "Utility library for Golang")
(description
"This package provides a collection of Golang utilities.")
(license license:asl2.0)))
(define-public go-github-com-tomwright-dasel-v2
(package
(name "go-github-com-tomwright-dasel-v2")
@@ -24052,6 +24241,31 @@ deltas can be applied to a JSON object to \"patch\" them.")
common sequence} values from two arbitrary arrays.")
(license license:expat)))
(define-public go-github-com-yuin-goldmark-meta
(package
(name "go-github-com-yuin-goldmark-meta")
(version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/yuin/goldmark-meta")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "07dnwpkcifk9lw25ncflwdzmp8xqwbsbq0bnw3v7ljz9i8zi3ya3"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/yuin/goldmark-meta"))
(propagated-inputs (list go-gopkg-in-yaml-v2 go-github-com-yuin-goldmark))
(home-page "https://github.com/yuin/goldmark-meta")
(synopsis "YAML metadata extension for the goldmark markdown parser")
(description
"Extension for the @code{goldmark} markdown parser which enables
defining document metadata in the YAML format.")
(license license:expat)))
(define-public go-github-com-yuin-gopher-lua
(package
(name "go-github-com-yuin-gopher-lua")
@@ -24147,6 +24361,35 @@ Go host programs.")
from the system keyring.")
(license license:expat)))
(define-public go-github-com-zchee-color
(package
(name "go-github-com-zchee-color")
(version "2.0.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zchee/color")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0im301c9m5702lsv3qvzwmx943m9hmrpb2670zfv0z14cm7fqhls"))))
(build-system go-build-system)
(arguments
(list
#:test-flags
#~(list "-vet=off")
#:import-path "github.com/zchee/color/v2"))
(propagated-inputs (list go-github-com-mattn-go-isatty
go-github-com-mattn-go-colorable))
(home-page "https://github.com/zchee/color")
(synopsis "Color package for Golang")
(description
"Package color is an ANSI color package to output colorized or
SGR defined output to the standard output. The API can be used in several way,
pick one that suits you.")
(license license:expat)))
(define-public go-github-com-zclconf-go-cty
(package
(name "go-github-com-zclconf-go-cty")
@@ -24467,6 +24710,31 @@ It is a maintained fork of @url{gorilla/schema,
https://github.com/gorilla/schema}")
(license license:bsd-3)))
(define-public go-github-com-zk-org-pretty
(package
(name "go-github-com-zk-org-pretty")
(version "0.2.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zk-org/pretty")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "086zcjamclnn3y9w4ww88ik9avwihbxk7h08vk7686643i1zij96"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/zk-org/pretty"))
(propagated-inputs (list go-github-com-rogpeppe-go-internal
go-github-com-kr-text))
(home-page "https://github.com/zk-org/pretty")
(synopsis "Pretty printing for Golang values")
(description
"This package provides a pretty printing library for Golang values.")
(license license:expat)))
(define-public go-github-com-zyedidia-clipper
(package
(name "go-github-com-zyedidia-clipper")
@@ -25802,6 +26070,34 @@ distributions of benchmark measurements
(list
#:import-path "gopkg.in/alecthomas/kingpin.v2"))))
(define-public go-gopkg-in-djherbis-times-v1
(package
(name "go-gopkg-in-djherbis-times-v1")
(version "1.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/djherbis/times")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1dk087l9c927f90zrsmyxxfx5i980r952qw47j9srq2q7dd0b4ni"))
(modules '((guix build utils)))
;; Fix import path for itself in the example code (build by 'check).
(snippet '(substitute* "example/main.go"
(("github.com/djherbis/times")
"gopkg.in/djherbis/times.v1")))))
(build-system go-build-system)
(arguments
(list
#:import-path "gopkg.in/djherbis/times.v1"))
(home-page "https://github.com/djherbis/times")
(synopsis "File times for Golang")
(description
"This package allows access different file time metadata from Golang.")
(license license:expat)))
(define-public go-gopkg-in-fsnotify-v1
(package/inherit go-github-com-fsnotify-fsnotify
(name "go-gopkg-in-fsnotify-v1")

View File

@@ -667,7 +667,6 @@ in the style of communicating sequential processes (@dfn{CSP}).")
#~(modify-phases #$phases
(delete 'skip-TestGoPathShlibGccgo-tests)
(delete 'patch-source)
(delete 'disable-more-tests)
(add-after 'unpack 'patch-os-tests
(lambda _
(substitute* "src/os/os_test.go"
@@ -717,6 +716,45 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(substitute* "src/cmd/cgo/internal/testsanitizers/asan_test.go"
((".*arena_fail.*") ""))))
(replace 'disable-more-tests
(lambda _
#$@(cond
((target-aarch64?)
;; https://go-review.googlesource.com/c/go/+/151303
;; This test is known buggy on aarch64 and is enabled and
;; disabled upstream with some regularity.
#~((substitute* "src/plugin/plugin_test.go"
(("package plugin_test")
(string-append "//go:build !(linux && arm64)\n\n"
"package plugin_test")))
;; collect2: fatal error: cannot find 'ld'
;; Disable testshared by adding a build constraint that
;; excludes linux/arm64.
(substitute* "src/cmd/cgo/internal/testshared/shared_test.go"
(("package shared_test")
(string-append "//go:build !(linux && arm64)\n\n"
"package shared_test")))
(substitute* "src/cmd/dist/test.go"
((".*testcshared.*") "")
((".*testshared.*") ""))))
((target-arm32?)
;; https://go-review.googlesource.com/c/go/+/151303
;; This test is known buggy on aarch64 so we disable
;; it on armhf also since we emulate armhf on aarch64.
#~((substitute* "src/plugin/plugin_test.go"
(("package plugin_test")
(string-append "//go:build !(linux && arm)\n\n"
"package plugin_test")))
;; collect2: fatal error: cannot find 'ld'
(substitute* "src/cmd/cgo/internal/testshared/shared_test.go"
(("package shared_test")
(string-append "//go:build !(linux && arm)\n\n"
"package shared_test")))
(substitute* "src/cmd/dist/test.go"
((".*testcshared.*") "")
((".*testshared.*") ""))))
(else (list #t)))))
(add-after 'enable-external-linking 'enable-external-linking-1.21
(lambda _
;; Invoke GCC to link any archives created with GCC (that is,

View File

@@ -205,7 +205,7 @@ coordinates as well as partial support for adjustments in global coordinate syst
(define-public gpxsee
(package
(name "gpxsee")
(version "13.22")
(version "15.6")
(source
(origin
(method git-fetch)
@@ -214,7 +214,7 @@ coordinates as well as partial support for adjustments in global coordinate syst
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "15m5rqky2fwsq5n6x531350x39wwhpv1hz56m1yfaxj7acxhb2p5"))))
(base32 "0kfbx7vv740fkx96v3m1gywl0mdfs3mxq84hmipjksm59qi4s3yy"))))
(build-system qt-build-system)
(arguments
(list

View File

@@ -2948,7 +2948,7 @@ and enables interoperable use of content across the industry.")
(define-public monado
(package
(name "monado")
(version "25.0.0")
(version "25.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2957,7 +2957,7 @@ and enables interoperable use of content across the industry.")
(file-name (git-file-name name version))
(sha256
(base32
"0h4ivjqdj1qisgp1b49h3aqqjlrbd5najyd1vrhskdlz1yzz252p"))))
"09bmcqr01kakhzc26r2kmlqd1l3hqr33360qrrpmiy6mlgpsci45"))))
(build-system cmake-build-system)
(inputs
(list ffmpeg

View File

@@ -428,21 +428,17 @@ graphs in Graphviz's DOT language, written in pure Python.")
(sha256
(base32
"1kp77wiv7b5qib82i3y3sn9r49rym43aaqm5aw1bwnzfbbq2m6i9"))))
(build-system python-build-system)
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv" "tests"
;; The test_semicolon test fails for unknown reason
;; (see:
;; https://github.com/kjellmf/dot2tex/issues/94).
"-k" "not test_semicolon")))))))
;; tests: 57 passed, 1 deselected
#:test-flags
;; The test_semicolon test fails for unknown reason, see:
;; <https://github.com/kjellmf/dot2tex/issues/94>.
#~(list "--deselect=tests/test_dot2tex.py::MultipleStatements::test_semicolon")))
(native-inputs
(list python-pytest
python-setuptools
(texlive-local-tree
(list texlive-pgf
texlive-preview
@@ -469,28 +465,35 @@ This approach allows:
(define-public gprof2dot
(package
(name "gprof2dot")
(version "2021.02.21")
(version "2025.04.14")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jrfonseca/gprof2dot")
(commit version)))
(url "https://github.com/jrfonseca/gprof2dot")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1jjhsjf5fdi1fkn7mvhnzkh6cynl8gcjrygd3cya5mmda3akhzic"))))
(build-system python-build-system)
(base32 "0yil32pbcarwsfmhgn2zhldjj985v9p80f2yi2shkaxzfc4w6zwi"))))
(build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
(invoke "python" "tests/test.py")))))))
(list
#:test-backend #~'custom
#:test-flags
#~(list "tests/test.py"
"--python=bash"
"--max-acceptable=0"
(string-append "--gprof2dot=" #$output "/bin/gprof2dot"))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-tests
;; Prevent irrelevant errors that cause test output mismatches:
;; Fontconfig error: No writable cache directories
(lambda _
(setenv "XDG_CACHE_HOME" "/tmp"))))))
(native-inputs
(list graphviz))
(list graphviz
python-setuptools))
(home-page "https://github.com/jrfonseca/gprof2dot")
(synopsis "Generate a dot graph from the output of several profilers")
(description "This package provides a Python script to convert the output

View File

@@ -1009,9 +1009,8 @@ application suites.")
(define-public gtk+
(package
(inherit gtk+-2)
(replacement gtk+/fixed)
(name "gtk+")
(version "3.24.49")
(version "3.24.51")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1020,7 +1019,7 @@ application suites.")
(file-name (git-file-name name version))
(sha256
(base32
"0flsnh3f0l9v3y2hmnxz1h15nw1l12ixmiwcpiy1ywplrlgq4j00"))
"07vw0rani9d65px36fzzj7sprv5r48shyjdgzipkihzqaldd98yh"))
(patches (search-patches
"gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
@@ -1141,23 +1140,6 @@ application suites.")
(variable "GUIX_GTK3_PATH")
(files '("lib/gtk-3.0")))))))
(define-public gtk+/fixed
(let* ((base gtk+)
(source (package-source base)))
(package
(inherit base)
(version "3.24.51")
(source
(origin
(inherit source)
(uri (git-reference
(inherit (origin-uri source))
(commit version)))
(file-name (git-file-name (package-name base) version))
(sha256
(base32
"07vw0rani9d65px36fzzj7sprv5r48shyjdgzipkihzqaldd98yh")))))))
(define-public gtk
(package
(name "gtk")

View File

@@ -1030,7 +1030,7 @@ invocations."))))
(define-public guile-dsv
(package
(name "guile-dsv")
(version "0.8.0")
(version "0.8.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1039,7 +1039,7 @@ invocations."))))
(file-name (git-file-name name version))
(sha256
(base32
"0mc4najwji8144xzhpnrljrmh7m9iiykf3bp3lzksrwqyhz8np2k"))))
"0hpdl2x0lp0dqpx23l29a45lvn5c2qpd4bzrl8d46vm4nraqi7aa"))))
(build-system gnu-build-system)
(native-inputs (list autoconf
automake
@@ -1053,29 +1053,28 @@ invocations."))))
(inputs (list bash-minimal guile-3.0))
(propagated-inputs (list guile-lib guile-smc))
(arguments
`(#:modules (((guix build guile-build-system)
#:select (target-guile-effective-version))
,@%default-gnu-modules)
#:imported-modules ((guix build guile-build-system)
,@%default-gnu-imported-modules)
#:phases (modify-phases %standard-phases
(delete 'strip)
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(guile-lib (assoc-ref inputs "guile-lib"))
(version (target-guile-effective-version))
(scm (string-append "/share/guile/site/" version))
(go (string-append "/lib/guile/" version
"/site-ccache")))
(wrap-program (string-append bin "/dsv")
`("GUILE_LOAD_PATH" prefix
(,(string-append out scm) ,(string-append
guile-lib scm)))
`("GUILE_LOAD_COMPILED_PATH" prefix
(,(string-append out go) ,(string-append guile-lib
go))))) #t)))))
(list #:modules `(((guix build guile-build-system)
#:select (target-guile-effective-version))
,@%default-gnu-modules)
#:imported-modules `((guix build guile-build-system)
,@%default-gnu-imported-modules)
#:phases #~(modify-phases %standard-phases
(delete 'strip)
(add-after 'install 'wrap-program
(lambda* (#:key inputs #:allow-other-keys)
(let* ((bin (string-append #$output "/bin"))
(guile-lib (assoc-ref inputs "guile-lib"))
(version (target-guile-effective-version))
(scm (string-append "/share/guile/site/" version))
(go (string-append "/lib/guile/" version
"/site-ccache")))
(wrap-program (string-append bin "/dsv")
`("GUILE_LOAD_PATH" prefix
(,(string-append #$output scm)
,(string-append guile-lib scm)))
`("GUILE_LOAD_COMPILED_PATH" prefix
(,(string-append #$output go)
,(string-append guile-lib go))))))))))
(home-page "https://github.com/artyom-poptsov/guile-dsv")
(synopsis "DSV module for Guile")
(description

131
gnu/packages/hare-apps.scm Normal file
View File

@@ -0,0 +1,131 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 jgart <jgart@dismail.de>
;;;
;;; 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 hare-apps)
#:use-module (gnu packages hare-xyz)
#:use-module (gnu packages man)
#:use-module (guix build-system hare)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
(define-public bonsai
(package
(name "bonsai")
(version "1.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~stacyharper/bonsai")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "148rccbh5alpnz36ricv8y26qyrqwm4g7mj936vpwrxwd9dkwmff"))))
(build-system hare-build-system)
(inputs (list hare-ev hare-json))
(supported-systems %hare-supported-systems)
(home-page "https://bonsai.builtwithhare.org")
(synopsis "Finite State Machine structured as a tree that trigger commands")
(description "Bonsai is a Finite State Machine structured as a tree. It
has been designed to trigger commands when successive events and/or a precise
context is accepted. There is 4 kind of transition with specific acceptance
rules:
@itemize
@item event transition: The received event name match the transition
one
@item context transition: The state context match the transition one @item
exec transition: The transition command is run and succeed
@item delay
transition: The state wait for the delay transition duration. No other
accepted event is received while waiting
@end itemize
The state will transition following every accepted transition. If there is no
more available transition, the state goes back to the initial position.")
(license license:agpl3+)))
(define-public hare-lsp
(package
(name "hare-lsp")
(version "0.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~whynothugo/hare-lsp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1h763ynv1zh2ili26bkd9anmv8srva63rwpv2avnmimia1bvsx81"))))
(build-system hare-build-system)
(inputs (list hare-json))
(supported-systems %hare-supported-systems)
(home-page "https://git.sr.ht/~whynothugo/hare-lsp/")
(synopsis "Language server implementation for Hare")
(description "This package provides a language server implementation for
Hare.")
(license license:isc)))
(define-public hare-mcron
(package
(name "hare-mcron")
(version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~stacyharper/mcron")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "18h85fpxa2hs3fr132j85qh8b73dsawcn845ifk8ffgvh2kmw9zl"))))
(build-system hare-build-system)
(native-inputs (list scdoc))
(inputs (list hare-ev))
(supported-systems %hare-supported-systems)
(home-page "https://mcron.builtwithhare.org/")
(synopsis "Sleeping cron job scheduler")
(description "Mcron is a cron implementation that is designed to be used
on suspendable machines, like mobile phones. It will wake the device from
suspension to trigger the tasks.")
(license license:gpl3+)))
(define-public sxmobar
(package
(name "sxmobar")
(version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~stacyharper/sxmobar")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1dlw4sbf3awzxvglmfml5fmi9w6zmqxr2f4xqsrwchi154bixix9"))))
(build-system hare-build-system)
(native-inputs (list scdoc))
(supported-systems %hare-supported-systems)
(home-page "https://sxmobar.builtwithhare.org")
(synopsis "Status bar component manager")
(description "sxmobar is a status bar component manager. It is used to
generate status lines for @command{i3status}, @command{i3bar},
@command{swaybar}, and others.")
(license license:agpl3+)))

View File

@@ -48,6 +48,26 @@
(description "This package provides compression algorithms for Hare.")
(license license:mpl2.0)))
(define-public hare-ev
(package
(name "hare-ev")
(version "0.25.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~sircmpwn/hare-ev")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1ak9anvzg2qfdsvxpcszshimw5cqbm52zfq7kwx7z0yf6qi6zm0f"))))
(build-system hare-build-system)
(supported-systems %hare-supported-systems)
(home-page "https://sr.ht/~sircmpwn/hare-ev")
(synopsis "Event loop for Hare")
(description "This package provides an event loop for Hare programs.")
(license license:mpl2.0)))
(define-public hare-json
(package
(name "hare-json")
@@ -68,6 +88,69 @@
(description "This package provides JSON support for Hare.")
(license license:mpl2.0)))
(define-public hare-lex
(package
(name "hare-lex")
(version "0.25.2.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~stacyharper/hare-lex")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "06jlkb1q8ybr6yx56c6ikxv5ywz44k04dpwxcc796cnpzpkgqlyf"))))
(build-system hare-build-system)
(supported-systems %hare-supported-systems)
(home-page "https://git.sr.ht/~stacyharper/hare-lex")
(synopsis "General purpose lexical tokenization machinery for Hare")
(description "This module provides a general purpose lexer machine for Hare.")
(license license:mpl2.0)))
(define-public hare-irc
(package
(name "hare-irc")
(version "0.25.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~sircmpwn/hare-irc")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0ani8prdwjsfh8iqn5kfmkiim9ihl8dvbr28g69c037f6gbdb08v"))))
(build-system hare-build-system)
(supported-systems %hare-supported-systems)
(home-page "https://sr.ht/~sircmpwn/hare-irc")
(synopsis "IRC client protocol implementation for Hare")
(description "This package provides an implementation of the IRC client
protocol for Hare programs, based on the @url{ircdocs.horse} specifications.")
(license license:mpl2.0)))
(define-public hare-scfg
(package
(name "hare-scfg")
(version "0.25.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~chrisppy/hare-scfg")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1nj9gqvnvmwh3j39rj1h856p5qzghv5in01rxi4x74mqirl5q2ch"))))
(build-system hare-build-system)
(supported-systems %hare-supported-systems)
(home-page "https://git.sr.ht/~chrisppy/hare-scfg")
(synopsis "Hare library for a simple configuration file format")
(description "This package provides a Hare library for parsing
@uref{https://git.sr.ht/~emersion/scfg, scfg}, a simple configuration file
format with one directive per line.")
(license license:mpl2.0)))
(define-public hare-ssh
(package
(name "hare-ssh")
@@ -89,6 +172,28 @@
and agent protocols in pure Hare.")
(license license:mpl2.0)))
(define-public hare-template
(package
(name "hare-template")
(version "0.25.2.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~stacyharper/hare-template")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0mfg3ijfmii7vag1cgvr0n76hd7cic6vdf37gd05c5ilnb31ial6"))))
(build-system hare-build-system)
(inputs (list hare-lex))
(supported-systems %hare-supported-systems)
(home-page "https://git.sr.ht/~stacyharper/hare-template")
(synopsis "Templating tool and library for Hare")
(description "This package aims to offer a good and simple templating
system for Hare, using code generation.")
(license license:mpl2.0)))
(define-public hare-gi
(package
(name "hare-gi")
@@ -201,3 +306,23 @@ language.")
(description "This package is a set of gtk-layer-shell bindings for the Hare
language.")
(license license:mpl2.0)))
(define-public hare-xml
(package
(name "hare-xml")
(version "0.25.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~sircmpwn/hare-xml")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1h216z59piz1g7a0iiy1qic1wj8lbajw3mw5zw9nid0bz2vx81b0"))))
(build-system hare-build-system)
(supported-systems %hare-supported-systems)
(home-page "https://git.sr.ht/~sircmpwn/hare-xml")
(synopsis "XML support for Hare")
(description "This package provides XML support for Hare.")
(license license:mpl2.0)))

View File

@@ -344,7 +344,8 @@ Hurd-minimal package which are needed for both glibc and GCC.")
(inherit (package-source hurd-headers))
(patches (search-patches "hurd-refcounts-assert.patch"
"hurd-rumpdisk-no-hd.patch"
"hurd-startup.patch"))))
"hurd-startup.patch"
"hurd-proc-zombies.patch"))))
(version (package-version hurd-headers))
(arguments
`(#:tests? #f ;no "check" target
@@ -389,12 +390,6 @@ Hurd-minimal package which are needed for both glibc and GCC.")
(("#include <rpc/pmap_prot.h>" m)
(string-append "#include <rpc/types.h>\n#include <rpc/xdr.h>\n" m)))
#t))
,@(if (%current-target-system)
'((add-after 'configure 'fixup-cross-configure
(lambda _
(substitute* "config.make"
(("HAVE_LIBRUMP = no") "HAVE_LIBRUMP = yes")))))
'())
(add-before 'build 'pre-build
(lambda _
;; Don't change the ownership of any file at this time.
@@ -583,7 +578,9 @@ exec ${system}/rc \"$@\"
(string-append datadir "/vga-system.bdf"))))))
#:configure-flags
,#~(list (string-append "LDFLAGS=-Wl,-rpath="
#$output "/lib")
#$output "/lib"
;; Linking with librump.so
" -Wl,--as-needed")
"--enable-static-progs=ext2fs,iso9660fs,rumpdisk,pci-arbiter,acpi"
"--disable-ncursesw"
"--without-libbz2"

View File

@@ -41,6 +41,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix utils)
#:use-module (gnu packages)
@@ -70,6 +71,7 @@
#: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-check)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages python-web)
@@ -1173,15 +1175,11 @@ and does not rely on an online service.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0i8vwnikwd1bfpv4xlgzc51gn6s18q58nqhvcdiyjzcmy3z344c2"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; No tests
(propagated-inputs
(list python-tinycss2 python-pygobject))
(native-inputs
`(("gettext" ,gettext-minimal)))
(base32 "0i8vwnikwd1bfpv4xlgzc51gn6s18q58nqhvcdiyjzcmy3z344c2"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f)) ; No tests
(propagated-inputs (list python-tinycss2 python-pygobject))
(native-inputs (list gettext-minimal python-setuptools))
(home-page "https://github.com/openSUSE/IBus-Theme-Tools")
(synopsis "Tool for IBus Themes")
(description "IBus Theme Tools can extract IBus-specific settings from

View File

@@ -180,7 +180,7 @@ Magnetic Resonance Imaging.")
(define-public cimg
(package
(name "cimg")
(version "3.5.5")
(version "3.6.5")
(source
(origin
(method git-fetch)
@@ -189,7 +189,7 @@ Magnetic Resonance Imaging.")
(commit (string-append "v." version))))
(file-name (git-file-name name version))
(sha256
(base32 "01myf3bjbc46f977r7lvr9g1hcnpfygcv2xnqvhrl2nj7955sm5x"))))
(base32 "1zdw1mbwl2g0ka1gasq9l706aral0l2mfsc0vmvq2szn90l2i455"))))
(build-system copy-build-system)
(arguments
(list
@@ -645,7 +645,13 @@ different data arrays similar to those available in the numdiff software.")
(substitute* "modules/photo/test/test_hdr.cpp"
(("0\\.131") "0.222"))
;; These tests hang forever on aarch64.
(delete-file-recursively "modules/videoio/test/"))
(delete-file-recursively "modules/videoio/test/")
;; This test fails on aarch64 due to floating-point precision
;; differences with ARM NEON.
;; Expected: RMSE <= 0.34, actual: 0.407627
(substitute* "../opencv-contrib/modules/optflow/test/test_OF_accuracy.cpp"
(("\\bReferenceAccuracy\\b" all)
(string-append "DISABLED_" all))))
'())
,@(if (target-riscv64?)
@@ -850,14 +856,14 @@ due to its architecture which automatically parallelises the image workflows.")
(define-public gmic
(package
(name "gmic")
(version "3.5.5")
(version "3.6.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://gmic.eu/files/source/gmic_"
version ".tar.gz"))
(sha256
(base32 "1wyzq5g8kfnglb5l8ipzh6lhf4667vmcd88gd9vf55fdnvdrjygp"))))
(base32 "16hncbj7isxcw5al3zf62n8iwpsvbnmfclihdbgq4fnwci6yb1q9"))))
(build-system cmake-build-system)
(arguments
(list

View File

@@ -874,14 +874,14 @@ preloading.")
(define-public chafa
(package
(name "chafa")
(version "1.16.2")
(version "1.18.0")
(source (origin
(method url-fetch)
(uri (string-append "https://hpjansson.org/chafa/releases/chafa-"
version ".tar.xz"))
(sha256
(base32
"1pv1g2gcn4qn27bkwm1g1k87nb1yq0gzw7jclhq53d49kbfrhy35"))))
"1nyakydm8f4kshhdqg35ckfa62nxk54i41npva4jw15q3927ax6d"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config which))

View File

@@ -3,7 +3,7 @@
;;; Copyright © 2013, 2015, 2016, 2025 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015, 2016, 2020 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2014, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2014, 2016, 2017, 2018, 2019, 2025 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Amirouche Boubekki <amirouche@hypermove.net>
;;; Copyright © 2014, 2017 John Darrington <jmd@gnu.org>
@@ -2891,12 +2891,25 @@ GIF, TIFF, WEBP, BMP, PNG, XPM formats.")
#:modules ((guix build python-build-system)
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
(guix build utils))
;; XXX: Tests are not discovered.
#:tests? #false
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'python3.11-compatibility
(lambda _
(substitute* "setup.py"
(("\"rU\"") "\"r\""))))
(("\"rU\"") "\"r\"")
(("test_suite='tests'.*") ""))
(substitute* "setup.cfg"
(("install-") "install_"))
;; This file makes Python confuse it for a module, so we rename
;; it.
(rename-file "lib/xml.py" "lib/xmlo.py")
(substitute* (find-files "." "\\.py$")
(("lib.xml") "lib.xmlo"))
;; This procedure has been removed.
(substitute* "lib/gettext_setup.py"
(("c = gettext.bind_textdomain_codeset.*") "c = True\n"))))
(add-after 'install 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
(add-after 'install 'wrap-program
@@ -2904,6 +2917,10 @@ GIF, TIFF, WEBP, BMP, PNG, XPM formats.")
(let* ((out (assoc-ref outputs "out"))
(gdk-pixbuf (assoc-ref inputs "gdk-pixbuf"))
(gtk+ (assoc-ref inputs "gtk+")))
;; This is replaced with an invalid shebang.
(substitute* (string-append out "/bin/mypaint")
(("#!python")
(string-append "#!" (which "python3"))))
(wrap-program (string-append out "/bin/mypaint")
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")))))))

View File

@@ -2,7 +2,7 @@
;;; Copyright © 2021, 2022 Olivier Dion <olivier.dion@polymtl.ca>
;;; Copyright © 2023 Andy Tai <atai@atai.org>
;;; Copyright © 2023 Marius Bakke <marius@gnu.org>
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
;;;
;;; This file is part of GNU Guix.
;;;

View File

@@ -11,9 +11,14 @@
;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
;;; Copyright © 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2021, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
;;; Copyright © 2022, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Antero Mejr <antero@mailbox.org>
;;; Copyright © 2023 Greg Hogan <code@greghogan.com>
;;; Copyright © 2024 Danny Milosavljevic <dannym@friendly-machines.com>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2024-2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Ghislain Vaillant <ghislain.vaillant@inria.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -198,6 +203,70 @@ simulation, statistical modeling, machine learning and much more.")
(modify-inputs (package-propagated-inputs parent)
(replace "python-jupyter-client" python-jupyter-client-bootstrap)))))))
(define-public python-jupytext
(package
(name "python-jupytext")
(version "1.18.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mwouts/jupytext")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "01vvi5aab7lahj57ng5v4svjw18xrlgnasz877lqvdf4m6cpi8s9"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 4017 passed, 173 skipped, 2 deselected, 1 warning
#:test-flags
#~(list
;; Requires git.
"--ignore=tests/external"
;; Requires python-black.
"--ignore=tests/functional/contents_manager"
;; Failed: DID NOT RAISE <class 'ValueError'>.
(string-append "--deselect=tests/functional/cli/test_source_is_newer.py"
"::test_check_source_is_newer_when_using_jupytext_to")
;; Failed: DID NOT RAISE <class 'jupytext.cli.SynchronousModificationError'>.
(string-append "--deselect=tests/functional/cli/test_synchronous_changes.py"
"::test_jupytext_to_raises_on_synchronous_edits"))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda _
;; some tests fail when HOME=/homeless-shelter.
(setenv "HOME" "/tmp")
;; OSError: [Errno 18] Invalid cross-device link
(setenv "TMPDIR" "/tmp"))))))
(native-inputs
(list python-hatchling
python-jupyter-client
python-jupyter-server
python-pytest
python-pytest-asyncio))
(propagated-inputs
(list python-markdown-it-py
python-mdit-py-plugins
python-nbformat
python-packaging
python-pyyaml))
(home-page "https://jupytext.readthedocs.io/")
(synopsis
"Jupyter notebooks as Markdown documents, Julia, Python or R scripts")
(description
"Jupytext is a plugin for Jupyter that can save Jupyter notebooks as
either Markdown files or scripts in many languages. Common use cases for
Jupytext are:
@itemize
@item version control on Jupyter Notebooks
@item editing, merging or refactoring notebooks in your favorite text editor
@item applying Q&A checks on notebooks.
@end itemize ")
(license license:expat)))
(define-public python-nbclassic
(package
(name "python-nbclassic")

View File

@@ -219,32 +219,6 @@ used from QtQuick applications for both simple display of data as well as
continuous display of high-volume data.")
(license (list license:lgpl2.1 license:lgpl3))))
(define-public kquickcharts-5
(package
(inherit kquickcharts)
(name "kquickcharts")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/frameworks/"
(version-major+minor version)
"/" name "-" version ".tar.xz"))
(sha256
(base32
"1bd20kpypji6053fwn5a1b41rjf7r1b3wk85swb0xlmm2kji236j"))))
(build-system cmake-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(system "Xvfb :1 -screen 0 640x480x24 &")
(setenv "DISPLAY" ":1")
(setenv "QT_QPA_PLATFORM" "offscreen")
(invoke "ctest")))))))
(inputs (list qtbase-5 qtdeclarative-5 qtquickcontrols2-5
xorg-server-for-tests))))
(define-public kuserfeedback
;; FIXME: Try to reduce data collection and ensure transmission i disabled by default.
;; FIXME: Check https://www.reddit.com/r/kde/comments/f7ojg9 for insights
@@ -1265,26 +1239,6 @@ but also for getting notified upon idle time events, such as custom timeouts,
or user activity.")
(license (list license:gpl2+ license:lgpl2.1+))))
(define-public kidletime-5
(package
(inherit kidletime)
(name "kidletime")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kde/stable/frameworks/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"15s9nxpkqy3i182xk82bpl92iaqcilsckja7301854fw6ppl8vvh"))))
(native-inputs
(list extra-cmake-modules pkg-config))
(inputs
(list libxscrnsaver ; X-Screensaver based poller, fallback mode
qtbase-5 qtx11extras))))
(define-public kirigami
(package
(name "kirigami")
@@ -1401,26 +1355,6 @@ model to observers
@end enumerate")
(license license:lgpl2.1+)))
(define-public kitemmodels-5
(package
(inherit kitemmodels)
(name "kitemmodels")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kde/stable/frameworks/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1wcznkj24553spkl202zwifk6hgrvdd60j3y47jp2m6zpadywz2k"))))
(native-inputs
(list extra-cmake-modules))
(inputs
(list qtdeclarative-5))
(arguments '())))
(define-public kitemviews
(package
(name "kitemviews")
@@ -1570,27 +1504,6 @@ integration with a custom editor as well as a ready-to-use
(properties `((upstream-name . "syntax-highlighting")))
(license license:lgpl2.1+)))
(define-public ksyntaxhighlighting-5
(package
(inherit ksyntaxhighlighting)
(name "ksyntaxhighlighting")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kde/stable/frameworks/"
(version-major+minor version) "/"
"syntax-highlighting-" version ".tar.xz"))
(sha256
(base32
"19zs3n6cn83rjs0bpyrn6f5r75qcflavf8rb1c2wxj8dpp7cm33g"))))
(native-inputs
(list extra-cmake-modules perl qttools-5
;; Optional, for compile-time validation of syntax definition files:
qtxmlpatterns-5))
(inputs
(list qtbase-5))))
(define-public plasma-wayland-protocols
(package
(name "plasma-wayland-protocols")
@@ -2183,25 +2096,6 @@ ASpell and HUNSPELL.")
uses a job-based interface to queue tasks and execute them in an efficient way.")
(license license:lgpl2.1+)))
(define-public threadweaver-5
(package
(inherit threadweaver)
(name "threadweaver")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kde/stable/frameworks/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1q7ax3dhsayz35j0l9pdmarkwfyyy1dsy2crdf5xz8pr5mjxq8wp"))))
(native-inputs
(list extra-cmake-modules))
(inputs
(list qtbase-5))))
;; Tier 2
;;
@@ -2610,47 +2504,6 @@ used by file indexers to retrieve the metadata. This library can also be used
by applications to write metadata.")
(license (list license:lgpl2.0 license:lgpl2.1 license:lgpl3))))
(define-public kfilemetadata-5
(package
(inherit kfilemetadata)
(name "kfilemetadata")
(version "5.116.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kde/stable/frameworks/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"13yfcy02rmhrhf8lxv7smk1n9rg1ywsh60hwzm94b8hq9a62qp0r"))))
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "ctest" "-E"
"(usermetadatawritertest|taglibextractortest)")))))))
(native-inputs (list extra-cmake-modules pkg-config))
(inputs
(list attr
ebook-tools
karchive-5
kconfig-5
kcoreaddons-5
ki18n-5
qtmultimedia-5
qtbase-5
;; Required run-time packages
catdoc
;; Optional run-time packages
exiv2
ffmpeg
poppler-qt5
taglib))))
(define-public kimageannotator
(package
(name "kimageannotator")

View File

@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2024, 2025 Sughosha <sughosha@disroot.org>
;;; Copyright © 2025 Junker <dk@junkeria.club>
;;; Copyright © 2025 Ghislain Vaillant <ghislain.vaillant@inria.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -55,7 +56,8 @@
#:use-module (gnu packages version-control)
#:use-module (gnu packages wm)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml))
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
(define-public calligra
(package
@@ -283,6 +285,50 @@ processor built in, and can integrate with Pandoc, MultiMarkdown, Discount, and
cmark processors if they are installed.")
(license license:gpl3+)))
(define-public klevernotes
(package
(name "klevernotes")
(version "1.2.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/klevernotes/" version
"/klevernotes-" version ".tar.xz"))
(sha256
(base32 "0jnnbsml29gmpbycx8b012rnzdnjfigp9d6wsaww085mql0rdf73"))))
(build-system qt-build-system)
(arguments
(list
#:qtbase qtbase
#:configure-flags
#~(list "-DBUILD_TESTING:BOOL=ON")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'start-xorg-server
(lambda _
(system "Xvfb :99 -screen 0 1024x768x24 &")
(setenv "DISPLAY" ":99.0"))))))
(native-inputs (list extra-cmake-modules xorg-server))
(inputs (list kconfigwidgets
kcoreaddons
ki18n
kiconthemes
kio
kirigami
kirigami-addons
kitemmodels
qqc2-desktop-style
qtsvg
qtwayland
qtwebengine
sonnet))
(home-page "https://apps.kde.org/klevernotes/")
(synopsis "Note taking and management application")
(description
"KleverNotes is a note taking and management application. It uses Markdown
and allows you to preview your content.")
(license license:gpl3+)))
(define-public tellico
(package
(name "tellico")

View File

@@ -1455,51 +1455,6 @@ you login.")
(home-page "https://invent.kde.org/plasma/kwallet-pam")
(license (list license:lgpl2.1+))))
(define-public kwayland-integration
(package
(name "kwayland-integration")
(version "6.5.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/plasma/"
version "/" name "-"
version ".tar.xz"))
(sha256
(base32
"01jxpl0zbz8pbnrbxw9bnn148mr03rrf86ryl627cqx8k4p9842d"))))
(build-system qt-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
(delete 'check)
(add-after 'install 'check-after-install
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "HOME" (getcwd))
(setenv "XDG_RUNTIME_DIR" (getcwd))
(setenv "QT_QPA_PLATFORM" "offscreen")
(invoke "ctest"))))
(add-before 'check-after-install 'check-setup
(lambda* (#:key outputs #:allow-other-keys)
(setenv "QT_PLUGIN_PATH"
(string-append #$output
"/lib/qt5/plugins:"
(getenv "QT_PLUGIN_PATH"))))))))
(native-inputs (list extra-cmake-modules wayland-protocols pkg-config))
(inputs (list kguiaddons-5
kidletime-5
kwindowsystem-5
kwayland-5
libxkbcommon
wayland
plasma-wayland-protocols
qtbase-5
qtwayland-5))
(synopsis "KWayland runtime integration plugins")
(description "This package provides Wayland integration plugins for various
KDE Frameworks components.")
(home-page "https://invent.kde.org/plasma/kwayland-integration")
(license (list license:lgpl2.1 license:lgpl3))))
(define-public kwin
(package
(name "kwin")

View File

@@ -870,7 +870,7 @@ noun phrases, verb phrases, etc.).")
(define-public praat
(package
(name "praat")
(version "6.4.47")
(version "6.4.49")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -879,7 +879,7 @@ noun phrases, verb phrases, etc.).")
(file-name (git-file-name name version))
(sha256
(base32
"0iyzdmgb56w80lgd4kb1cw9a0skxfbwj00q25idz7mkjij522fhi"))))
"1h49ffxjrc3pxamm0b77n6jirl5pp9xm09fvb16mx1qwr0cnzi2q"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags #~(list (string-append "CC="

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